From bea8d7fd9d7309c3b5aa9baf59abaff48e4f2baa Mon Sep 17 00:00:00 2001 From: Fran Boon Date: Sun, 17 Jun 2012 01:57:00 +0100 Subject: [PATCH] S3Map() Method on /map (Filterable resource displayed on map). Fix/enhance various issues with Search and Project Communities --- VERSION | 2 +- controllers/hrm.py | 3 +- controllers/project.py | 6 +- controllers/vehicle.py | 1 + controllers/vol.py | 11 +- models/00_tables.py | 1 + models/00_utils.py | 1 + modules/eden/fire.py | 1 + modules/eden/flood.py | 1 + modules/eden/hms.py | 1 + modules/eden/hrm.py | 90 +-- modules/eden/irs.py | 1 + modules/eden/menus.py | 279 ++++--- modules/eden/org.py | 1 + modules/eden/project.py | 718 +++++++++++------- modules/s3/s3aaa.py | 1 + modules/s3/s3crud.py | 7 +- modules/s3/s3gis.py | 221 +++++- modules/s3/s3search.py | 216 +++--- modules/s3cfg.py | 4 +- .../templates/IFRC_Demo/project_community.csv | 2 +- .../IFRC_Train/project_community.csv | 2 +- private/templates/Oxfam/config.py | 12 + private/templates/Oxfam/gis_layer_feature.csv | 2 +- private/templates/default/countries.csv | 496 ++++++------ static/formats/s3csv/project/community.csv | 2 +- static/formats/s3csv/project/community.xsl | 88 ++- static/formats/s3csv/project/project.xsl | 4 +- static/scripts/S3/S3.min.js | 2 +- static/scripts/S3/s3.search.js | 8 +- static/styles/S3/sahana.min.css | 2 +- static/styles/gis/style.css | 311 +++++--- views/_map.html | 22 + views/map.html | 2 + views/project/map.html | 31 - 35 files changed, 1477 insertions(+), 1075 deletions(-) create mode 100644 views/_map.html create mode 100644 views/map.html delete mode 100644 views/project/map.html diff --git a/VERSION b/VERSION index b47e78ed38..4ccbe870a0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5a1d337 (2012-06-15 23:48:21) \ No newline at end of file +9836d01 (2012-06-17 01:57:00) \ No newline at end of file diff --git a/controllers/hrm.py b/controllers/hrm.py index cdabed85a3..964e5b966c 100644 --- a/controllers/hrm.py +++ b/controllers/hrm.py @@ -3,6 +3,7 @@ """ Human Resource Management """ + module = request.controller resourcename = request.function @@ -157,7 +158,7 @@ def staff(): # Remove Type filter from the Search widget human_resource_search = s3mgr.model.get_config(tablename, "search_method") - human_resource_search._S3Search__advanced.pop(1) + human_resource_search.advanced.pop(1) s3mgr.configure(tablename, list_fields = list_fields, search_method = human_resource_search) diff --git a/controllers/project.py b/controllers/project.py index 155c2aaded..7ffaa60617 100644 --- a/controllers/project.py +++ b/controllers/project.py @@ -24,9 +24,9 @@ def index(): else: redirect(URL(f="project")) - module_name = deployment_settings.modules[module].name_nice - response.title = module_name - return dict(module_name=module_name) + #module_name = deployment_settings.modules[module].name_nice + #response.title = module_name + #return dict(module_name=module_name) # ============================================================================= def create(): diff --git a/controllers/vehicle.py b/controllers/vehicle.py index e1ced5f2e1..e490066890 100644 --- a/controllers/vehicle.py +++ b/controllers/vehicle.py @@ -90,6 +90,7 @@ def vehicle(): title_list = T("Vehicles"), title_update = T("Edit Vehicle"), title_search = T("Search Vehicles"), + title_map = T("Map of Vehicles"), subtitle_create = T("Add New Vehicle"), label_list_button = T("List Vehicles"), label_create_button = ADD_VEHICLE, diff --git a/controllers/vol.py b/controllers/vol.py index 8ad437530d..c87917ff3f 100644 --- a/controllers/vol.py +++ b/controllers/vol.py @@ -3,6 +3,7 @@ """ Volunteer Management """ + module = request.controller resourcename = request.function @@ -79,7 +80,7 @@ def human_resource(): human_resource_search = s3mgr.model.get_config(tablename, "search_method") # Facility - human_resource_search._S3Search__advanced.pop(5) + human_resource_search.advanced.pop(5) s3mgr.configure(tablename, search_method = human_resource_search) @@ -176,7 +177,7 @@ def volunteer(): human_resource_search = s3mgr.model.get_config(tablename, "search_method") # Remove Facility - human_resource_search._S3Search__advanced.pop(5) + human_resource_search.advanced.pop(5) if deployment_settings.get_hrm_experience() == "programme": # Add Programme Virtual Fields table.virtualfields.append(s3db.hrm_programme_virtual_fields()) @@ -192,7 +193,7 @@ def volunteer(): report_options.facts = report_fields # Add VF to the Search Filters # Remove deprecated Active/Obsolete - human_resource_search._S3Search__advanced.pop(1) + human_resource_search.advanced.pop(1) table.status.readable = False table.status.writable = False widget = s3base.S3SearchOptionsWidget( @@ -206,7 +207,7 @@ def volunteer(): } ), search_widget = ("human_resource_search_active", widget[0]) - human_resource_search._S3Search__advanced.insert(1, search_widget) + human_resource_search.advanced.insert(1, search_widget) def hrm_programme_opts(): """ Provide the options for the HRM programme search filter @@ -232,7 +233,7 @@ def hrm_programme_opts(): options = hrm_programme_opts ), search_widget = ("human_resource_search_programme", widget[0]) - human_resource_search._S3Search__advanced.insert(3, search_widget) + human_resource_search.advanced.insert(3, search_widget) else: list_fields.append("status") s3.crud_strings[tablename] = s3.crud_strings["hrm_volunteer"] diff --git a/models/00_tables.py b/models/00_tables.py index ab64827623..a64bc49a06 100644 --- a/models/00_tables.py +++ b/models/00_tables.py @@ -575,6 +575,7 @@ def address_update(table, record_id): title_list = T("Records"), title_update = T("Edit Record"), title_search = T("Search Records"), + title_map = T("Map"), subtitle_create = T("Add New Record"), label_list_button = T("List Records"), label_create_button = ADD_RECORD, diff --git a/models/00_utils.py b/models/00_utils.py index 01ba603a10..b4deefe28a 100644 --- a/models/00_utils.py +++ b/models/00_utils.py @@ -459,6 +459,7 @@ def s3_rest_controller(prefix=None, resourcename=None, **attr): http = ["GET", "POST"], representation="pdf") r.set_handler("import", s3base.S3Importer()) + r.set_handler("map", s3base.S3Map()) # Execute the request output = r(**attr) diff --git a/modules/eden/fire.py b/modules/eden/fire.py index b3f99ad272..991842d1b5 100644 --- a/modules/eden/fire.py +++ b/modules/eden/fire.py @@ -120,6 +120,7 @@ def model(self): title_update = T("Edit Station Details"), title_search = T("Search for Fire Station"), title_upload = T("Upload Fire Stations List"), + title_map = T("Map of Fire Stations"), subtitle_create = T("Add New Fire Station"), label_list_button = T("List Fire Stations"), label_create_button = ADD_FIRE_STATION, diff --git a/modules/eden/flood.py b/modules/eden/flood.py index 609c1fef83..28efb2e524 100644 --- a/modules/eden/flood.py +++ b/modules/eden/flood.py @@ -101,6 +101,7 @@ def model(self): title_list = T("Gauges"), title_update = T("Edit Gauge"), title_search = T("Search Gauges"), + title_map = T("Map of Gauges"), subtitle_create = T("Add New Gauge"), label_list_button = T("List Gauges"), label_create_button = ADD_GAUGE, diff --git a/modules/eden/hms.py b/modules/eden/hms.py index 417f63220f..eec51743a7 100644 --- a/modules/eden/hms.py +++ b/modules/eden/hms.py @@ -347,6 +347,7 @@ def model(self): title_list = T("Hospitals"), title_update = T("Edit Hospital"), title_search = T("Find Hospital"), + title_map = T("Map of Hospitals"), subtitle_create = T("Add New Hospital"), label_list_button = T("List Hospitals"), label_create_button = ADD_HOSPITAL, diff --git a/modules/eden/hrm.py b/modules/eden/hrm.py index ac4434cee5..4062959ed2 100644 --- a/modules/eden/hrm.py +++ b/modules/eden/hrm.py @@ -66,7 +66,6 @@ def model(self): T = current.T db = current.db s3 = current.response.s3 - s3db = current.s3db settings = current.deployment_settings controller = current.request.controller @@ -250,7 +249,7 @@ def hrm_course_opts(): @ToDo: S3resource-based version to use accessible_realm-based filtering rather than crude 'this user's org' """ - ctable = s3db.hrm_course + ctable = current.s3db.hrm_course organisation_id = current.auth.user.organisation_id query = (ctable.deleted == False) & \ ((ctable.organisation_id == organisation_id) | \ @@ -284,7 +283,7 @@ def hrm_course_opts(): name="human_resource_search_org", label=T("Organization"), field="organisation_id", - represent = s3db.org_organisation_represent, + represent = self.org_organisation_represent, cols = 3, ), S3SearchLocationHierarchyWidget( @@ -354,7 +353,7 @@ def hrm_course_opts(): name="human_resource_search_org", label=T("Organization"), field="organisation_id", - represent = s3db.org_organisation_represent, + represent = self.org_organisation_represent, cols = 3 ), S3SearchLocationHierarchyWidget( @@ -563,15 +562,8 @@ def hrm_human_resource_deduplicate(item): """ if item.tablename == "hrm_human_resource": - - db = current.db - s3db = current.s3db - - hrtable = s3db.hrm_human_resource - data = item.data - - person_id = data.person_id + person_id = "person_id" in data and data.person_id org = "organisation_id" in data and data.organisation_id # This allows only one HR record per person and organisation, @@ -579,13 +571,14 @@ def hrm_human_resource_deduplicate(item): # are desired, then this needs an additional criteria in the # query (e.g. job title, or type): - query = (hrtable.deleted != True) & \ - (hrtable.person_id == person_id) + table = item.table + + query = (table.deleted != True) & \ + (table.person_id == person_id) if org: - query = query & \ - (hrtable.organisation_id == org) - row = db(query).select(hrtable.id, - limitby=(0, 1)).first() + query = query & (table.organisation_id == org) + row = current.db(query).select(table.id, + limitby=(0, 1)).first() if row: item.id = row.id item.method = item.METHOD.UPDATE @@ -846,34 +839,31 @@ def model(self): # ------------------------------------------------------------------------- @staticmethod - def hrm_job_role_duplicate(job): + def hrm_job_role_duplicate(item): """ This callback will be called when importing records it will look to see if the record being imported is a duplicate. - @param job: An S3ImportJob object which includes all the details - of the record being imported - If the record is a duplicate then it will set the job method to update Rules for finding a duplicate: - Look for a record with the same name, ignoring case """ - if job.tablename == "hrm_job_role": - table = job.table - name = "name" in job.data and job.data.name - org = "organisation_id" in job.data and job.data.organisation_id + if item.tablename == "hrm_job_role": + data = item.data + name = "name" in data and data.name + org = "organisation_id" in data and data.organisation_id + table = item.table query = (table.name.lower() == name.lower()) if org: query = query & (table.organisation_id == org) - _duplicate = current.db(query).select(table.id, - limitby=(0, 1)).first() - if _duplicate: - job.id = _duplicate.id - job.data.id = _duplicate.id - job.method = job.METHOD.UPDATE + duplicate = current.db(query).select(table.id, + limitby=(0, 1)).first() + if duplicate: + item.id = duplicate.id + item.method = item.METHOD.UPDATE # ============================================================================= class S3HRSkillModel(S3Model): @@ -1933,9 +1923,10 @@ def hrm_competency_duplicate(job): """ if job.tablename == "hrm_competency": + data = job.data + person = "person_id" in data and data.person_id + skill = "skill_id" in data and data.skill_id table = job.table - person = "person_id" in job.data and job.data.person_id - skill = "skill_id" in job.data and job.data.skill_id query = (table.person_id == person) & \ (table.skill_id == skill) @@ -1963,9 +1954,10 @@ def hrm_certificate_duplicate(job): """ if job.tablename == "hrm_certificate": - table = job.table - name = "name" in job.data and job.data.name + data = job.data + name = "name" in data and data.name + table = job.table query = (table.name.lower() == name.lower()) _duplicate = current.db(query).select(table.id, limitby=(0, 1)).first() @@ -2061,8 +2053,6 @@ def hrm_competency_rating_duplicate(job): """ if job.tablename == "hrm_competency_rating": - table = job.table - stable = current.s3db.hrm_skill_type name = "name" in job.data and job.data.name skill = False for cjob in job.components: @@ -2072,6 +2062,8 @@ def hrm_competency_rating_duplicate(job): if skill == False: return + table = job.table + stable = current.s3db.hrm_skill_type query = (table.name.lower() == name.lower()) & \ (table.skill_type_id == stable.id) & \ (stable.value.lower() == skill.lower()) @@ -2099,9 +2091,9 @@ def hrm_course_duplicate(job): """ if job.tablename == "hrm_course": - table = job.table name = "name" in job.data and job.data.name + table = job.table query = (table.name.lower() == name.lower()) _duplicate = current.db(query).select(table.id, limitby=(0, 1)).first() @@ -2127,9 +2119,9 @@ def hrm_skill_duplicate(job): """ if job.tablename == "hrm_skill": - table = job.table name = "name" in job.data and job.data.name + table = job.table query = (table.name.lower() == name.lower()) _duplicate = current.db(query).select(table.id, limitby=(0, 1)).first() @@ -2155,9 +2147,9 @@ def hrm_skill_type_duplicate(job): """ if job.tablename == "hrm_skill_type": - table = job.table name = "name" in job.data and job.data.name + table = job.table query = (table.name.lower() == name.lower()) _duplicate = current.db(query).select(table.id, limitby=(0, 1)).first() @@ -2183,12 +2175,12 @@ def hrm_training_event_duplicate(job): """ if job.tablename == "hrm_training_event": - table = job.table - start_date = "start_date" in job.data and job.data.start_date + data = job.data + start_date = "start_date" in data and data.start_date if not start_date: return - course_id = "course_id" in job.data and job.data.course_id - site_id = "site_id" in job.data and job.data.site_id + course_id = "course_id" in data and data.course_id + site_id = "site_id" in data and data.site_id # Need to provide a range of dates as otherwise second differences prevent matches # - assume that if we have multiple training courses of the same # type at the same site then they start at least a minute apart @@ -2218,6 +2210,7 @@ def hrm_training_event_duplicate(job): minute = 0 start_end_date = datetime.datetime(year, month, day, hour, minute) + table = job.table query = (table.course_id == course_id) & \ (table.start_date >= start_start_date) & \ (table.start_date < start_end_date) @@ -2247,10 +2240,11 @@ def hrm_training_duplicate(job): """ if job.tablename == "hrm_training": - table = job.table - training_event_id = "training_event_id" in job.data and job.data.training_event_id - person_id = "person_id" in job.data and job.data.person_id + data = job.data + training_event_id = "training_event_id" in data and data.training_event_id + person_id = "person_id" in data and data.person_id + table = job.table query = (table.person_id == person_id) & \ (table.training_event_id == training_event_id) _duplicate = current.db(query).select(table.id, diff --git a/modules/eden/irs.py b/modules/eden/irs.py index 8cd987ec2c..56591ac99a 100644 --- a/modules/eden/irs.py +++ b/modules/eden/irs.py @@ -337,6 +337,7 @@ def model(self): title_update = T("Edit Incident Report"), title_upload = T("Import Incident Reports"), title_search = T("Search Incident Reports"), + title_map = T("Map of Incident Reports"), subtitle_create = T("Add New Incident Report"), label_list_button = T("List Incident Reports"), label_create_button = ADD_INC_REPORT, diff --git a/modules/eden/menus.py b/modules/eden/menus.py index 96bf1e5e6c..2d199f67a1 100644 --- a/modules/eden/menus.py +++ b/modules/eden/menus.py @@ -528,6 +528,7 @@ def cr(self): M(shelter, f="shelter")( M("New", m="create"), M("List All"), + M("Map", m="map"), # @ToDo Search by type, services, location, available space #M("Search", m="search"), M("Import", m="import"), @@ -649,11 +650,15 @@ def event(self): return M()( M("Scenarios", c="scenario", f="scenario")( - M("New Scenario", m="create"), + M("New", m="create"), M("View All"), ), M("Events", c="event", f="event")( - M("New Event", m="create"), + M("New", m="create"), + M("View All") + ), + M("Incidents", c="incident", f="event")( + M("New", m="create"), M("View All") ) ) @@ -666,6 +671,7 @@ def fire(self): M("Fire Stations", f="station")( M("New", m="create"), M("List All"), + M("Map", m="map"), M("Search", m="search"), M("Import Stations", m="import"), M("Import Vehicles", f="station_vehicle", m="import"), @@ -673,6 +679,7 @@ def fire(self): M("Water Sources", f="water_source")( M("New", m="create"), M("List All"), + M("Map", m="map"), M("Search", m="search"), M("Import", m="import"), ), @@ -692,6 +699,7 @@ def flood(self): M("Gauges", f="gauge")( M("New", m="create"), M("List All"), + M("Map", m="map"), #M("Search", m="search"), M("Import", m="import"), ), @@ -784,6 +792,7 @@ def hms(self): M("Hospitals", f="hospital", m="search")( M("New", m="create"), M("List All"), + M("Map", m="map"), M("Search", m="search"), #SEP(), #M("Show Map", c="gis", f="map_viewing_client", @@ -809,7 +818,7 @@ def hrm(self): return M(c="hrm")( M("Staff", f="staff", check=[manager_mode])( - M("New Staff Member", m="create"), + M("New", m="create"), M("List All"), M("Search", m="search"), M("Report", m="report", @@ -824,23 +833,23 @@ def hrm(self): ), M("Teams", f="group", check=manager_mode)( - M("New Team", m="create"), + M("New", m="create"), M("List All"), ), M("Job Role Catalog", f="job_role", check=manager_mode)( - M("New Job Role", m="create"), + M("New", m="create"), M("List All"), ), M("Skill Catalog", f="skill", check=manager_mode)( - M("New Skill", m="create"), + M("New", m="create"), M("List All"), #M("Skill Provisions", f="skill_provision"), ), M("Training Events", f="training_event", check=manager_mode)( - M("New Training Event", m="create"), + M("New", m="create"), M("List All"), M("Search", m="search"), M("Search Training Participants", f="training", @@ -854,13 +863,13 @@ def hrm(self): ), M("Training Course Catalog", f="course", check=manager_mode)( - M("New Training Course", m="create"), + M("New", m="create"), M("List All"), #M("Course Certificates", f="course_certificate"), ), M("Certificate Catalog", f="certificate", check=manager_mode)( - M("New Certificate", m="create"), + M("New", m="create"), M("List All"), #M("Skill Equivalence", f="certificate_skill"), ), @@ -896,7 +905,7 @@ def vol(self): return M(c="vol")( M("Volunteers", f="volunteer", check=[manager_mode])( - M("New Volunteer", m="create"), + M("New", m="create"), M("List All"), M("Search", m="search"), M("Report", m="report", @@ -909,23 +918,23 @@ def vol(self): ), M("Teams", f="group", check=manager_mode)( - M("New Team", m="create"), + M("New", m="create"), M("List All"), ), M("Job Role Catalog", f="job_role", check=manager_mode)( - M("New Job Role", m="create"), + M("New", m="create"), M("List All"), ), M("Skill Catalog", f="skill", check=manager_mode)( - M("New Skill", m="create"), + M("New", m="create"), M("List All"), #M("Skill Provisions", f="skill_provision"), ), M("Training Events", f="training_event", check=manager_mode)( - M("New Training Event", m="create"), + M("New", m="create"), M("List All"), M("Search", m="search"), M("Search Training Participants", f="training", @@ -939,19 +948,19 @@ def vol(self): ), M("Training Course Catalog", f="course", check=manager_mode)( - M("New Training Course", m="create"), + M("New", m="create"), M("List All"), #M("Course Certificates", f="course_certificate"), ), M("Certificate Catalog", f="certificate", check=manager_mode)( - M("New Certificate", m="create"), + M("New", m="create"), M("List All"), #M("Skill Equivalence", f="certificate_skill"), ), M("Programmes", f="programme", check=[manager_mode, show_programmes])( - M("New Programme", m="create"), + M("New", m="create"), M("List All"), M("Import Hours", f="programme_hours", m="import"), ), @@ -1065,6 +1074,7 @@ def irs(self): M("New", m="create"), M("List All"), M("Open Incidents", vars={"open":1}), + M("Map", m="map"), M("Timeline", args="timeline"), M("Import", m="import"), M("Search", m="search"), @@ -1096,6 +1106,7 @@ def security(self): M("New", m="create"), M("List All"), M("Open Incidents", vars={"open":1}), + M("Map", m="map"), M("Timeline", args="timeline"), M("Import", m="import"), M("Search", m="search"), @@ -1274,6 +1285,7 @@ def org(self): M("Offices", f="office")( M("New", m="create"), M("List All"), + M("Map", m="map"), M("Search", m="search"), M("Import", m="import") ), @@ -1339,143 +1351,119 @@ def project(self): settings = current.deployment_settings - project_menu = M(c="project") - - if settings.get_project_mode_drr(): - project_menu( - M("Projects", f="project")( - M("Add New Project", m="create"), - M("List All Projects"), - M("Search", m="search"), - ), - M("Communities", f="community")( - M("List All Communities"), - M("Search Communities", m="search"), - M("List All Community Contacts", f="community_contact"), - M("Search Community Contacts", f="community_contact", - m="search"), - ), - M("Reports", f="report")( - M("Who is doing What Where", f="community", m="report"), - M("Beneficiaries", f="beneficiary", m="report"), - M("Funding", f="organisation", args="report"), - ), - M("Import", f="index")( - M("Import Projects", f="project", - m="import", p="create"), - M("Import Project Organizations", f="organisation", - m="import", p="create"), - M("Import Project Communities", f="community", - m="import", p="create"), - ), - M("Activity Types", f="activity_type")( - M("Add New Activity Type", m="create"), - M("List All Activity Types"), - #M("Search", m="search") - ), - M("Hazards", f="hazard")( - M("Add New Hazard", m="create"), - M("List All Hazards"), - ), - M("Project Themes", f="theme")( - M("Add New Theme", m="create"), - M("List All Themes"), - ), - M("Beneficiary Types", f="beneficiary_type")( - M("Add New Type", m="create"), - M("List All Types"), - ), + menu = M(c="project") + + if settings.get_project_mode_3w(): + menu( + M("Projects", f="project")( + M("New", m="create"), + M("List All"), + M("Map", f="community", m="map"), + M("Search", m="search"), + ), + M("Communities", f="community")( + M("List All"), + M("Search", m="search"), + M("List All Community Contacts", f="community_contact"), + M("Search Community Contacts", f="community_contact", + m="search"), + ), + M("Reports", f="report")( + M("Who is doing What Where", f="community", m="report"), + M("Beneficiaries", f="beneficiary", m="report"), + M("Funding", f="organisation", args="report"), + ), + M("Import", f="index", p="create")( + M("Import Projects", f="project", + m="import", p="create"), + M("Import Project Organizations", f="organisation", + m="import", p="create"), + M("Import Project Communities", f="community", + m="import", p="create"), + ), + M("Themes", f="theme")( + M("New", m="create"), + M("List All"), + ), + M("Activity Types", f="activity_type")( + M("New", m="create"), + M("List All"), + #M("Search", m="search") + ), + M("Beneficiary Types", f="beneficiary_type")( + M("New", m="create"), + M("List All"), + ), ) - elif settings.get_project_mode_3w(): - project_menu( - M("Projects", f="project")( - M("Add New Project", m="create"), - M("List All Projects"), - M("Search", m="search"), - M("Import", m="import", p="create"), - ), - M("Project Themes", f="theme")( - M("Add New Theme", m="create"), - M("List All Themes"), - ), - ) + if settings.get_project_mode_drr(): + menu( + M("Hazards", f="hazard")( + M("New", m="create"), + M("List All"), + ) + ) + # if settings.get_project_sectors(): + # menu( + # M("Sectors", c="org", f="sector")( + # M("New", m="create"), + # M("List All"), + # ) + # ) elif settings.get_project_mode_task(): + menu( + M("Projects", f="project")( + M("New", m="create"), + M("List All"), + M("Open Tasks for Project", vars={"tasks":1}), + ), + M("Tasks", f="task")( + M("New", m="create"), + #M("List All Tasks"), + M("Search", m="search"), + ), + ) if auth.s3_has_role("STAFF"): - project_menu( - M("Projects", f="project")( - M("Add New Project", m="create"), - M("List All Projects"), - M("Open Tasks for Project", vars={"tasks":1}), - ), - M("Tasks", f="task")( - M("Add New Task", m="create"), - #M("List All Tasks"), - M("Search All Tasks", m="search"), - ), - M("Daily Work", f="time")( - M("My Logged Hours", vars={"mine":1}), - M("Last Week's Work", m="report", - vars=Storage(rows="person_id", - cols="day", - fact="hours", - aggregate="sum", - week=1)), - M("My Open Tasks", f="task", vars={"mine":1}), - ), - M("Admin", restrict=[ADMIN])( - M("Activity Types", f="activity_type"), - M("Import Tasks", f="task", m="import", p="create"), - ), - M("Reports", f="report")( - M("Activity Report", f="activity", m="report", - vars=Storage(rows="project_id", - cols="name", - fact="time_actual", - aggregate="sum")), - M("Project Time Report", f="time", m="report", - vars=Storage(rows="project", - cols="person_id", - fact="hours", - aggregate="sum")), - ), - ) - else: - project_menu( - M("Projects", f="project")( - M("List All Projects"), - M("Open Tasks for Project", vars={"tasks":1}), - ), - M("Tasks", f="task")( - M("Add New Task", m="create"), - M("List All Tasks"), - M("Search", m="search"), - ), - + menu( + M("Daily Work", f="time")( + M("My Logged Hours", vars={"mine":1}), + M("Last Week's Work", m="report", + vars=Storage(rows="person_id", + cols="day", + fact="hours", + aggregate="sum", + week=1)), + M("My Open Tasks", f="task", vars={"mine":1}), + ), + M("Admin", restrict=[ADMIN])( + M("Activity Types", f="activity_type"), + M("Import Tasks", f="task", m="import", p="create"), + ), + M("Reports", f="report")( + M("Activity Report", f="activity", m="report", + vars=Storage(rows="project_id", + cols="name", + fact="time_actual", + aggregate="sum")), + M("Project Time Report", f="time", m="report", + vars=Storage(rows="project", + cols="person_id", + fact="hours", + aggregate="sum")), + ), ) - else: - project_menu( - M("Projects", f="project")( - M("Add New Project", m="create"), - M("List All Projects"), - M("Search", m="search"), - M("Import", m="import", p="create"), - ), - M("Activities", f="activity")( - M("Add New Activity", m="create"), - M("List All Activities"), - M("Search", m="search"), - M("Import", m="import", p="create"), - ), - M("Project Themes", f="theme")( - M("Add New Theme", m="create"), - M("List All Themes"), - ), + menu( + M("Projects", f="project")( + M("New", m="create"), + M("List All"), + M("Search", m="search"), + M("Import", m="import", p="create"), + ), ) - return project_menu + return menu # ------------------------------------------------------------------------- def req(self): @@ -1515,6 +1503,7 @@ def vehicle(self): M("Vehicles", f="vehicle")( M("New", m="create"), M("List All"), + M("Map", m="map"), M("Search", m="search"), ), ) diff --git a/modules/eden/org.py b/modules/eden/org.py index 0744dd257e..c14df5095e 100644 --- a/modules/eden/org.py +++ b/modules/eden/org.py @@ -1364,6 +1364,7 @@ def model(self): title_update = T("Edit Office"), title_search = T("Search Offices"), title_upload = T("Import Offices"), + title_map = T("Map of Offices"), subtitle_create = T("Add New Office"), label_list_button = T("List Offices"), label_create_button = T("Add New Office"), diff --git a/modules/eden/project.py b/modules/eden/project.py index c8a4f21afb..7d58de6518 100644 --- a/modules/eden/project.py +++ b/modules/eden/project.py @@ -34,6 +34,7 @@ "S3ProjectTaskIReportModel", "S3ProjectAnnualBudgetModel", "S3ProjectThemeModel", + "project_project_represent", "project_rheader", "project_task_controller", ] @@ -44,6 +45,7 @@ from gluon.dal import Row from gluon.storage import Storage from gluon.sqlhtml import CheckboxesWidget +from gluon.contrib.simplejson.ordered_dict import OrderedDict from gluon.contrib import simplejson as json from ..s3 import * from layouts import * @@ -87,7 +89,6 @@ class S3ProjectModel(S3Model): "project_activity_id", "project_multi_activity_id", "project_multi_activity_type_id", - "project_project_represent", ] def model(self): @@ -175,7 +176,7 @@ def model(self): sort=True, multiple=True)), represent = lambda opt, row=None: \ - self.multiref_represent(opt, "project_theme"), + multiref_represent(opt, "project_theme"), ondelete = "RESTRICT", widget = lambda f, v: \ CheckboxesWidgetS3.widget(f, v, @@ -218,7 +219,7 @@ def model(self): sort=True, multiple=True)), represent = lambda opt, row=None: \ - self.multiref_represent(opt, "project_hazard"), + multiref_represent(opt, "project_hazard"), ondelete = "RESTRICT", widget = lambda f, v: \ CheckboxesWidgetS3.widget(f, v, @@ -359,8 +360,9 @@ def model(self): advanced = [S3SearchSimpleWidget( name = "project_search_text_advanced", label = T("Description"), - comment = T("Search for a Project by description."), + comment = T("Search for a Project by name, code, or description."), field = ["name", + "code", "description", ] )] @@ -415,10 +417,11 @@ def model(self): create_next = URL(c="project", f="project", args=["[id]"]) - list_fields = ["id", - "name" - ] + list_fields = ["id"] append = list_fields.append + if use_codes: + append("code") + append("name") if multi_orgs: table.virtualfields.append(S3ProjectOrganisationVirtualFields()) LEAD_ROLE = settings.get_project_organisation_lead_role() @@ -454,7 +457,7 @@ def model(self): sortby="name", requires = IS_NULL_OR(IS_ONE_OF(db, "project_project.id", "%(name)s")), - represent = self.project_represent, + represent = project_project_represent, comment = S3AddResourceLink(c="project", f="project", tooltip=T("If you don't see the project in the list, you can add a new one by clicking link 'Add Project'.")), label = T("Project"), @@ -589,8 +592,7 @@ def model(self): sort=True, multiple=True)), represent = lambda opt, row=None: \ - self.multiref_represent(opt, - "project_activity_type"), + multiref_represent(opt, "project_activity_type"), widget = lambda f, v: \ CheckboxesWidgetS3.widget(f, v, col=3), ondelete = "RESTRICT") @@ -761,7 +763,6 @@ def model(self): project_multi_activity_type_id = multi_activity_type_id, project_theme_id = theme_id, project_hfa_opts = project_hfa_opts, - project_project_represent = self.project_represent, ) # ------------------------------------------------------------------------- @@ -779,66 +780,9 @@ def defaults(self): return Storage( project_project_id = lambda: dummy("project_id"), project_activity_id = lambda: dummy("activity_id"), - project_project_represent = lambda v, r: current.messages.NONE, project_multi_activity_id = multi_activity_id ) - # ------------------------------------------------------------------------- - @staticmethod - def multiref_represent(opts, tablename, represent_string = "%(name)s"): - """ - Represent a list of references - - @param opt: the current value or list of values - @param tablename: the referenced table - @param represent_string: format string to represent the records - """ - - DEFAULT = "" - - db = current.db - s3db = current.s3db - UNKNOWN_OPT = current.messages.UNKNOWN_OPT - - table = s3db.table(tablename, None) - if table is None: - return DEFAULT - - if not isinstance(opts, (list, tuple)): - opts = [opts] - - rows = db(table.id.belongs(opts)).select() - rstr = Storage([(str(row.id), row) for row in rows]) - keys = rstr.keys() - represent = lambda o: str(o) in keys and \ - represent_string % rstr[str(o)] or UNKNOWN_OPT - vals = [represent(o) for o in opts] - - if len(opts) > 1: - vals = ", ".join(vals) - else: - vals = len(vals) and vals[0] or DEFAULT - - return vals - - # ------------------------------------------------------------------------- - @staticmethod - def project_represent(id, row=None, show_link=True): - """ FK representation """ - - db = current.db - NONE = current.messages.NONE - - if id: - val = (id and [db.project_project[id].name] or [NONE])[0] - if not show_link: - return val - return A(val, _href = URL(c="project", - f="project", - args=[id])) - else: - return NONE - # ------------------------------------------------------------------------- @staticmethod def project_project_onvalidation(form): @@ -857,32 +801,32 @@ def project_project_onvalidation(form): def project_project_deduplicate(item): """ Import item de-duplication """ - if item.id: - return - if item.tablename == "project_project" and \ - "name" in item.data: - # Match project by name (all-lowercase) + if item.tablename == "project_project": + data = item.data table = item.table - name = item.data.name - try: - query = (table.name.lower() == name.lower()) - except AttributeError, exception: - s3_debug("project_deduplicate", exception.message) + # If we have a code, then assume this is unique, however the same + # project name may be used in multiple locations + if "code" in data and data.code: + query = (table.code.lower() == data.code.lower()) + elif "name" in data and data.name: + query = (table.name.lower() == data.name.lower()) else: - duplicate = current.db(query).select(table.id, - table.name, - limitby=(0, 1)).first() - if duplicate: - item.id = duplicate.id - item.data.name = duplicate.name - item.method = item.METHOD.UPDATE + # Nothing we can work with + return + + duplicate = current.db(query).select(table.id, + limitby=(0, 1)).first() + if duplicate: + item.id = duplicate.id + item.method = item.METHOD.UPDATE return # ------------------------------------------------------------------------- @staticmethod def project_map(r, **attr): """ - Display the Projects on a Map + Display a filterable set of Projects on a Map + - assumes mode_3w - currently assumes that theme_percentages=True @ToDo: Browse by Year @@ -901,17 +845,7 @@ def project_map(r, **attr): tptable = s3db.project_theme_percentage ltable = s3db.gis_location - - - # The Layer of Projects to show on the Map - # Pass through attributes that we don't need for the 1st level of mapping, so that they can be used without a screen refresh - layer = {} - - map = current.gis.show_map( - collapsed = True, - layers = [layer], - ) - instructions = T("") + # Search Widget themes_dropdown = SELECT(_multiple=True, _id="project_theme_id", _style="height:80px;") @@ -926,14 +860,30 @@ def project_map(r, **attr): _selected="selected")) form = FORM(themes_dropdown) - legend = DIV() + + # Map + # The Layer of Projects to show on the Map + # @ToDo: Create a URL to the project_polygons custom method & use that + # @ToDo: Pass through attributes that we don't need for the 1st level of mapping + # so that they can be used without a screen refresh + url = URL(f="community", extension="geojson") + layer = { + "name" : T("Projects"), + "id" : "projects", + "url" : url, + "active" : True, + #"marker" : None, + } + + map = current.gis.show_map( + collapsed = True, + feature_resources = [layer], + ) output = dict( title = T("Projects Map"), - map = map, - instructions = instructions, form = form, - legend = legend, + map = map, ) # Add Static JS @@ -941,7 +891,7 @@ def project_map(r, **attr): f="scripts", args=["S3", "s3.project_map.js"])) - response.view = "project/map.html" + response.view = "map.html" return output else: raise HTTP(501, BADMETHOD) @@ -1157,13 +1107,14 @@ def model(self): db = current.db s3 = current.response.s3 settings = current.deployment_settings + theme_percentages = settings.get_project_theme_percentages() person_id = self.pr_person_id location_id = self.gis_location_id organisation_id = self.org_organisation_id project_id = self.project_project_id - #activity_id = self.project_activity_id multi_activity_type_id = self.project_multi_activity_type_id + multi_theme_percentage_id = self.project_multi_theme_percentage_id currency_type = s3.currency_type messages = current.messages @@ -1180,6 +1131,9 @@ def model(self): # --------------------------------------------------------------------- # Project Community # + # @ToDo: Rename as project_location? + # 'project_community' is OK for L4, maybe L3, but not for L0/L1/L2 + # tablename = "project_community" table = define_table(tablename, super_link("doc_id", "doc_entity"), @@ -1189,9 +1143,20 @@ def model(self): writable = True, widget = S3LocationSelectorWidget(hide_address=True), represent = self.gis_location_lx_represent), - multi_activity_type_id(), + multi_activity_type_id( + # Probably want a diff deployemnt_setting, but this will do for now + readable = not theme_percentages, + writable = not theme_percentages, + ), + # Field populated by project_theme_percentage_onaccept() + multi_theme_percentage_id( + readable = theme_percentages, + writable = False, + ), + # @ToDo: This duplicates the data in gis_location Field("population", "integer", label = T("Population")), + # @ToDo: Replace with a 'family size' value & auto-calculate? Field("number_families", "integer", label = T("Number of Families")), comments(), @@ -1212,6 +1177,7 @@ def model(self): title_search = T("Search Community"), title_upload = T("Import Community Data"), title_report = T("Who is doing What Where"), + title_map = T("Map of Projects"), subtitle_create = T("Add New Community"), label_list_button = T("List Communities"), label_create_button = ADD_COMMUNITY, @@ -1222,19 +1188,61 @@ def model(self): ) # Search Method - advanced_search = ( - S3SearchSimpleWidget( + simple = S3SearchSimpleWidget( name = "project_community_search_text", label = T("Name"), - comment = T("Search for a Community by name."), - field = "location_id$name" - ), - S3SearchOptionsWidget( - name = "project_community_search_project", - label = T("Project"), - field = "project_id", - cols = 3 - ), + comment = T("Search for a Project by name, code, location, or description."), + field = ["location_id$L0", + "location_id$L1", + "location_id$L2", + "location_id$L3", + "location_id$L4", + "project_id$name", + "project_id$code", + "project_id$description", + ] + ) + def project_theme_opts(): + """ + Provide the options for the Theme search filter + """ + table = current.s3db.project_theme + query = (table.deleted == False) + opts = db(query).select(table.id, + table.name, + orderby=table.name) + od = OrderedDict() + for opt in opts: + od[opt.id] = opt.name + return od + + if theme_percentages: + theme_search = S3SearchOptionsWidget( + name = "project_community_search_theme", + label = T("Theme"), + #field = "multi_theme_percentage_id$theme_id", + field = "multi_theme_percentage_id", + cols = 1, + options = project_theme_opts, + ) + else: + theme_search = S3SearchOptionsWidget( + name = "project_community_search_theme", + label = T("Theme"), + field = "project_id$multi_theme_id", + cols = 1, + options = project_theme_opts, + ) + advanced_search = ( + simple, + # This is only suitable for deployments with a few projects + #S3SearchOptionsWidget( + # name = "project_community_search_project", + # label = T("Project"), + # field = "project_id", + # cols = 3 + #), + theme_search, S3SearchLocationHierarchyWidget( name="project_community_search_L0", field="L0", @@ -1258,14 +1266,7 @@ def model(self): ) project_community_search = S3Search( - simple = ( - S3SearchSimpleWidget( - name = "project_community_search_text", - label = T("Name"), - comment = T("Search for a Community by name."), - field = "location_id$name" - ), - ), + simple = (simple), advanced = advanced_search, ) @@ -1277,9 +1278,12 @@ def model(self): ] list_fields = ["location_id", "project_id", - "multi_activity_type_id", - "comments" ] + if theme_percentages: + list_fields.append("multi_theme_percentage_id") + else: + list_fields.append("multi_activity_type_id") + list_fields.append("comments") configure(tablename, super_entity="doc_entity", @@ -1317,7 +1321,10 @@ def model(self): tooltip=COMMUNITY_TOOLTIP), ondelete = "CASCADE") - # Project Community Contact Persons + # Components + add_component("project_beneficiary", + project_community="community_id") + add_component("pr_person", project_community=Storage( name="contact", @@ -1327,10 +1334,6 @@ def model(self): actuate="hide", autodelete=False)) - # Beneficiaries - add_component("project_beneficiary", - project_community="community_id") - # --------------------------------------------------------------------- # Project Community Contact Person # @@ -1686,21 +1689,20 @@ def project_beneficiary_onaccept(form): def project_beneficiary_deduplicate(item): """ Import item de-duplication """ - db = current.db - - if item.id: + if item.tablename != "project_beneficiary": return - if item.tablename == "project_beneficiary" and \ - "beneficiary_type_id" in item.data and \ - "community_id" in item.data: + + data = item.data + if "beneficiary_type_id" in data and \ + "community_id" in data: # Match beneficiary by type and activity_id table = item.table - beneficiary_type_id = item.data.beneficiary_type_id - community_id = item.data.community_id + beneficiary_type_id = data.beneficiary_type_id + community_id = data.community_id query = (table.beneficiary_type_id == beneficiary_type_id) & \ (table.community_id == community_id) - duplicate = db(query).select(table.id, - limitby=(0, 1)).first() + duplicate = current.db(query).select(table.id, + limitby=(0, 1)).first() if duplicate: item.id = duplicate.id item.method = item.METHOD.UPDATE @@ -1738,27 +1740,24 @@ def project_community_onaccept(form): def project_community_deduplicate(item): """ Import item de-duplication """ - db = current.db - - if item.id: - return if item.tablename != "project_community": return - table = item.table - duplicate = None - if "project_id" in item.data and \ - "location_id" in item.data: + data = item.data + if "project_id" in data and \ + "location_id" in data: # Match community by project_id and location_id - project_id = item.data.project_id - location_id = item.data.location_id + project_id = data.project_id + location_id = data.location_id + table = item.table query = (table.project_id == project_id) & \ (table.location_id == location_id) - duplicate = db(query).select(table.id, limitby=(0, 1)).first() + duplicate = current.db(query).select(table.id, + limitby=(0, 1)).first() - if duplicate: - item.id = duplicate.id - item.method = item.METHOD.UPDATE + if duplicate: + item.id = duplicate.id + item.method = item.METHOD.UPDATE return @@ -1864,21 +1863,19 @@ def project_organisation_ondelete(row): def project_organisation_deduplicate(item): """ Import item de-duplication """ - db = current.db - - if item.id: + if item.tablename != "project_organisation": return - if item.tablename == "project_organisation" and \ - "project_id" in item.data and \ - "organisation_id" in item.data: + data = item.data + if "project_id" in data and \ + "organisation_id" in data: # Match project by org_id and project_id table = item.table - project_id = item.data.project_id - organisation_id = item.data.organisation_id + project_id = data.project_id + organisation_id = data.organisation_id query = (table.project_id == project_id) & \ (table.organisation_id == organisation_id) - duplicate = db(query).select(table.id, - limitby=(0, 1)).first() + duplicate = current.db(query).select(table.id, + limitby=(0, 1)).first() if duplicate: item.id = duplicate.id item.method = item.METHOD.UPDATE @@ -1984,7 +1981,9 @@ class S3ProjectThemeModel(S3Model): This model holds the % breakdown by theme (sector in IATI) for projects """ - names = ["project_theme_percentage"] + names = ["project_theme_percentage", + "project_multi_theme_percentage_id" + ] def model(self): @@ -1992,13 +1991,17 @@ def model(self): db = current.db s3 = current.response.s3 - self.define_table("project_theme_percentage", - self.project_project_id(requires=IS_ONE_OF(db, - "project_project.id", - "%(name)s")), - self.project_theme_id(requires=IS_ONE_OF(db, - "project_theme.id", - "%(name)s")), + project_id = self.project_project_id + theme_id = self.project_theme_id + + tablename = "project_theme_percentage" + self.define_table(tablename, + project_id(requires=IS_ONE_OF(db, + "project_project.id", + "%(name)s")), + theme_id(requires=IS_ONE_OF(db, + "project_theme.id", + "%(name)s")), Field("percentage", "integer", label = T("Percentage"), @@ -2010,7 +2013,7 @@ def model(self): # CRUD Strings - s3.crud_strings["project_theme_percentage"] = Storage( + s3.crud_strings[tablename] = Storage( title_create = T("New Theme"), title_display = T("Theme"), title_list = T("Themes"), @@ -2027,10 +2030,52 @@ def model(self): msg_list_empty = T("No themes found") ) + self.configure(tablename, + onaccept=self.project_theme_percentage_onaccept) + + # Multiple for theme_percentages=False + multi_theme_percentage_id = S3ReusableField("multi_theme_percentage_id", + "list:reference project_theme_percentage", + label = T("Themes"), + requires = IS_NULL_OR(IS_ONE_OF(db, + "project_theme_percentage.id", + "%(id)s", + multiple=True)), + represent = multi_theme_percentage_represent, + ondelete = "SET NULL", + ) + # Pass variables back to global scope (response.s3.*) return dict( + project_multi_theme_percentage_id = multi_theme_percentage_id, ) + # ------------------------------------------------------------------------- + @staticmethod + def project_theme_percentage_onaccept(form): + """ + Record creation post-processing + + Update the percentages of all the Project's Communities. + """ + + project_id = form.vars.project_id + if not project_id: + return + db = current.db + s3db = current.s3db + # Calculate the list of Percentages for this Project + table = s3db.project_theme_percentage + query = (table.deleted == False) & \ + (table.project_id == project_id) + rows = db(query).select(table.id) + percentages = [row.id for row in rows] + + # Update the Project's Communities + table = s3db.project_community + query = (table.project_id == project_id) + db(query).update(multi_theme_percentage_id = percentages) + # ============================================================================= class S3ProjectTaskModel(S3Model): """ @@ -2990,6 +3035,7 @@ class S3ProjectTaskIReportModel(S3Model): Project Task IReport Model This class holds the table used to link Tasks with Incident Reports. + @ToDo: Link to Incidents instead? """ names = ["project_task_ireport", @@ -3057,18 +3103,41 @@ def task_ireport_onaccept(form): return +# ============================================================================= +def project_project_represent(id, row=None, show_link=True): + """ FK representation """ + + if not row and id: + table = current.s3db.project_project + row = current.db(table.id == id).select(table.name, + table.code, + limitby=(0, 1)).first() + if row: + if current.deployment_settings.get_project_codes(): + repr = "%s: %s" % (row.code, row.name) + else: + repr = row.name + if not show_link: + return repr + return A(repr, _href = URL(c="project", + f="project", + args=[id])) + else: + return current.messages.NONE + # ============================================================================= def project_assignee_represent(id): """ Represent the Person a Task is assigned-to or list views """ - db = current.db - s3db = current.s3db - cache = s3db.cache output = current.messages.NONE if not id: return output + db = current.db + s3db = current.s3db + cache = s3db.cache + if isinstance(id, Row): instance_type = id.instance_type id = id.pe_id @@ -3107,6 +3176,134 @@ def project_assignee_represent(id): return output +# ============================================================================= +def project_theme_represent(id): + """ + Theme representation + - for multiple=False + """ + + if not id: + return current.messages.NONE + + if isinstance(id, Row): + # Do not repeat the lookup if already done by IS_ONE_OF + theme = id + else: + table = current.s3db.project_theme + theme = current.db(table.id == id).select(table.name, + limitby=(0, 1)).first() + + if not theme: + return current.messages.NONE + + return theme.name + +# ============================================================================= +def multiref_represent(opts, tablename, represent_string = "%(name)s"): + """ + Represent a list of references + + @param opt: the current value or list of values + @param tablename: the referenced table + @param represent_string: format string to represent the records + """ + + DEFAULT = "" + + s3db = current.s3db + table = s3db.table(tablename, None) + if table is None: + return DEFAULT + + if not isinstance(opts, (list, tuple)): + opts = [opts] + + rows = current.db(table.id.belongs(opts)).select() + rstr = Storage([(str(row.id), row) for row in rows]) + keys = rstr.keys() + represent = lambda o: str(o) in keys and \ + represent_string % rstr[str(o)] or \ + current.messages.UNKNOWN_OPT + vals = [represent(o) for o in opts] + + if len(opts) > 1: + vals = ", ".join(vals) + else: + vals = len(vals) and vals[0] or DEFAULT + + return vals + +# ============================================================================= +def multi_activity_represent(opt): + """ + Activity representation + for multiple=True options + """ + + if not opt: + return current.messages.NONE + + table = current.s3db.project_activity + set = current.db(table.id > 0).select(table.id, + table.name).as_dict() + + if not set: + return current.messages.NONE + + if isinstance(opt, (list, tuple)): + opts = opt + try: + vals = [str(set.get(o)["name"]) for o in opts] + except: + return None + elif isinstance(opt, int): + opts = [opt] + vals = str(set.get(opt)["name"]) + else: + return current.messages.NONE + + if len(opts) > 1: + vals = ", ".join(vals) + else: + vals = len(vals) and vals[0] or "" + return vals + +# ============================================================================= +def multi_theme_percentage_represent(id): + """ + Representation for Theme Percentages + for multiple=True options + """ + + if not id: + return current.messages.NONE + + s3db = current.s3db + table = s3db.project_theme_percentage + ttable = s3db.project_theme + + def represent_row(row): + return "%s (%s%s)" % (row.project_theme.name, + row.project_theme_percentage.percentage, + "%") + + if isinstance(id, (list, tuple)): + query = (table.id.belongs(id)) & \ + (ttable.id == table.theme_id) + rows = current.db(query).select(table.percentage, + ttable.name) + repr = ", ".join(represent_row(row) for row in rows) + else: + query = (table.id == id) & \ + (ttable.id == table.theme_id) + row = current.db(query).select(table.percentage, + ttable.name).first() + if row: + return represent_row(row) + else: + return current.messages.NONE + # ============================================================================= def task_notify(form): """ @@ -3140,9 +3337,7 @@ class S3ProjectOrganisationVirtualFields: def organisation(self): """ Name of the lead organisation of the project """ - db = current.db s3db = current.s3db - s3 = current.response.s3 settings = current.deployment_settings LEAD_ROLE = settings.get_project_organisation_lead_role() @@ -3152,8 +3347,8 @@ def organisation(self): (ltable.project_id == self.project_project.id) & \ (ltable.role == LEAD_ROLE) & \ (ltable.organisation_id == otable.id) - org = db(query).select(otable.name, - limitby=(0, 1)).first() + org = current.db(query).select(otable.name, + limitby=(0, 1)).first() if org: return org.name else: @@ -3162,15 +3357,11 @@ def organisation(self): def total_organisation_amount(self): """ Total of project_organisation amounts for project""" - db = current.db - s3db = current.s3db - - potable = s3db.project_organisation - + potable = current.s3db.project_organisation query = (potable.deleted != True) & \ (potable.project_id == self.project_project.id) sum_field = potable.amount.sum() - return db(query).select(sum_field).first()[sum_field] + return current.db(query).select(sum_field).first()[sum_field] # ============================================================================= class S3ProjectBudgetVirtualFields: @@ -3179,15 +3370,11 @@ class S3ProjectBudgetVirtualFields: def total_annual_budget(self): """ Total of all annual budgets for project""" - db = current.db - s3db = current.s3db - - pabtable = s3db.project_annual_budget - + pabtable = current.s3db.project_annual_budget query = (pabtable.deleted != True) & \ (pabtable.project_id == self.project_project.id) sum_field = pabtable.amount.sum() - return db(query).select(sum_field).first()[sum_field] + return current.db(query).select(sum_field).first()[sum_field] # ============================================================================= class S3ProjectActivityVirtualFields: @@ -3198,12 +3385,10 @@ class S3ProjectActivityVirtualFields: def organisation(self): """ Name of the lead organisation of the project """ - db = current.db - s3db = current.s3db - s3 = current.response.s3 settings = current.deployment_settings LEAD_ROLE = settings.get_project_organisation_lead_role() + s3db = current.s3db otable = s3db.org_organisation ltable = s3db.project_organisation @@ -3211,8 +3396,8 @@ def organisation(self): (ltable.project_id == self.project_activity.project_id) & \ (ltable.role == LEAD_ROLE) & \ (ltable.organisation_id == otable.id) - org = db(query).select(otable.name, - limitby=(0, 1)).first() + org = current.db(query).select(otable.name, + limitby=(0, 1)).first() if org: return org.name else: @@ -3271,29 +3456,61 @@ class S3ProjectCommunityVirtualFields: def organisation(self): """ Name of the lead organisation of the project """ - db = current.db - s3db = current.s3db - s3 = current.response.s3 + settings = current.deployment_settings + LEAD_ROLE = settings.get_project_organisation_lead_role() + s3db = current.s3db otable = s3db.org_organisation ltable = s3db.project_organisation - LEAD_ROLE = s3.project_organisation_lead_role query = (ltable.deleted != True) & \ (ltable.project_id == self.project_community.project_id) & \ (ltable.role == LEAD_ROLE) & \ (ltable.organisation_id == otable.id) - org = db(query).select(otable.name, - limitby=(0, 1)).first() + org = current.db(query).select(otable.name, + limitby=(0, 1)).first() if org: return org.name else: return None + # def themes(self): + # """ Themes of the project """ + + # s3db = current.s3db + # ttable = s3db.project_theme + # themes = None + # if current.deployment_settings.get_project_theme_percentages(): + # tptable = s3db.project_theme_percentage + # query = (tptable.project_id == self.project_community.project_id) & \ + # (ttable.id == tptable.theme_id) + # themes = current.db(query).select(ttable.name) + # else: + # db = current.db + # # 1st pull-back the themes + # ptable = s3db.project_project + # query = (ptable.id == self.project_community.project_id) + # project = db(query).select(ptable.multi_theme_id, + # limitby=(0, 1)).first() + # if project and project.multi_theme_id: + # theme_ids = [theme_id for theme_id in project.multi_theme_id] + # query = (ttable.id.belongs(theme_ids)) + # themes = db(query).select(ttable.name) + + # if themes: + # return [theme.name for theme in themes] + # else: + # return None + def name(self): """ Name for Map onHover popups """ - return current.s3db.gis_location_lx_represent(self.project_community.location_id) + + record = self.project_community + location = current.s3db.gis_location_lx_represent(record.location_id) + project = project_project_represent(record.project_id, show_link=False) + + return "%s (%s)" % (project, location) # ============================================================================= class S3ProjectBeneficiaryVirtualFields: @@ -3307,14 +3524,12 @@ def _get_community_location(community_id): Grab the first location from the database for this community and return the location tree """ - db = current.db - s3db = current.s3db - # The project_community database table - ctable = s3db.project_community + ctable = current.s3db.project_community query = (ctable.id == community_id) - community = db(query).select(ctable.location_id, limitby=(0,1)).first() + community = current.db(query).select(ctable.location_id, + limitby=(0,1)).first() parents = Storage() if community: @@ -3366,9 +3581,7 @@ class S3ProjectCommunityContactVirtualFields: def email(self): - db = current.db s3db = current.s3db - ptable = s3db.pr_person ctable = s3db.pr_contact @@ -3377,14 +3590,12 @@ def email(self): (ptable.id == person_id) & \ (ctable.pe_id == ptable.pe_id) & \ (ctable.contact_method == "EMAIL") - items = db(query).select(ctable.value) + items = current.db(query).select(ctable.value) return ", ".join([item.value for item in items]) def sms(self): - db = current.db s3db = current.s3db - ptable = s3db.pr_person ctable = s3db.pr_contact @@ -3393,7 +3604,7 @@ def sms(self): (ptable.id == person_id) & \ (ctable.pe_id == ptable.pe_id) & \ (ctable.contact_method == "SMS") - items = db(query).select(ctable.value) + items = current.db(query).select(ctable.value) return ", ".join([item.value for item in items]) # ============================================================================= @@ -3481,16 +3692,14 @@ def project(self): - used by the 'Project Time' report """ - db = current.db s3db = current.s3db - ptable = s3db.project_project ltable = s3db.project_task_project query = (ltable.deleted != True) & \ (ltable.task_id == self.project_time.task_id) & \ (ltable.project_id == ptable.id) - project = db(query).select(ptable.name, - limitby=(0, 1)).first() + project = current.db(query).select(ptable.name, + limitby=(0, 1)).first() if project: return project.name else: @@ -3502,13 +3711,12 @@ def day(self): - used by the 'Last Week's Work' report """ - T = current.T - now = current.request.utcnow thisdate = self.project_time.date if not thisdate: return "-" + now = current.request.utcnow week = datetime.timedelta(days=7) if thisdate < (now - week): # Ignore data older than the last week @@ -3517,67 +3725,6 @@ def day(self): return thisdate.date().strftime("%d %B") -# ============================================================================= -def project_theme_represent(id): - """ - Theme representation - - for multiple=False - """ - - if not id: - return current.messages.NONE - - if isinstance(id, Row): - # Do not repeat the lookup if already done by IS_ONE_OF - theme = id - else: - table = current.s3db.project_theme - theme = current.db(table.id == id).select(table.name, - limitby=(0, 1)).first() - - if not theme: - return current.messages.NONE - - return theme.name - -# ============================================================================= -def multi_activity_represent(opt): - """ - Activity representation - for multiple=True options - """ - - if not opt: - return current.messages.NONE - - db = current.db - s3db = current.s3db - - table = s3db.project_activity - set = db(table.id > 0).select(table.id, - table.name).as_dict() - - if not set: - return current.messages.NONE - - if isinstance(opt, (list, tuple)): - opts = opt - try: - vals = [str(set.get(o)["name"]) for o in opts] - except: - return None - elif isinstance(opt, int): - opts = [opt] - vals = str(set.get(opt)["name"]) - else: - return current.messages.NONE - - if len(opts) > 1: - vals = ", ".join(vals) - else: - vals = len(vals) and vals[0] or "" - return vals - # ============================================================================= def project_ckeditor(): """ Load the Project Comments JS """ @@ -3661,13 +3808,12 @@ def project_rheader(r, tabs=[]): append((T("Organizations"), "organisation")) if settings.get_project_theme_percentages(): append((T("Themes"), "theme_percentage")) - if mode_drr: + if mode_3w: append((T("Communities"), "community")) - else: - append((T("Activities"), "activity")) if settings.get_project_milestones(): append((T("Milestones"), "milestone")) if mode_task: + append((T("Activities"), "activity")) append((T("Tasks"), "task")) if record.calendar: append((T("Calendar"), "timeline")) @@ -3745,7 +3891,7 @@ def project_rheader(r, tabs=[]): if project: project = TR( TH("%s: " % T("Project")), - s3db.project_project_represent(project.id) + project_project_represent(project.id) ) else: project = "" diff --git a/modules/s3/s3aaa.py b/modules/s3/s3aaa.py index 9e7afef33f..334d9bc7cf 100644 --- a/modules/s3/s3aaa.py +++ b/modules/s3/s3aaa.py @@ -3224,6 +3224,7 @@ class S3Permission(object): "create": CREATE, "import": CREATE, "read": READ, + "map": READ, "report": READ, "search": READ, "update": UPDATE, diff --git a/modules/s3/s3crud.py b/modules/s3/s3crud.py index cb2e000518..43ce710e6c 100644 --- a/modules/s3/s3crud.py +++ b/modules/s3/s3crud.py @@ -1331,11 +1331,10 @@ def crud_button(label, @staticmethod def crud_string(tablename, name): """ - Get a CRUD info string for interactive pages - - @param tablename: the table name - @param name: the name of the CRUD string + Get a CRUD info string for interactive pages + @param tablename: the table name + @param name: the name of the CRUD string """ crud_strings = current.manager.s3.crud_strings diff --git a/modules/s3/s3gis.py b/modules/s3/s3gis.py index c83d6b1b59..c301012d8b 100644 --- a/modules/s3/s3gis.py +++ b/modules/s3/s3gis.py @@ -3,8 +3,6 @@ """ GIS Module - @version: 0.9.0 - @requires: U{B{I{gluon}} } @requires: U{B{I{shapely}} } @@ -33,7 +31,7 @@ OTHER DEALINGS IN THE SOFTWARE. """ -__all__ = ["GIS", "GoogleGeocoder", "YahooGeocoder"] +__all__ = ["GIS", "S3Map", "GoogleGeocoder", "YahooGeocoder"] import os import re @@ -67,7 +65,7 @@ import gluon.contrib.simplejson as json from gluon.contrib.simplejson.ordered_dict import OrderedDict -from s3method import S3Method +from s3search import S3Search from s3track import S3Trackable from s3utils import s3_debug, s3_fullname @@ -2088,9 +2086,6 @@ def get_locations_and_popups(resource, query = (table.id.belongs(resource._ids)) & \ (table.site_id == stable.id) & \ (stable.location_id == gtable.id) - elif "countries_id" in table.fields: - query = (table.id.belongs(resource._ids)) & \ - (table.location_id.belongs(table.countries_id)) else: # Can't display this resource on the Map return None @@ -3696,7 +3691,7 @@ def show_map( self, }] @param feature_queries: Feature Queries to overlay onto the map & their options (List of Dicts): [{ - "name" : "MyLabel", # A string: the label for the layer + "name" : T("MyLabel"), # A string: the label for the layer "query" : query, # A gluon.sql.Rows of gis_locations, which can be from a simple query or a Join. # Extra fields can be added for 'popup_url', 'popup_label' & either # 'marker' (url/height/width) or 'shape' (with optional 'colour' & 'size') @@ -3708,7 +3703,7 @@ def show_map( self, }] @param feature_resources: REST URLs for (filtered) resources to overlay onto the map & their options (List of Dicts): [{ - "name" : "MyLabel", # A string: the label for the layer + "name" : T("MyLabel"), # A string: the label for the layer "id" : "search", # A string: the id for the layer (for manipulation by JavaScript) "url" : "/eden/module/resource.geojson?filter", # A URL to load the resource "active" : True, # Is the feed displayed upon load or needs ticking to load afterwards? @@ -3719,7 +3714,7 @@ def show_map( self, }] @param wms_browser: WMS Server's GetCapabilities & options (dict) { - "name": string, # Name for the Folder in LayerTree + "name": T("MyLabel"), # Name for the Folder in LayerTree "url": string # URL of GetCapabilities } @param catalogue_layers: Show all the enabled Layers from the GIS Catalogue @@ -5792,53 +5787,197 @@ def as_dict(self): # ============================================================================= -class S3MAP(S3Method): +class S3Map(S3Search): """ - Class to generate a Map + Class to generate a Map with a Search form above it - Currently unused + @ToDo: Allow .configure() to override normal search_method with one + for map (like report) + """ - A typical implementation would be as follows: - exporter = s3base.S3MAP() - return exporter(xrequest, **attr) + # ------------------------------------------------------------------------- + def apply_method(self, r, **attr): + """ + Entry point to apply search method to S3Requests - This class supports a set of Features, typically called from the icon - shown in a search - For example inv/warehouse + @param r: the S3Request + @param attr: request attributes + """ - For specialist calls a S3MAP() object will need to be created. - See the apply_method() for ideas on how to create a map, - but as a minimum the following structure is required: + output = dict() - _map = S3MAP() - #_map.newDocument(_map.defaultTitle(resource)) - """ + search = self.resource.search + if r.component and self != search: + output = search(r, **attr) - def apply_method(self, r, **attr): + # Save search + elif "save" in r.vars : + r.interactive = False + output = self.save_search(r, **attr) + + # Interactive or saved search + elif "load" in r.vars or r.interactive and \ + search._S3Search__interactive: + # Put shortcuts where other methods expect them + self.advanced = search.advanced + self.simple = search.simple + output = self.search_interactive(r, **attr) + + if not output: + # Not supported + r.error(501, current.manager.ERROR.BAD_FORMAT) + + return output + + # ------------------------------------------------------------------------- + def search_interactive(self, r, **attr): """ - Apply CRUD methods + Interactive search - @param r: the S3Request - @param attr: dictionary of parameters for the method handler - The attributes that it knows about are: - * componentname - * formname - * list_fields + @param r: the S3Request instance + @param attr: request parameters - @returns: output object to send to the view + @ToDo: Reload Map Layer by AJAX rather than doing a full-page refresh + @ToDo: Static JS to resize page to bounds when layer is loaded + @ToDo: Refactor components common to parent class """ + T = current.T + session = current.session + + table = self.table + + if "location_id" in table or \ + "site_id" in table: + # ok + pass + else: + session.error = T("This resource cannot be displayed on the map!") + redirect(r.url(method="search")) + + # Get environment + request = self.request + response = current.response + s3 = response.s3 + resource = self.resource + settings = current.deployment_settings + db = current.db + s3db = current.s3db gis = current.gis + manager = current.manager + tablename = self.tablename - # @ToDo: Deprecate gis controller's display_feature() & display_features() - # @ToDo: Build feature query - # @ToDo: Move to GeoJSON? - feature_queries = [] + # Initialize the form + form = DIV(_class="search_form form-container") - # Can this also be an Ext popup for consistency? - # request.vars to control map options - output = gis.show_map(feature_queries=feature_queries) + # Figure out which set of form values to use + # POST > GET > session > unfiltered + if r.http == "POST": + # POST + form_values = r.post_vars + else: + url_options = Storage([(k, v) for k, v in r.get_vars.iteritems() if v]) + if url_options: + # GET + form_values = url_options + else: + session_options = session.s3.search_options + if session_options and tablename in session_options: + # session + session_options = session_options[tablename] + else: + # unfiltered + session_options = Storage() + form_values = session_options + + # Build the search forms + simple_form, advanced_form = self.build_forms(r, form_values) + + # Check for Load Search + if "load" in r.get_vars: + search_id = r.get_vars.get("load", None) + if not search_id: + r.error(400, manager.ERROR.BAD_RECORD) + r.post_vars = r.vars + search_table = s3db.pr_save_search + _query = (search_table.id == search_id) + record = db(_query).select(limitby=(0, 1)).first() + if not record: + r.error(400, manager.ERROR.BAD_RECORD) + s_vars = cPickle.loads(record.search_vars) + r.post_vars = Storage(s_vars["criteria"]) + r.http = "POST" + + # Process the search forms + query, errors = self.process_forms(r, + simple_form, + advanced_form, + form_values) + if not errors: + resource.add_filter(query) + search_vars = dict(simple=False, + advanced=True, + criteria=form_values) + else: + search_vars = dict() + if s3.simple_search: + form.append(DIV(_id="search-mode", _mode="simple")) + else: + form.append(DIV(_id="search-mode", _mode="advanced")) + + # Save Search Widget + if session.auth and settings.get_save_search_widget(): + save_search = self.save_search_widget(r, search_vars, **attr) + else: + save_search = DIV() + + # Complete the output form + if simple_form is not None: + simple_form.append(save_search) + form.append(simple_form) + if advanced_form is not None: + advanced_form.append(save_search) + form.append(advanced_form) + + # Add a map for search results + # (this same map is also used by the Map Search Widget, if-present) + # Build URL to load the features onto the map + if query: + vars = query.serialize_url(resource=resource) + else: + vars = None + url = URL(extension="geojson", + args=None, + vars=vars) + feature_resources = [{ + "name" : T("Search Results"), + "id" : "search_results", + "url" : url, + "active" : True, + "marker" : gis.get_marker(request.controller, request.function) + }] + map = gis.show_map( + feature_resources=feature_resources, + catalogue_layers=True, + legend=True, + toolbar=True, + collapsed=True, + search = True, + ) + # Title + title = self.crud_string(tablename, "title_map") + + # View + response.view = self._view(r, "map.html") + + # RHeader gets added later in S3Method() + + output = dict( + title = title, + form = form, + map = map, + ) return output # ============================================================================= diff --git a/modules/s3/s3search.py b/modules/s3/s3search.py index 23834a1b51..d1f97f40d0 100644 --- a/modules/s3/s3search.py +++ b/modules/s3/s3search.py @@ -607,8 +607,12 @@ def widget(self, resource, vars): # Execute, if callable if callable(represent): - opt_list = [(opt_key, represent(opt_key)) for opt_key - in opt_keys] + if "show_link" in represent.func_code.co_varnames: + opt_list = [(opt_key, represent(opt_key, show_link=False)) for opt_key + in opt_keys] + else: + opt_list = [(opt_key, represent(opt_key)) for opt_key + in opt_keys] # Otherwise, feed the format string elif isinstance(represent, str) and field_type[:9] == "reference": # Use the represent string to reduce db calls @@ -659,12 +663,14 @@ def widget(self, resource, vars): letters = [] letter_options = {} for key, label in opt_list: - letter = label[0].upper() - if letter not in letter_options: - letters.append(letter) - letter_options[letter] = [(key, label)] - else: - letter_options[letter].append((key, label)) + letter = label and label[0] + if letter: + letter = letter.upper() + if letter not in letter_options: + letters.append(letter) + letter_options[letter] = [(key, label)] + else: + letter_options[letter].append((key, label)) # Ensure that letters contains A & Z # (For usability to ensure that the complete range is displayed) @@ -1040,7 +1046,7 @@ def __init__(self, simple=None, advanced=None, any=False, **args): # Create a list of Simple search form widgets, by name, # and throw an error if a duplicate is found names = [] - self.__simple = [] + self.simple = [] if not isinstance(simple, (list, tuple)): simple = [simple] for widget in simple: @@ -1052,13 +1058,14 @@ def __init__(self, simple=None, advanced=None, any=False, **args): # elif not name: # raise SyntaxError("Widget with no name") else: - self.__simple.append((name, widget)) + self.simple.append((name, widget)) names.append(name) # Create a list of Advanced search form widgets, by name, # and throw an error if a duplicate is found names = [] - self.__advanced = [] + self.advanced = [] + append = self.advanced.append if not isinstance(advanced, (list, tuple)): advanced = [advanced] for widget in advanced: @@ -1070,12 +1077,12 @@ def __init__(self, simple=None, advanced=None, any=False, **args): # elif not name: # raise SyntaxError("Widget with no name") else: - self.__advanced.append((name, widget)) + append((name, widget)) names.append(name) self.__any = any - if self.__simple or self.__advanced: + if self.simple or self.advanced: self.__interactive = True else: self.__interactive = False @@ -1296,40 +1303,37 @@ def search_interactive(self, r, **attr): representation = r.representation # Initialize output - feature_queries = [] - bounds = None output = dict() - simple = False # Get table-specific parameters - sortby = self._config("sortby", [[1, "asc"]]) - orderby = self._config("orderby", None) - list_fields = self._config("list_fields") - insertable = self._config("insertable", True) + config = self._config + sortby = config("sortby", [[1, "asc"]]) + orderby = config("orderby", None) + list_fields = config("list_fields") + insertable = config("insertable", True) # Initialize the form form = DIV(_class="search_form form-container") - # Get the session options - session_options = session.s3.search_options - if session_options and self.tablename in session_options: - session_options = session_options[self.tablename] - else: - session_options = Storage() - - # Get the URL options - url_options = Storage([(k, v) for k, v in r.get_vars.iteritems() if v]) - # Figure out which set of form values to use # POST > GET > session > unfiltered if r.http == "POST": + # POST form_values = r.post_vars - elif url_options: - form_values = url_options - elif session_options: - form_values = session_options else: - form_values = Storage() + url_options = Storage([(k, v) for k, v in r.get_vars.iteritems() if v]) + if url_options: + # GET + form_values = url_options + else: + session_options = session.s3.search_options + if session_options and tablename in session_options: + # session + session_options = session_options[tablename] + else: + # unfiltered + session_options = Storage() + form_values = session_options # Build the search forms simple_form, advanced_form = self.build_forms(r, form_values) @@ -1356,8 +1360,8 @@ def search_interactive(self, r, **attr): form_values) if not errors: resource.add_filter(query) - search_vars = dict(simple=simple, - advanced=not simple, + search_vars = dict(simple=False, + advanced=True, criteria=form_values) else: search_vars = dict() @@ -1420,7 +1424,7 @@ def search_interactive(self, r, **attr): orderby = fields[0] # Truncate long texts - if r.interactive or r.representation == "aadata": + if r.interactive or representation == "aadata": for f in table: if str(f.type) == "text" and not f.represent: f.represent = self.truncate @@ -1488,15 +1492,12 @@ def search_interactive(self, r, **attr): tabs = [(T("List"), None), #(T("Export"), "export") ] - else: - list_formats = "" - tabs = [] - if "location_id" in table or \ - "site_id" in table: - # Add a map for search results - # (this same map is also used by the Map Search Widget, if-present) - if list_formats: + if "location_id" in table or \ + "site_id" in table: + # Add a map for search results + # (this same map is also used by the Map Search Widget, if-present) + tabs.append((T("Map"), "map")) app = request.application list_formats.append(A(IMG(_src="/%s/static/img/kml_icon.png" % app), _title=T("Export in KML format"), @@ -1504,43 +1505,46 @@ def search_interactive(self, r, **attr): representation="kml", vars=filter)), ) - if tabs: - tabs.append((T("Map"), "map")) - # Build URL to load the features onto the map - if query: - vars = query.serialize_url(resource=resource) - else: - vars = None - url = URL(extension="geojson", - args=None, - vars=vars) - feature_resources = [{ - "name" : T("Search Results"), - "id" : "search_results", - "url" : url, - "active" : False, # Gets activated when the Map is opened up - "marker" : gis.get_marker(request.controller, request.function) - }] - map_popup = gis.show_map( - feature_resources=feature_resources, - # Added by search widget onClick in s3.dataTables.js - #add_polygon = True, - #add_polygon_active = True, - catalogue_layers=True, - legend=True, - toolbar=True, - collapsed=True, - #search = True, - window=True, - window_hide=True - ) - s3.dataTableMap = map_popup - - if "pe_id" in table or "person_id" in table: - # Provide the ability to Message person entities in search results - if tabs: + # Build URL to load the features onto the map + if query: + vars = query.serialize_url(resource=resource) + else: + vars = None + url = URL(extension="geojson", + args=None, + vars=vars) + feature_resources = [{ + "name" : T("Search Results"), + "id" : "search_results", + "url" : url, + "active" : False, # Gets activated when the Map is opened up + "marker" : gis.get_marker(request.controller, request.function) + }] + map_popup = gis.show_map( + feature_resources=feature_resources, + # Added by search widget onClick in s3.dataTables.js + #add_polygon = True, + #add_polygon_active = True, + catalogue_layers=True, + legend=True, + toolbar=True, + collapsed=True, + #search = True, + window=True, + window_hide=True + ) + s3.dataTableMap = map_popup + + if settings.has_module("msg") and \ + ("pe_id" in table or "person_id" in table): + # Provide the ability to Message person entities in search results tabs.append((T("Message"), "compose")) + else: + list_formats = "" + tabs = [] + + # Search Tabs search_tabs = s3_search_tabs(r, tabs) output["search_tabs"] = search_tabs @@ -1568,15 +1572,16 @@ def process_forms(self, r, simple_form, advanced_form, form_values): If valid, save the values into the users' session. """ - session = current.session + + s3 = current.session.s3 response = current.response query = None errors = None # Create a container in the session to saves search options - if 'search_options' not in session.s3: - session.s3.search_options = Storage() + if "search_options" not in s3: + s3.search_options = Storage() # Process the simple search form: simple = simple_form is not None @@ -1584,7 +1589,7 @@ def process_forms(self, r, simple_form, advanced_form, form_values): if simple_form.accepts(form_values, formname="search_simple", keepvalues=True): - for name, widget in self.__simple: + for name, widget in self.simple: query, errors = self._build_widget_query(self.resource, name, widget, @@ -1595,7 +1600,7 @@ def process_forms(self, r, simple_form, advanced_form, form_values): errors = simple_form.errors # Save the form values into the session - session.s3.search_options[self.tablename] = \ + s3.search_options[self.tablename] = \ Storage([(k, v) for k, v in form_values.iteritems() if v]) elif simple_form.errors: errors = simple_form.errors @@ -1607,7 +1612,7 @@ def process_forms(self, r, simple_form, advanced_form, form_values): formname="search_advanced", keepvalues=True): simple = False - for name, widget in self.__advanced: + for name, widget in self.advanced: query, errors = self._build_widget_query(self.resource, name, widget, @@ -1619,7 +1624,7 @@ def process_forms(self, r, simple_form, advanced_form, form_values): errors = advanced_form.errors # Save the form values into the session - session.s3.search_options[self.tablename] = \ + s3.search_options[self.tablename] = \ Storage([(k, v) for k, v in form_values.iteritems() if v]) elif advanced_form.errors: simple = False @@ -1635,6 +1640,9 @@ def build_forms(self, r, form_values=None): to the create form for this resource. """ + simple = self.simple + advanced = self.advanced + T = current.T tablename = self.tablename representation = r.representation @@ -1654,29 +1662,29 @@ def build_forms(self, r, form_values=None): add_link = "" # Simple search form - if self.__simple: + if simple: # Switch-link - if self.__advanced: + if advanced: switch_link = A(T("Advanced Search"), _href="#", _class="action-lnk advanced-lnk") else: switch_link = "" - simple_form = self._build_form(self.__simple, + simple_form = self._build_form(simple, form_values=form_values, add=add_link, switch=switch_link, _class="simple-form") # Advanced search form - if self.__advanced: - if self.__simple and not r.representation == "plain": + if advanced: + if simple and not r.representation == "plain": switch_link = A(T("Simple Search"), _href="#", _class="action-lnk simple-lnk") _class = "%s hide" else: switch_link = "" _class = "%s" - advanced_form = self._build_form(self.__advanced, + advanced_form = self._build_form(advanced, form_values=form_values, add=add_link, switch=switch_link, @@ -1926,16 +1934,16 @@ def search_autocomplete(self, r, **attr): form = DIV(**form_attr) # Append the simple search form - if self.__simple: + if self.simple: simple = True - if self.__advanced: + if self.advanced: switch_link = A(T("Advanced Search"), _href="#", _class="action-lnk advanced-lnk %s", _fieldname=fieldname) else: switch_link = "" # Only display the S3SearchSimpleWidget (should be first) - name, widget = self.__simple[0] + name, widget = self.simple[0] self._check_search_autcomplete_search_simple_widget(widget) name = "%s_search_simple_simple" % fieldname @@ -1953,10 +1961,10 @@ def search_autocomplete(self, r, **attr): form.append(simple_form) # Append the advanced search form - if self.__advanced: + if self.advanced: trows = [] first_widget = True - for name, widget in self.__advanced: + for name, widget in self.advanced: _widget = widget.widget(resource, vars) if _widget is None: # Skip this widget as we have nothing but the label @@ -1979,7 +1987,7 @@ def search_autocomplete(self, r, **attr): tr = TR(TD("%s: " % label, _class="w2p_fl"), _widget) trows.append(tr) - if self.__simple: + if self.simple: switch_link = A(T("Simple Search"), _href="#", _class="action-lnk simple-lnk", _fieldname=fieldname) @@ -2017,8 +2025,8 @@ def search_json_autocomplete(self, r, **attr): response.headers["Content-Type"] = "application/json" # Process the simple search form: - if self.__simple and request.vars.simple_form: - for name, widget in self.__simple: + if self.simple and request.vars.simple_form: + for name, widget in self.simple: # Pass request instead of form - it contains the vars query, errors = self._build_widget_query(self.resource, name, @@ -2028,8 +2036,8 @@ def search_json_autocomplete(self, r, **attr): if errors: break # Process the advanced search form: - elif self.__advanced: - for name, widget in self.__advanced: + elif self.advanced: + for name, widget in self.advanced: # Pass request instead of form - it contains the vars query, errors = self._build_widget_query(self.resource, name, diff --git a/modules/s3cfg.py b/modules/s3cfg.py index ac9b3a2812..a7e50e492d 100644 --- a/modules/s3cfg.py +++ b/modules/s3cfg.py @@ -651,7 +651,7 @@ def get_supply_catalog_default(self): return self.inv.get("catalog_default", "Other Items") # ------------------------------------------------------------------------- - # Organsiation + # Organisation def get_org_site_code_len(self): return self.org.get("site_code_len", 10) @@ -710,7 +710,7 @@ def get_project_mode_task(self): def get_project_mode_drr(self): """ - Enable DRR mode in the projects module + Enable DRR extensions in the projects module """ return self.project.get("mode_drr", False) diff --git a/private/templates/IFRC_Demo/project_community.csv b/private/templates/IFRC_Demo/project_community.csv index 1b8a524136..a6d709f55d 100644 --- a/private/templates/IFRC_Demo/project_community.csv +++ b/private/templates/IFRC_Demo/project_community.csv @@ -1,4 +1,4 @@ -Project,Activities,Country,State,District,City,L4,Lat,Lon,ContactPerson,Comments,Beneficiaries:Individuals,Beneficiaries:Families,Beneficiaries:Pupils,Beneficiaries:Teachers,Beneficiaries:Men,Beneficiaries:Women +Project Name,Activities,Country,L1,L2,L3,L4,Lat,Lon,ContactPerson,Comments,Beneficiaries:Individuals,Beneficiaries:Families,Beneficiaries:Pupils,Beneficiaries:Teachers,Beneficiaries:Men,Beneficiaries:Women Community Based Disaster Management,"Community organisation, Capacity Building, CDRT (Community disaster response teams)",Timor-Leste,Baucau,Laga,Soba,Soba,-8.47342,126.59791,"Donato,Urbana,donato.urbana@gmail.com,",,152,,,,, Community Based Disaster Management,"Community organisation, Capacity Building, CDRT (Community disaster response teams)",Timor-Leste,Bobonaro,Bobonaro,Lourba,Zobelis,-9.01786,125.35333,"Joana,Arriaga,joana.arriaga@yahoo.com,",,421,,,,, Community Based Disaster Management,"Community organisation, Capacity Building, CDRT (Community disaster response teams)",Timor-Leste,Liquiçá,Liquiçá,Dato,Nunturi,-8.64709,125.34227,"Francisco,Hendrigue Pinto,francisco.hendriguepinto@hotmail.com,",,453,,,,, diff --git a/private/templates/IFRC_Train/project_community.csv b/private/templates/IFRC_Train/project_community.csv index eec047e31c..a1881d1053 100644 --- a/private/templates/IFRC_Train/project_community.csv +++ b/private/templates/IFRC_Train/project_community.csv @@ -1,2 +1,2 @@ -Project,Activities,Country,State,District,City,L4,Lat,Lon,ContactPerson,Comments,Beneficiaries:Individuals,Beneficiaries:Families,Beneficiaries:Pupils,Beneficiaries:Teachers,Beneficiaries:Men,Beneficiaries:Women +Project Name,Activities,Country,L1,L2,L3,L4,Lat,Lon,ContactPerson,Comments,Beneficiaries:Individuals,Beneficiaries:Families,Beneficiaries:Pupils,Beneficiaries:Teachers,Beneficiaries:Men,Beneficiaries:Women Community Based Disaster Management,"Community organisation, Capacity Building, CDRT (Community disaster response teams)",Timor-Leste,Lautem,Lospalos,Lore I,Lori,-8.66152,127.02607,"Mario,Adevinha,mario.adevinha@hotmail.com,",,119,,,,, diff --git a/private/templates/Oxfam/config.py b/private/templates/Oxfam/config.py index fa23fcd4d8..3f8dcb821a 100644 --- a/private/templates/Oxfam/config.py +++ b/private/templates/Oxfam/config.py @@ -27,6 +27,18 @@ # Thousands separator for numbers (defaults to space) settings.L10n.thousands_separator = "," +# Projects +# Uncomment this to use settings suitable for a global/regional organisation (e.g. DRR) +settings.project.mode_3w = True +# Uncomment this to use Codes for projects +settings.project.codes = True +# Uncomment this to disable Sectors in projects +settings.project.sectors = False +# Uncomment this to use Theme Percentages for projects +settings.project.theme_percentages = True +# Uncomment this to use multiple Budgets per project +settings.project.multiple_budgets = True + # Comment/uncomment modules here to disable/enable them settings.modules = OrderedDict([ # Core modules which shouldn't be disabled diff --git a/private/templates/Oxfam/gis_layer_feature.csv b/private/templates/Oxfam/gis_layer_feature.csv index 141ee815c6..d2f4ed1393 100644 --- a/private/templates/Oxfam/gis_layer_feature.csv +++ b/private/templates/Oxfam/gis_layer_feature.csv @@ -1,2 +1,2 @@ "Name","Description","Controller","Function","Symbology","Marker","GPS Marker","Popup Label","Popup Fields","REST Filter","Filter Field","Filter Value","Trackable","Folder","Visible","Enabled","Polygons" -"Aim1",,"project","project","US","activity",,"Activity","name/location_id",,,,,,"False",,"True" +"Projects",,"project","community","US","activity",,"Project","name",,,,,,"False", \ No newline at end of file diff --git a/private/templates/default/countries.csv b/private/templates/default/countries.csv index c108f87b89..4859f9e76b 100644 --- a/private/templates/default/countries.csv +++ b/private/templates/default/countries.csv @@ -1,248 +1,248 @@ -"uuid","name","code","lon","lat","lat_min","lon_min","lon_max","lat_max","level","gis_feature_type" -"urn:iso:std:iso:3166:-1:code:AF","Afghanistan","AF",65.216,33.677,29.406105,60.504166,74.915741,38.472115,"L0",3 -"urn:iso:std:iso:3166:-1:code:AX","Åland Islands","AX",19.952,60.198,59.976944,19.510555,20.442497,60.40361,"L0",3 -"urn:iso:std:iso:3166:-1:code:AL","Albania","AL",20.068,41.143,39.644722,19.282497,21.054165,42.661942,"L0",3 -"urn:iso:std:iso:3166:-1:code:DZ","Algeria","DZ",2.632,28.163,18.976387,-8.667223,11.986475,37.091385,"L0",3 -"urn:iso:std:iso:3166:-1:code:AS","American Samoa","AS",-170.73,-14.318,-14.375555,-170.826111,-169.438324,-14.166389,"L0",3 -"urn:iso:std:iso:3166:-1:code:AD","Andorra","AD",1.576,42.549,42.436104,1.421389,1.78172,42.656387,"L0",3 -"urn:iso:std:iso:3166:-1:code:AO","Angola","AO",17.544,-12.296,-18.016392,11.663332,24.084442,-4.388991,"L0",3 -"urn:iso:std:iso:3166:-1:code:AI","Anguilla","AI",-63.032,18.237,18.164444,-63.167778,-62.969452,18.276665,"L0",3 -"urn:iso:std:iso:3166:-1:code:AQ","Antarctica","AQ",21.304,-80.446,-90,-180,180,-60.501945,"L0",3 -"urn:iso:std:iso:3166:-1:code:AG","Antigua and Barbuda","AG",-61.783,17.078,16.989719,-61.891113,-61.666389,17.724998,"L0",3 -"urn:iso:std:iso:3166:-1:code:AR","Argentina","AR",-65.167,-35.377,-55.051674,-73.583618,-53.649727,-21.780521,"L0",3 -"urn:iso:std:iso:3166:-1:code:AM","Armenia","AM",44.563,40.534,38.841148,43.453888,46.62249,41.29705,"L0",3 -"urn:iso:std:iso:3166:-1:code:AW","Aruba","AW",-69.977,12.517,12.41111,-70.063339,-69.873337,12.631109,"L0",3 -"urn:iso:std:iso:3166:-1:code:AU","Australia","AU",136.189,-24.973,-54.753891,112.907211,159.101898,-10.05139,"L0",3 -"urn:iso:std:iso:3166:-1:code:AT","Austria","AT",14.912,47.683,46.407494,9.533569,17.166386,49.018883,"L0",3 -"urn:iso:std:iso:3166:-1:code:AZ","Azerbaijan","AZ",47.395,40.43,38.389153,44.778862,50.374992,41.897057,"L0",3 -"urn:iso:std:iso:3166:-1:code:BS","Bahamas","BS",-78.014,24.628,20.915276,-78.978897,-72.737503,26.929165,"L0",3 -"urn:iso:std:iso:3166:-1:code:BH","Bahrain","BH",50.562,26.019,25.571941,50.453049,50.822495,26.288887,"L0",3 -"urn:iso:std:iso:3166:-1:code:BD","Bangladesh","BD",89.941,24.218,20.738049,88.04332,92.669342,26.631939,"L0",3 -"urn:iso:std:iso:3166:-1:code:BB","Barbados","BB",-59.559,13.153,13.050554,-59.659447,-59.426949,13.337221,"L0",3 -"urn:iso:std:iso:3166:-1:code:BY","Belarus","BY",28.047,53.54,51.251846,23.1654,32.741379,56.16777,"L0",3 -"urn:iso:std:iso:3166:-1:code:BE","Belgium","BE",4.664,50.643,49.504166,2.541667,6.398204,51.503609,"L0",3 -"urn:iso:std:iso:3166:-1:code:BZ","Belize","BZ",-88.602,17.219,15.889851,-89.2164,-87.7789,18.489902,"L0",3 -"urn:iso:std:iso:3166:-1:code:BJ","Benin","BJ",2.469,10.541,6.218721,0.776667,3.855,12.396658,"L0",3 -"urn:iso:std:iso:3166:-1:code:BM","Bermuda","BM",-64.709,32.336,32.260551,-64.876114,-64.638626,32.382217,"L0",3 -"urn:iso:std:iso:3166:-1:code:BT","Bhutan","BT",90.429,27.415,26.703049,88.751938,92.115265,28.325275,"L0",3 -"urn:iso:std:iso:3166:-1:code:BO","Bolivia","BO",-64.671,-16.715,-22.901112,-69.656189,-57.521118,-9.679195,"L0",3 -"urn:iso:std:iso:3166:-1:code:BA","Bosnia and Herzegovina","BA",17.786,44.169,42.565826,15.736387,19.621765,45.265945,"L0",3 -"urn:iso:std:iso:3166:-1:code:BW","Botswana","BW",23.815,-22.182,-26.875557,19.996109,29.373623,-17.781391,"L0",3 -"urn:iso:std:iso:3166:-1:code:BV","Bouvet Island","BV",3.412,-54.422,-54.462784,3.341666,3.484722,-54.383614,"L0",3 -"urn:iso:std:iso:3166:-1:code:BR","Brazil","BR",-53.089,-10.772,-33.743896,-74.010559,-29.84,5.273889,"L0",3 -"urn:iso:std:iso:3166:-1:code:IO","British Indian Ocean Territory","IO",72.416,-7.335,-7.436666,71.258606,72.494431,-5.249722,"L0",3 -"urn:iso:std:iso:3166:-1:code:VG","British Virgin Islands","VG",-64.39,18.483,18.383888,-64.700287,-64.26918,18.748608,"L0",3 -"urn:iso:std:iso:3166:-1:code:BN","Brunei Darussalam","BN",114.591,4.468,4.017499,114.095078,115.36026,5.053054,"L0",3 -"urn:iso:std:iso:3166:-1:code:BG","Bulgaria","BG",25.231,42.761,41.24305,22.365276,28.606384,44.224716,"L0",3 -"urn:iso:std:iso:3166:-1:code:BF","Burkina Faso","BF",-1.74,12.278,9.393888,-5.521111,2.397925,15.082777,"L0",3 -"urn:iso:std:iso:3166:-1:code:BI","Burundi","BI",29.887,-3.356,-4.448056,28.983887,30.853886,-2.298056,"L0",3 -"urn:iso:std:iso:3166:-1:code:KH","Cambodia","KH",104.564,12.714,10.422739,102.345543,107.636383,14.708618,"L0",3 -"urn:iso:std:iso:3166:-1:code:CM","Cameroon","CM",12.277,5.133,1.654166,8.502222,16.207222,13.085278,"L0",3 -"urn:iso:std:iso:3166:-1:code:CA","Canada","CA",-109.433,59.081,41.675552,-141.002991,-52.614449,83.113876,"L0",3 -"urn:iso:std:iso:3166:-1:code:CV","Cape Verde","CV",-23.634,15.071,14.81111,-25.360558,-22.665836,17.193054,"L0",3 -"urn:iso:std:iso:3166:-1:code:KY","Cayman Islands","KY",-81.198,19.314,19.264721,-81.401123,-79.732788,19.762218,"L0",3 -"urn:iso:std:iso:3166:-1:code:CF","Central African Republic","CF",20.483,6.571,2.220833,14.41861,27.460278,11.001389,"L0",3 -"urn:iso:std:iso:3166:-1:code:TD","Chad","TD",18.665,15.361,7.457777,13.461666,24.002747,23.450554,"L0",3 -"urn:iso:std:iso:3166:-1:code:CL","Chile","CL",-69.433,-23.389,-55.919724,-109.449173,-66.419174,-17.50528,"L0",3 -"urn:iso:std:iso:3166:-1:code:CN","China","CN",106.514,33.42,18.168884,73.617203,134.77359,53.554436,"L0",3 -"urn:iso:std:iso:3166:-1:code:CX","Christmas Island","CX",105.704,-10.444,-10.51097,105.628998,105.7519,-10.38408,"L0",3 -"urn:iso:std:iso:3166:-1:code:CC","Cocos (Keeling) Islands","CC",96.839,-12.173,-12.199999,96.81749,96.924423,-12.128332,"L0",3 -"urn:iso:std:iso:3166:-1:code:CO","Colombia","CO",-73.076,3.9,-4.236874,-81.722778,-66.871887,13.378611,"L0",3 -"urn:iso:std:iso:3166:-1:code:KM","Comoros","KM",43.337,-11.758,-12.383057,43.213608,44.53083,-11.366945,"L0",3 -"urn:iso:std:iso:3166:-1:code:CG","Congo","CG",15.986,-0.055,-5.019444,11.140661,18.643608,3.713055,"L0",3 -"urn:iso:std:iso:3166:-1:code:CK","Cook Islands","CK",-159.782,-21.219,-21.940834,-165.850281,-157.305878,-8.948057,"L0",3 -"urn:iso:std:iso:3166:-1:code:CR","Costa Rica","CR",-83.946,9.971,8.025669,-85.911392,-82.561401,11.21361,"L0",3 -"urn:iso:std:iso:3166:-1:code:CI","Cote d'Ivoire","CI",-5.556,7.632,4.344722,-8.606384,-2.487778,10.735256,"L0",3 -"urn:iso:std:iso:3166:-1:code:HR","Croatia","HR",16.693,45.723,42.39666,13.496387,19.426109,46.535828,"L0",3 -"urn:iso:std:iso:3166:-1:code:CU","Cuba","CU",-77.781,21.297,19.821941,-84.953339,-74.130844,23.204166,"L0",3 -"urn:iso:std:iso:3166:-1:code:CY","Cyprus","CY",33.219,35.043,34.56255,32.269165,34.590553,35.690277,"L0",3 -"urn:iso:std:iso:3166:-1:code:CZ","Czech Republic","CZ",15.338,49.743,48.581379,12.093704,18.852219,51.053604,"L0",3 -"urn:iso:std:iso:3166:-1:code:CD","Democratic Republic of the Congo","CD",23.654,-2.876,-13.458057,12.214552,31.302776,5.381389,"L0",3 -"urn:iso:std:iso:3166:-1:code:DK","Denmark","DK",9.264,56.058,54.561661,8.087221,15.15,57.746666,"L0",3 -"urn:iso:std:iso:3166:-1:code:DJ","Djibouti","DJ",42.516,11.9,10.941944,41.75972,43.42083,12.708332,"L0",3 -"urn:iso:std:iso:3166:-1:code:DM","Dominica","DM",-61.356,15.475,15.198055,-61.491394,-61.250557,15.631943,"L0",3 -"urn:iso:std:iso:3166:-1:code:DO","Dominican Republic","DO",-70.729,19.015,17.540276,-72.003067,-68.322235,19.93111,"L0",3 -"urn:iso:std:iso:3166:-1:code:EC","Ecuador","EC",-78.497,-1.385,-5.009132,-91.663895,-75.21608,1.437778,"L0",3 -"urn:iso:std:iso:3166:-1:code:EG","Egypt","EG",29.872,26.494,21.994164,24.706665,36.898331,31.646942,"L0",3 -"urn:iso:std:iso:3166:-1:code:SV","El Salvador","SV",-88.866,13.736,13.156387,-90.108337,-87.684723,14.431982,"L0",3 -"urn:iso:std:iso:3166:-1:code:GQ","Equatorial Guinea","GQ",10.488,1.607,-1.479445,5.615277,11.353888,3.763333,"L0",3 -"urn:iso:std:iso:3166:-1:code:ER","Eritrea","ER",38.219,16.045,12.363888,36.443283,43.121384,17.994881,"L0",3 -"urn:iso:std:iso:3166:-1:code:EE","Estonia","EE",25.793,58.674,57.522217,21.83194,28.195274,59.668327,"L0",3 -"urn:iso:std:iso:3166:-1:code:ET","Ethiopia","ET",39.616,8.626,3.406389,32.991104,47.988243,14.88361,"L0",3 -"urn:iso:std:iso:3166:-1:code:FK","Falkland Islands (Malvinas)","FK",-58.694,-51.665,-52.343056,-61.315834,-57.731392,-51.249451,"L0",3 -"urn:iso:std:iso:3166:-1:code:FO","Faroe Islands","FO",-6.864,62.05,61.388329,-7.435,-6.388612,62.396942,"L0",3 -"urn:iso:std:iso:3166:-1:code:FJ","Fiji","FJ",177.974,-17.819,-20.674442,-180,180,-12.481943,"L0",3 -"urn:iso:std:iso:3166:-1:code:FI","Finland","FI",26.272,64.504,59.804993,20.580929,31.588928,70.088882,"L0",3 -"urn:iso:std:iso:3166:-1:code:FR","France","FR",2.55,46.565,41.364166,-5.134723,9.562222,51.09111,"L0",3 -"urn:iso:std:iso:3166:-1:code:GF","French Guiana","GF",-53.241,3.924,2.112222,-54.603783,-51.647781,5.755555,"L0",3 -"urn:iso:std:iso:3166:-1:code:PF","French Polynesia","PF",-149.462,-17.626,-27.915554,-152.87973,-134.941406,-7.888333,"L0",3 -"urn:iso:std:iso:3166:-1:code:TF","French Southern and Antarctic Lands","TF",69.117,-49.302,-49.725006,42.721107,77.588882,-17.051113,"L0",3 -"urn:iso:std:iso:3166:-1:code:GA","Gabon","GA",11.797,-0.591,-3.925277,8.698332,14.520555,2.317898,"L0",3 -"urn:iso:std:iso:3166:-1:code:GM","Gambia","GM",-15.386,13.453,13.059977,-16.821667,-13.798613,13.826387,"L0",3 -"urn:iso:std:iso:3166:-1:code:GE","Georgia","GE",43.518,42.176,41.046097,40.002968,46.710815,43.584717,"L0",3 -"urn:iso:std:iso:3166:-1:code:DE","Germany","DE",9.851,51.11,47.274719,5.864166,15.038887,55.056664,"L0",3 -"urn:iso:std:iso:3166:-1:code:GH","Ghana","GH",-1.207,7.96,4.726388,-3.249167,1.202778,11.166666,"L0",3 -"urn:iso:std:iso:3166:-1:code:GI","Gibraltar","GI",-5.345,36.138,36.112175,-5.35624,-5.334508,36.163307,"L0",3 -"urn:iso:std:iso:3166:-1:code:GR","Greece","GR",21.766,39.666,34.808884,19.37611,28.238049,41.748322,"L0",3 -"urn:iso:std:iso:3166:-1:code:GL","Greenland","GL",-41.391,74.719,59.790276,-73.053604,-12.155001,83.623596,"L0",3 -"urn:iso:std:iso:3166:-1:code:GD","Grenada","GD",-61.678,12.118,11.996387,-61.789726,-61.418617,12.529165,"L0",3 -"urn:iso:std:iso:3166:-1:code:GP","Guadeloupe","GP",-61.441,16.286,15.869999,-62.873062,-60.988617,17.930275,"L0",3 -"urn:iso:std:iso:3166:-1:code:GU","Guam","GU",144.707,13.385,13.234997,144.634155,144.953308,13.65361,"L0",3 -"urn:iso:std:iso:3166:-1:code:GT","Guatemala","GT",-90.398,15.256,13.745832,-92.24678,-88.214737,17.82111,"L0",3 -"urn:iso:std:iso:3166:-1:code:GG","Guernsey","GG",-2.576,49.459,49.422493,-2.670278,-2.500278,49.508888,"L0",3 -"urn:iso:std:iso:3166:-1:code:GN","Guinea","GN",-10.942,10.439,7.198889,-15.081112,-7.646536,12.6775,"L0",3 -"urn:iso:std:iso:3166:-1:code:GW","Guinea-Bissau","GW",-14.651,12.125,10.922777,-16.71777,-13.643057,12.684721,"L0",3 -"urn:iso:std:iso:3166:-1:code:GY","Guyana","GY",-58.974,4.792,1.185555,-61.389725,-56.470634,8.535276,"L0",3 -"urn:iso:std:iso:3166:-1:code:HT","Haiti","HT",-72.278,19.142,18.022778,-74.467789,-71.628891,20.09222,"L0",3 -"urn:iso:std:iso:3166:-1:code:HM","Heard Island and McDonald Islands","HM",73.507,-53.111,-53.199448,73.234436,73.77388,-52.964172,"L0",3 -"urn:iso:std:iso:3166:-1:code:VA","Holy See (Vatican City)","VA",12.451,41.904,41.9014260247,12.4450903309,12.456660171,41.9079890334,"L0",3 -"urn:iso:std:iso:3166:-1:code:HN","Honduras","HN",-86.863,14.819,12.979721,-89.351959,-83.131851,17.420277,"L0",3 -"urn:iso:std:iso:3166:-1:code:HK","Hong Kong","HK",114.129,22.423,22.193607,113.822769,114.390266,22.5505482469,"L0",3 -"urn:iso:std:iso:3166:-1:code:HU","Hungary","HU",19.134,47.07,45.748329,16.111805,22.894804,48.57666,"L0",3 -"urn:iso:std:iso:3166:-1:code:IS","Iceland","IS",-18.48,64.764,63.389999,-24.542225,-13.499445,66.536102,"L0",3 -"urn:iso:std:iso:3166:-1:code:IN","India","IN",78.5,21,6.745554,68.139435,97.380539,35.506104,"L0",3 -"urn:iso:std:iso:3166:-1:code:ID","Indonesia","ID",114.252,-0.976,-10.93,95.008026,141.007019,5.913888,"L0",3 -"urn:iso:std:iso:3166:-1:code:IR","Iran (Islamic Republic of)","IR",54.301,32.565,25.075275,44.034157,63.341934,39.78054,"L0",3 -"urn:iso:std:iso:3166:-1:code:IQ","Iraq","IQ",43.772,33.048,29.061661,38.794701,48.563881,37.38472,"L0",3 -"urn:iso:std:iso:3166:-1:code:IE","Ireland","IE",-8.152,53.177,51.445549,-10.474724,-6.013056,55.380272,"L0",3 -"urn:iso:std:iso:3166:-1:code:IM","Isle of Man","IM",-4.527,54.229,54.05555,-4.788611,-4.307501,54.416664,"L0",3 -"urn:iso:std:iso:3166:-1:code:IL","Israel","IL",34.851,31.026,29.486706,34.267578,35.683052,33.270271,"L0",3 -"urn:iso:std:iso:3166:-1:code:IT","Italy","IT",12.8,42.7,36.649162,6.61976,18.514999,47.094719,"L0",3 -"urn:iso:std:iso:3166:-1:code:JM","Jamaica","JM",-77.32,18.151,17.696663,-78.373901,-76.221115,18.522499,"L0",3 -"urn:iso:std:iso:3166:-1:code:JP","Japan","JP",139.068,36.491,24.250832,122.935257,153.96579,45.486382,"L0",3 -"urn:iso:std:iso:3166:-1:code:JE","Jersey","JE",-2.129,49.219,49.16777,-2.2475,-2.015,49.261108,"L0",3 -"urn:iso:std:iso:3166:-1:code:JO","Jordan","JO",36.319,30.703,29.188889,34.959999,39.301109,33.377594,"L0",3 -"urn:iso:std:iso:3166:-1:code:KZ","Kazakhstan","KZ",67.301,48.16,40.594437,46.499161,87.348206,55.44471,"L0",3 -"urn:iso:std:iso:3166:-1:code:KE","Kenya","KE",37.858,0.53,-4.669618,33.907219,41.905167,4.622499,"L0",3 -"urn:iso:std:iso:3166:-1:code:KI","Kiribati","KI",175.036,-1.508,-11.466665,-172.233337,176.85025,4.725832,"L0",3 -"urn:iso:std:iso:3166:-1:code:KP","Korea, Democratic People's Republic of","KP",126.451,39.778,37.671379,124.322769,130.697418,43.008324,"L0",3 -"urn:iso:std:iso:3166:-1:code:KR","Korea, Republic of","KR",128.103,36.504,33.190269,124.609711,130.924133,38.625244,"L0",3 -"urn:iso:std:iso:3166:-1:code:KW","Kuwait","KW",47.376,29.476,28.538883,46.546944,48.416588,30.084438,"L0",3 -"urn:iso:std:iso:3166:-1:code:KG","Kyrgyzstan","KG",74.555,41.465,39.191856,69.248871,80.283325,43.216904,"L0",3 -"urn:iso:std:iso:3166:-1:code:LA","Lao People's Democratic Republic","LA",102.471,19.905,13.926664,100.09137,107.695251,22.500832,"L0",3 -"urn:iso:std:iso:3166:-1:code:LV","Latvia","LV",25.641,56.858,55.674835,20.968605,28.237774,58.084435,"L0",3 -"urn:iso:std:iso:3166:-1:code:LB","Lebanon","LB",35.888,33.92,33.061943,35.10083,36.623741,34.647499,"L0",3 -"urn:iso:std:iso:3166:-1:code:LS","Lesotho","LS",28.243,-29.581,-30.650528,27.011108,29.456108,-28.569447,"L0",3 -"urn:iso:std:iso:3166:-1:code:LR","Liberia","LR",-9.657,6.682,4.343333,-11.492331,-7.366667,8.512777,"L0",3 -"urn:iso:std:iso:3166:-1:code:LY","Libya","LY",18.023,27.044,19.499065,9.303888,25.152775,33.171135,"L0",3 -"urn:iso:std:iso:3166:-1:code:LI","Liechtenstein","LI",9.555,47.153,47.057457,9.474637,9.63611,47.274544,"L0",3 -"urn:iso:std:iso:3166:-1:code:LT","Lithuania","LT",23.897,55.336,53.888046,20.942833,26.819717,56.450829,"L0",3 -"urn:iso:std:iso:3166:-1:code:LU","Luxembourg","LU",6.088,49.771,49.448326,5.734444,6.524722,50.18222,"L0",3 -"urn:iso:std:iso:3166:-1:code:MO","Macau","MO",113.545,22.2,22.183052,113.531372,113.556374,22.214439,"L0",3 -"urn:iso:std:iso:3166:-1:code:MG","Madagascar","MG",46.706,-19.374,-25.588337,43.236824,50.501389,-11.945557,"L0",3 -"urn:iso:std:iso:3166:-1:code:MW","Malawi","MW",33.808,-13.4,-17.135281,32.678886,35.924164,-9.373335,"L0",3 -"urn:iso:std:iso:3166:-1:code:MY","Malaysia","MY",102.195,4.201,0.852778,99.640823,119.275818,7.35361,"L0",3 -"urn:iso:std:iso:3166:-1:code:MV","Maldives","MV",72.92,3.548,-0.690833,72.687759,73.753601,7.096388,"L0",3 -"urn:iso:std:iso:3166:-1:code:ML","Mali","ML",-3.524,17.35,10.141109,-12.244833,4.2525,25.000275,"L0",3 -"urn:iso:std:iso:3166:-1:code:MT","Malta","MT",14.442,35.89,35.799995,14.180832,14.57,36.074997,"L0",3 -"urn:iso:std:iso:3166:-1:code:MH","Marshall Islands","MH",168.963,7.595,5.600277,162.323578,172.090515,14.598331,"L0",3 -"urn:iso:std:iso:3166:-1:code:MQ","Martinique","MQ",-61.021,14.653,14.402777,-61.231674,-60.816673,14.880278,"L0",3 -"urn:iso:std:iso:3166:-1:code:MR","Mauritania","MR",-10.332,20.26,14.725321,-17.075558,-4.806111,27.290459,"L0",3 -"urn:iso:std:iso:3166:-1:code:MU","Mauritius","MU",57.583,-20.255,-20.520557,56.507217,63.498604,-10.316668,"L0",3 -"urn:iso:std:iso:3166:-1:code:YT","Mayotte","YT",45.155,-12.777,-12.9925,45.039162,45.293327,-12.6625,"L0",3 -"urn:iso:std:iso:3166:-1:code:MX","Mexico","MX",-102.535,23.951,14.550547,-118.404167,-86.701401,32.718456,"L0",3 -"urn:iso:std:iso:3166:-1:code:FM","Micronesia, Federated States of","FM",158.235,6.883,5.261666,138.058319,163.043304,9.589441,"L0",3 -"urn:iso:std:iso:3166:-1:code:MC","Monaco","MC",7.412,43.75,43.727547,7.386389,7.439293,43.773048,"L0",3 -"urn:iso:std:iso:3166:-1:code:MN","Mongolia","MN",102.876,46.056,41.581383,87.758331,119.934982,52.143608,"L0",3 -"urn:iso:std:iso:3166:-1:code:ME","Montenegro","ME",19.254,42.792,41.848999,18.453331,20.382774,43.556107,"L0",3 -"urn:iso:std:iso:3166:-1:code:MS","Montserrat","MS",-62.187,16.736,16.671387,-62.237228,-62.137505,16.81361,"L0",3 -"urn:iso:std:iso:3166:-1:code:MA","Morocco","MA",-5.758,32.706,27.664238,-13.174961,-1.010278,35.919167,"L0",3 -"urn:iso:std:iso:3166:-1:code:MZ","Mozambique","MZ",37.923,-14.422,-26.860279,30.213017,40.846107,-10.471111,"L0",3 -"urn:iso:std:iso:3166:-1:code:MM","Myanmar","MM",96.041,21.718,9.786386,92.204987,101.170822,28.549164,"L0",3 -"urn:iso:std:iso:3166:-1:code:NA","Namibia","NA",17.218,-22.133,-28.962502,11.716389,25.264431,-16.952778,"L0",3 -"urn:iso:std:iso:3166:-1:code:NR","Nauru","NR",166.93,-0.522,-0.552222,166.904419,166.958588,-0.493333,"L0",3 -"urn:iso:std:iso:3166:-1:code:NP","Nepal","NP",83.939,28.253,26.364719,80.0522,88.195816,30.424995,"L0",3 -"urn:iso:std:iso:3166:-1:code:NL","Netherlands","NL",5.389,52.077,50.753883,3.370866,7.211666,53.511383,"L0",3 -"urn:iso:std:iso:3166:-1:code:AN","Netherlands Antilles","AN",-68.87,12.123,12.020555,-69.16362,-62.936394,17.521942,"L0",3 -"urn:iso:std:iso:3166:-1:code:NC","New Caledonia","NC",165.447,-21.359,-22.694164,159.922211,171.313873,-19.114445,"L0",3 -"urn:iso:std:iso:3166:-1:code:NZ","New Zealand","NZ",172.235,-42.634,-52.578056,-178.613068,179.082733,-29.223057,"L0",3 -"urn:iso:std:iso:3166:-1:code:NI","Nicaragua","NI",-85.034,12.84,10.708611,-87.693069,-82.72139,15.022221,"L0",3 -"urn:iso:std:iso:3166:-1:code:NE","Niger","NE",9.398,17.426,11.693274,0.166667,15.996666,23.522305,"L0",3 -"urn:iso:std:iso:3166:-1:code:NG","Nigeria","NG",8.105,9.594,4.272499,2.6925,14.658054,13.891499,"L0",3 -"urn:iso:std:iso:3166:-1:code:NU","Niue","NU",-169.869,-19.052,-19.145557,-169.953064,-169.781403,-18.963333,"L0",3 -"urn:iso:std:iso:3166:-1:code:NF","Norfolk Island","NF",167.953,-29.037,-29.081112,167.909424,168,-29.000557,"L0",3 -"urn:iso:std:iso:3166:-1:code:MP","Northern Mariana Islands","MP",145.623,15.005,14.105276,144.89859,145.870789,20.556385,"L0",3 -"urn:iso:std:iso:3166:-1:code:NO","Norway","NO",8.74,61.152,57.987778,4.62,31.078053,71.154709,"L0",3 -"urn:iso:std:iso:3166:-1:code:OM","Oman","OM",57.407,21.656,16.642778,51.99929,59.847221,26.382389,"L0",3 -"urn:iso:std:iso:3166:-1:code:PK","Pakistan","PK",69.386,29.967,23.688049,60.866302,77.823929,37.062592,"L0",3 -"urn:iso:std:iso:3166:-1:code:PW","Palau","PW",134.57,7.501,5.292221,132.208313,134.658875,7.729444,"L0",3 -"urn:iso:std:iso:3166:-1:code:PS","Palestine","PS",35.278,32.037,31.216541,34.21666,35.573296,32.546387,"L0",3 -"urn:iso:std:iso:3166:-1:code:PA","Panama","PA",-80.92,8.384,7.206111,-83.030289,-77.198334,9.620277,"L0",3 -"urn:iso:std:iso:3166:-1:code:PG","Papua New Guinea","PG",143.459,-5.949,-11.6425,140.858856,159.523041,-1.098333,"L0",3 -"urn:iso:std:iso:3166:-1:code:PY","Paraguay","PY",-58.391,-23.236,-27.588337,-62.643768,-54.243896,-19.296669,"L0",3 -"urn:iso:std:iso:3166:-1:code:PE","Peru","PE",-75.552,-9.326,-18.348545,-81.3564,-68.673904,-0.031389,"L0",3 -"urn:iso:std:iso:3166:-1:code:PH","Philippines","PH",122.466,11.118,4.641388,116.949997,126.598038,21.118053,"L0",3 -"urn:iso:std:iso:3166:-1:code:PN","Pitcairn Islands","PN",-128.316,-24.366,-25.082226,-130.107483,-124.771133,-24.325005,"L0",3 -"urn:iso:std:iso:3166:-1:code:PL","Poland","PL",19.401,52.125,49.001938,14.145555,24.144718,54.836937,"L0",3 -"urn:iso:std:iso:3166:-1:code:PT","Portugal","PT",-8.058,40.309,32.637497,-31.290001,-6.187222,42.15274,"L0",3 -"urn:iso:std:iso:3166:-1:code:PR","Puerto Rico","PR",-66.466,18.221,17.922222,-67.938339,-65.241959,18.519444,"L0",3 -"urn:iso:std:iso:3166:-1:code:QA","Qatar","QA",51.191,25.316,24.556042,50.751938,51.615829,26.15361,"L0",3 -"urn:iso:std:iso:3166:-1:code:MD","Republic of Moldova","MD",28.599,47.193,45.448647,26.634995,30.133228,48.468323,"L0",3 -"urn:iso:std:iso:3166:-1:code:RE","Reunion","RE",55.538,-21.122,-21.37389,55.219719,55.85305,-20.856392,"L0",3 -"urn:iso:std:iso:3166:-1:code:RO","Romania","RO",24.969,45.844,43.622437,20.261024,29.672497,48.263885,"L0",3 -"urn:iso:std:iso:3166:-1:code:RU","Russia","RU",96.689,61.988,41.196091,-180,180,81.851929,"L0",3 -"urn:iso:std:iso:3166:-1:code:RW","Rwanda","RW",29.917,-1.998,-2.826667,28.853333,30.894444,-1.053889,"L0",3 -"urn:iso:std:iso:3166:-1:code:BL","Saint Barthelemy","BL",-63.043,18.04,18.015553,-63.139839,-63.010284,18.070366,"L0",3 -"urn:iso:std:iso:3166:-1:code:SH","Saint Helena","SH",-5.71,-15.953,-40.403893,-14.416113,-5.645278,-7.883056,"L0",3 -"urn:iso:std:iso:3166:-1:code:KN","Saint Kitts and Nevis","KN",-62.769,17.34,17.091663,-62.863892,-62.534172,17.410831,"L0",3 -"urn:iso:std:iso:3166:-1:code:LC","Saint Lucia","LC",-60.969,13.898,13.709444,-61.079727,-60.878059,14.109444,"L0",3 -"urn:iso:std:iso:3166:-1:code:MF","Saint Martin","MF",-63.041,18.094,18.058601,-63.146667,-63.006393,18.121944,"L0",3 -"urn:iso:std:iso:3166:-1:code:PM","Saint Pierre and Miquelon","PM",-56.325,47.042,46.747215,-56.398056,-56.144165,47.136658,"L0",3 -"urn:iso:std:iso:3166:-1:code:VC","Saint Vincent and the Grenadines","VC",-61.194,13.248,12.584444,-61.45417,-61.120285,13.384165,"L0",3 -"urn:iso:std:iso:3166:-1:code:WS","Samoa","WS",-172.414,-13.652,-14.057503,-172.780609,-171.42865,-13.460556,"L0",3 -"urn:iso:std:iso:3166:-1:code:SM","San Marino","SM",12.46,43.942,43.895554,12.403889,12.511665,43.989166,"L0",3 -"urn:iso:std:iso:3166:-1:code:ST","Sao Tome and Principe","ST",6.629,0.201,0.018333,6.464444,7.464167,1.701944,"L0",3 -"urn:iso:std:iso:3166:-1:code:SA","Saudi Arabia","SA",44.585,24.023,15.616943,34.492218,55.666107,32.154942,"L0",3 -"urn:iso:std:iso:3166:-1:code:SN","Senegal","SN",-14.881,15.013,12.301748,-17.537224,-11.3675,16.693054,"L0",3 -"urn:iso:std:iso:3166:-1:code:RS","Serbia","RS",20.806,44.032,41.855827,18.81702,23.004997,46.181389,"L0",3 -"urn:iso:std:iso:3166:-1:code:SC","Seychelles","SC",55.474,-4.647,-9.755001,46.204163,56.28611,-4.280001,"L0",3 -"urn:iso:std:iso:3166:-1:code:SL","Sierra Leone","SL",-11.792,8.56,6.923611,-13.29561,-10.264168,9.997499,"L0",3 -"urn:iso:std:iso:3166:-1:code:SG","Singapore","SG",103.808,1.351,1.258889,103.640808,103.998863,1.445277,"L0",3 -"urn:iso:std:iso:3166:-1:code:SK","Slovakia","SK",19.491,48.707,47.737221,16.839996,22.558052,49.60083,"L0",3 -"urn:iso:std:iso:3166:-1:code:SI","Slovenia","SI",14.827,46.124,45.425819,13.383055,16.607872,46.876663,"L0",3 -"urn:iso:std:iso:3166:-1:code:SB","Solomon Islands","SB",160.109,-9.611,-11.845833,155.507477,167.209961,-5.293056,"L0",3 -"urn:iso:std:iso:3166:-1:code:SO","Somalia","SO",48.316,9.774,-1.674868,40.986595,51.412636,11.979166,"L0",3 -"urn:iso:std:iso:3166:-1:code:ZA","South Africa","ZA",23.121,-30.558,-46.969727,16.48333,37.981667,-22.136391,"L0",3 -"urn:iso:std:iso:3166:-1:code:GS","South Georgia South Sandwich Islands","GS",-36.891,-54.209,-59.473061,-38.033058,-26.24139,-53.989723,"L0",3 -"urn:iso:std:iso:3166:-1:code:SS","South Sudan","SS",,,,,,,"L0",3 -"urn:iso:std:iso:3166:-1:code:ES","Spain","ES",-3.649,40.227,27.637497,-18.170559,4.316944,43.772217,"L0",3 -"urn:iso:std:iso:3166:-1:code:LK","Sri Lanka","LK",80.704,7.612,5.917777,79.651932,81.891663,9.828331,"L0",3 -"urn:iso:std:iso:3166:-1:code:SD","Sudan","SD",30.05,13.832,3.493394,21.827774,38.607498,22.23222,"L0",3 -"urn:iso:std:iso:3166:-1:code:SR","Suriname","SR",-55.912,4.127,1.835556,-58.071396,-53.984169,6.003055,"L0",3 -"urn:iso:std:iso:3166:-1:code:SJ","Svalbard","SJ",18.374,78.83,70.803864,-9.120058,36.853325,80.76416,"L0",3 -"urn:iso:std:iso:3166:-1:code:SZ","Swaziland","SZ",31.497,-26.562,-27.316669,30.798332,32.1334,-25.728336,"L0",3 -"urn:iso:std:iso:3166:-1:code:SE","Sweden","SE",15.27,62.011,55.339165,11.106943,24.16861,69.060303,"L0",3 -"urn:iso:std:iso:3166:-1:code:CH","Switzerland","CH",7.908,46.861,45.829437,5.96611,10.488913,47.806938,"L0",3 -"urn:iso:std:iso:3166:-1:code:SY","Syrian Arab Republic","SY",38.506,35.013,32.313606,35.614464,42.379166,37.290543,"L0",3 -"urn:iso:std:iso:3166:-1:code:TW","Taiwan","TW",120.946,23.754,21.927773,118.205833,122.002213,26.229717,"L0",3 -"urn:iso:std:iso:3166:-1:code:TJ","Tajikistan","TJ",69.42,38.665,36.671844,67.3647,75.187485,41.050224,"L0",3 -"urn:iso:std:iso:3166:-1:code:TH","Thailand","TH",100.844,15.7,5.63111,97.345261,105.639427,20.455273,"L0",3 -"urn:iso:std:iso:3166:-1:code:MK","The former Yugoslav Republic of Macedonia","MK",21.698,41.6,40.855888,20.457775,23.032776,42.361382,"L0",3 -"urn:iso:std:iso:3166:-1:code:TL","Timor-Leste","TL",125.878,-8.822,-9.4633795565,124.046161166,127.308594,-8.324444,"L0",3 -"urn:iso:std:iso:3166:-1:code:TG","Togo","TG",1.081,8.799,6.100546,-0.149762,1.799327,11.13854,"L0",3 -"urn:iso:std:iso:3166:-1:code:TK","Tokelau","TK",-171.853,-9.193,-9.381111,-172.500336,-171.211426,-8.553614,"L0",3 -"urn:iso:std:iso:3166:-1:code:TO","Tonga","TO",-175.185,-21.202,-21.454166,-175.684723,-173.906158,-15.56028,"L0",3 -"urn:iso:std:iso:3166:-1:code:TT","Trinidad and Tobago","TT",-61.253,10.468,10.037498,-61.924446,-60.520561,11.346109,"L0",3 -"urn:iso:std:iso:3166:-1:code:TN","Tunisia","TN",9.596,35.383,30.23439,7.491666,11.583332,37.539444,"L0",3 -"urn:iso:std:iso:3166:-1:code:TR","Turkey","TR",35.179,39.061,35.817497,25.663883,44.822762,42.109993,"L0",3 -"urn:iso:std:iso:3166:-1:code:TM","Turkmenistan","TM",59.384,39.122,35.141663,52.440071,66.672485,42.797775,"L0",3 -"urn:iso:std:iso:3166:-1:code:TC","Turks and Caicos Islands","TC",-71.95,21.902,21.430275,-72.468063,-71.127792,21.957775,"L0",3 -"urn:iso:std:iso:3166:-1:code:TV","Tuvalu","TV",179.219,-8.514,-8.561292,176.066376,179.232285,-5.657778,"L0",3 -"urn:iso:std:iso:3166:-1:code:UG","Uganda","UG",32.386,1.28,-1.47611,29.570831,35.00972,4.222777,"L0",3 -"urn:iso:std:iso:3166:-1:code:UA","Ukraine","UA",31.388,49.016,44.37915,22.151442,40.179718,52.379715,"L0",3 -"urn:iso:std:iso:3166:-1:code:AE","United Arab Emirates","AE",54.163,23.549,22.633329,51.583328,56.38166,26.08416,"L0",3 -"urn:iso:std:iso:3166:-1:code:GB","United Kingdom","GB",-1.6,53,49.911659,-8.621389,1.749444,60.844444,"L0",3 -"urn:iso:std:iso:3166:-1:code:TZ","United Republic of Tanzania","TZ",34.823,-6.27,-11.740835,29.340832,40.436813,-0.997222,"L0",3 -"urn:iso:std:iso:3166:-1:code:US","United States","US",-98.606,39.622,18.923882,-179.141998,179.777466,71.365814,"L0",3 -"urn:iso:std:iso:3166:-1:code:UM","United States Minor Outlying Islands","UM",-160.027,-0.385,-0.398056,-177.395844,166.662476,28.221935,"L0",3 -"urn:iso:std:iso:3166:-1:code:VI","United States Virgin Islands","VI",-64.785,17.741,17.676666,-65.026947,-64.560287,18.377777,"L0",3 -"urn:iso:std:iso:3166:-1:code:UY","Uruguay","UY",-56.012,-32.8,-34.948891,-58.438614,-53.093056,-30.096668,"L0",3 -"urn:iso:std:iso:3166:-1:code:UZ","Uzbekistan","UZ",63.17,41.75,37.183876,55.99749,73.173035,45.571106,"L0",3 -"urn:iso:std:iso:3166:-1:code:VU","Vanuatu","VU",166.899,-15.376,-20.254169,166.516663,170.235229,-13.070555,"L0",3 -"urn:iso:std:iso:3166:-1:code:VE","Venezuela","VE",-66.166,7.125,0.648611,-73.378067,-59.801392,12.198889,"L0",3 -"urn:iso:std:iso:3166:-1:code:VN","Viet Nam","VN",105.314,21.491,8.558609,102.140747,109.466377,23.334721,"L0",3 -"urn:iso:std:iso:3166:-1:code:WF","Wallis and Futuna Islands","WF",-178.131,-14.289,-14.323891,-178.191101,-176.121094,-13.213614,"L0",3 -"urn:iso:std:iso:3166:-1:code:EH","Western Sahara","EH",-13.706,24.554,20.764095,-17.105278,-8.666389,27.666958,"L0",3 -"urn:iso:std:iso:3166:-1:code:YE","Yemen","YE",48.355,15.807,12.10611,42.555832,54.476944,18.999344,"L0",3 -"urn:iso:std:iso:3166:-1:code:ZM","Zambia","ZM",26.32,-14.614,-18.076126,21.996387,33.702278,-8.191668,"L0",3 -"urn:iso:std:iso:3166:-1:code:ZW","Zimbabwe","ZW",29.872,-19,-22.414764,25.236664,33.073051,-15.616112,"L0",3 +"uuid","name","L0","code","lon","lat","lat_min","lon_min","lon_max","lat_max","level","gis_feature_type" +"urn:iso:std:iso:3166:-1:code:AF","Afghanistan","Afghanistan","AF",65.216,33.677,29.406105,60.504166,74.915741,38.472115,"L0",3 +"urn:iso:std:iso:3166:-1:code:AX","Åland Islands","Åland Islands","AX",19.952,60.198,59.976944,19.510555,20.442497,60.40361,"L0",3 +"urn:iso:std:iso:3166:-1:code:AL","Albania","Albania","AL",20.068,41.143,39.644722,19.282497,21.054165,42.661942,"L0",3 +"urn:iso:std:iso:3166:-1:code:DZ","Algeria","Algeria","DZ",2.632,28.163,18.976387,-8.667223,11.986475,37.091385,"L0",3 +"urn:iso:std:iso:3166:-1:code:AS","American Samoa","American Samoa","AS",-170.73,-14.318,-14.375555,-170.826111,-169.438324,-14.166389,"L0",3 +"urn:iso:std:iso:3166:-1:code:AD","Andorra","Andorra","AD",1.576,42.549,42.436104,1.421389,1.78172,42.656387,"L0",3 +"urn:iso:std:iso:3166:-1:code:AO","Angola","Angola","AO",17.544,-12.296,-18.016392,11.663332,24.084442,-4.388991,"L0",3 +"urn:iso:std:iso:3166:-1:code:AI","Anguilla","Anguilla","AI",-63.032,18.237,18.164444,-63.167778,-62.969452,18.276665,"L0",3 +"urn:iso:std:iso:3166:-1:code:AQ","Antarctica","Antarctica","AQ",21.304,-80.446,-90,-180,180,-60.501945,"L0",3 +"urn:iso:std:iso:3166:-1:code:AG","Antigua and Barbuda","Antigua and Barbuda","AG",-61.783,17.078,16.989719,-61.891113,-61.666389,17.724998,"L0",3 +"urn:iso:std:iso:3166:-1:code:AR","Argentina","Argentina","AR",-65.167,-35.377,-55.051674,-73.583618,-53.649727,-21.780521,"L0",3 +"urn:iso:std:iso:3166:-1:code:AM","Armenia","Armenia","AM",44.563,40.534,38.841148,43.453888,46.62249,41.29705,"L0",3 +"urn:iso:std:iso:3166:-1:code:AW","Aruba","Aruba","AW",-69.977,12.517,12.41111,-70.063339,-69.873337,12.631109,"L0",3 +"urn:iso:std:iso:3166:-1:code:AU","Australia","Australia","AU",136.189,-24.973,-54.753891,112.907211,159.101898,-10.05139,"L0",3 +"urn:iso:std:iso:3166:-1:code:AT","Austria","Austria","AT",14.912,47.683,46.407494,9.533569,17.166386,49.018883,"L0",3 +"urn:iso:std:iso:3166:-1:code:AZ","Azerbaijan","Azerbaijan","AZ",47.395,40.43,38.389153,44.778862,50.374992,41.897057,"L0",3 +"urn:iso:std:iso:3166:-1:code:BS","Bahamas","Bahamas","BS",-78.014,24.628,20.915276,-78.978897,-72.737503,26.929165,"L0",3 +"urn:iso:std:iso:3166:-1:code:BH","Bahrain","Bahrain","BH",50.562,26.019,25.571941,50.453049,50.822495,26.288887,"L0",3 +"urn:iso:std:iso:3166:-1:code:BD","Bangladesh","Bangladesh","BD",89.941,24.218,20.738049,88.04332,92.669342,26.631939,"L0",3 +"urn:iso:std:iso:3166:-1:code:BB","Barbados","Barbados","BB",-59.559,13.153,13.050554,-59.659447,-59.426949,13.337221,"L0",3 +"urn:iso:std:iso:3166:-1:code:BY","Belarus","Belarus","BY",28.047,53.54,51.251846,23.1654,32.741379,56.16777,"L0",3 +"urn:iso:std:iso:3166:-1:code:BE","Belgium","Belgium","BE",4.664,50.643,49.504166,2.541667,6.398204,51.503609,"L0",3 +"urn:iso:std:iso:3166:-1:code:BZ","Belize","Belize","BZ",-88.602,17.219,15.889851,-89.2164,-87.7789,18.489902,"L0",3 +"urn:iso:std:iso:3166:-1:code:BJ","Benin","Benin","BJ",2.469,10.541,6.218721,0.776667,3.855,12.396658,"L0",3 +"urn:iso:std:iso:3166:-1:code:BM","Bermuda","Bermuda","BM",-64.709,32.336,32.260551,-64.876114,-64.638626,32.382217,"L0",3 +"urn:iso:std:iso:3166:-1:code:BT","Bhutan","Bhutan","BT",90.429,27.415,26.703049,88.751938,92.115265,28.325275,"L0",3 +"urn:iso:std:iso:3166:-1:code:BO","Bolivia","Bolivia","BO",-64.671,-16.715,-22.901112,-69.656189,-57.521118,-9.679195,"L0",3 +"urn:iso:std:iso:3166:-1:code:BA","Bosnia and Herzegovina","Bosnia and Herzegovina","BA",17.786,44.169,42.565826,15.736387,19.621765,45.265945,"L0",3 +"urn:iso:std:iso:3166:-1:code:BW","Botswana","Botswana","BW",23.815,-22.182,-26.875557,19.996109,29.373623,-17.781391,"L0",3 +"urn:iso:std:iso:3166:-1:code:BV","Bouvet Island","Bouvet Island","BV",3.412,-54.422,-54.462784,3.341666,3.484722,-54.383614,"L0",3 +"urn:iso:std:iso:3166:-1:code:BR","Brazil","Brazil","BR",-53.089,-10.772,-33.743896,-74.010559,-29.84,5.273889,"L0",3 +"urn:iso:std:iso:3166:-1:code:IO","British Indian Ocean Territory","British Indian Ocean Territory","IO",72.416,-7.335,-7.436666,71.258606,72.494431,-5.249722,"L0",3 +"urn:iso:std:iso:3166:-1:code:VG","British Virgin Islands","British Virgin Islands","VG",-64.39,18.483,18.383888,-64.700287,-64.26918,18.748608,"L0",3 +"urn:iso:std:iso:3166:-1:code:BN","Brunei Darussalam","Brunei Darussalam","BN",114.591,4.468,4.017499,114.095078,115.36026,5.053054,"L0",3 +"urn:iso:std:iso:3166:-1:code:BG","Bulgaria","Bulgaria","BG",25.231,42.761,41.24305,22.365276,28.606384,44.224716,"L0",3 +"urn:iso:std:iso:3166:-1:code:BF","Burkina Faso","Burkina Faso","BF",-1.74,12.278,9.393888,-5.521111,2.397925,15.082777,"L0",3 +"urn:iso:std:iso:3166:-1:code:BI","Burundi","Burundi","BI",29.887,-3.356,-4.448056,28.983887,30.853886,-2.298056,"L0",3 +"urn:iso:std:iso:3166:-1:code:KH","Cambodia","Cambodia","KH",104.564,12.714,10.422739,102.345543,107.636383,14.708618,"L0",3 +"urn:iso:std:iso:3166:-1:code:CM","Cameroon","Cameroon","CM",12.277,5.133,1.654166,8.502222,16.207222,13.085278,"L0",3 +"urn:iso:std:iso:3166:-1:code:CA","Canada","Canada","CA",-109.433,59.081,41.675552,-141.002991,-52.614449,83.113876,"L0",3 +"urn:iso:std:iso:3166:-1:code:CV","Cape Verde","Cape Verde","CV",-23.634,15.071,14.81111,-25.360558,-22.665836,17.193054,"L0",3 +"urn:iso:std:iso:3166:-1:code:KY","Cayman Islands","Cayman Islands","KY",-81.198,19.314,19.264721,-81.401123,-79.732788,19.762218,"L0",3 +"urn:iso:std:iso:3166:-1:code:CF","Central African Republic","Central African Republic","CF",20.483,6.571,2.220833,14.41861,27.460278,11.001389,"L0",3 +"urn:iso:std:iso:3166:-1:code:TD","Chad","Chad","TD",18.665,15.361,7.457777,13.461666,24.002747,23.450554,"L0",3 +"urn:iso:std:iso:3166:-1:code:CL","Chile","Chile","CL",-69.433,-23.389,-55.919724,-109.449173,-66.419174,-17.50528,"L0",3 +"urn:iso:std:iso:3166:-1:code:CN","China","China","CN",106.514,33.42,18.168884,73.617203,134.77359,53.554436,"L0",3 +"urn:iso:std:iso:3166:-1:code:CX","Christmas Island","Christmas Island","CX",105.704,-10.444,-10.51097,105.628998,105.7519,-10.38408,"L0",3 +"urn:iso:std:iso:3166:-1:code:CC","Cocos (Keeling) Islands","Cocos (Keeling) Islands","CC",96.839,-12.173,-12.199999,96.81749,96.924423,-12.128332,"L0",3 +"urn:iso:std:iso:3166:-1:code:CO","Colombia","Colombia","CO",-73.076,3.9,-4.236874,-81.722778,-66.871887,13.378611,"L0",3 +"urn:iso:std:iso:3166:-1:code:KM","Comoros","Comoros","KM",43.337,-11.758,-12.383057,43.213608,44.53083,-11.366945,"L0",3 +"urn:iso:std:iso:3166:-1:code:CG","Congo","Congo","CG",15.986,-0.055,-5.019444,11.140661,18.643608,3.713055,"L0",3 +"urn:iso:std:iso:3166:-1:code:CK","Cook Islands","Cook Islands","CK",-159.782,-21.219,-21.940834,-165.850281,-157.305878,-8.948057,"L0",3 +"urn:iso:std:iso:3166:-1:code:CR","Costa Rica","Costa Rica","CR",-83.946,9.971,8.025669,-85.911392,-82.561401,11.21361,"L0",3 +"urn:iso:std:iso:3166:-1:code:CI","Cote d'Ivoire","Cote d'Ivoire","CI",-5.556,7.632,4.344722,-8.606384,-2.487778,10.735256,"L0",3 +"urn:iso:std:iso:3166:-1:code:HR","Croatia","Croatia","HR",16.693,45.723,42.39666,13.496387,19.426109,46.535828,"L0",3 +"urn:iso:std:iso:3166:-1:code:CU","Cuba","Cuba","CU",-77.781,21.297,19.821941,-84.953339,-74.130844,23.204166,"L0",3 +"urn:iso:std:iso:3166:-1:code:CY","Cyprus","Cyprus","CY",33.219,35.043,34.56255,32.269165,34.590553,35.690277,"L0",3 +"urn:iso:std:iso:3166:-1:code:CZ","Czech Republic","Czech Republic","CZ",15.338,49.743,48.581379,12.093704,18.852219,51.053604,"L0",3 +"urn:iso:std:iso:3166:-1:code:CD","Democratic Republic of the Congo","Democratic Republic of the Congo","CD",23.654,-2.876,-13.458057,12.214552,31.302776,5.381389,"L0",3 +"urn:iso:std:iso:3166:-1:code:DK","Denmark","Denmark","DK",9.264,56.058,54.561661,8.087221,15.15,57.746666,"L0",3 +"urn:iso:std:iso:3166:-1:code:DJ","Djibouti","Djibouti","DJ",42.516,11.9,10.941944,41.75972,43.42083,12.708332,"L0",3 +"urn:iso:std:iso:3166:-1:code:DM","Dominica","Dominica","DM",-61.356,15.475,15.198055,-61.491394,-61.250557,15.631943,"L0",3 +"urn:iso:std:iso:3166:-1:code:DO","Dominican Republic","Dominican Republic","DO",-70.729,19.015,17.540276,-72.003067,-68.322235,19.93111,"L0",3 +"urn:iso:std:iso:3166:-1:code:EC","Ecuador","Ecuador","EC",-78.497,-1.385,-5.009132,-91.663895,-75.21608,1.437778,"L0",3 +"urn:iso:std:iso:3166:-1:code:EG","Egypt","Egypt","EG",29.872,26.494,21.994164,24.706665,36.898331,31.646942,"L0",3 +"urn:iso:std:iso:3166:-1:code:SV","El Salvador","El Salvador","SV",-88.866,13.736,13.156387,-90.108337,-87.684723,14.431982,"L0",3 +"urn:iso:std:iso:3166:-1:code:GQ","Equatorial Guinea","Equatorial Guinea","GQ",10.488,1.607,-1.479445,5.615277,11.353888,3.763333,"L0",3 +"urn:iso:std:iso:3166:-1:code:ER","Eritrea","Eritrea","ER",38.219,16.045,12.363888,36.443283,43.121384,17.994881,"L0",3 +"urn:iso:std:iso:3166:-1:code:EE","Estonia","Estonia","EE",25.793,58.674,57.522217,21.83194,28.195274,59.668327,"L0",3 +"urn:iso:std:iso:3166:-1:code:ET","Ethiopia","Ethiopia","ET",39.616,8.626,3.406389,32.991104,47.988243,14.88361,"L0",3 +"urn:iso:std:iso:3166:-1:code:FK","Falkland Islands (Malvinas)","Falkland Islands (Malvinas)","FK",-58.694,-51.665,-52.343056,-61.315834,-57.731392,-51.249451,"L0",3 +"urn:iso:std:iso:3166:-1:code:FO","Faroe Islands","Faroe Islands","FO",-6.864,62.05,61.388329,-7.435,-6.388612,62.396942,"L0",3 +"urn:iso:std:iso:3166:-1:code:FJ","Fiji","Fiji","FJ",177.974,-17.819,-20.674442,-180,180,-12.481943,"L0",3 +"urn:iso:std:iso:3166:-1:code:FI","Finland","Finland","FI",26.272,64.504,59.804993,20.580929,31.588928,70.088882,"L0",3 +"urn:iso:std:iso:3166:-1:code:FR","France","France","FR",2.55,46.565,41.364166,-5.134723,9.562222,51.09111,"L0",3 +"urn:iso:std:iso:3166:-1:code:GF","French Guiana","French Guiana","GF",-53.241,3.924,2.112222,-54.603783,-51.647781,5.755555,"L0",3 +"urn:iso:std:iso:3166:-1:code:PF","French Polynesia","French Polynesia","PF",-149.462,-17.626,-27.915554,-152.87973,-134.941406,-7.888333,"L0",3 +"urn:iso:std:iso:3166:-1:code:TF","French Southern and Antarctic Lands","French Southern and Antarctic Lands","TF",69.117,-49.302,-49.725006,42.721107,77.588882,-17.051113,"L0",3 +"urn:iso:std:iso:3166:-1:code:GA","Gabon","Gabon","GA",11.797,-0.591,-3.925277,8.698332,14.520555,2.317898,"L0",3 +"urn:iso:std:iso:3166:-1:code:GM","Gambia","Gambia","GM",-15.386,13.453,13.059977,-16.821667,-13.798613,13.826387,"L0",3 +"urn:iso:std:iso:3166:-1:code:GE","Georgia","Georgia","GE",43.518,42.176,41.046097,40.002968,46.710815,43.584717,"L0",3 +"urn:iso:std:iso:3166:-1:code:DE","Germany","Germany","DE",9.851,51.11,47.274719,5.864166,15.038887,55.056664,"L0",3 +"urn:iso:std:iso:3166:-1:code:GH","Ghana","Ghana","GH",-1.207,7.96,4.726388,-3.249167,1.202778,11.166666,"L0",3 +"urn:iso:std:iso:3166:-1:code:GI","Gibraltar","Gibraltar","GI",-5.345,36.138,36.112175,-5.35624,-5.334508,36.163307,"L0",3 +"urn:iso:std:iso:3166:-1:code:GR","Greece","Greece","GR",21.766,39.666,34.808884,19.37611,28.238049,41.748322,"L0",3 +"urn:iso:std:iso:3166:-1:code:GL","Greenland","Greenland","GL",-41.391,74.719,59.790276,-73.053604,-12.155001,83.623596,"L0",3 +"urn:iso:std:iso:3166:-1:code:GD","Grenada","Grenada","GD",-61.678,12.118,11.996387,-61.789726,-61.418617,12.529165,"L0",3 +"urn:iso:std:iso:3166:-1:code:GP","Guadeloupe","Guadeloupe","GP",-61.441,16.286,15.869999,-62.873062,-60.988617,17.930275,"L0",3 +"urn:iso:std:iso:3166:-1:code:GU","Guam","Guam","GU",144.707,13.385,13.234997,144.634155,144.953308,13.65361,"L0",3 +"urn:iso:std:iso:3166:-1:code:GT","Guatemala","Guatemala","GT",-90.398,15.256,13.745832,-92.24678,-88.214737,17.82111,"L0",3 +"urn:iso:std:iso:3166:-1:code:GG","Guernsey","Guernsey","GG",-2.576,49.459,49.422493,-2.670278,-2.500278,49.508888,"L0",3 +"urn:iso:std:iso:3166:-1:code:GN","Guinea","Guinea","GN",-10.942,10.439,7.198889,-15.081112,-7.646536,12.6775,"L0",3 +"urn:iso:std:iso:3166:-1:code:GW","Guinea-Bissau","Guinea-Bissau","GW",-14.651,12.125,10.922777,-16.71777,-13.643057,12.684721,"L0",3 +"urn:iso:std:iso:3166:-1:code:GY","Guyana","Guyana","GY",-58.974,4.792,1.185555,-61.389725,-56.470634,8.535276,"L0",3 +"urn:iso:std:iso:3166:-1:code:HT","Haiti","Haiti","HT",-72.278,19.142,18.022778,-74.467789,-71.628891,20.09222,"L0",3 +"urn:iso:std:iso:3166:-1:code:HM","Heard Island and McDonald Islands","Heard Island and McDonald Islands","HM",73.507,-53.111,-53.199448,73.234436,73.77388,-52.964172,"L0",3 +"urn:iso:std:iso:3166:-1:code:VA","Holy See (Vatican City)","Holy See (Vatican City)","VA",12.451,41.904,41.9014260247,12.4450903309,12.456660171,41.9079890334,"L0",3 +"urn:iso:std:iso:3166:-1:code:HN","Honduras","Honduras","HN",-86.863,14.819,12.979721,-89.351959,-83.131851,17.420277,"L0",3 +"urn:iso:std:iso:3166:-1:code:HK","Hong Kong","Hong Kong","HK",114.129,22.423,22.193607,113.822769,114.390266,22.5505482469,"L0",3 +"urn:iso:std:iso:3166:-1:code:HU","Hungary","Hungary","HU",19.134,47.07,45.748329,16.111805,22.894804,48.57666,"L0",3 +"urn:iso:std:iso:3166:-1:code:IS","Iceland","Iceland","IS",-18.48,64.764,63.389999,-24.542225,-13.499445,66.536102,"L0",3 +"urn:iso:std:iso:3166:-1:code:IN","India","India","IN",78.5,21,6.745554,68.139435,97.380539,35.506104,"L0",3 +"urn:iso:std:iso:3166:-1:code:ID","Indonesia","Indonesia","ID",114.252,-0.976,-10.93,95.008026,141.007019,5.913888,"L0",3 +"urn:iso:std:iso:3166:-1:code:IR","Iran (Islamic Republic of)","Iran (Islamic Republic of)","IR",54.301,32.565,25.075275,44.034157,63.341934,39.78054,"L0",3 +"urn:iso:std:iso:3166:-1:code:IQ","Iraq","Iraq","IQ",43.772,33.048,29.061661,38.794701,48.563881,37.38472,"L0",3 +"urn:iso:std:iso:3166:-1:code:IE","Ireland","Ireland","IE",-8.152,53.177,51.445549,-10.474724,-6.013056,55.380272,"L0",3 +"urn:iso:std:iso:3166:-1:code:IM","Isle of Man","Isle of Man","IM",-4.527,54.229,54.05555,-4.788611,-4.307501,54.416664,"L0",3 +"urn:iso:std:iso:3166:-1:code:IL","Israel","Israel","IL",34.851,31.026,29.486706,34.267578,35.683052,33.270271,"L0",3 +"urn:iso:std:iso:3166:-1:code:IT","Italy","Italy","IT",12.8,42.7,36.649162,6.61976,18.514999,47.094719,"L0",3 +"urn:iso:std:iso:3166:-1:code:JM","Jamaica","Jamaica","JM",-77.32,18.151,17.696663,-78.373901,-76.221115,18.522499,"L0",3 +"urn:iso:std:iso:3166:-1:code:JP","Japan","Japan","JP",139.068,36.491,24.250832,122.935257,153.96579,45.486382,"L0",3 +"urn:iso:std:iso:3166:-1:code:JE","Jersey","Jersey","JE",-2.129,49.219,49.16777,-2.2475,-2.015,49.261108,"L0",3 +"urn:iso:std:iso:3166:-1:code:JO","Jordan","Jordan","JO",36.319,30.703,29.188889,34.959999,39.301109,33.377594,"L0",3 +"urn:iso:std:iso:3166:-1:code:KZ","Kazakhstan","Kazakhstan","KZ",67.301,48.16,40.594437,46.499161,87.348206,55.44471,"L0",3 +"urn:iso:std:iso:3166:-1:code:KE","Kenya","Kenya","KE",37.858,0.53,-4.669618,33.907219,41.905167,4.622499,"L0",3 +"urn:iso:std:iso:3166:-1:code:KI","Kiribati","Kiribati","KI",175.036,-1.508,-11.466665,-172.233337,176.85025,4.725832,"L0",3 +"urn:iso:std:iso:3166:-1:code:KP","Korea, Democratic People's Republic of","Korea, Democratic People's Republic of","KP",126.451,39.778,37.671379,124.322769,130.697418,43.008324,"L0",3 +"urn:iso:std:iso:3166:-1:code:KR","Korea, Republic of","Korea, Republic of","KR",128.103,36.504,33.190269,124.609711,130.924133,38.625244,"L0",3 +"urn:iso:std:iso:3166:-1:code:KW","Kuwait","Kuwait","KW",47.376,29.476,28.538883,46.546944,48.416588,30.084438,"L0",3 +"urn:iso:std:iso:3166:-1:code:KG","Kyrgyzstan","Kyrgyzstan","KG",74.555,41.465,39.191856,69.248871,80.283325,43.216904,"L0",3 +"urn:iso:std:iso:3166:-1:code:LA","Lao People's Democratic Republic","Lao People's Democratic Republic","LA",102.471,19.905,13.926664,100.09137,107.695251,22.500832,"L0",3 +"urn:iso:std:iso:3166:-1:code:LV","Latvia","Latvia","LV",25.641,56.858,55.674835,20.968605,28.237774,58.084435,"L0",3 +"urn:iso:std:iso:3166:-1:code:LB","Lebanon","Lebanon","LB",35.888,33.92,33.061943,35.10083,36.623741,34.647499,"L0",3 +"urn:iso:std:iso:3166:-1:code:LS","Lesotho","Lesotho","LS",28.243,-29.581,-30.650528,27.011108,29.456108,-28.569447,"L0",3 +"urn:iso:std:iso:3166:-1:code:LR","Liberia","Liberia","LR",-9.657,6.682,4.343333,-11.492331,-7.366667,8.512777,"L0",3 +"urn:iso:std:iso:3166:-1:code:LY","Libya","Libya","LY",18.023,27.044,19.499065,9.303888,25.152775,33.171135,"L0",3 +"urn:iso:std:iso:3166:-1:code:LI","Liechtenstein","Liechtenstein","LI",9.555,47.153,47.057457,9.474637,9.63611,47.274544,"L0",3 +"urn:iso:std:iso:3166:-1:code:LT","Lithuania","Lithuania","LT",23.897,55.336,53.888046,20.942833,26.819717,56.450829,"L0",3 +"urn:iso:std:iso:3166:-1:code:LU","Luxembourg","Luxembourg","LU",6.088,49.771,49.448326,5.734444,6.524722,50.18222,"L0",3 +"urn:iso:std:iso:3166:-1:code:MO","Macau","Macau","MO",113.545,22.2,22.183052,113.531372,113.556374,22.214439,"L0",3 +"urn:iso:std:iso:3166:-1:code:MG","Madagascar","Madagascar","MG",46.706,-19.374,-25.588337,43.236824,50.501389,-11.945557,"L0",3 +"urn:iso:std:iso:3166:-1:code:MW","Malawi","Malawi","MW",33.808,-13.4,-17.135281,32.678886,35.924164,-9.373335,"L0",3 +"urn:iso:std:iso:3166:-1:code:MY","Malaysia","Malaysia","MY",102.195,4.201,0.852778,99.640823,119.275818,7.35361,"L0",3 +"urn:iso:std:iso:3166:-1:code:MV","Maldives","Maldives","MV",72.92,3.548,-0.690833,72.687759,73.753601,7.096388,"L0",3 +"urn:iso:std:iso:3166:-1:code:ML","Mali","Mali","ML",-3.524,17.35,10.141109,-12.244833,4.2525,25.000275,"L0",3 +"urn:iso:std:iso:3166:-1:code:MT","Malta","Malta","MT",14.442,35.89,35.799995,14.180832,14.57,36.074997,"L0",3 +"urn:iso:std:iso:3166:-1:code:MH","Marshall Islands","Marshall Islands","MH",168.963,7.595,5.600277,162.323578,172.090515,14.598331,"L0",3 +"urn:iso:std:iso:3166:-1:code:MQ","Martinique","Martinique","MQ",-61.021,14.653,14.402777,-61.231674,-60.816673,14.880278,"L0",3 +"urn:iso:std:iso:3166:-1:code:MR","Mauritania","Mauritania","MR",-10.332,20.26,14.725321,-17.075558,-4.806111,27.290459,"L0",3 +"urn:iso:std:iso:3166:-1:code:MU","Mauritius","Mauritius","MU",57.583,-20.255,-20.520557,56.507217,63.498604,-10.316668,"L0",3 +"urn:iso:std:iso:3166:-1:code:YT","Mayotte","Mayotte","YT",45.155,-12.777,-12.9925,45.039162,45.293327,-12.6625,"L0",3 +"urn:iso:std:iso:3166:-1:code:MX","Mexico","Mexico","MX",-102.535,23.951,14.550547,-118.404167,-86.701401,32.718456,"L0",3 +"urn:iso:std:iso:3166:-1:code:FM","Micronesia, Federated States of","Micronesia, Federated States of","FM",158.235,6.883,5.261666,138.058319,163.043304,9.589441,"L0",3 +"urn:iso:std:iso:3166:-1:code:MC","Monaco","Monaco","MC",7.412,43.75,43.727547,7.386389,7.439293,43.773048,"L0",3 +"urn:iso:std:iso:3166:-1:code:MN","Mongolia","Mongolia","MN",102.876,46.056,41.581383,87.758331,119.934982,52.143608,"L0",3 +"urn:iso:std:iso:3166:-1:code:ME","Montenegro","Montenegro","ME",19.254,42.792,41.848999,18.453331,20.382774,43.556107,"L0",3 +"urn:iso:std:iso:3166:-1:code:MS","Montserrat","Montserrat","MS",-62.187,16.736,16.671387,-62.237228,-62.137505,16.81361,"L0",3 +"urn:iso:std:iso:3166:-1:code:MA","Morocco","Morocco","MA",-5.758,32.706,27.664238,-13.174961,-1.010278,35.919167,"L0",3 +"urn:iso:std:iso:3166:-1:code:MZ","Mozambique","Mozambique","MZ",37.923,-14.422,-26.860279,30.213017,40.846107,-10.471111,"L0",3 +"urn:iso:std:iso:3166:-1:code:MM","Myanmar","Myanmar","MM",96.041,21.718,9.786386,92.204987,101.170822,28.549164,"L0",3 +"urn:iso:std:iso:3166:-1:code:NA","Namibia","Namibia","NA",17.218,-22.133,-28.962502,11.716389,25.264431,-16.952778,"L0",3 +"urn:iso:std:iso:3166:-1:code:NR","Nauru","Nauru","NR",166.93,-0.522,-0.552222,166.904419,166.958588,-0.493333,"L0",3 +"urn:iso:std:iso:3166:-1:code:NP","Nepal","Nepal","NP",83.939,28.253,26.364719,80.0522,88.195816,30.424995,"L0",3 +"urn:iso:std:iso:3166:-1:code:NL","Netherlands","Netherlands","NL",5.389,52.077,50.753883,3.370866,7.211666,53.511383,"L0",3 +"urn:iso:std:iso:3166:-1:code:AN","Netherlands Antilles","Netherlands Antilles","AN",-68.87,12.123,12.020555,-69.16362,-62.936394,17.521942,"L0",3 +"urn:iso:std:iso:3166:-1:code:NC","New Caledonia","New Caledonia","NC",165.447,-21.359,-22.694164,159.922211,171.313873,-19.114445,"L0",3 +"urn:iso:std:iso:3166:-1:code:NZ","New Zealand","New Zealand","NZ",172.235,-42.634,-52.578056,-178.613068,179.082733,-29.223057,"L0",3 +"urn:iso:std:iso:3166:-1:code:NI","Nicaragua","Nicaragua","NI",-85.034,12.84,10.708611,-87.693069,-82.72139,15.022221,"L0",3 +"urn:iso:std:iso:3166:-1:code:NE","Niger","Niger","NE",9.398,17.426,11.693274,0.166667,15.996666,23.522305,"L0",3 +"urn:iso:std:iso:3166:-1:code:NG","Nigeria","Nigeria","NG",8.105,9.594,4.272499,2.6925,14.658054,13.891499,"L0",3 +"urn:iso:std:iso:3166:-1:code:NU","Niue","Niue","NU",-169.869,-19.052,-19.145557,-169.953064,-169.781403,-18.963333,"L0",3 +"urn:iso:std:iso:3166:-1:code:NF","Norfolk Island","Norfolk Island","NF",167.953,-29.037,-29.081112,167.909424,168,-29.000557,"L0",3 +"urn:iso:std:iso:3166:-1:code:MP","Northern Mariana Islands","Northern Mariana Islands","MP",145.623,15.005,14.105276,144.89859,145.870789,20.556385,"L0",3 +"urn:iso:std:iso:3166:-1:code:NO","Norway","Norway","NO",8.74,61.152,57.987778,4.62,31.078053,71.154709,"L0",3 +"urn:iso:std:iso:3166:-1:code:OM","Oman","Oman","OM",57.407,21.656,16.642778,51.99929,59.847221,26.382389,"L0",3 +"urn:iso:std:iso:3166:-1:code:PK","Pakistan","Pakistan","PK",69.386,29.967,23.688049,60.866302,77.823929,37.062592,"L0",3 +"urn:iso:std:iso:3166:-1:code:PW","Palau","Palau","PW",134.57,7.501,5.292221,132.208313,134.658875,7.729444,"L0",3 +"urn:iso:std:iso:3166:-1:code:PS","Palestine","Palestine","PS",35.278,32.037,31.216541,34.21666,35.573296,32.546387,"L0",3 +"urn:iso:std:iso:3166:-1:code:PA","Panama","Panama","PA",-80.92,8.384,7.206111,-83.030289,-77.198334,9.620277,"L0",3 +"urn:iso:std:iso:3166:-1:code:PG","Papua New Guinea","Papua New Guinea","PG",143.459,-5.949,-11.6425,140.858856,159.523041,-1.098333,"L0",3 +"urn:iso:std:iso:3166:-1:code:PY","Paraguay","Paraguay","PY",-58.391,-23.236,-27.588337,-62.643768,-54.243896,-19.296669,"L0",3 +"urn:iso:std:iso:3166:-1:code:PE","Peru","Peru","PE",-75.552,-9.326,-18.348545,-81.3564,-68.673904,-0.031389,"L0",3 +"urn:iso:std:iso:3166:-1:code:PH","Philippines","Philippines","PH",122.466,11.118,4.641388,116.949997,126.598038,21.118053,"L0",3 +"urn:iso:std:iso:3166:-1:code:PN","Pitcairn Islands","Pitcairn Islands","PN",-128.316,-24.366,-25.082226,-130.107483,-124.771133,-24.325005,"L0",3 +"urn:iso:std:iso:3166:-1:code:PL","Poland","Poland","PL",19.401,52.125,49.001938,14.145555,24.144718,54.836937,"L0",3 +"urn:iso:std:iso:3166:-1:code:PT","Portugal","Portugal","PT",-8.058,40.309,32.637497,-31.290001,-6.187222,42.15274,"L0",3 +"urn:iso:std:iso:3166:-1:code:PR","Puerto Rico","Puerto Rico","PR",-66.466,18.221,17.922222,-67.938339,-65.241959,18.519444,"L0",3 +"urn:iso:std:iso:3166:-1:code:QA","Qatar","Qatar","QA",51.191,25.316,24.556042,50.751938,51.615829,26.15361,"L0",3 +"urn:iso:std:iso:3166:-1:code:MD","Republic of Moldova","Republic of Moldova","MD",28.599,47.193,45.448647,26.634995,30.133228,48.468323,"L0",3 +"urn:iso:std:iso:3166:-1:code:RE","Reunion","Reunion","RE",55.538,-21.122,-21.37389,55.219719,55.85305,-20.856392,"L0",3 +"urn:iso:std:iso:3166:-1:code:RO","Romania","Romania","RO",24.969,45.844,43.622437,20.261024,29.672497,48.263885,"L0",3 +"urn:iso:std:iso:3166:-1:code:RU","Russia","Russia","RU",96.689,61.988,41.196091,-180,180,81.851929,"L0",3 +"urn:iso:std:iso:3166:-1:code:RW","Rwanda","Rwanda","RW",29.917,-1.998,-2.826667,28.853333,30.894444,-1.053889,"L0",3 +"urn:iso:std:iso:3166:-1:code:BL","Saint Barthelemy","Saint Barthelemy","BL",-63.043,18.04,18.015553,-63.139839,-63.010284,18.070366,"L0",3 +"urn:iso:std:iso:3166:-1:code:SH","Saint Helena","Saint Helena","SH",-5.71,-15.953,-40.403893,-14.416113,-5.645278,-7.883056,"L0",3 +"urn:iso:std:iso:3166:-1:code:KN","Saint Kitts and Nevis","Saint Kitts and Nevis","KN",-62.769,17.34,17.091663,-62.863892,-62.534172,17.410831,"L0",3 +"urn:iso:std:iso:3166:-1:code:LC","Saint Lucia","Saint Lucia","LC",-60.969,13.898,13.709444,-61.079727,-60.878059,14.109444,"L0",3 +"urn:iso:std:iso:3166:-1:code:MF","Saint Martin","Saint Martin","MF",-63.041,18.094,18.058601,-63.146667,-63.006393,18.121944,"L0",3 +"urn:iso:std:iso:3166:-1:code:PM","Saint Pierre and Miquelon","Saint Pierre and Miquelon","PM",-56.325,47.042,46.747215,-56.398056,-56.144165,47.136658,"L0",3 +"urn:iso:std:iso:3166:-1:code:VC","Saint Vincent and the Grenadines","Saint Vincent and the Grenadines","VC",-61.194,13.248,12.584444,-61.45417,-61.120285,13.384165,"L0",3 +"urn:iso:std:iso:3166:-1:code:WS","Samoa","Samoa","WS",-172.414,-13.652,-14.057503,-172.780609,-171.42865,-13.460556,"L0",3 +"urn:iso:std:iso:3166:-1:code:SM","San Marino","San Marino","SM",12.46,43.942,43.895554,12.403889,12.511665,43.989166,"L0",3 +"urn:iso:std:iso:3166:-1:code:ST","Sao Tome and Principe","Sao Tome and Principe","ST",6.629,0.201,0.018333,6.464444,7.464167,1.701944,"L0",3 +"urn:iso:std:iso:3166:-1:code:SA","Saudi Arabia","Saudi Arabia","SA",44.585,24.023,15.616943,34.492218,55.666107,32.154942,"L0",3 +"urn:iso:std:iso:3166:-1:code:SN","Senegal","Senegal","SN",-14.881,15.013,12.301748,-17.537224,-11.3675,16.693054,"L0",3 +"urn:iso:std:iso:3166:-1:code:RS","Serbia","Serbia","RS",20.806,44.032,41.855827,18.81702,23.004997,46.181389,"L0",3 +"urn:iso:std:iso:3166:-1:code:SC","Seychelles","Seychelles","SC",55.474,-4.647,-9.755001,46.204163,56.28611,-4.280001,"L0",3 +"urn:iso:std:iso:3166:-1:code:SL","Sierra Leone","Sierra Leone","SL",-11.792,8.56,6.923611,-13.29561,-10.264168,9.997499,"L0",3 +"urn:iso:std:iso:3166:-1:code:SG","Singapore","Singapore","SG",103.808,1.351,1.258889,103.640808,103.998863,1.445277,"L0",3 +"urn:iso:std:iso:3166:-1:code:SK","Slovakia","Slovakia","SK",19.491,48.707,47.737221,16.839996,22.558052,49.60083,"L0",3 +"urn:iso:std:iso:3166:-1:code:SI","Slovenia","Slovenia","SI",14.827,46.124,45.425819,13.383055,16.607872,46.876663,"L0",3 +"urn:iso:std:iso:3166:-1:code:SB","Solomon Islands","Solomon Islands","SB",160.109,-9.611,-11.845833,155.507477,167.209961,-5.293056,"L0",3 +"urn:iso:std:iso:3166:-1:code:SO","Somalia","Somalia","SO",48.316,9.774,-1.674868,40.986595,51.412636,11.979166,"L0",3 +"urn:iso:std:iso:3166:-1:code:ZA","South Africa","South Africa","ZA",23.121,-30.558,-46.969727,16.48333,37.981667,-22.136391,"L0",3 +"urn:iso:std:iso:3166:-1:code:GS","South Georgia South Sandwich Islands","South Georgia South Sandwich Islands","GS",-36.891,-54.209,-59.473061,-38.033058,-26.24139,-53.989723,"L0",3 +"urn:iso:std:iso:3166:-1:code:SS","South Sudan","South Sudan","SS",,,,,,,"L0",3 +"urn:iso:std:iso:3166:-1:code:ES","Spain","Spain","ES",-3.649,40.227,27.637497,-18.170559,4.316944,43.772217,"L0",3 +"urn:iso:std:iso:3166:-1:code:LK","Sri Lanka","Sri Lanka","LK",80.704,7.612,5.917777,79.651932,81.891663,9.828331,"L0",3 +"urn:iso:std:iso:3166:-1:code:SD","Sudan","Sudan","SD",30.05,13.832,3.493394,21.827774,38.607498,22.23222,"L0",3 +"urn:iso:std:iso:3166:-1:code:SR","Suriname","Suriname","SR",-55.912,4.127,1.835556,-58.071396,-53.984169,6.003055,"L0",3 +"urn:iso:std:iso:3166:-1:code:SJ","Svalbard","Svalbard","SJ",18.374,78.83,70.803864,-9.120058,36.853325,80.76416,"L0",3 +"urn:iso:std:iso:3166:-1:code:SZ","Swaziland","Swaziland","SZ",31.497,-26.562,-27.316669,30.798332,32.1334,-25.728336,"L0",3 +"urn:iso:std:iso:3166:-1:code:SE","Sweden","Sweden","SE",15.27,62.011,55.339165,11.106943,24.16861,69.060303,"L0",3 +"urn:iso:std:iso:3166:-1:code:CH","Switzerland","Switzerland","CH",7.908,46.861,45.829437,5.96611,10.488913,47.806938,"L0",3 +"urn:iso:std:iso:3166:-1:code:SY","Syrian Arab Republic","Syrian Arab Republic","SY",38.506,35.013,32.313606,35.614464,42.379166,37.290543,"L0",3 +"urn:iso:std:iso:3166:-1:code:TW","Taiwan","Taiwan","TW",120.946,23.754,21.927773,118.205833,122.002213,26.229717,"L0",3 +"urn:iso:std:iso:3166:-1:code:TJ","Tajikistan","Tajikistan","TJ",69.42,38.665,36.671844,67.3647,75.187485,41.050224,"L0",3 +"urn:iso:std:iso:3166:-1:code:TH","Thailand","Thailand","TH",100.844,15.7,5.63111,97.345261,105.639427,20.455273,"L0",3 +"urn:iso:std:iso:3166:-1:code:MK","The former Yugoslav Republic of Macedonia","The former Yugoslav Republic of Macedonia","MK",21.698,41.6,40.855888,20.457775,23.032776,42.361382,"L0",3 +"urn:iso:std:iso:3166:-1:code:TL","Timor-Leste","Timor-Leste","TL",125.878,-8.822,-9.4633795565,124.046161166,127.308594,-8.324444,"L0",3 +"urn:iso:std:iso:3166:-1:code:TG","Togo","Togo","TG",1.081,8.799,6.100546,-0.149762,1.799327,11.13854,"L0",3 +"urn:iso:std:iso:3166:-1:code:TK","Tokelau","Tokelau","TK",-171.853,-9.193,-9.381111,-172.500336,-171.211426,-8.553614,"L0",3 +"urn:iso:std:iso:3166:-1:code:TO","Tonga","Tonga","TO",-175.185,-21.202,-21.454166,-175.684723,-173.906158,-15.56028,"L0",3 +"urn:iso:std:iso:3166:-1:code:TT","Trinidad and Tobago","Trinidad and Tobago","TT",-61.253,10.468,10.037498,-61.924446,-60.520561,11.346109,"L0",3 +"urn:iso:std:iso:3166:-1:code:TN","Tunisia","Tunisia","TN",9.596,35.383,30.23439,7.491666,11.583332,37.539444,"L0",3 +"urn:iso:std:iso:3166:-1:code:TR","Turkey","Turkey","TR",35.179,39.061,35.817497,25.663883,44.822762,42.109993,"L0",3 +"urn:iso:std:iso:3166:-1:code:TM","Turkmenistan","Turkmenistan","TM",59.384,39.122,35.141663,52.440071,66.672485,42.797775,"L0",3 +"urn:iso:std:iso:3166:-1:code:TC","Turks and Caicos Islands","Turks and Caicos Islands","TC",-71.95,21.902,21.430275,-72.468063,-71.127792,21.957775,"L0",3 +"urn:iso:std:iso:3166:-1:code:TV","Tuvalu","Tuvalu","TV",179.219,-8.514,-8.561292,176.066376,179.232285,-5.657778,"L0",3 +"urn:iso:std:iso:3166:-1:code:UG","Uganda","Uganda","UG",32.386,1.28,-1.47611,29.570831,35.00972,4.222777,"L0",3 +"urn:iso:std:iso:3166:-1:code:UA","Ukraine","Ukraine","UA",31.388,49.016,44.37915,22.151442,40.179718,52.379715,"L0",3 +"urn:iso:std:iso:3166:-1:code:AE","United Arab Emirates","United Arab Emirates","AE",54.163,23.549,22.633329,51.583328,56.38166,26.08416,"L0",3 +"urn:iso:std:iso:3166:-1:code:GB","United Kingdom","United Kingdom","GB",-1.6,53,49.911659,-8.621389,1.749444,60.844444,"L0",3 +"urn:iso:std:iso:3166:-1:code:TZ","United Republic of Tanzania","United Republic of Tanzania","TZ",34.823,-6.27,-11.740835,29.340832,40.436813,-0.997222,"L0",3 +"urn:iso:std:iso:3166:-1:code:US","United States","United States","US",-98.606,39.622,18.923882,-179.141998,179.777466,71.365814,"L0",3 +"urn:iso:std:iso:3166:-1:code:UM","United States Minor Outlying Islands","United States Minor Outlying Islands","UM",-160.027,-0.385,-0.398056,-177.395844,166.662476,28.221935,"L0",3 +"urn:iso:std:iso:3166:-1:code:VI","United States Virgin Islands","United States Virgin Islands","VI",-64.785,17.741,17.676666,-65.026947,-64.560287,18.377777,"L0",3 +"urn:iso:std:iso:3166:-1:code:UY","Uruguay","Uruguay","UY",-56.012,-32.8,-34.948891,-58.438614,-53.093056,-30.096668,"L0",3 +"urn:iso:std:iso:3166:-1:code:UZ","Uzbekistan","Uzbekistan","UZ",63.17,41.75,37.183876,55.99749,73.173035,45.571106,"L0",3 +"urn:iso:std:iso:3166:-1:code:VU","Vanuatu","Vanuatu","VU",166.899,-15.376,-20.254169,166.516663,170.235229,-13.070555,"L0",3 +"urn:iso:std:iso:3166:-1:code:VE","Venezuela","Venezuela","VE",-66.166,7.125,0.648611,-73.378067,-59.801392,12.198889,"L0",3 +"urn:iso:std:iso:3166:-1:code:VN","Viet Nam","Viet Nam","VN",105.314,21.491,8.558609,102.140747,109.466377,23.334721,"L0",3 +"urn:iso:std:iso:3166:-1:code:WF","Wallis and Futuna Islands","Wallis and Futuna Islands","WF",-178.131,-14.289,-14.323891,-178.191101,-176.121094,-13.213614,"L0",3 +"urn:iso:std:iso:3166:-1:code:EH","Western Sahara","Western Sahara","EH",-13.706,24.554,20.764095,-17.105278,-8.666389,27.666958,"L0",3 +"urn:iso:std:iso:3166:-1:code:YE","Yemen","Yemen","YE",48.355,15.807,12.10611,42.555832,54.476944,18.999344,"L0",3 +"urn:iso:std:iso:3166:-1:code:ZM","Zambia","Zambia","ZM",26.32,-14.614,-18.076126,21.996387,33.702278,-8.191668,"L0",3 +"urn:iso:std:iso:3166:-1:code:ZW","Zimbabwe","Zimbabwe","ZW",29.872,-19,-22.414764,25.236664,33.073051,-15.616112,"L0",3 diff --git a/static/formats/s3csv/project/community.csv b/static/formats/s3csv/project/community.csv index b1e7f35249..f3834c2abf 100644 --- a/static/formats/s3csv/project/community.csv +++ b/static/formats/s3csv/project/community.csv @@ -1,2 +1,2 @@ -Project,Activities,Country,State,District,City,L4,Lat,Lon,ContactPerson,Comments,Beneficiaries:Children,Beneficiaries:Adults +Project Code,Project Name,Activities,Country,L1,L2,L3,L4,Lat,Lon,Comments,ContactPerson,Beneficiaries:Children,Beneficiaries:Adults diff --git a/static/formats/s3csv/project/community.xsl b/static/formats/s3csv/project/community.xsl index 6e94de040a..76b66328a3 100644 --- a/static/formats/s3csv/project/community.xsl +++ b/static/formats/s3csv/project/community.xsl @@ -3,24 +3,25 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> @@ -32,14 +33,15 @@ - - + + concat(col[@field='Project Name'], + col[@field='Project Code']))[1])]"> @@ -55,16 +57,16 @@ - - + + - + - + @@ -81,7 +83,7 @@ - + @@ -111,13 +113,19 @@ - + + - + - + + + + + + @@ -169,11 +177,10 @@ - - - - + + + @@ -181,6 +188,9 @@ + + + @@ -212,6 +222,10 @@ L1 + + + + @@ -239,6 +253,10 @@ L2 + + + + @@ -273,6 +291,10 @@ L3 + + + + @@ -314,8 +336,10 @@ L4 - - + + + + @@ -325,9 +349,9 @@ - - - + + + @@ -396,9 +420,9 @@ - - - + + + diff --git a/static/formats/s3csv/project/project.xsl b/static/formats/s3csv/project/project.xsl index 72631aa62d..7bbe2b55b1 100644 --- a/static/formats/s3csv/project/project.xsl +++ b/static/formats/s3csv/project/project.xsl @@ -88,8 +88,10 @@ - + + + diff --git a/static/scripts/S3/S3.min.js b/static/scripts/S3/S3.min.js index 16cee1ea8d..fdb586a8a8 100644 --- a/static/scripts/S3/S3.min.js +++ b/static/scripts/S3/S3.min.js @@ -514,7 +514,7 @@ c.attr("prefix"),p=a.attr("class").replace("-","_"),m=S3.Ap.concat("/",k,"/",g," S3.i18n.no_match+"");else{for(var f=0;f'),g=$(a[f].represent),b=b+(''+g.text()+'Details');a.length>10&&(b=b+('
  • '+ S3.i18n.ac_widget_more_results+"
  • "))}c.append(b+"")}l.remove();$('[name ^= "'+h+'_search_simple"]').blur()}})}else l.remove(),$("#"+h+"_result_list").remove()};S3.search.CancelEnterPress=function(a){if(13===a.which)return!1}; $(document).ready(function(){void 0!=$(".advanced-form").val()&&(void 0==$(".simple-form").val()?($(".simple-form").hide(),$(".advanced-form").show()):("advanced"==$("#search-mode").attr("mode")?($(".simple-form").hide(),$(".advanced-form").show()):$(".advanced-form").hide(),$(".advanced-lnk").click(function(a){a.preventDefault();a=$('.search_form[fieldname="'+$(this).attr("fieldname")+'"]');a.length==0&&(a=$(".search_form"));a.find(".simple-form").hide();a.find(".advanced-form").show();return false}), -$(".simple-lnk").click(function(a){a.preventDefault();a=$('.search_form[fieldname="'+$(this).attr("fieldname")+'"]');a.length==0&&(a=$(".search_form"));a.find(".advanced-form").hide();a.find(".simple-form").show();return false})));$(".search_select_letter_widget").each(function(){widget=$(this);$(":checked",widget).length<1?$(this).hide():$(this).prev().toggleClass("expanded")});$(".search_select_letter_label").click(function(){$(this).next("table").toggle();$(this).toggleClass("expanded")});$("div.simple-form").keyup(S3.search.AutocompleteTimer).click(S3.search.AutocompleteTimer).keypress(S3.search.CancelEnterPress); +$(".simple-lnk").click(function(a){a.preventDefault();a=$('.search_form[fieldname="'+$(this).attr("fieldname")+'"]');a.length==0&&(a=$(".search_form"));a.find(".advanced-form").hide();a.find(".simple-form").show();return false})));$(".search_select_letter_label").each(function(){widget=$(this).next();$(":checked",widget).length<1?widget.hide():$(this).toggleClass("expanded")});$(".search_select_letter_label").click(function(){$(this).next("table").toggle();$(this).toggleClass("expanded")});$("div.simple-form").keyup(S3.search.AutocompleteTimer).click(S3.search.AutocompleteTimer).keypress(S3.search.CancelEnterPress); $("div.advanced-form").keyup(S3.search.AutocompleteTimer).click(S3.search.AutocompleteTimer).keypress(S3.search.ancelEnterPress);$(".search_autocomplete_result_list li span").live("click",function(){var a=$(this).parent(),b=a.parent(),c=b.parent(),e=c.parent().find(".hidden_input"),c=c.attr("fieldname"),a=a.attr("id");if(a!=void 0){e.val(a);e.change();e=$('[name ^= "'+c+'_search_simple"]');a=$(this).text();e.val(a);b.remove()}})}); jQuery.fn.fancyZoom=function(a){function b(b){if(j)return!1;j=!0;var e=$($(this).attr("href")),h=a.height,k=window.innerWidth||window.document.documentElement.clientWidth||window.document.body.clientWidth,u=window.innerHeight||window.document.documentElement.clientHeight||window.document.body.clientHeight,v=window.pageYOffset||window.document.documentElement.scrollTop||window.document.body.scrollTop,A=k,y=u,k=(a.width||e.width())+60,u=(h||e.height())+60,h=Math.max(y/2-u/2+v,0),A=A/2-k/2,v=b.pageY, b=b.pageX;l.attr("curTop",v);l.attr("curLeft",b);l.attr("scaleImg",a.scaleImg?"true":"false");$("#zoom").hide().css({position:"absolute",top:v+"px",left:b+"px",width:"1px",height:"1px"});f();l.hide();a.closeOnClick&&$("#zoom").click(c);a.scaleImg?(m.html(e.html()),$("#zoom_content img").css("width","100%")):m.html("");$("#zoom").animate({top:h+"px",left:A+"px",opacity:"show",width:k,height:u},500,null,function(){a.scaleImg!=true&&m.html(e.html());g();l.show();j=false});return!1}function c(){if(j)return!1; diff --git a/static/scripts/S3/s3.search.js b/static/scripts/S3/s3.search.js index eee246bf93..52a87ef67b 100644 --- a/static/scripts/S3/s3.search.js +++ b/static/scripts/S3/s3.search.js @@ -176,13 +176,13 @@ $(document).ready(function() { Hide all the expanding/collapsing letter widgets that don't have any options selected */ - $('.search_select_letter_widget').each(function() { - widget = $(this) + $('.search_select_letter_label').each(function() { + widget = $(this).next(); if ($(':checked', widget).length < 1) { - $(this).hide(); + widget.hide(); } else { - $(this).prev().toggleClass('expanded'); + $(this).toggleClass('expanded'); } }) diff --git a/static/styles/S3/sahana.min.css b/static/styles/S3/sahana.min.css index 361b704d82..0e0500e36d 100644 --- a/static/styles/S3/sahana.min.css +++ b/static/styles/S3/sahana.min.css @@ -1 +1 @@ -@charset "UTF-8";html,body,form,fieldset,textarea{margin:0;padding:0;font:100%/125% Arial,Helvetica,sans-serif}h1,h2,h3,h4,h5,h6,p,pre,blockquote,ul,ol,dl,address{margin:0 0 1em 0;padding:0}dd,blockquote{margin-left:1em}ol,ul{list-style:disc inside none}ul.x-tab-strip,ul.x-tree-node-ct,ul.x-tree-root-ct{list-style:none outside none}pre,code,kbd,samp{font-family:monospace,sans-serif}pre{padding:15px; white-space:pre; white-space:pre-wrap; white-space:pre-line; word-wrap:break-word;}textarea{overflow:auto;}html{overflow-y:scroll}button{width:auto;overflow:visible}.ext-ie7 img{-ms-interpolation-mode:bicubic}.ir{display:block;text-indent:-999em;overflow:hidden;background-repeat:no-repeat}.hidden{display:none;visibility:hidden}.visuallyhidden{position:absolute !important;clip:rect(1px 1px 1px 1px); clip:rect(1px,1px,1px,1px)}.invisible{visibility:hidden}.fleft{float:left !important}.fright{float:right !important}.fcenter{float:center !important}.tacenter{text-align:center !important}.taleft{text-align:left !important}.taright{text-align:right !important}.clearfix:before,.clearfix:after{content:"\0020";display:block;height:0;visibility:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}* html .clearfix{height:1%}body{font-size:0.8em;color:#000;background:#fff; }form label{cursor:pointer}fieldset{border:none}input,select,textarea{font-size:100%}textarea.comments{height:50px}textarea.richtext{height:100px}.hide{display:none}.mini{font-size:80%}.wide{width:100%}input:focus,select:focus,textarea:focus{background-color:#ffffcc}a{color:#039;text-decoration:underline;outline:0}a:hover{color:#c00;text-decoration:none;background-color:#ffffcc;outline:0}a:active,a:focus{outline:0}a img{border:none}.popup{display:none;position:absolute;border-style:solid;background-color:#ffffcc;padding:5px;margin:0 20px 0 -50px}table{border-collapse:collapse}#menu_modules{position:absolute; height:36px;background:#CACACA url(../../img/BFTBmenu_back.png) repeat-x;border-top:1px solid #2a323f; padding-top:0px;z-index:25;min-width:800px;width:100%;}#modulenav{position:relative;margin:0px;padding-right:0.7%}#modulenav,#modulenav li,#modulenav ul{list-style:none}#modulenav li div a{color:#fff}#modulenav a{text-decoration:none}#modulenav a:hover{color:#fff;background:none}#modulenav li li a{display:block;font-weight:normal;padding:5px 5px 5px 5px}#modulenav li li a:hover{background:#414a59;color:#fff}#modulenav li{float:left;position:relative;text-align:left;cursor:default;border-width:1px 0}.submenu{z-index:9999}#modulenav li div{text-align:center;background:url(../../img/BFTBmenu_side.png) right 10px no-repeat;text-shadow:0px 1px 1px #58606c}#modulenav li div a{display:inline-block;padding:8px 10px 5px 15px}#modulenav li div.hovered,#modulenav li div:hover{background:#3177bc url(../../img/BFTBmenu_hilight.png) repeat-x;}#modulenav li ul{display:none;position:absolute;top:100%; left:0;font-weight:normal;text-align:left;background:#fff;border:#dedede 1px solid; -moz-border-radius:5px; -webkit-border-radius:5px; -moz-box-shadow:1px 1px 5px #232a34; -webkit-box-shadow:1px 1px 5px #232a34}#modulenav li>ul{top:auto;left:auto}#modulenav li li{ display:block;float:none;border:0;vertical-align:middle}#modulenav li:hover ul{display:block}#modulenav li.over ul{display:block}.S3menulogo{background:url(../../img/S3menu_logo.png) left top no-repeat;text-shadow:none;padding:none;width:35px;height:28px;display:inline-block;position:absolute;top:3px;left:2px}.S3menuHome{padding-left:20px}#menu_options{margin:6px 0px 0px 0px; background:#e7ebed; border-radius:0px 5px 5px 0px;overflow:auto}#subnav li,#subnav ul li{list-style:none;clear:both}#subnav div a{display:block;padding:5px;background :#37404c;font-weight:bold}#subnav ul li{border-bottom:1px solid #b4c0c7}#subnav ul li a{display:block;padding:2px 2px 3px 10px;text-decoration:none}#subnav div a{color:white;font-size:1.05em;text-decoration:none}#subnav div a:hover{background:#112038;color:white}.menu_separator hr{width:90%;height:1px}.swidth{width:640px}.colmask{position:relative; clear:both;float:left;width:100%; overflow:hidden; z-index:0; margin-top:42px}.col3left{float:left;width:33%;position:relative}.col3mid,.col3right{float:right;width:33%;position:relative}.col2left{float:left;width:49%;position:relative}.col2right{float:right;width:49%;position:relative}.col1,.col2,.col3{float:left;position:relative;padding:0 0 3px 0;overflow:hidden}.fullpage{background:#fff; padding-top:1px;overflow:visible}.fullpage .col1{width:99%; left:0.5%; min-width:800px}.aside{float:left;width:200px;}.rightside{margin-left:200px}#content{background:#f0f3f4;border:1px solid #bbb;margin:6px 5px;padding:0px;margin-bottom:2px;padding:6px 10px 6px 10px; -moz-border-radius:10px 10px 10px 10px; -webkit-border-radius:10px 10px 10px 10px; overflow:auto}#content h1,#content h2{color:#112038;font-size:16px;font-weight:bolder;background:#cfdde7;padding:10px 5px 5px 5px;border-bottom:1px solid #bbb}#content h2:first-child{background-image:-webkit-gradient( linear,left bottom,left top,color-stop(0.16,rgb(188,204,217)),color-stop(0.57,rgb(212,225,235)) );background-image:-moz-linear-gradient( center bottom,rgb(188,204,217) 16%,rgb(212,225,235) 57% );margin:-6px -10px 6px -10px;background-color:#cfdde7;text-shadow:0px 1px 1px #e3edf4;border:1px solid #aecbe0;border-top:1px solid #e1eaf1;border-bottom:1px solid #9cb2c1;padding-left:10px;-moz-border-radius:10px 10px 0px 0px;-webkit-border-radius:10px 10px 0px 0px}#content h3{color:#2a485d;font-size:14px;font-weight:bolder;padding:5px 5px 2px 5px;border-bottom:1px #006699 solid;margin-bottom:10px}#content h4{color:#375d78;margin-top:10px;font-size:13px;font-weight:bolder;padding:2px 2px 1px 2px;border-bottom:1px #003366 dotted;margin-bottom:10px}#home p{text-align:center;text-align:justify;line-height:1.25}#home li{margin-left:12px}#footer{margin:0 auto;clear:both;float:left;width:100%;text-align:center;border-top:#fff 1px solid}#socialmedia_share{float:left;margin-top:7px;margin-left:20px;style:block}.socialmedia_element{float:left;margin-right:8px}#poweredby{float:right;margin-right:20px}#poweredby a{color:#2A485D;text-decoration:none}#twttrHubFrame{left:-9999em}a.help,a:link.help{color:#fff;text-decoration:none;margin-right:10px}a:hover.help{background-color:#336699;text-decoration:underline}a:visited.help{font-weight:normal;color:#666}p{padding:5px;margin:0}p.legend{margin-bottom:1em}p.legend em{color:#c00;font-style:normal}div.form-container{width:100%;overflow:auto}div.form-container form{padding:5px;background-color:#fff;border:#eee 1px solid;background-color:#fbfbfb}div.form-container p{margin:0.5em 0 0 0}div.form-container form p{margin:0}div.form-container form p.note{font-style:italic;margin-left:18em;font-size:80%;color:#666}div.form-container form input,div.form-container form select{padding:1px;margin:2px 0 2px 0}div.form-container form input[type="checkbox"],div.form-container form input[type="radio"]{margin:2px 5px}div.form-container form fieldset{margin:0 0 10px 0;padding:10px;border:#ddd 1px solid;background-color:#fff}div.form-container form legend{font-weight:bold;color:#666}div.form-container form fieldset div.brake{padding:0.3em}div.form-container form fieldset label{position:relative;margin-right:10px;padding-right:10px;width:15em;display:block;float:left;text-align:right;min-height:1em;top:0.25em}div.form-container form fieldset label.errorfield,div.form-container form fieldset span.errorfield{color:#c00}div.form-container form fieldset label.value{display:block;text-align:left;width:auto}div.form-container form fieldset input.errorfield{border-color:#c00;background-color:#fef}div.form-container form fieldset input:focus,div.form-container form fieldset input.errorfield:focus,div.form-container form fieldset textarea:focus{background-color:#ffffcc;border-color:#fc6}div.form-container form input:focus,div.form-container form select:focus,div.form-container form input.errorfield:focus,div.form-container form textarea:focus{background-color:#ffc;}div.form-container form td.w2p_fl,div.item-container form td.w2p_fl{font-weight:bold;}div.form-container form tr td,div.item-container form tr td{padding:3px 0 0 3px}div.form-container div.controlset label,div.form-container div.controlset input{display:inline;float:none}div.form-container div.controlset div{margin-left:15em}div.form-container div.buttonrow{margin-left:180px}div#template_sections{margin-right:10px}div#master_sections li{list-style:none}.ui-droppable{padding-bottom:25px}div#template_sections li{list-style:none}li.ui-draggable:hover,li.ui-draggable-dragging{cursor:pointer;list-style:none;padding:3px;border:solid 1px #BBBBBB;background:none repeat scroll 0 0 #CFDDE7}td.subheading{padding-top:10px !important;padding-bottom:5px;border-bottom:thin solid #bbb;font-weight:bold}tr.after_subheading td{padding-top:10px !important}select[disabled='disabled'],input[disabled='disabled']{ background:#eee;color:#333; cursor:default}div#table-container{ display:block; width:100%; overflow:auto; margin-top:-1px; min-width:640px}div#table-container table{ display:block; overflow:auto}div#table-container thead th{text-align:left;border:1px solid #ccc}div#table-container thead th.rtotal{border-left:2px solid #aaa}div#table-container tr.even td{border:1px solid #ccc;padding:4px 10px}div#table-container tr.odd td{border:1px solid #ccc;padding:4px 10px}div#table-container tr.odd td.rtotal,div#table-container tr.even td.rtotal{border-left:2px solid #AAAAAA}div#table-container tr.totals_row{border-top:2px solid #AAAAAA}div#table-container td.totals_header{font-weight:bold}#list_formats{float:left;margin-bottom:10px;margin-right:10px}#list_formats a{padding:1px}.dataTable{ width:100%}table.dataTable .row_selected td{background-color:#ddd;border:1px solid #aaa}table.dataTable tr td{vertical-align:top}table.dataTable .group{background-color:#ddd;border:1px solid #aaa}div.dataTables_filter{ width:auto;float:left; margin-bottom:4px}div.dataTables_processing{float:left;margin-left:10px}div.dataTables_info{width:auto;float:right;margin:2px 0 4px 10px}div.dataTables_length{float:right;margin-bottom:4px}div.dataTables_paginate{float:left;margin:4px 0 4px 0}div.paging_full_numbers{width:auto}a.paginate_button,a.paginate_active{text-decoration:none}span.dataTable-btn{background-color:#ddd;border:1px solid #aaa;-webkit-border-radius:5px;-moz-border-radius:5px;padding:2px 5px;margin:0 3px;cursor:pointer;*cursor:hand}span.dataTable-btn:hover{background-color:#EFEFEF}table.importItem{display:none}div.item-container{width:100%;overflow:auto;margin:5px 0 5px 0}.default-text{color:#a1a1a1;font-style:italic}ul.ui-autocomplete{z-index:9999 !important}div#map{width:100%;overflow:auto}.req{color:red;font-weight:bold}.red{color:red}.tooltip,.tooltipbody,.stickytip,.ajaxtip{position:static;text-transform:uppercase;height:20px;width:50px;background-image:url(../../img/help_off.gif)}.tooltip span,.tooltipbody span,.stickytip span,.ajaxtip span{display:none}.tooltip:hover,.tooltipbody:hover,.stickytip:hover,.ajaxtip:hover{background-color:transparent;background-image:url(../../img/help_on.gif)}div#popup{background:#fff}div.confirmation{color:#070;font-weight:bold;text-align:center;border:#070 1px solid;background:url(../../img/dialog-confirmation.png) #e5ffe5 no-repeat 5px 5px;margin-top:0.0em;margin-bottom:0.5em;padding-left:30px;padding-right:20px;padding-top:1.0em;padding-bottom:1.0em;cursor:pointer}.confirmation p em{color:#070}.error{color:#c00;font-weight:bold;text-align:center;border:#c00 1px solid;background:url(../../img/dialog-error.png) #ffe5e5 no-repeat 5px 5px;margin-top:0.0em;margin-bottom:0.5em;padding-left:30px;padding-right:20px;padding-top:1.0em;padding-bottom:1.0em;cursor:pointer}.error p em{color:#c00}.information{color:#748d8e;font-weight:bold;text-align:center;border:#9ed8d7 1px solid;background:url(../../img/dialog-information.png) #ecfdff no-repeat 5px 5px;margin-top:0.0em;margin-bottom:0.5em;padding-left:30px;padding-right:20px;padding-top:1.0em;padding-bottom:1.0em;cursor:pointer}.information p em{color:#748d8e}.warning{color:#c00;font-weight:bold;text-align:center;border:#fc6 1px solid;background:url(../../img/dialog-warning.png) #ffc no-repeat 5px 5px;margin-top:0.0em;margin-bottom:0.5em;padding-left:30px;padding-right:20px;padding-top:1.0em;padding-bottom:1.0em;cursor:pointer}.warning p em{color:#c00}.throbber{margin-bottom:-16px;padding:0 0 0 10px}div#rheader table{}div#rheader th{ font-weight:bold}div#rheader td{text-align:left;padding:1px 25px 1px 10px;}tr#select_from_registry_row td{ padding:8px}tr.box_top{ border-top:#bbb 1px solid; border-left:#bbb 1px solid; border-right:#bbb 1px solid; background:#F0F3F4}tr.box_middle{ border-left:#bbb 1px solid; border-right:#bbb 1px solid; background:#F0F3F4}tr.box_bottom{ border-bottom:#bbb 1px solid; border-left:#bbb 1px solid; border-right:#bbb 1px solid; background:#F0F3F4}div.tabs{height:1.5em;padding:0 0 8px;margin:10px 0 2px;text-align:left;border-bottom:1px solid #3286e2;clear:left}div.tabs span{display:block;float:left; -moz-border-radius:3px 3px 0 0; -webkit-border-radius:3px 3px 0 0;border-width:2px 1px 0 3px;border-style:solid;border-color:#3286e2;margin-right:3px}div.tabs span a{text-decoration:none;line-height:1.5em;display:block;padding:1px 3px 2px;color:#ffffff; -moz-border-radius:3px 3px 0 0; -webkit-border-radius:3px 3px 0 0}span.tab_last,span.tab_other{margin-top:4px;background:#3286e2}div.tabs span.tab_here{background:#f0f3f4;border-color:#6699cc;font-weight:bold;margin-bottom:-1px}form div.tabs span.tab_here{background:#ffffff}div.tabs span.tab_here a{color:#006699;padding:4px 6px 3px 5px}span.tab_other a:hover,span.tab_last a:hover{color:#ffffff;background:transparent}span.tab_other:hover,span.tab_last:hover{background:#164b8b;border-color:#164b8b}span.tab_prev_active{border:1px solid #6699cc;color:#006699;border-bottom:0}span.tab_next_active{border:1px solid #6699cc;color:#006699;border-bottom:0}span.tab_prev_inactive{border:1px solid #bbb;color:#bbb;border-bottom:0}span.tab_next_inactive{border:1px solid #bbb;color:#bbb;border-bottom:0}span.tab_prev_active a,span.tab_next_active a{color:#006699;text-decoration:None}span.tab_prev_inactive a,span.tab_next_inactive a{color:#bbb;text-decoration:None}div#component{padding:10px;border-color:#6699CC;border-style:solid;border-width:1px; overflow:auto}div#rfooter{padding:15px 0}div#last_update{text-align:right;font-style:italic;font-size:80%;color:#666}.delete-btn,.action-btn{cursor:pointer;text-decoration:none; color:#ffffff;background-color:#3286e2;border:1px solid #4c95e6;border-bottom:2px solid #164b8b;border-top:1px solid #5f9eeb;padding:2px 4px 2px 4px;margin:2px;z-index:500;white-space:nowrap;-moz-border-radius:2px;-webkit-border-radius:2px}.delete-btn:hover,.action-btn:hover{text-decoration:none;color:#fff;background-color:#164b8b}.cancel-btn{padding-left:10px}.action-lnk{font-size:85%;padding-left:15px}.sublabels{font-size:85%}#list-btn-add{margin-bottom:10px}#list-add{display:none}.plus{position:static;height:16px;width:16px;background-image:url(../../img/icon_blue_plus15px.png)}.minus{position:static;height:16px;width:16px;background-image:url(../../img/icon_blue_minus15px.png)}.expand{ height:16px;width:16px;float:left;background-image:url(../../img/jquery-ui/ui-icons_222222_256x240.png);background-position:-64px -16px}.expanded{background-image:url(../../img/jquery-ui/ui-icons_222222_256x240.png);background-position:-32px -16px;white-space:nowrap;}li input + a{text-decoration:none}.rfilter{float:left;padding:10px 20px 10px 10px;}#comments{margin:0;padding:0;list-style:none outside none}#comments ul,ol{padding-left:20px;list-style:none outside none}#comments li{padding:10px 0 0}#comments li a.jcollapsible:hover{background:none}#comments div.comment-text ul{list-style:disc outside none}#comments div.comment-text ol{list-style:decimal outside none}#comments div.comment-text li{padding:0}#comments em{font-style:italic}#comments strong{font-weight:bold}#comment-form{width:390px;border:1px #9C9C9C dashed;padding:5px;margin-top:5px}.avatar{background:none repeat scroll 0 0 #FFFFFF;border-bottom:1px solid #D7D7D7;border-left:1px solid #F2F2F2;border-right:1px solid #F2F2F2;float:left;height:55px;padding:4px;width:55px}.hrm_avatar{float:left;padding-bottom:5px;padding-right:10px}.comment-box{overflow:hidden;padding:15px 0;background:none repeat scroll 0 0 #FFFFFF;display:block;overflow:hidden;padding:10px;margin-left:15px}.comment-text{padding:0 0 0 20px;float:left}.comment-header{margin:0 0 10px 0}.comment-footer{clear:left}.comment-date{font-size:11px;margin:0 0 10px 0}#home h2{padding-top:8px;padding-bottom:8px;font-size:1.4em;margin-bottom:5px}.menu_box{border:1px solid #006699;padding:10px;margin-top:10px;width:auto}#menu_box_center{width:655px}#menu_box_1{width:auto;float:left}#menu_box_2{float:left}#login_box{width:470px;float:left;clear:left}#home #login_box div{padding:0px}#home #login_box input[size="62"]{width:300px}.menu_div,.div_arrow{float:left;width:auto}#facility_box{width:auto;float:right;text-align:center;clear:left}#facility_box img{margin:0;margin-left:2px}#manage_facility_box{ width:470px}#manage_facility_box a{margin-left:20px}#org_box{ width:470px;clear:left}#org_box #list_wrapper{margin-top:10px}#org_box #list_filter{margin:0px}#org_box #list_processing{margin-top:5px}.div_arrow{padding:0 15px;text-align:left;margin-top:100px}#content .menu_box h3{border-bottom:0px;font-size:1.6em;text-align:center}.menu-btn-r{margin:0px;padding:15px 15px 15px 15px;overflow:hidden;background:url(../../img/menu_box-r.png) no-repeat scroll top right;display:block;white-space:nowrap;text-align:center;font-size:1.3em}.menu-btn-l{margin-top:4px;overflow:hidden;background:url(../../img/menu_box-lstretch.png) no-repeat;display:block; height:50px;text-decoration:none}#login_form,#register_form{clear:both;padding:10px 0 10px 0}#about{clear:both}#feed-control{clear:both}.gfg-title{text-align:left;padding:0 0 0 10px}.gfg-subtitle{padding:0 0 0 5px}#show-dialog-btn{border:1px solid #efefef; margin:10px; padding:10px}.req_status_none{color:red;font-weight:bold}.req_status_partial{color:darkorange;font-weight:bold}.req_status_complete{color:green;font-weight:bold}.contacts-wrapper{width:500px}.contacts-wrapper p{ margin-bottom:5px}.contacts-wrapper div.margin{ margin-bottom:10px}.contacts-wrapper .contact.saving .editBtn,.contacts-wrapper .contact.edit .editBtn{display:none}tr.survey_section th{color:#003399;font-size:150%;text-align:center}tr.survey_question th{color:#112038;font-size:90%;font-weight:bold;vertical-align:top}div.survey_map-legend td{vertical-align:top}div.survey_scrollable{width:900px;overflow:scroll}div.question-container{text-align:center;width:8em;background-color:#F3F6FF;border:solid 3px #bbb;padding:1.5em;font-size:large;overflow:auto}@media all and (orientation:portrait){}@media all and (orientation:landscape){}@media screen and (max-device-width:480px){}@media handheld{*{float:none; font-size:80%; background:#fff; color:#000}}@media print{body{ background:transparent;color:black;font-family:"Georgia",Times New Roman,Serif;font-size:12pt;}#menu_modules,#menu_options,#footer,#rheader_tabs,#searchCombo{display:none}#content {background-color:transparent;width:100%;float:none !important;border:0;-moz-border-radius:0;margin:0;padding:0}#content h1,#content h2{background:white;color:black;font-size:16pt;border:0;-moz-border-radius:0;margin:0}#content h3{background:white;color:black;font-size:14pt;margin:0}a{color:black;background:transparent;text-decoration:underline}#comments{page-break-before:always; } *{background:transparent !important;color:#444 !important;text-shadow:none !important} a,a:visited{color:#444 !important;text-decoration:underline} a:after{content:" (" attr(href) ")"} abbr:after{content:" (" attr(title) ")"} .ir a:after{content:""} pre,blockquote{border:1px solid #999;page-break-inside:avoid} thead{display:table-header-group} tr,img{page-break-inside:avoid} @page{margin:0.5cm} p,h2,h3{orphans:3;widows:3} h2,h3{page-break-after:avoid}}.search_select_letter_label{margin:10px 0px 0px 7px;padding-left:20px;background:url( ../../img/icon_blue_plus15px.png ) no-repeat;cursor:pointer}.search_select_letter_label.expanded{background:url( ../../img/icon_blue_minus15px.png ) no-repeat}.search_select_letter_widget{margin-left:2em}.search_select_letter_widget label{white-space:nowrap}.no-options-available{color:#aaa;font-style:italic}.checkboxes-widget-s3 input{float:left}#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative;overflow:hidden}#cboxLoadedContent{overflow:auto}#cboxLoadedContent iframe{display:block;width:100%;height:100%;border:0}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}#cboxOverlay{background:url(../../img/colorbox/overlay.png) 0 0 repeat}#colorbox{} #cboxTopLeft{width:21px;height:21px;background:url(../../img/colorbox/controls.png) -100px 0 no-repeat} #cboxTopRight{width:21px;height:21px;background:url(../../img/colorbox/controls.png) -129px 0 no-repeat} #cboxBottomLeft{width:21px;height:21px;background:url(../../img/colorbox/controls.png) -100px -29px no-repeat} #cboxBottomRight{width:21px;height:21px;background:url(../../img/colorbox/controls.png) -129px -29px no-repeat} #cboxMiddleLeft{width:21px;background:url(../../img/colorbox/controls.png) left top repeat-y} #cboxMiddleRight{width:21px;background:url(../../img/colorbox/controls.png) right top repeat-y} #cboxTopCenter{height:21px;background:url(../../img/colorbox/border.png) 0 0 repeat-x} #cboxBottomCenter{height:21px;background:url(../../img/colorbox/border.png) 0 -29px repeat-x} #cboxContent{background:#fff} #cboxLoadedContent{margin-top:28px} #cboxTitle{position:absolute;top:2px;left:0;text-align:center;width:100%;color:#000000;font-weight:bold} #cboxCurrent{position:absolute;bottom:4px;left:58px;color:#949494} #cboxSlideshow{position:absolute;bottom:4px;right:30px;color:#0092ef} #cboxPrevious{position:absolute;bottom:0;left:0px;background:url(../../img/colorbox/controls.png) -75px 0px no-repeat;width:25px;height:25px;text-indent:-9999px} #cboxPrevious.hover{background-position:-75px -25px} #cboxNext{position:absolute;bottom:0;left:27px;background:url(../../img/colorbox/controls.png) -50px 0px no-repeat;width:25px;height:25px;text-indent:-9999px} #cboxNext.hover{background-position:-50px -25px} #cboxLoadingOverlay{background:url(../../img/colorbox/loading_background.png) center center no-repeat} #cboxLoadingGraphic{background:url(../../img/jquery-ui/ui-anim_basic_16x16.gif) center center no-repeat} #cboxClose{position:absolute;top:0;right:0;background:url(../../img/colorbox/controls.png) -25px 0px no-repeat;width:25px;height:25px;text-indent:-9999px} #cboxClose.hover{background-position:-25px -25px}.cboxIE #cboxTopLeft{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderTopLeft.png,sizingMethod='scale')}.cboxIE #cboxTopCenter{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderTopCenter.png,sizingMethod='scale')}.cboxIE #cboxTopRight{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderTopRight.png,sizingMethod='scale')}.cboxIE #cboxBottomLeft{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderBottomLeft.png,sizingMethod='scale')}.cboxIE #cboxBottomCenter{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderBottomCenter.png,sizingMethod='scale')}.cboxIE #cboxBottomRight{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderBottomRight.png,sizingMethod='scale')}.cboxIE #cboxMiddleLeft{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderMiddleLeft.png,sizingMethod='scale')}.cboxIE #cboxMiddleRight{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderMiddleRight.png,sizingMethod='scale')}.ac_results{padding:0px;border:1px solid black;background-color:white;overflow:hidden;z-index:99999}.ac_results ul{width:100%;list-style-position:outside;list-style:none;padding:0;margin:0}.ac_results li{margin:0px;padding:2px 5px;cursor:default;display:block;font:menu;font-size:12px;line-height:16px;overflow:hidden}.ac_loading{background:white url('../../img/indicator.gif') right center no-repeat}.ac_odd{background-color:#eee}.ac_over{background-color:#0A246A;color:white}div.ui-cluetip{font-size:1em}.ui-cluetip-header,.ui-cluetip-content{padding:12px}.ui-cluetip-header{font-size:1em;margin:0;overflow:hidden}.cluetip-title .cluetip-close{float:right;position:relative}.cluetip-close img{border:0}#cluetip-waitimage{width:43px;height:11px;position:absolute;background-image:url(../../img/jquery.cluetip/wait.gif)}.cluetip-arrows{display:none;position:absolute;top:0;left:-11px;width:11px;height:22px;background-repeat:no-repeat;background-position:0 0;border-width:0}.cluetip-extra{display:none}.cluetip-default{background-color:#d9d9c2}.cluetip-default .ui-cluetip-header{background-color:#87876a}div.cluetip-default .cluetip-arrows{border-width:0;background:transparent none}div.clue-right-default .cluetip-arrows{background-image:url(../../img/jquery.cluetip/darrowleft.gif)}div.clue-left-default .cluetip-arrows{background-image:url(../../img/jquery.cluetip/darrowright.gif);left:100%;margin-right:-11px}div.clue-top-default .cluetip-arrows{background-image:url(../../img/jquery.cluetip/darrowdown.gif);top:100%;left:50%;margin-left:-11px;width:22px;height:11px}div.clue-bottom-default .cluetip-arrows{background-image:url(../../img/jquery.cluetip/darrowup.gif);top:-11px;left:50%;margin-left:-11px;width:22px;height:11px}.cluetip-jtip{background-color:#fff}.cluetip-jtip .cluetip-outer{border:2px solid #ccc;position:relative}.cluetip-jtip .cluetip-inner{padding:5px;display:inline-block}.cluetip-jtip div.cluetip-close{text-align:right;margin:0 5px 0;color:#900}.cluetip-jtip .ui-cluetip-header{background-color:#ccc;padding:6px;}div.cluetip-jtip .cluetip-arrows{border-width:0;background:transparent none}div.clue-right-jtip .cluetip-arrows{background-image:url(../../img/jquery.cluetip/arrowleft.gif)}div.clue-left-jtip .cluetip-arrows{background-image:url(../../img/jquery.cluetip/arrowright.gif);left:100%;margin-right:-11px}div.clue-top-jtip .cluetip-arrows{background-image:url(../../img/jquery.cluetip/arrowdown.gif);top:100%;left:50%;width:22px;height:11px;margin-left:-11px}div.clue-bottom-jtip .cluetip-arrows{background-image:url(../../img/jquery.cluetip/arrowup.gif);top:-11px;left:50%;width:22px;height:11px;margin-left:-11px}.cluetip-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;background-color:#fff;border:1px solid #ccc}.cluetip-rounded .cluetip-arrows{border-color:#ccc}div.cluetip-rounded .cluetip-arrows{font-size:0;line-height:0%;width:0;height:0;border-style:solid;background:transparent none}div.clue-right-rounded .cluetip-arrows{border-width:11px 11px 11px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}div.clue-left-rounded .cluetip-arrows{left:100%;margin-right:-11px;border-width:11px 0 11px 11px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}div.clue-top-rounded .cluetip-arrows{top:100%;left:50%;border-width:11px 11px 0 11px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.clue-bottom-rounded .cluetip-arrows{top:-11px;left:50%;border-width:0 11px 11px 11px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.cluetip-rounded .cluetip-title,.cluetip-rounded .cluetip-inner{zoom:1}table.dataTable{margin:0 auto;clear:both;width:100%}table.dataTable thead th{padding:3px 18px 3px 10px;border-bottom:1px solid black;font-weight:bold;cursor:pointer;*cursor:hand}table.dataTable tfoot th{padding:3px 18px 3px 10px;border-top:1px solid black;font-weight:bold}table.dataTable td{padding:3px 10px}table.dataTable td.center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable tr.odd{background-color:#E2E4FF}table.dataTable tr.even{background-color:white}table.dataTable tr.odd td.sorting_1{background-color:#D3D6FF}table.dataTable tr.odd td.sorting_2{background-color:#DADCFF}table.dataTable tr.odd td.sorting_3{background-color:#E0E2FF}table.dataTable tr.even td.sorting_1{background-color:#EAEBFF}table.dataTable tr.even td.sorting_2{background-color:#F2F3FF}table.dataTable tr.even td.sorting_3{background-color:#F9F9FF}table.dataTable tr.even.row_selected td{background-color:#60F6AD}table.dataTable tr.even.row_selected td.sorting_1{background-color:#40FA8D}table.display tr.odd.row_selected td{background-color:#40FA8D}table.display tr.odd.row_selected td.sorting_1{background-color:#20F0AD}table.dataTable tr.odd.dtalert{background-color:#FFFFC0}table.dataTable tr.odd.dtalert td.sorting_1{background-color:#FFFFB0}table.dataTable tr.odd.dtalert td.sorting_2{background-color:#FFFFA0}table.dataTable tr.odd.dtalert td.sorting_3{background-color:#FFFF90}table.dataTable tr.even.dtalert{background-color:#FFFFA0}table.dataTable tr.even.dtalert td.sorting_1{background-color:#FFFF90}table.dataTable tr.even.dtalert td.sorting_2{background-color:#FFFF80}table.dataTable tr.even.dtalert td.sorting_3{background-color:#FFFF70}table.dataTable tr.dtalert .action-btn,table.dataTable tr.dtalert .delete-btn{background-color:#D0D004;color:#444420}table.dataTable tr.dtalert .action-btn:hover,table.dataTable tr.dtalert .delete-btn:hover{text-decoration:none;color:#222;background-color:#EEED04;border-right:1px solid #4589ce;border-bottom:1px solid #4589ce;border-left:1px solid #000;border-top:1px solid #000;padding:2px 4px 2px 4px}table.dataTable tr.dtdisable{text-shadow:#CCC 1px 1px 1px;color:#888}table.dataTable tr.odd.dtwarning{background-color:#FFD9D9}table.dataTable tr.odd.dtwarning td.sorting_1{background-color:#FFB6B6}table.dataTable tr.odd.dtwarning td.sorting_2{background-color:#FFA6A6}table.dataTable tr.odd.dtwarning td.sorting_3{background-color:#FF9696}table.dataTable tr.even.dtwarning{background-color:#FFA6A6}table.dataTable tr.even.dtwarning td.sorting_1{background-color:#FF8383}table.dataTable tr.even.dtwarning td.sorting_2{background-color:#FF7373}table.dataTable tr.even.dtwarning td.sorting_3{background-color:#FF6363}table.dataTable tr.dtwarning .action-btn,table.dataTable tr.dtwarning .delete-btn{background-color:#D07060;color:#431;text-shadow:#FFF 0px 0px 0px}table.dataTable tr.dtwarning .action-btn:hover,table.dataTable tr.dtwarning .delete-btn:hover{text-decoration:none;color:#fff;background-color:#bb3377;border-right:1px solid #4589ce;border-bottom:1px solid #4589ce;border-left:1px solid #000;border-top:1px solid #000;padding:2px 4px 2px 4px}.dataTables_wrapper{position:relative;clear:both;*zoom:1}.dataTables_length{float:left}.dataTables_filter{float:right;text-align:right}.dataTables_info{clear:both;float:left}.dataTables_paginate{float:right;text-align:right}.paginate_disabled_previous,.paginate_enabled_previous,.paginate_disabled_next,.paginate_enabled_next{height:19px;float:left;cursor:pointer;*cursor:hand;color:#111 !important}.paginate_disabled_previous:hover,.paginate_enabled_previous:hover,.paginate_disabled_next:hover,.paginate_enabled_next:hover{text-decoration:none !important}.paginate_disabled_previous:active,.paginate_enabled_previous:active,.paginate_disabled_next:active,.paginate_enabled_next:active{outline:none}.paginate_disabled_previous,.paginate_disabled_next{color:#666 !important}.paginate_disabled_previous,.paginate_enabled_previous{padding-left:23px}.paginate_disabled_next,.paginate_enabled_next{padding-right:23px;margin-left:10px}.paginate_enabled_previous{background:url('../images/back_enabled.png') no-repeat top left}.paginate_enabled_previous:hover{background:url('../images/back_enabled_hover.png') no-repeat top left}.paginate_disabled_previous{background:url('../images/back_disabled.png') no-repeat top left}.paginate_enabled_next{background:url('../images/forward_enabled.png') no-repeat top right}.paginate_enabled_next:hover{background:url('../images/forward_enabled_hover.png') no-repeat top right}.paginate_disabled_next{background:url('../images/forward_disabled.png') no-repeat top right}.paging_full_numbers{height:22px;line-height:22px}.paging_full_numbers a:active{outline:none}.paging_full_numbers a:hover{text-decoration:none}.paging_full_numbers a.paginate_button,.paging_full_numbers a.paginate_active{border:1px solid #aaa;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:2px 5px;margin:0 3px;cursor:pointer;*cursor:hand;color:#333 !important}.paging_full_numbers a.paginate_button{background-color:#ddd}.paging_full_numbers a.paginate_button:hover{background-color:#ccc;text-decoration:none !important}.paging_full_numbers a.paginate_active{background-color:#99B3FF}.dataTables_processing{position:absolute;top:50%;left:50%;width:250px;height:30px;margin-left:-125px;margin-top:-15px;padding:14px 0 2px 0;border:1px solid #ddd;text-align:center;color:#999;font-size:14px;background-color:white}.sorting{background:url('../images/sort_both.png') no-repeat center right}.sorting_asc{background:url('../images/sort_asc.png') no-repeat center right}.sorting_desc{background:url('../images/sort_desc.png') no-repeat center right}.sorting_asc_disabled{background:url('../images/sort_asc_disabled.png') no-repeat center right}.sorting_desc_disabled{background:url('../images/sort_desc_disabled.png') no-repeat center right} table.dataTable th:active{outline:none}.dataTables_scroll{clear:both}.dataTables_scrollBody{*margin-top:-1px}.paginate_enabled_previous{background:url('../../img/jquery.dataTables/back_enabled.png') no-repeat top left}.paginate_enabled_previous:hover{background:url('../../img/jquery.dataTables/back_enabled_hover.png') no-repeat top left}.paginate_disabled_previous{background:url('../../img/jquery.dataTables/back_disabled.png') no-repeat top left}.paginate_enabled_next{background:url('../../img/jquery.dataTables/forward_enabled.png') no-repeat top right}.paginate_enabled_next:hover{background:url('../../img/jquery.dataTables/forward_enabled_hover.png') no-repeat top right}.paginate_disabled_next{background:url('../../img/jquery.dataTables/forward_disabled.png') no-repeat top right}.sorting{background:url('../../img/jquery.dataTables/sort_both.png') no-repeat center right}.sorting_asc{background:url('../../img/jquery.dataTables/sort_asc.png') no-repeat center right}.sorting_desc{background:url('../../img/jquery.dataTables/sort_desc.png') no-repeat center right}.sorting_asc_disabled{background:url('../../img/jquery.dataTables/sort_asc_disabled.png') no-repeat center right}.sorting_desc_disabled{background:url('../../img/jquery.dataTables/sort_desc_disabled.png') no-repeat center right}@import url("jquery.ui.core.css");@import url("jquery.ui.resizable.css");@import url("jquery.ui.selectable.css");@import url("jquery.ui.accordion.css");@import url("jquery.ui.autocomplete.css");@import url("jquery.ui.button.css");@import url("jquery.ui.dialog.css");@import url("jquery.ui.slider.css");@import url("jquery.ui.tabs.css");@import url("jquery.ui.datepicker.css");@import url("jquery.ui.progressbar.css");.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{position:absolute !important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui-helper-clearfix{display:inline-block}* html .ui-helper-clearfix{height:1%}.ui-helper-clearfix{display:block}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default !important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-accordion{width:100%}.ui-accordion .ui-accordion-header{cursor:pointer;position:relative;margin-top:1px;zoom:1}.ui-accordion .ui-accordion-li-fix{display:inline}.ui-accordion .ui-accordion-header-active{border-bottom:0 !important}.ui-accordion .ui-accordion-header a{display:block;font-size:1em;padding:.5em .5em .5em .7em}.ui-accordion-icons .ui-accordion-header a{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;margin-top:-2px;position:relative;top:1px;margin-bottom:2px;overflow:auto;display:none;zoom:1}.ui-accordion .ui-accordion-content-active{display:block}.ui-autocomplete{position:absolute;cursor:default}* html .ui-autocomplete{width:1px} .ui-menu{list-style:none;padding:2px;margin:0;display:block;float:left}.ui-menu .ui-menu{margin-top:-3px}.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;float:left;clear:left;width:100%}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.5;zoom:1}.ui-menu .ui-menu-item a.ui-state-hover,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0em}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right}.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-cover{display:none; display:block; position:absolute; z-index:-1; filter:mask(); top:-4px; left:-4px; width:200px; height:200px;}.ui-timepicker-inline{display:inline}#ui-timepicker-div{padding:0.2em }.ui-timepicker-table{display:inline-table;width:0}.ui-timepicker-table table{margin:0.15em 0 0 0;border-collapse:collapse}.ui-timepicker-hours,.ui-timepicker-minutes{padding:0.2em}.ui-timepicker-table .ui-timepicker-title{line-height:1.8em;text-align:center}.ui-timepicker-table td{padding:0.1em;width:2.2em}.ui-timepicker-table th.periods{padding:0.1em;width:2.2em}.ui-timepicker-table td span{display:block;padding:0.2em 0.3em 0.2em 0.5em;width:1.2em;text-align:right;text-decoration:none}.ui-timepicker-table td a{display:block;padding:0.2em 0.3em 0.2em 0.5em;width:1.2em;cursor:pointer;text-align:right;text-decoration:none}.ui-timepicker .ui-timepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-timepicker .ui-timepicker-buttonpane button{margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-timepicker .ui-timepicker-close{float:right }.ui-timepicker .ui-timepicker-now{float:left}.ui-timepicker .ui-timepicker-deselect{float:left}.ui-timepicker-cover{display:none; display:block; position:absolute; z-index:-1; filter:mask(); top:-4px; left:-4px; width:200px; height:200px;}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #dddddd;background:#eeeeee url(../../img/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x;color:#333333}.ui-widget-content a{color:#333333}.ui-widget-header{border:1px solid #e78f08;background:#f6a828 url(../../img/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x;color:#ffffff;font-weight:bold}.ui-widget-header a{color:#ffffff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #cccccc;background:#f6f6f6 url(../../img/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url(../../img/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#ffffff url(../../img/jquery-ui/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-widget :active{outline:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url(../../img/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url(../../img/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat;color:#ffffff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#ffffff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#ffffff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-icon{width:16px;height:16px;background-image:url(../../img/jquery-ui/ui-icons_222222_256x240.png)}.ui-widget-content .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_ffffff_256x240.png)}.ui-state-default .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_ef8c08_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_ef8c08_256x240.png)}.ui-state-active .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_ef8c08_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_228ef1_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_ffd27a_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-off{background-position:-96px -144px}.ui-icon-radio-on{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.ui-widget-overlay{background:#666666 url(../../img/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;opacity:.50;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000000 url(../../img/jquery-ui/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x;opacity:.20;filter:Alpha(Opacity=20);-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.gis_coord_wrap .decimal{width:174px}.gis_coord_wrap .gis_coord_dms input{width:37px}.gis_coord_wrap .gis_coord_dms input.seconds{width:70px}.gis_coord_wrap div{padding-top:8px}.multiselect{width:660px;min-height:150px}.ui-multiselect{border:solid 1px;font-size:0.8em}.ui-multiselect ul{-moz-user-select:none}.ui-multiselect li{margin:0;padding:0;cursor:default;line-height:20px;height:20px;font-size:11px;list-style:none}.ui-multiselect li a{color:#999;text-decoration:none;padding:0;display:block;float:left;cursor:pointer}.ui-multiselect li.ui-draggable-dragging{padding-left:10px}.ui-multiselect div.available{position:relative;padding:0;margin:0;border:0;float:left}.ui-multiselect ul.selected{position:relative;padding:0;overflow:auto;overflow-x:hidden;background:#fff;margin:0;list-style:none;border:0;position:relative;width:100%}.ui-multiselect ul.available li{}.ui-multiselect div.selected{position:relative;padding:0;margin:0;border:0;float:right;border-left:1px solid}.ui-multiselect ul.available{position:relative;padding:0;overflow:auto;overflow-x:hidden;background:#fff;margin:0;list-style:none;border:0;width:100%}.ui-multiselect ul.selected li{padding-left:10px} .ui-multiselect .ui-state-default{border:none;margin-bottom:1px;position:relative;padding-left:20px}.ui-multiselect .ui-state-hover{border:none}.ui-multiselect .ui-widget-header{border:none;font-size:11px;margin-bottom:1px} .ui-multiselect .add-all{float:right;padding:7px}.ui-multiselect .remove-all{float:right;padding:7px}.ui-multiselect .search{padding:4px}.ui-multiselect .count{float:left;padding:7px}.ui-multiselect li span.ui-icon-arrowthick-2-n-s{position:absolute;left:2px;display:none}.ui-multiselect li div.plusminus{position:absolute;right:2px;top:2px}.ui-multiselect input.search{height:14px;padding:1px;margin:4px;width:100px}.ui-multiselect .search-text{padding-left:5px}.ui-multiselect .widget-header-dark,.ui-multiselect .add-all:hover,.ui-multiselect .remove-all:hover{background:#343c48}@font-face{font-family:'zocial';font-style:normal;font-weight:normal;src:url('zocial-regular-webfont.eot');src:url('zocial-regular-webfont.eot?#iefix') format('embedded-opentype'),url('zocial-regular-webfont.woff') format('woff'),url('zocial-regular-webfont.ttf') format('truetype'),url('zocial-regular-webfont.svg#ZocialRegular') format('svg')}.zocial{border-bottom-color:rgba(0,0,0,0.4);border:1px solid rgba(0,0,0,0.2);color:#fff !important;-moz-box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.5),inset 0 0 0.1em rgba(255,255,255,0.9);-webkit-box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.5),inset 0 0 0.1em rgba(255,255,255,0.9);box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.5),inset 0 0 0.1em rgba(255,255,255,0.9);cursor:pointer;display:inline-block;font-family:"Lucida Grande",Tahoma,sans-serif;font-style:normal !important;font-weight:bold !important;letter-spacing:0;padding:0;position:relative;text-align:center;text-decoration:none !important;text-shadow:0 1px 0 rgba(0,0,0,0.5);-moz-user-select:none !important;-webkit-user-select:none !important;user-select:none !important}.zocial > span:before{border-right:0.075em solid rgba(0,0,0,0.1);-moz-box-shadow:0.075em 0 0 rgba(255,255,255,0.25);-webkit-box-shadow:0.075em 0 0 rgba(255,255,255,0.25);box-shadow:0.075em 0 0 rgba(255,255,255,0.25);content:"";display:block;float:left;font-family:"zocial" !important;font-size:125% !important;line-height:1.65;font-style:normal !important;font-weight:normal !important;margin:0.1em 0.5em 0 0;padding:0 0.5em;text-align:center !important;text-decoration:none !important;text-transform:none !important}.zocial > span{display:block;font-size:80% !important;line-height:2.1;font-weight:bold;padding:0em 1em 0 0;white-space:nowrap}.zocial,.zocial > span{-moz-border-radius:0.2em;-webkit-border-radius:0.2em;border-radius:0.2em;position:relative;z-index:100}.zocial:active{outline:none;}.zocial.icon{overflow:hidden;width:1.85em;height:1.85em}.zocial.icon > span:before{padding:0;width:1.85em;height:1.85em}.zocial > span{background:-moz-linear-gradient(top,rgba(255,255,255,0.1),rgba(255,255,255,0.05) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.1));background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0.1)),color-stop(49%,rgba(255,255,255,0.05)),color-stop(51%,rgba(0,0,0,0.05)),to(rgba(0,0,0,0.1)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.1),rgba(255,255,255,0.05) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.1));background:-o-linear-gradient(top,rgba(255,255,255,0.1),rgba(255,255,255,0.05) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.1));background:-ms-linear-gradient(top,rgba(255,255,255,0.1),rgba(255,255,255,0.05) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.1));background:linear-gradient(top,rgba(255,255,255,0.1),rgba(255,255,255,0.05) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.1))}.zocial:hover > span,.zocial:focus > span{background:-moz-linear-gradient(top,rgba(255,255,255,0.15),rgba(255,255,255,0.15) 49%,rgba(0,0,0,0.1) 51%,rgba(0,0,0,0.15));background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0.15)),color-stop(49%,rgba(255,255,255,0.15)),color-stop(51%,rgba(0,0,0,0.1)),to(rgba(0,0,0,0.15)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.15),rgba(255,255,255,0.15) 49%,rgba(0,0,0,0.1) 51%,rgba(0,0,0,0.15));background:-o-linear-gradient(top,rgba(255,255,255,0.15),rgba(255,255,255,0.15) 49%,rgba(0,0,0,0.1) 51%,rgba(0,0,0,0.15));background:-ms-linear-gradient(top,rgba(255,255,255,0.15),rgba(255,255,255,0.15) 49%,rgba(0,0,0,0.1) 51%,rgba(0,0,0,0.15));background:linear-gradient(top,rgba(255,255,255,0.15),rgba(255,255,255,0.15) 49%,rgba(0,0,0,0.1) 51%,rgba(0,0,0,0.15))}.zocial:active > span{background:-moz-linear-gradient(bottom,rgba(255,255,255,0.1),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0.1)),color-stop(30%,rgba(255,255,255,0)),color-stop(50%,rgba(0,0,0,0)),to(rgba(0,0,0,0.1)));background:-webkit-linear-gradient(bottom,rgba(255,255,255,0.1),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-o-linear-gradient(bottom,rgba(255,255,255,0.1),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-ms-linear-gradient(bottom,rgba(255,255,255,0.1),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:linear-gradient(bottom,rgba(255,255,255,0.1),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1))}.zocial.bitcoin,.zocial.cloudapp,.zocial.dropbox,.zocial.email,.zocial.github,.zocial.gmail,.zocial.instapaper,.zocial.itunes,.zocial.ninetyninedesigns,.zocial.openid,.zocial.plancast,.zocial.posterous,.zocial.secondary,.zocial.viadeo,.zocial.weibo,.zocial.wikipedia{border:1px solid rgba(0,0,0,0.3);border-bottom-color:rgba(0,0,0,0.5);-moz-box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.7),inset 0 0 0.08em rgba(255,255,255,0.5);-webkit-box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.7),inset 0 0 0.08em rgba(255,255,255,0.5);box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.7),inset 0 0 0.08em rgba(255,255,255,0.5);text-shadow:0 1px 0 rgba(255,255,255,0.8)}.zocial.bitcoin:focus > span,.zocial.bitcoin:hover > span,.zocial.dropbox:focus > span,.zocial.dropbox:hover > span,.zocial.email:focus > span,.zocial.email:hover > span,.zocial.github:focus > span,.zocial.github:hover > span,.zocial.gmail:focus > span,.zocial.gmail:hover > span,.zocial.instapaper:focus > span,.zocial.instapaper:hover > span,.zocial.itunes:focus > span,.zocial.itunes:hover > span,.zocial.ninetyninedesigns:focus > span,.zocial.ninetyninedesigns:hover > span,.zocial.openid:focus > span,.zocial.openid:hover > span,.zocial.plancast:focus > span,.zocial.plancast:hover > span,.zocial.posterous:focus > span,.zocial.posterous:hover > span,.zocial.secondary:focus > span,.zocial.secondary:hover > span,.zocial.twitter:focus > span,.zocial.viadeo:focus > span,.zocial.viadeo:hover > span,.zocial.weibo:focus > span,.zocial.weibo:hover > span,.zocial.wikipedia:focus > span,.zocial.wikipedia:hover > span{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0.5)),color-stop(49%,rgba(255,255,255,0.2)),color-stop(51%,rgba(0,0,0,0.05)),to(rgba(0,0,0,0.15)));background:-moz-linear-gradient(top,rgba(255,255,255,0.5),rgba(255,255,255,0.2) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.15));background:-webkit-linear-gradient(top,rgba(255,255,255,0.5),rgba(255,255,255,0.2) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.15));background:-o-linear-gradient(top,rgba(255,255,255,0.5),rgba(255,255,255,0.2) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.15));background:-ms-linear-gradient(top,rgba(255,255,255,0.5),rgba(255,255,255,0.2) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.15));background:linear-gradient(top,rgba(255,255,255,0.5),rgba(255,255,255,0.2) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.15))}.zocial.bitcoin:active > span,.zocial.dropbox:active > span,.zocial.email:active > span,.zocial.github:active > span,.zocial.gmail:active > span,.zocial.instapaper:active > span,.zocial.itunes:active > span,.zocial.ninetyninedesigns:active > span,.zocial.openid:active > span,.zocial.plancast:active > span,.zocial.posterous:active > span,.zocial.secondary:active > span,.zocial.viadeo:active > span,.zocial.weibo:active > span,.zocial.wikipedia:active > span{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),color-stop(30%,rgba(255,255,255,0)),color-stop(50%,rgba(0,0,0,0)),to(rgba(0,0,0,0.1)));background:-moz-linear-gradient(bottom,rgba(255,255,255,0),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-webkit-linear-gradient(bottom,rgba(255,255,255,0),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-o-linear-gradient(bottom,rgba(255,255,255,0),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-ms-linear-gradient(bottom,rgba(255,255,255,0),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:linear-gradient(bottom,rgba(255,255,255,0),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1))}.zocial.amazon > span:before{content:"a"}.zocial.android > span:before{content:"&"}.zocial.aol > span:before{content:"\""}.zocial.appstore > span:before{content:"A"}.zocial.bitcoin > span:before{content:"2";color:#f7931a !important}.zocial.blogger > span:before{content:"B"}.zocial.call > span:before{content:"7"}.zocial.chrome > span:before{content:"["}.zocial.cloudapp > span:before{content:"c"}.zocial.creativecommons > span:before{content:"C"}.zocial.disqus > span:before{content:"Q"}.zocial.dribbble > span:before{content:"D"}.zocial.dropbox > span:before{content:"d";color:#1f75cc !important}.zocial.email > span:before{content:"]";color:#312c2a !important}.zocial.eventasaurus > span:before{content:"v"}.zocial.eventbrite > span:before{content:"|"}.zocial.evernote > span:before{content:"E"}.zocial.facebook > span:before{content:"f"}.zocial.fivehundredpx > span:before{content:"0";color:#29b6ff !important}.zocial.flattr > span:before{content:"%"}.zocial.forrst > span:before{content:":";color:#50894f !important}.zocial.foursquare > span:before{content:"4"}.zocial.github > span:before{content:"g"}.zocial.gmail > span:before{content:"m";color:#f00 !important}.zocial.google > span:before{content:"G"}.zocial.googleplus > span:before{content:"+"}.zocial.gowalla > span:before{content:"@"}.zocial.grooveshark > span:before{content:"K"}.zocial.guest > span:before{content:"?"}.zocial.html5 > span:before{content:"5"}.zocial.ie > span:before{content:"6"}.zocial.instapaper > span:before{content:"I"}.zocial.intensedebate > span:before{content:"{"}.zocial.itunes > span:before{content:"i";color:#1a6dd2 !important}.zocial.lastfm > span:before{content:"l"}.zocial.linkedin > span:before{content:"L"}.zocial.macstore > span:before{content:"^"}.zocial.meetup > span:before{content:"M"}.zocial.myspace > span:before{content:"_"}.zocial.ninetyninedesigns > span:before{content:"9";color:#f50 !important}.zocial.openid > span:before{content:"o";color:#ff921d !important}.zocial.paypal > span:before{content:"$"}.zocial.pinboard > span:before{content:"n"}.zocial.pinterest > span:before{content:"1"}.zocial.plancast > span:before{content:"P"}.zocial.plurk > span:before{content:"j"}.zocial.podcast > span:before{content:"`"}.zocial.posterous > span:before{content:"~"}.zocial.quora > span:before{content:"q"}.zocial.rss > span:before{content:"R"}.zocial.scribd > span:before{content:"}";color:#00d5ea !important}.zocial.skype > span:before{content:"S"}.zocial.smashing > span:before{content:"*"}.zocial.songkick > span:before{content:"k"}.zocial.soundcloud > span:before{content:"s"}.zocial.spotify > span:before{content:"="}.zocial.stumbleupon > span:before{content:"/"}.zocial.tumblr > span:before{content:"t"}.zocial.twitter > span:before{content:"T"}.zocial.viadeo > span:before{content:"H";color:#f59b20 !important}.zocial.vimeo > span:before{content:"V"}.zocial.weibo > span:before{content:"J";color:#e6162d !important}.zocial.wikipedia > span:before{content:","}.zocial.windows > span:before{content:"W"}.zocial.wordpress > span:before{content:"w"}.zocial.yahoo > span:before{content:"Y"}.zocial.yelp > span:before{content:"y"}.zocial.youtube > span:before{content:"U"}.zocial.amazon{background:#ffad1d;color:#030037 !important;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.zocial.android{background:#a4c639}.zocial.aol{background:#f00}.zocial.appstore{background:#000}.zocial.bitcoin{background:#efefef;color:#4d4d4d !important}.zocial.blogger{background:#ee5a22}.zocial.call{background:#008000}.zocial.chrome{background:#006cd4}.zocial.cloudapp{background:#fff;color:#312c2a !important}.zocial.creativecommons{background:#000}.zocial.disqus{background:#5d8aad}.zocial.dribbble{background:#ea4c89}.zocial.dropbox{background:#fff;color:#312c2a !important}.zocial.email{background:#f0f0eb;color:#312c2a !important}.zocial.eventasaurus{background:#8ccc33}.zocial.eventbrite{background:#ff5616}.zocial.evernote{background:#6bb130;color:#fff !important}.zocial.facebook{background:#4863ae}.zocial.fivehundredpx{background:#333}.zocial.flattr{background:#8aba42}.zocial.forrst{background:#1e360d}.zocial.foursquare{background:#44a8e0}.zocial.github{background:#fbfbfb;color:#050505 !important}.zocial.gmail{background:#efefef;color:#222 !important}.zocial.google{background:#4e6cf7}.zocial.googleplus{background:#dd4b39}.zocial.gowalla{background:#ff720a}.zocial.grooveshark{background:#111;color:#eee !important}.zocial.guest{background:#1b4d6d}.zocial.html5{background:#ff3617}.zocial.ie{background:#00a1d9}.zocial.instapaper{background:#eee;color:#222 !important}.zocial.intensedebate{background:#0099e1}.zocial.itunes{background:#efefeb;color:#312c2a !important}.zocial.lastfm{background:#dc1a23}.zocial.linkedin{background:#0083a8}.zocial.macstore{background:#007dcb}.zocial.meetup{background:#ff0026}.zocial.myspace{background:#000}.zocial.ninetyninedesigns{background:#fff;color:#072243 !important}.zocial.openid{background:#f5f5f5;color:#333 !important}.zocial.paypal{background:#ff921d;color:#032751 !important;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.zocial.pinboard{background:blue}.zocial.pinterest{background:#c91618}.zocial.plancast{background:#e7ebed;color:#333 !important}.zocial.plurk{background:#cf682f}.zocial.podcast{background:#9365ce}.zocial.posterous{background:#ffd959;color:#bc7134 !important}.zocial.quora{background:#a82400}.zocial.rss{background:#ff7f25}.zocial.scribd{background:#231c1a}.zocial.skype{background:#00a2ed}.zocial.smashing{background:#ff4f27}.zocial.songkick{background:#ff0050}.zocial.soundcloud{background:#ff4500}.zocial.spotify{background:#60af00}.zocial.stumbleupon{background:#eb4924}.zocial.tumblr{background:#374a61}.zocial.twitter{background:#46c0fb}.zocial.viadeo{background:#fff;color:#000 !important}.zocial.vimeo{background:#00a2cd}.zocial.weibo{background:#faf6f1;color:#000 !important}.zocial.wikipedia{background:#fff;color:#000 !important}.zocial.windows{background:#0052a4;color:#FFF !important}.zocial.wordpress{background:#464646}.zocial.yahoo{background:#a200c2}.zocial.yelp{background:#e60010}.zocial.youtube{background:#f00}.zocial.primary > span,.zocial.secondary > span{margin:0.1em 0;padding:0 1em}.zocial.primary > span:before,.zocial.secondary > span:before{display:none}.zocial.primary{background:#333}.zocial.secondary{background:#f0f0eb;color:#222 !important;text-shadow:0 1px 0 rgba(255,255,255,0.8)}button::-moz-focus-inner{border:0;padding:0}.statusbar{position:fixed;top:95px;left:15px;right:14px;height:10px;padding:5px; background:#e5ffe5;color:#070;border:#070 1px solid;opacity:.70;filter:alpha(opacity="70");z-index:10;overflow:hidden;overflow-y:auto}.statusbarhighlight{font-weight:bold;background-color:khaki;color:Maroon;border:solid 1px silver}.statusbarerror{font-weight:bold;background-color:#ffe5e5;color:#c00;border:#c00 1px solid}.ajax_more{float:right;width:16px;height:16px;margin:0px 2px 2px 0px}.ajax_more.collapsed{background:url(../../img/icon_blue_plus15px.png) no-repeat left top}.ajax_more.expanded{background:url(../../img/icon_blue_minus15px.png) no-repeat left top}.ajax_throbber{width:32px;height:32px;background:url(../../img/ajax-loader.gif) no-repeat left top}#calendar{}#calendar_wrap{padding:20px}#calendar table{width:100%}#calendar tbody td{text-align:center}#calendar #next{text-align:right} .tag_row{height:20px;padding:5px 5px 5px 5px}.tag_col{padding:0px 5px 0px 0px}.tag_on,.tag_on:hover{color:white;background-color:#79A73B;padding:5px 5px 5px 5px }.tag_off,.tag_off:hover{color:black;background-color:#dddddd;padding:5px 5px 5px 5px }.calendar{z-index:99;position:relative;display:none;border-top:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;border-left:2px solid #fff;font-size:11px;color:#000;cursor:default;background:#d4d0c8;font-family:tahoma,verdana,sans-serif}.calendar table{border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;font-size:11px;color:#000;cursor:default;background:#d4d0c8;font-family:tahoma,verdana,sans-serif}.calendar .button{text-align:center;padding:1px;border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff}.calendar .nav{background:transparent}.calendar thead .title{font-weight:bold;padding:1px;border:1px solid #000;background:#848078;color:#fff;text-align:center}.calendar thead .name{border-bottom:1px solid #000;padding:2px;text-align:center;background:#f4f0e8}.calendar thead .weekend{color:#f00}.calendar thead .hilite{border-top:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;border-left:2px solid #fff;padding:0;background-color:#e4e0d8}.calendar thead .active{padding:2px 0 0 2px;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;background-color:#c4c0b8}.calendar tbody .day{width:2em;text-align:right;padding:2px 4px 2px 2px}.calendar tbody .day.othermonth{font-size:80%;color:#aaa}.calendar tbody .day.othermonth.oweekend{color:#faa}.calendar table .wn{padding:2px 3px 2px 2px;border-right:1px solid #000;background:#f4f0e8}.calendar tbody .rowhilite td{background:#e4e0d8}.calendar tbody .rowhilite td.wn{background:#d4d0c8}.calendar tbody td.hilite{padding:1px 3px 1px 1px;border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff}.calendar tbody td.active{padding:2px 2px 0 2px;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000}.calendar tbody td.selected{font-weight:bold;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;padding:2px 2px 0 2px;background:#e4e0d8}.calendar tbody td.weekend{color:#f00}.calendar tbody td.today{font-weight:bold;color:#00f}.calendar tbody .disabled{color:#999}.calendar tbody .emptycell{visibility:hidden}.calendar tbody .emptyrow{display:none}.calendar tfoot .ttip{background:#f4f0e8;padding:1px;border:1px solid #000;background:#848078;color:#fff;text-align:center}.calendar tfoot .hilite{border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff;padding:1px;background:#e4e0d8}.calendar tfoot .active{padding:2px 0 0 2px;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000}.calendar .combo{position:absolute;display:none;width:4em;top:0;left:0;cursor:default;border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff;background:#e4e0d8;font-size:90%;padding:1px;z-index:100}.calendar .combo .label,.calendar .combo .label-IEfix{text-align:center;padding:1px}.calendar .combo .label-IEfix{width:4em}.calendar .combo .active{background:#c4c0b8;padding:0;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000}.calendar .combo .hilite{background:#048;color:#fea}.calendar td.time{border-top:1px solid #000;padding:1px 0;text-align:center;background-color:#f4f0e8}.calendar td.time .hour,.calendar td.time .minute,.calendar td.time .ampm{padding:0 3px 0 4px;border:1px solid #889;font-weight:bold;background-color:#fff}.calendar td.time .ampm{text-align:center}.calendar td.time .colon{padding:0 2px 0 3px;font-weight:bold}.calendar td.time span.hilite{border-color:#000;background-color:#766;color:#fff}.calendar td.time span.active{border-color:#f00;background-color:#000;color:#0f0}#CP_hourcont{z-index:99;padding:0;position:absolute;border:1px dashed #666;background-color:#eee;display:none}#CP_minutecont{z-index:99;background-color:#ddd;padding:1px;position:absolute;width:45px;display:none}.floatleft{float:left}.CP_hour{z-index:99;padding:1px;font-family:Arial,Helvetica,sans-serif;font-size:9px;white-space:nowrap;cursor:pointer;width:35px}.CP_minute{z-index:99;padding:1px;font-family:Arial,Helvetica,sans-serif;font-size:9px;white-space:nowrap;cursor:pointer;width:auto}.CP_over{background-color:#fff;z-index:99}.olControlMousePosition{font-size:10px;background-color:white}.crosshair{cursor:crosshair}#mappnlcntr .zoomfull{background-image:url(../../img/gis/mapfish/icon_zoomfull.png) !important;height:20px !important;width:20px !important}#mappnlcntr .zoomin{background-image:url(../../img/gis/mapfish/icon_zoomin.png) !important;height:20px !important;width:20px !important}#mappnlcntr .zoomout{background-image:url(../../img/gis/mapfish/icon_zoomout.png) !important;height:20px !important;width:20px !important}#mappnlcntr .pan-off{background-image:url(../../img/gis/mapfish/icon_pan.png) !important;height:20px !important;width:20px !important}#mappnlcntr .measure-off{background-image:url(../../img/gis/measuring-stick-off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .measure-area{background-image:url(../../img/gis/measure-area-off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .modifyfeature{background-image:url(../../img/gis/mapfish/move_vertex_off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .drawpoint-off{background-image:url(../../img/gis/add_point_off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .drawline-off{background-image:url(../../img/gis/mapfish/draw_line_off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .drawpolygon-off{background-image:url(../../img/gis/mapfish/draw_polygon_off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .info{background-image:url(../../img/gis/mapfish/info.png) !important;height:20px !important;width:20px !important}#mappnlcntr .searchclick{background-image:url(../../img/ext/information.png) !important;height:20px !important;width:20px !important}#mappnlcntr .searchbox{background-image:url(../../img/ext/information-box.png) !important;height:20px !important;width:20px !important}#mappnlcntr .back{background-image:url(../../img/gis/mapfish/resultset_previous.png) !important;height:20px !important;width:20px !important}#mappnlcntr .next{background-image:url(../../img/gis/mapfish/resultset_next.png) !important;height:20px !important;width:20px !important}#mappnlcntr .save{background-image:url(../../img/ext/save.gif) !important;height:20px !important;width:20px !important}.x-btn-text.geolocation{background-image:url(../../img/gis/geolocation.png) !important;height:20px !important;width:20px !important}.x-btn-text.potlatch{background-image:url(../../img/gis/openstreetmap.png) !important;height:20px !important;width:20px !important}.x-btn-text.googleearth{background-image:url(../../img/gis/geosilk/google_earth.png) !important;height:20px !important;width:20px !important}.x-btn-text.streetview{background-image:url(../../img/gis/streetview.png) !important;height:20px !important;width:20px !important}.gxp-icon-addlayers{background-image:url(../../img/silk/add.png) !important}.gxp-icon-addserver{background-image:url(../../img/silk/server_add.png) !important}.gxp-icon-getfeatureinfo{background-image:url(../../img/silk/information.png) !important}.gxp-icon-removelayers{background-image:url(../../img/silk/delete.png) !important}.gxp-icon-layerproperties{background-image:url(../../img/silk/wrench.png) !important}#mappnlcntr .movefeature{background-image:url(../../img/gis/arrow_refresh.png) !important;height:20px !important;width:20px !important}#mappnlcntr .removefeature{background-image:url(../../img/gis/remove_point_off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .resizefeature{background-image:url(../../img/gis/resize.png) !important;height:20px !important;width:20px !important}#mappnlcntr .rotatefeature{background-image:url(../../img/gis/arrow_rotate_clockwise.png) !important;height:20px !important;width:20px !important} div.olFramedCloudPopupContent label{padding-right:5px}#georsspopup h2{margin:0}#kmlpopup h2{margin:0}.olControlcdauthGeoLocation{position:absolute;right:3px;font-size:smaller;bottom:6em}.gx-popup-anc{background:transparent url(../../img/gis/geoext/anchor.png) no-repeat 0 0;position:relative;top:-1px;left:5px;z-index:2;height:16px;width:31px}.gx-ruledrag-insert-below{border-bottom:1px dotted}.gx-ruledrag-insert-above{border-top:1px dotted}.x-btn .icon-print{ background-image:url(../../img/silk/printer.png)}.gx-printpreview{padding:5px}.gx-printpreview textarea.x-form-field{padding:1px 1px 1px 3px}.gx-map-overlay{z-index:1000; position:absolute; right:10px; bottom:10px;text-align:left}.gx-map-overlay .x-panel-body{background-color:#D0DEF0}.gx-map-overlay .olControlScaleLine{bottom:0;left:0;position:relative !important}.gx-northarrow{background:transparent url(../../img/gis/geoext/north_arrow.png) no-repeat;*-background:none;*-filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../img/gis/geoext/north_arrow.png',sizingMethod='crop');height:24px;width:24px}.gx-item-nowrap .x-box-item{white-space:nowrap}.olLayerGoogleCopyright{right:3px;bottom:2px;left:auto}.olLayerGoogleV3.olLayerGoogleCopyright{bottom:0px; right:110px !important}.olLayerGooglePoweredBy{left:2px;bottom:2px; }.olLayerGoogleV3.olLayerGooglePoweredBy{bottom:0px !important}div.olMap{z-index:0;padding:0px!important;margin:0px!important;cursor:default}div.olMapViewport{text-align:left}div.olLayerDiv{ -moz-user-select:none}.olControlAttribution{font-size:smaller; right:3px; bottom:4.5em; position:absolute; display:block}.olControlScale{right:3px;bottom:3em;display:block;position:absolute;font-size:smaller}.olControlScaleLine{ display:block; position:absolute; left:10px; bottom:15px; font-size:xx-small}.olControlScaleLineBottom{ border:solid 2px black; border-bottom:none; margin-top:-2px; text-align:center}.olControlScaleLineTop{ border:solid 2px black; border-top:none; text-align:center}.olControlPermalink{right:3px;bottom:1.5em;display:block;position:absolute;font-size:smaller} div.olControlMousePosition{bottom:0em;right:3px;display:block;position:absolute;font-family:Arial;font-size:smaller}.olControlOverviewMapContainer{position:absolute;bottom:0px;right:0px}.olControlOverviewMapElement{padding:10px 18px 10px 10px;background-color:#00008B;-moz-border-radius:1em 0 0 0}.olControlOverviewMapMinimizeButton{right:0px;bottom:80px} .olControlOverviewMapMaximizeButton{right:0px;bottom:80px}.olControlOverviewMapExtentRectangle{overflow:hidden;background-image:url("../../img/gis/openlayers/blank.gif");cursor:move;border:2px dotted red}.olControlOverviewMapRectReplacement{overflow:hidden;cursor:move;background-image:url("../../img/gis/openlayers/theme_default/overview_replacement.gif");background-repeat:no-repeat;background-position:center}.olLayerGeoRSSDescription{float:left;width:100%;overflow:auto;font-size:1.0em}.olLayerGeoRSSClose{float:right;color:gray;font-size:1.2em;margin-right:6px;font-family:sans-serif}.olLayerGeoRSSTitle{float:left;font-size:1.2em}.olPopupContent{padding:5px;overflow:auto} .olControlNavToolbar{ width:0px;height:0px} .olControlNavToolbar div{ display:block;width:28px;height:28px;top:300px;left:6px;position:relative}.olControlNavigationHistory{ background-image:url("../../img/gis/openlayers/theme_default/navigation_history.png"); background-repeat:no-repeat; width:24px; height:24px}.olControlNavigationHistoryPreviousItemActive{ background-position:0px 0px}.olControlNavigationHistoryPreviousItemInactive{background-position:0px -24px}.olControlNavigationHistoryNextItemActive{background-position:-24px 0px}.olControlNavigationHistoryNextItemInactive{background-position:-24px -24px}.olControlNavToolbar .olControlNavigationItemActive{ background-image:url("../../img/gis/openlayers/theme_default/panning-hand-on.png");background-repeat:no-repeat}.olControlNavToolbar .olControlNavigationItemInactive{ background-image:url("../../img/gis/openlayers/theme_default/panning-hand-off.png");background-repeat:no-repeat}.olControlNavToolbar .olControlZoomBoxItemActive{ background-image:url("../../img/gis/openlayers/theme_default/drag-rectangle-on.png");background-color:orange;background-repeat:no-repeat}.olControlNavToolbar .olControlZoomBoxItemInactive{ background-image:url("../../img/gis/openlayers/theme_default/drag-rectangle-off.png");background-repeat:no-repeat}.olControlEditingToolbar{float:right;right:0px;height:30px; width:200px}.olControlEditingToolbar div{ background-image:url("../../img/gis/openlayers/theme_default/editing_tool_bar.png");background-repeat:no-repeat;float:right;width:24px;height:24px;margin:5px}.olControlEditingToolbar .olControlNavigationItemActive{ background-position:-103px -23px}.olControlEditingToolbar .olControlNavigationItemInactive{ background-position:-103px -0px}.olControlEditingToolbar .olControlDrawFeaturePointItemActive{ background-position:-77px -23px}.olControlEditingToolbar .olControlDrawFeaturePointItemInactive{ background-position:-77px -0px}.olControlEditingToolbar .olControlDrawFeaturePathItemInactive{ background-position:-51px 0px}.olControlEditingToolbar .olControlDrawFeaturePathItemActive{ background-position:-51px -23px}.olControlEditingToolbar .olControlDrawFeaturePolygonItemInactive{ background-position:-26px 0px}.olControlEditingToolbar .olControlDrawFeaturePolygonItemActive{ background-position:-26px -23px ; }div.olControlSaveFeaturesItemActive{ background-image:url(../../img/gis/openlayers/theme_default/save_features_on.png);background-repeat:no-repeat;background-position:0px 1px}div.olControlSaveFeaturesItemInactive{ background-image:url(../../img/gis/openlayers/theme_default/save_features_off.png);background-repeat:no-repeat;background-position:0px 1px}.olHandlerBoxZoomBox{border:2px solid red;position:absolute;background-color:white;opacity:0.50;font-size:1px;filter:alpha(opacity=50)}.olHandlerBoxSelectFeature{border:2px solid blue;position:absolute;background-color:white;opacity:0.50;font-size:1px;filter:alpha(opacity=50)} .olPopupCloseBox{background:url("../../img/gis/openlayers/theme_default/close.gif") no-repeat;cursor:pointer}.olFramedCloudPopupContent{padding:5px;overflow:auto}.olControlNoSelect{-moz-user-select:none}.olImageLoadError{background-color:pink;opacity:0.5;filter:alpha(opacity=50);}.olCursorWait{cursor:wait}.olDragDown{cursor:move}.olDrawBox{cursor:crosshair}.olControlDragFeatureOver{cursor:move}.olControlDragFeatureActive.olControlDragFeatureOver.olDragDown{cursor:-moz-grabbing}.olControlLayerSwitcher{position:absolute;top:25px;right:0px;width:20em;font-family:sans-serif;font-weight:bold;margin-top:3px;margin-left:3px;margin-bottom:3px;font-size:smaller;color:white;background-color:transparent}.olControlLayerSwitcher .layersDiv{padding-top:5px;padding-left:10px;padding-bottom:5px;padding-right:75px;background-color:darkblue;width:100%;height:100%}.olControlLayerSwitcher .layersDiv .baseLbl,.olControlLayerSwitcher .layersDiv .dataLbl{margin-top:3px;margin-left:3px;margin-bottom:3px}.olControlLayerSwitcher .layersDiv .baseLayersDiv,.olControlLayerSwitcher .layersDiv .dataLayersDiv{padding-left:10px}.olControlLayerSwitcher .maximizeDiv,.olControlLayerSwitcher .minimizeDiv{top:5px;right:0px}.olControlZoomPanel div{background-image:url(../../img/gis/openlayers/theme_default/zoom-panel-NOALPHA.png)}.olControlPanPanel div{background-image:url(../../img/gis/openlayers/theme_default/pan-panel-NOALPHA.png)}.ie7 div.map-overlay{width:240px}.ie7 .overlay-scalechooser{width:110px}.ie7 .overlay-scaleline{width:100px;padding-bottom:5px}.ie7 .gx-layer-menu{min-width:220px}.ie7 .ext-ie6 .x-menu-item-icon{left:-24px} \ No newline at end of file +@charset "UTF-8";html,body,form,fieldset,textarea{margin:0;padding:0;font:100%/125% Arial,Helvetica,sans-serif}h1,h2,h3,h4,h5,h6,p,pre,blockquote,ul,ol,dl,address{margin:0 0 1em 0;padding:0}dd,blockquote{margin-left:1em}ol,ul{list-style:disc inside none}ul.x-tab-strip,ul.x-tree-node-ct,ul.x-tree-root-ct{list-style:none outside none}pre,code,kbd,samp{font-family:monospace,sans-serif}pre{padding:15px; white-space:pre; white-space:pre-wrap; white-space:pre-line; word-wrap:break-word;}textarea{overflow:auto;}html{overflow-y:scroll}button{width:auto;overflow:visible}.ext-ie7 img{-ms-interpolation-mode:bicubic}.ir{display:block;text-indent:-999em;overflow:hidden;background-repeat:no-repeat}.hidden{display:none;visibility:hidden}.visuallyhidden{position:absolute !important;clip:rect(1px 1px 1px 1px); clip:rect(1px,1px,1px,1px)}.invisible{visibility:hidden}.fleft{float:left !important}.fright{float:right !important}.fcenter{float:center !important}.tacenter{text-align:center !important}.taleft{text-align:left !important}.taright{text-align:right !important}.clearfix:before,.clearfix:after{content:"\0020";display:block;height:0;visibility:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}* html .clearfix{height:1%}body{font-size:0.8em;color:#000;background:#fff; }form label{cursor:pointer}fieldset{border:none}input,select,textarea{font-size:100%}textarea.comments{height:50px}textarea.richtext{height:100px}.hide{display:none}.mini{font-size:80%}.wide{width:100%}input:focus,select:focus,textarea:focus{background-color:#ffffcc}a{color:#039;text-decoration:underline;outline:0}a:hover{color:#c00;text-decoration:none;background-color:#ffffcc;outline:0}a:active,a:focus{outline:0}a img{border:none}.popup{display:none;position:absolute;border-style:solid;background-color:#ffffcc;padding:5px;margin:0 20px 0 -50px}table{border-collapse:collapse}#menu_modules{position:absolute; height:36px;background:#CACACA url(../../img/BFTBmenu_back.png) repeat-x;border-top:1px solid #2a323f; padding-top:0px;z-index:25;min-width:800px;width:100%;}#modulenav{position:relative;margin:0px;padding-right:0.7%}#modulenav,#modulenav li,#modulenav ul{list-style:none}#modulenav li div a{color:#fff}#modulenav a{text-decoration:none}#modulenav a:hover{color:#fff;background:none}#modulenav li li a{display:block;font-weight:normal;padding:5px 5px 5px 5px}#modulenav li li a:hover{background:#414a59;color:#fff}#modulenav li{float:left;position:relative;text-align:left;cursor:default;border-width:1px 0}.submenu{z-index:9999}#modulenav li div{text-align:center;background:url(../../img/BFTBmenu_side.png) right 10px no-repeat;text-shadow:0px 1px 1px #58606c}#modulenav li div a{display:inline-block;padding:8px 10px 5px 15px}#modulenav li div.hovered,#modulenav li div:hover{background:#3177bc url(../../img/BFTBmenu_hilight.png) repeat-x;}#modulenav li ul{display:none;position:absolute;top:100%; left:0;font-weight:normal;text-align:left;background:#fff;border:#dedede 1px solid; -moz-border-radius:5px; -webkit-border-radius:5px; -moz-box-shadow:1px 1px 5px #232a34; -webkit-box-shadow:1px 1px 5px #232a34}#modulenav li>ul{top:auto;left:auto}#modulenav li li{ display:block;float:none;border:0;vertical-align:middle}#modulenav li:hover ul{display:block}#modulenav li.over ul{display:block}.S3menulogo{background:url(../../img/S3menu_logo.png) left top no-repeat;text-shadow:none;padding:none;width:35px;height:28px;display:inline-block;position:absolute;top:3px;left:2px}.S3menuHome{padding-left:20px}#menu_options{margin:6px 0px 0px 0px; background:#e7ebed; border-radius:0px 5px 5px 0px;overflow:auto}#subnav li,#subnav ul li{list-style:none;clear:both}#subnav div a{display:block;padding:5px;background :#37404c;font-weight:bold}#subnav ul li{border-bottom:1px solid #b4c0c7}#subnav ul li a{display:block;padding:2px 2px 3px 10px;text-decoration:none}#subnav div a{color:white;font-size:1.05em;text-decoration:none}#subnav div a:hover{background:#112038;color:white}.menu_separator hr{width:90%;height:1px}.swidth{width:640px}.colmask{position:relative; clear:both;float:left;width:100%; overflow:hidden; z-index:0; margin-top:42px}.col3left{float:left;width:33%;position:relative}.col3mid,.col3right{float:right;width:33%;position:relative}.col2left{float:left;width:49%;position:relative}.col2right{float:right;width:49%;position:relative}.col1,.col2,.col3{float:left;position:relative;padding:0 0 3px 0;overflow:hidden}.fullpage{background:#fff; padding-top:1px;overflow:visible}.fullpage .col1{width:99%; left:0.5%; min-width:800px}.aside{float:left;width:200px;}.rightside{margin-left:200px}#content{background:#f0f3f4;border:1px solid #bbb;margin:6px 5px;padding:0px;margin-bottom:2px;padding:6px 10px 6px 10px; -moz-border-radius:10px 10px 10px 10px; -webkit-border-radius:10px 10px 10px 10px; overflow:auto}#content h1,#content h2{color:#112038;font-size:16px;font-weight:bolder;background:#cfdde7;padding:10px 5px 5px 5px;border-bottom:1px solid #bbb}#content h2:first-child{background-image:-webkit-gradient( linear,left bottom,left top,color-stop(0.16,rgb(188,204,217)),color-stop(0.57,rgb(212,225,235)) );background-image:-moz-linear-gradient( center bottom,rgb(188,204,217) 16%,rgb(212,225,235) 57% );margin:-6px -10px 6px -10px;background-color:#cfdde7;text-shadow:0px 1px 1px #e3edf4;border:1px solid #aecbe0;border-top:1px solid #e1eaf1;border-bottom:1px solid #9cb2c1;padding-left:10px;-moz-border-radius:10px 10px 0px 0px;-webkit-border-radius:10px 10px 0px 0px}#content h3{color:#2a485d;font-size:14px;font-weight:bolder;padding:5px 5px 2px 5px;border-bottom:1px #006699 solid;margin-bottom:10px}#content h4{color:#375d78;margin-top:10px;font-size:13px;font-weight:bolder;padding:2px 2px 1px 2px;border-bottom:1px #003366 dotted;margin-bottom:10px}#home p{text-align:center;text-align:justify;line-height:1.25}#home li{margin-left:12px}#footer{margin:0 auto;clear:both;float:left;width:100%;text-align:center;border-top:#fff 1px solid}#socialmedia_share{float:left;margin-top:7px;margin-left:20px;style:block}.socialmedia_element{float:left;margin-right:8px}#poweredby{float:right;margin-right:20px}#poweredby a{color:#2A485D;text-decoration:none}#twttrHubFrame{left:-9999em}a.help,a:link.help{color:#fff;text-decoration:none;margin-right:10px}a:hover.help{background-color:#336699;text-decoration:underline}a:visited.help{font-weight:normal;color:#666}p{padding:5px;margin:0}p.legend{margin-bottom:1em}p.legend em{color:#c00;font-style:normal}div.form-container{width:100%;overflow:auto}div.form-container form{padding:5px;background-color:#fff;border:#eee 1px solid;background-color:#fbfbfb}div.form-container p{margin:0.5em 0 0 0}div.form-container form p{margin:0}div.form-container form p.note{font-style:italic;margin-left:18em;font-size:80%;color:#666}div.form-container form input,div.form-container form select{padding:1px;margin:2px 0 2px 0}div.form-container form input[type="checkbox"],div.form-container form input[type="radio"]{margin:2px 5px}div.form-container form fieldset{margin:0 0 10px 0;padding:10px;border:#ddd 1px solid;background-color:#fff}div.form-container form legend{font-weight:bold;color:#666}div.form-container form fieldset div.brake{padding:0.3em}div.form-container form fieldset label{position:relative;margin-right:10px;padding-right:10px;width:15em;display:block;float:left;text-align:right;min-height:1em;top:0.25em}div.form-container form fieldset label.errorfield,div.form-container form fieldset span.errorfield{color:#c00}div.form-container form fieldset label.value{display:block;text-align:left;width:auto}div.form-container form fieldset input.errorfield{border-color:#c00;background-color:#fef}div.form-container form fieldset input:focus,div.form-container form fieldset input.errorfield:focus,div.form-container form fieldset textarea:focus{background-color:#ffffcc;border-color:#fc6}div.form-container form input:focus,div.form-container form select:focus,div.form-container form input.errorfield:focus,div.form-container form textarea:focus{background-color:#ffc;}div.form-container form td.w2p_fl,div.item-container form td.w2p_fl{font-weight:bold;}div.form-container form tr td,div.item-container form tr td{padding:3px 0 0 3px}div.form-container div.controlset label,div.form-container div.controlset input{display:inline;float:none}div.form-container div.controlset div{margin-left:15em}div.form-container div.buttonrow{margin-left:180px}div#template_sections{margin-right:10px}div#master_sections li{list-style:none}.ui-droppable{padding-bottom:25px}div#template_sections li{list-style:none}li.ui-draggable:hover,li.ui-draggable-dragging{cursor:pointer;list-style:none;padding:3px;border:solid 1px #BBBBBB;background:none repeat scroll 0 0 #CFDDE7}td.subheading{padding-top:10px !important;padding-bottom:5px;border-bottom:thin solid #bbb;font-weight:bold}tr.after_subheading td{padding-top:10px !important}select[disabled='disabled'],input[disabled='disabled']{ background:#eee;color:#333; cursor:default}div#table-container{ display:block; width:100%; overflow:auto; margin-top:-1px; min-width:640px}div#table-container table{ display:block; overflow:auto}div#table-container thead th{text-align:left;border:1px solid #ccc}div#table-container thead th.rtotal{border-left:2px solid #aaa}div#table-container tr.even td{border:1px solid #ccc;padding:4px 10px}div#table-container tr.odd td{border:1px solid #ccc;padding:4px 10px}div#table-container tr.odd td.rtotal,div#table-container tr.even td.rtotal{border-left:2px solid #AAAAAA}div#table-container tr.totals_row{border-top:2px solid #AAAAAA}div#table-container td.totals_header{font-weight:bold}#list_formats{float:left;margin-bottom:10px;margin-right:10px}#list_formats a{padding:1px}.dataTable{ width:100%}table.dataTable .row_selected td{background-color:#ddd;border:1px solid #aaa}table.dataTable tr td{vertical-align:top}table.dataTable .group{background-color:#ddd;border:1px solid #aaa}div.dataTables_filter{ width:auto;float:left; margin-bottom:4px}div.dataTables_processing{float:left;margin-left:10px}div.dataTables_info{width:auto;float:right;margin:2px 0 4px 10px}div.dataTables_length{float:right;margin-bottom:4px}div.dataTables_paginate{float:left;margin:4px 0 4px 0}div.paging_full_numbers{width:auto}a.paginate_button,a.paginate_active{text-decoration:none}span.dataTable-btn{background-color:#ddd;border:1px solid #aaa;-webkit-border-radius:5px;-moz-border-radius:5px;padding:2px 5px;margin:0 3px;cursor:pointer;*cursor:hand}span.dataTable-btn:hover{background-color:#EFEFEF}table.importItem{display:none}div.item-container{width:100%;overflow:auto;margin:5px 0 5px 0}.default-text{color:#a1a1a1;font-style:italic}ul.ui-autocomplete{z-index:9999 !important}div#map{width:100%;overflow:auto}.req{color:red;font-weight:bold}.red{color:red}.tooltip,.tooltipbody,.stickytip,.ajaxtip{position:static;text-transform:uppercase;height:20px;width:50px;background-image:url(../../img/help_off.gif)}.tooltip span,.tooltipbody span,.stickytip span,.ajaxtip span{display:none}.tooltip:hover,.tooltipbody:hover,.stickytip:hover,.ajaxtip:hover{background-color:transparent;background-image:url(../../img/help_on.gif)}div#popup{background:#fff}div.confirmation{color:#070;font-weight:bold;text-align:center;border:#070 1px solid;background:url(../../img/dialog-confirmation.png) #e5ffe5 no-repeat 5px 5px;margin-top:0.0em;margin-bottom:0.5em;padding-left:30px;padding-right:20px;padding-top:1.0em;padding-bottom:1.0em;cursor:pointer}.confirmation p em{color:#070}.error{color:#c00;font-weight:bold;text-align:center;border:#c00 1px solid;background:url(../../img/dialog-error.png) #ffe5e5 no-repeat 5px 5px;margin-top:0.0em;margin-bottom:0.5em;padding-left:30px;padding-right:20px;padding-top:1.0em;padding-bottom:1.0em;cursor:pointer}.error p em{color:#c00}.information{color:#748d8e;font-weight:bold;text-align:center;border:#9ed8d7 1px solid;background:url(../../img/dialog-information.png) #ecfdff no-repeat 5px 5px;margin-top:0.0em;margin-bottom:0.5em;padding-left:30px;padding-right:20px;padding-top:1.0em;padding-bottom:1.0em;cursor:pointer}.information p em{color:#748d8e}.warning{color:#c00;font-weight:bold;text-align:center;border:#fc6 1px solid;background:url(../../img/dialog-warning.png) #ffc no-repeat 5px 5px;margin-top:0.0em;margin-bottom:0.5em;padding-left:30px;padding-right:20px;padding-top:1.0em;padding-bottom:1.0em;cursor:pointer}.warning p em{color:#c00}.throbber{margin-bottom:-16px;padding:0 0 0 10px}div#rheader table{}div#rheader th{ font-weight:bold}div#rheader td{text-align:left;padding:1px 25px 1px 10px;}tr#select_from_registry_row td{ padding:8px}tr.box_top{ border-top:#bbb 1px solid; border-left:#bbb 1px solid; border-right:#bbb 1px solid; background:#F0F3F4}tr.box_middle{ border-left:#bbb 1px solid; border-right:#bbb 1px solid; background:#F0F3F4}tr.box_bottom{ border-bottom:#bbb 1px solid; border-left:#bbb 1px solid; border-right:#bbb 1px solid; background:#F0F3F4}div.tabs{height:1.5em;padding:0 0 8px;margin:10px 0 2px;text-align:left;border-bottom:1px solid #3286e2;clear:left}div.tabs span{display:block;float:left; -moz-border-radius:3px 3px 0 0; -webkit-border-radius:3px 3px 0 0;border-width:2px 1px 0 3px;border-style:solid;border-color:#3286e2;margin-right:3px}div.tabs span a{text-decoration:none;line-height:1.5em;display:block;padding:1px 3px 2px;color:#ffffff; -moz-border-radius:3px 3px 0 0; -webkit-border-radius:3px 3px 0 0}span.tab_last,span.tab_other{margin-top:4px;background:#3286e2}div.tabs span.tab_here{background:#f0f3f4;border-color:#6699cc;font-weight:bold;margin-bottom:-1px}form div.tabs span.tab_here{background:#ffffff}div.tabs span.tab_here a{color:#006699;padding:4px 6px 3px 5px}span.tab_other a:hover,span.tab_last a:hover{color:#ffffff;background:transparent}span.tab_other:hover,span.tab_last:hover{background:#164b8b;border-color:#164b8b}span.tab_prev_active{border:1px solid #6699cc;color:#006699;border-bottom:0}span.tab_next_active{border:1px solid #6699cc;color:#006699;border-bottom:0}span.tab_prev_inactive{border:1px solid #bbb;color:#bbb;border-bottom:0}span.tab_next_inactive{border:1px solid #bbb;color:#bbb;border-bottom:0}span.tab_prev_active a,span.tab_next_active a{color:#006699;text-decoration:None}span.tab_prev_inactive a,span.tab_next_inactive a{color:#bbb;text-decoration:None}div#component{padding:10px;border-color:#6699CC;border-style:solid;border-width:1px; overflow:auto}div#rfooter{padding:15px 0}div#last_update{text-align:right;font-style:italic;font-size:80%;color:#666}.delete-btn,.action-btn{cursor:pointer;text-decoration:none; color:#ffffff;background-color:#3286e2;border:1px solid #4c95e6;border-bottom:2px solid #164b8b;border-top:1px solid #5f9eeb;padding:2px 4px 2px 4px;margin:2px;z-index:500;white-space:nowrap;-moz-border-radius:2px;-webkit-border-radius:2px}.delete-btn:hover,.action-btn:hover{text-decoration:none;color:#fff;background-color:#164b8b}.cancel-btn{padding-left:10px}.action-lnk{font-size:85%;padding-left:15px}.sublabels{font-size:85%}#list-btn-add{margin-bottom:10px}#list-add{display:none}.plus{position:static;height:16px;width:16px;background-image:url(../../img/icon_blue_plus15px.png)}.minus{position:static;height:16px;width:16px;background-image:url(../../img/icon_blue_minus15px.png)}.expand{ height:16px;width:16px;float:left;background-image:url(../../img/jquery-ui/ui-icons_222222_256x240.png);background-position:-64px -16px}.expanded{background-image:url(../../img/jquery-ui/ui-icons_222222_256x240.png);background-position:-32px -16px;white-space:nowrap;}li input + a{text-decoration:none}.rfilter{float:left;padding:10px 20px 10px 10px;}#comments{margin:0;padding:0;list-style:none outside none}#comments ul,ol{padding-left:20px;list-style:none outside none}#comments li{padding:10px 0 0}#comments li a.jcollapsible:hover{background:none}#comments div.comment-text ul{list-style:disc outside none}#comments div.comment-text ol{list-style:decimal outside none}#comments div.comment-text li{padding:0}#comments em{font-style:italic}#comments strong{font-weight:bold}#comment-form{width:390px;border:1px #9C9C9C dashed;padding:5px;margin-top:5px}.avatar{background:none repeat scroll 0 0 #FFFFFF;border-bottom:1px solid #D7D7D7;border-left:1px solid #F2F2F2;border-right:1px solid #F2F2F2;float:left;height:55px;padding:4px;width:55px}.hrm_avatar{float:left;padding-bottom:5px;padding-right:10px}.comment-box{overflow:hidden;padding:15px 0;background:none repeat scroll 0 0 #FFFFFF;display:block;overflow:hidden;padding:10px;margin-left:15px}.comment-text{padding:0 0 0 20px;float:left}.comment-header{margin:0 0 10px 0}.comment-footer{clear:left}.comment-date{font-size:11px;margin:0 0 10px 0}#home h2{padding-top:8px;padding-bottom:8px;font-size:1.4em;margin-bottom:5px}.menu_box{border:1px solid #006699;padding:10px;margin-top:10px;width:auto}#menu_box_center{width:655px}#menu_box_1{width:auto;float:left}#menu_box_2{float:left}#login_box{width:470px;float:left;clear:left}#home #login_box div{padding:0px}#home #login_box input[size="62"]{width:300px}.menu_div,.div_arrow{float:left;width:auto}#facility_box{width:auto;float:right;text-align:center;clear:left}#facility_box img{margin:0;margin-left:2px}#manage_facility_box{ width:470px}#manage_facility_box a{margin-left:20px}#org_box{ width:470px;clear:left}#org_box #list_wrapper{margin-top:10px}#org_box #list_filter{margin:0px}#org_box #list_processing{margin-top:5px}.div_arrow{padding:0 15px;text-align:left;margin-top:100px}#content .menu_box h3{border-bottom:0px;font-size:1.6em;text-align:center}.menu-btn-r{margin:0px;padding:15px 15px 15px 15px;overflow:hidden;background:url(../../img/menu_box-r.png) no-repeat scroll top right;display:block;white-space:nowrap;text-align:center;font-size:1.3em}.menu-btn-l{margin-top:4px;overflow:hidden;background:url(../../img/menu_box-lstretch.png) no-repeat;display:block; height:50px;text-decoration:none}#login_form,#register_form{clear:both;padding:10px 0 10px 0}#about{clear:both}#feed-control{clear:both}.gfg-title{text-align:left;padding:0 0 0 10px}.gfg-subtitle{padding:0 0 0 5px}#show-dialog-btn{border:1px solid #efefef; margin:10px; padding:10px}.req_status_none{color:red;font-weight:bold}.req_status_partial{color:darkorange;font-weight:bold}.req_status_complete{color:green;font-weight:bold}.contacts-wrapper{width:500px}.contacts-wrapper p{ margin-bottom:5px}.contacts-wrapper div.margin{ margin-bottom:10px}.contacts-wrapper .contact.saving .editBtn,.contacts-wrapper .contact.edit .editBtn{display:none}tr.survey_section th{color:#003399;font-size:150%;text-align:center}tr.survey_question th{color:#112038;font-size:90%;font-weight:bold;vertical-align:top}div.survey_map-legend td{vertical-align:top}div.survey_scrollable{width:900px;overflow:scroll}div.question-container{text-align:center;width:8em;background-color:#F3F6FF;border:solid 3px #bbb;padding:1.5em;font-size:large;overflow:auto}@media all and (orientation:portrait){}@media all and (orientation:landscape){}@media screen and (max-device-width:480px){}@media handheld{*{float:none; font-size:80%; background:#fff; color:#000}}@media print{body{ background:transparent;color:black;font-family:"Georgia",Times New Roman,Serif;font-size:12pt;}#menu_modules,#menu_options,#footer,#rheader_tabs,#searchCombo{display:none}#content {background-color:transparent;width:100%;float:none !important;border:0;-moz-border-radius:0;margin:0;padding:0}#content h1,#content h2{background:white;color:black;font-size:16pt;border:0;-moz-border-radius:0;margin:0}#content h3{background:white;color:black;font-size:14pt;margin:0}a{color:black;background:transparent;text-decoration:underline}#comments{page-break-before:always; } *{background:transparent !important;color:#444 !important;text-shadow:none !important} a,a:visited{color:#444 !important;text-decoration:underline} a:after{content:" (" attr(href) ")"} abbr:after{content:" (" attr(title) ")"} .ir a:after{content:""} pre,blockquote{border:1px solid #999;page-break-inside:avoid} thead{display:table-header-group} tr,img{page-break-inside:avoid} @page{margin:0.5cm} p,h2,h3{orphans:3;widows:3} h2,h3{page-break-after:avoid}}.search_select_letter_label{margin:10px 0px 0px 7px;padding-left:20px;background:url( ../../img/icon_blue_plus15px.png ) no-repeat;cursor:pointer}.search_select_letter_label.expanded{background:url( ../../img/icon_blue_minus15px.png ) no-repeat}.search_select_letter_widget{margin-left:2em}.search_select_letter_widget label{white-space:nowrap}.no-options-available{color:#aaa;font-style:italic}.checkboxes-widget-s3 input{float:left}#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative;overflow:hidden}#cboxLoadedContent{overflow:auto}#cboxLoadedContent iframe{display:block;width:100%;height:100%;border:0}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}#cboxOverlay{background:url(../../img/colorbox/overlay.png) 0 0 repeat}#colorbox{} #cboxTopLeft{width:21px;height:21px;background:url(../../img/colorbox/controls.png) -100px 0 no-repeat} #cboxTopRight{width:21px;height:21px;background:url(../../img/colorbox/controls.png) -129px 0 no-repeat} #cboxBottomLeft{width:21px;height:21px;background:url(../../img/colorbox/controls.png) -100px -29px no-repeat} #cboxBottomRight{width:21px;height:21px;background:url(../../img/colorbox/controls.png) -129px -29px no-repeat} #cboxMiddleLeft{width:21px;background:url(../../img/colorbox/controls.png) left top repeat-y} #cboxMiddleRight{width:21px;background:url(../../img/colorbox/controls.png) right top repeat-y} #cboxTopCenter{height:21px;background:url(../../img/colorbox/border.png) 0 0 repeat-x} #cboxBottomCenter{height:21px;background:url(../../img/colorbox/border.png) 0 -29px repeat-x} #cboxContent{background:#fff} #cboxLoadedContent{margin-top:28px} #cboxTitle{position:absolute;top:2px;left:0;text-align:center;width:100%;color:#000000;font-weight:bold} #cboxCurrent{position:absolute;bottom:4px;left:58px;color:#949494} #cboxSlideshow{position:absolute;bottom:4px;right:30px;color:#0092ef} #cboxPrevious{position:absolute;bottom:0;left:0px;background:url(../../img/colorbox/controls.png) -75px 0px no-repeat;width:25px;height:25px;text-indent:-9999px} #cboxPrevious.hover{background-position:-75px -25px} #cboxNext{position:absolute;bottom:0;left:27px;background:url(../../img/colorbox/controls.png) -50px 0px no-repeat;width:25px;height:25px;text-indent:-9999px} #cboxNext.hover{background-position:-50px -25px} #cboxLoadingOverlay{background:url(../../img/colorbox/loading_background.png) center center no-repeat} #cboxLoadingGraphic{background:url(../../img/jquery-ui/ui-anim_basic_16x16.gif) center center no-repeat} #cboxClose{position:absolute;top:0;right:0;background:url(../../img/colorbox/controls.png) -25px 0px no-repeat;width:25px;height:25px;text-indent:-9999px} #cboxClose.hover{background-position:-25px -25px}.cboxIE #cboxTopLeft{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderTopLeft.png,sizingMethod='scale')}.cboxIE #cboxTopCenter{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderTopCenter.png,sizingMethod='scale')}.cboxIE #cboxTopRight{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderTopRight.png,sizingMethod='scale')}.cboxIE #cboxBottomLeft{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderBottomLeft.png,sizingMethod='scale')}.cboxIE #cboxBottomCenter{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderBottomCenter.png,sizingMethod='scale')}.cboxIE #cboxBottomRight{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderBottomRight.png,sizingMethod='scale')}.cboxIE #cboxMiddleLeft{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderMiddleLeft.png,sizingMethod='scale')}.cboxIE #cboxMiddleRight{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../../img/colorbox/internet_explorer/borderMiddleRight.png,sizingMethod='scale')}.ac_results{padding:0px;border:1px solid black;background-color:white;overflow:hidden;z-index:99999}.ac_results ul{width:100%;list-style-position:outside;list-style:none;padding:0;margin:0}.ac_results li{margin:0px;padding:2px 5px;cursor:default;display:block;font:menu;font-size:12px;line-height:16px;overflow:hidden}.ac_loading{background:white url('../../img/indicator.gif') right center no-repeat}.ac_odd{background-color:#eee}.ac_over{background-color:#0A246A;color:white}div.ui-cluetip{font-size:1em}.ui-cluetip-header,.ui-cluetip-content{padding:12px}.ui-cluetip-header{font-size:1em;margin:0;overflow:hidden}.cluetip-title .cluetip-close{float:right;position:relative}.cluetip-close img{border:0}#cluetip-waitimage{width:43px;height:11px;position:absolute;background-image:url(../../img/jquery.cluetip/wait.gif)}.cluetip-arrows{display:none;position:absolute;top:0;left:-11px;width:11px;height:22px;background-repeat:no-repeat;background-position:0 0;border-width:0}.cluetip-extra{display:none}.cluetip-default{background-color:#d9d9c2}.cluetip-default .ui-cluetip-header{background-color:#87876a}div.cluetip-default .cluetip-arrows{border-width:0;background:transparent none}div.clue-right-default .cluetip-arrows{background-image:url(../../img/jquery.cluetip/darrowleft.gif)}div.clue-left-default .cluetip-arrows{background-image:url(../../img/jquery.cluetip/darrowright.gif);left:100%;margin-right:-11px}div.clue-top-default .cluetip-arrows{background-image:url(../../img/jquery.cluetip/darrowdown.gif);top:100%;left:50%;margin-left:-11px;width:22px;height:11px}div.clue-bottom-default .cluetip-arrows{background-image:url(../../img/jquery.cluetip/darrowup.gif);top:-11px;left:50%;margin-left:-11px;width:22px;height:11px}.cluetip-jtip{background-color:#fff}.cluetip-jtip .cluetip-outer{border:2px solid #ccc;position:relative}.cluetip-jtip .cluetip-inner{padding:5px;display:inline-block}.cluetip-jtip div.cluetip-close{text-align:right;margin:0 5px 0;color:#900}.cluetip-jtip .ui-cluetip-header{background-color:#ccc;padding:6px;}div.cluetip-jtip .cluetip-arrows{border-width:0;background:transparent none}div.clue-right-jtip .cluetip-arrows{background-image:url(../../img/jquery.cluetip/arrowleft.gif)}div.clue-left-jtip .cluetip-arrows{background-image:url(../../img/jquery.cluetip/arrowright.gif);left:100%;margin-right:-11px}div.clue-top-jtip .cluetip-arrows{background-image:url(../../img/jquery.cluetip/arrowdown.gif);top:100%;left:50%;width:22px;height:11px;margin-left:-11px}div.clue-bottom-jtip .cluetip-arrows{background-image:url(../../img/jquery.cluetip/arrowup.gif);top:-11px;left:50%;width:22px;height:11px;margin-left:-11px}.cluetip-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;background-color:#fff;border:1px solid #ccc}.cluetip-rounded .cluetip-arrows{border-color:#ccc}div.cluetip-rounded .cluetip-arrows{font-size:0;line-height:0%;width:0;height:0;border-style:solid;background:transparent none}div.clue-right-rounded .cluetip-arrows{border-width:11px 11px 11px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}div.clue-left-rounded .cluetip-arrows{left:100%;margin-right:-11px;border-width:11px 0 11px 11px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}div.clue-top-rounded .cluetip-arrows{top:100%;left:50%;border-width:11px 11px 0 11px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.clue-bottom-rounded .cluetip-arrows{top:-11px;left:50%;border-width:0 11px 11px 11px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.cluetip-rounded .cluetip-title,.cluetip-rounded .cluetip-inner{zoom:1}table.dataTable{margin:0 auto;clear:both;width:100%}table.dataTable thead th{padding:3px 18px 3px 10px;border-bottom:1px solid black;font-weight:bold;cursor:pointer;*cursor:hand}table.dataTable tfoot th{padding:3px 18px 3px 10px;border-top:1px solid black;font-weight:bold}table.dataTable td{padding:3px 10px}table.dataTable td.center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable tr.odd{background-color:#E2E4FF}table.dataTable tr.even{background-color:white}table.dataTable tr.odd td.sorting_1{background-color:#D3D6FF}table.dataTable tr.odd td.sorting_2{background-color:#DADCFF}table.dataTable tr.odd td.sorting_3{background-color:#E0E2FF}table.dataTable tr.even td.sorting_1{background-color:#EAEBFF}table.dataTable tr.even td.sorting_2{background-color:#F2F3FF}table.dataTable tr.even td.sorting_3{background-color:#F9F9FF}table.dataTable tr.even.row_selected td{background-color:#60F6AD}table.dataTable tr.even.row_selected td.sorting_1{background-color:#40FA8D}table.display tr.odd.row_selected td{background-color:#40FA8D}table.display tr.odd.row_selected td.sorting_1{background-color:#20F0AD}table.dataTable tr.odd.dtalert{background-color:#FFFFC0}table.dataTable tr.odd.dtalert td.sorting_1{background-color:#FFFFB0}table.dataTable tr.odd.dtalert td.sorting_2{background-color:#FFFFA0}table.dataTable tr.odd.dtalert td.sorting_3{background-color:#FFFF90}table.dataTable tr.even.dtalert{background-color:#FFFFA0}table.dataTable tr.even.dtalert td.sorting_1{background-color:#FFFF90}table.dataTable tr.even.dtalert td.sorting_2{background-color:#FFFF80}table.dataTable tr.even.dtalert td.sorting_3{background-color:#FFFF70}table.dataTable tr.dtalert .action-btn,table.dataTable tr.dtalert .delete-btn{background-color:#D0D004;color:#444420}table.dataTable tr.dtalert .action-btn:hover,table.dataTable tr.dtalert .delete-btn:hover{text-decoration:none;color:#222;background-color:#EEED04;border-right:1px solid #4589ce;border-bottom:1px solid #4589ce;border-left:1px solid #000;border-top:1px solid #000;padding:2px 4px 2px 4px}table.dataTable tr.dtdisable{text-shadow:#CCC 1px 1px 1px;color:#888}table.dataTable tr.odd.dtwarning{background-color:#FFD9D9}table.dataTable tr.odd.dtwarning td.sorting_1{background-color:#FFB6B6}table.dataTable tr.odd.dtwarning td.sorting_2{background-color:#FFA6A6}table.dataTable tr.odd.dtwarning td.sorting_3{background-color:#FF9696}table.dataTable tr.even.dtwarning{background-color:#FFA6A6}table.dataTable tr.even.dtwarning td.sorting_1{background-color:#FF8383}table.dataTable tr.even.dtwarning td.sorting_2{background-color:#FF7373}table.dataTable tr.even.dtwarning td.sorting_3{background-color:#FF6363}table.dataTable tr.dtwarning .action-btn,table.dataTable tr.dtwarning .delete-btn{background-color:#D07060;color:#431;text-shadow:#FFF 0px 0px 0px}table.dataTable tr.dtwarning .action-btn:hover,table.dataTable tr.dtwarning .delete-btn:hover{text-decoration:none;color:#fff;background-color:#bb3377;border-right:1px solid #4589ce;border-bottom:1px solid #4589ce;border-left:1px solid #000;border-top:1px solid #000;padding:2px 4px 2px 4px}.dataTables_wrapper{position:relative;clear:both;*zoom:1}.dataTables_length{float:left}.dataTables_filter{float:right;text-align:right}.dataTables_info{clear:both;float:left}.dataTables_paginate{float:right;text-align:right}.paginate_disabled_previous,.paginate_enabled_previous,.paginate_disabled_next,.paginate_enabled_next{height:19px;float:left;cursor:pointer;*cursor:hand;color:#111 !important}.paginate_disabled_previous:hover,.paginate_enabled_previous:hover,.paginate_disabled_next:hover,.paginate_enabled_next:hover{text-decoration:none !important}.paginate_disabled_previous:active,.paginate_enabled_previous:active,.paginate_disabled_next:active,.paginate_enabled_next:active{outline:none}.paginate_disabled_previous,.paginate_disabled_next{color:#666 !important}.paginate_disabled_previous,.paginate_enabled_previous{padding-left:23px}.paginate_disabled_next,.paginate_enabled_next{padding-right:23px;margin-left:10px}.paginate_enabled_previous{background:url('../images/back_enabled.png') no-repeat top left}.paginate_enabled_previous:hover{background:url('../images/back_enabled_hover.png') no-repeat top left}.paginate_disabled_previous{background:url('../images/back_disabled.png') no-repeat top left}.paginate_enabled_next{background:url('../images/forward_enabled.png') no-repeat top right}.paginate_enabled_next:hover{background:url('../images/forward_enabled_hover.png') no-repeat top right}.paginate_disabled_next{background:url('../images/forward_disabled.png') no-repeat top right}.paging_full_numbers{height:22px;line-height:22px}.paging_full_numbers a:active{outline:none}.paging_full_numbers a:hover{text-decoration:none}.paging_full_numbers a.paginate_button,.paging_full_numbers a.paginate_active{border:1px solid #aaa;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:2px 5px;margin:0 3px;cursor:pointer;*cursor:hand;color:#333 !important}.paging_full_numbers a.paginate_button{background-color:#ddd}.paging_full_numbers a.paginate_button:hover{background-color:#ccc;text-decoration:none !important}.paging_full_numbers a.paginate_active{background-color:#99B3FF}.dataTables_processing{position:absolute;top:50%;left:50%;width:250px;height:30px;margin-left:-125px;margin-top:-15px;padding:14px 0 2px 0;border:1px solid #ddd;text-align:center;color:#999;font-size:14px;background-color:white}.sorting{background:url('../images/sort_both.png') no-repeat center right}.sorting_asc{background:url('../images/sort_asc.png') no-repeat center right}.sorting_desc{background:url('../images/sort_desc.png') no-repeat center right}.sorting_asc_disabled{background:url('../images/sort_asc_disabled.png') no-repeat center right}.sorting_desc_disabled{background:url('../images/sort_desc_disabled.png') no-repeat center right} table.dataTable th:active{outline:none}.dataTables_scroll{clear:both}.dataTables_scrollBody{*margin-top:-1px}.paginate_enabled_previous{background:url('../../img/jquery.dataTables/back_enabled.png') no-repeat top left}.paginate_enabled_previous:hover{background:url('../../img/jquery.dataTables/back_enabled_hover.png') no-repeat top left}.paginate_disabled_previous{background:url('../../img/jquery.dataTables/back_disabled.png') no-repeat top left}.paginate_enabled_next{background:url('../../img/jquery.dataTables/forward_enabled.png') no-repeat top right}.paginate_enabled_next:hover{background:url('../../img/jquery.dataTables/forward_enabled_hover.png') no-repeat top right}.paginate_disabled_next{background:url('../../img/jquery.dataTables/forward_disabled.png') no-repeat top right}.sorting{background:url('../../img/jquery.dataTables/sort_both.png') no-repeat center right}.sorting_asc{background:url('../../img/jquery.dataTables/sort_asc.png') no-repeat center right}.sorting_desc{background:url('../../img/jquery.dataTables/sort_desc.png') no-repeat center right}.sorting_asc_disabled{background:url('../../img/jquery.dataTables/sort_asc_disabled.png') no-repeat center right}.sorting_desc_disabled{background:url('../../img/jquery.dataTables/sort_desc_disabled.png') no-repeat center right}@import url("jquery.ui.core.css");@import url("jquery.ui.resizable.css");@import url("jquery.ui.selectable.css");@import url("jquery.ui.accordion.css");@import url("jquery.ui.autocomplete.css");@import url("jquery.ui.button.css");@import url("jquery.ui.dialog.css");@import url("jquery.ui.slider.css");@import url("jquery.ui.tabs.css");@import url("jquery.ui.datepicker.css");@import url("jquery.ui.progressbar.css");.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{position:absolute !important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui-helper-clearfix{display:inline-block}* html .ui-helper-clearfix{height:1%}.ui-helper-clearfix{display:block}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-state-disabled{cursor:default !important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-accordion{width:100%}.ui-accordion .ui-accordion-header{cursor:pointer;position:relative;margin-top:1px;zoom:1}.ui-accordion .ui-accordion-li-fix{display:inline}.ui-accordion .ui-accordion-header-active{border-bottom:0 !important}.ui-accordion .ui-accordion-header a{display:block;font-size:1em;padding:.5em .5em .5em .7em}.ui-accordion-icons .ui-accordion-header a{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;margin-top:-2px;position:relative;top:1px;margin-bottom:2px;overflow:auto;display:none;zoom:1}.ui-accordion .ui-accordion-content-active{display:block}.ui-autocomplete{position:absolute;cursor:default}* html .ui-autocomplete{width:1px} .ui-menu{list-style:none;padding:2px;margin:0;display:block;float:left}.ui-menu .ui-menu{margin-top:-3px}.ui-menu .ui-menu-item{margin:0;padding:0;zoom:1;float:left;clear:left;width:100%}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:.2em .4em;line-height:1.5;zoom:1}.ui-menu .ui-menu-item a.ui-state-hover,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0em}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right}.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-cover{display:none; display:block; position:absolute; z-index:-1; filter:mask(); top:-4px; left:-4px; width:200px; height:200px;}.ui-timepicker-inline{display:inline}#ui-timepicker-div{padding:0.2em }.ui-timepicker-table{display:inline-table;width:0}.ui-timepicker-table table{margin:0.15em 0 0 0;border-collapse:collapse}.ui-timepicker-hours,.ui-timepicker-minutes{padding:0.2em}.ui-timepicker-table .ui-timepicker-title{line-height:1.8em;text-align:center}.ui-timepicker-table td{padding:0.1em;width:2.2em}.ui-timepicker-table th.periods{padding:0.1em;width:2.2em}.ui-timepicker-table td span{display:block;padding:0.2em 0.3em 0.2em 0.5em;width:1.2em;text-align:right;text-decoration:none}.ui-timepicker-table td a{display:block;padding:0.2em 0.3em 0.2em 0.5em;width:1.2em;cursor:pointer;text-align:right;text-decoration:none}.ui-timepicker .ui-timepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-timepicker .ui-timepicker-buttonpane button{margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-timepicker .ui-timepicker-close{float:right }.ui-timepicker .ui-timepicker-now{float:left}.ui-timepicker .ui-timepicker-deselect{float:left}.ui-timepicker-cover{display:none; display:block; position:absolute; z-index:-1; filter:mask(); top:-4px; left:-4px; width:200px; height:200px;}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #dddddd;background:#eeeeee url(../../img/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x;color:#333333}.ui-widget-content a{color:#333333}.ui-widget-header{border:1px solid #e78f08;background:#f6a828 url(../../img/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x;color:#ffffff;font-weight:bold}.ui-widget-header a{color:#ffffff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #cccccc;background:#f6f6f6 url(../../img/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url(../../img/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#ffffff url(../../img/jquery-ui/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-widget :active{outline:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url(../../img/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url(../../img/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat;color:#ffffff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#ffffff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#ffffff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-icon{width:16px;height:16px;background-image:url(../../img/jquery-ui/ui-icons_222222_256x240.png)}.ui-widget-content .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_ffffff_256x240.png)}.ui-state-default .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_ef8c08_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_ef8c08_256x240.png)}.ui-state-active .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_ef8c08_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_228ef1_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(../../img/jquery-ui/ui-icons_ffd27a_256x240.png)}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-off{background-position:-96px -144px}.ui-icon-radio-on{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.ui-widget-overlay{background:#666666 url(../../img/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;opacity:.50;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000000 url(../../img/jquery-ui/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x;opacity:.20;filter:Alpha(Opacity=20);-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.gis_coord_wrap .decimal{width:174px}.gis_coord_wrap .gis_coord_dms input{width:37px}.gis_coord_wrap .gis_coord_dms input.seconds{width:70px}.gis_coord_wrap div{padding-top:8px}.multiselect{width:660px;min-height:150px}.ui-multiselect{border:solid 1px;font-size:0.8em}.ui-multiselect ul{-moz-user-select:none}.ui-multiselect li{margin:0;padding:0;cursor:default;line-height:20px;height:20px;font-size:11px;list-style:none}.ui-multiselect li a{color:#999;text-decoration:none;padding:0;display:block;float:left;cursor:pointer}.ui-multiselect li.ui-draggable-dragging{padding-left:10px}.ui-multiselect div.available{position:relative;padding:0;margin:0;border:0;float:left}.ui-multiselect ul.selected{position:relative;padding:0;overflow:auto;overflow-x:hidden;background:#fff;margin:0;list-style:none;border:0;position:relative;width:100%}.ui-multiselect ul.available li{}.ui-multiselect div.selected{position:relative;padding:0;margin:0;border:0;float:right;border-left:1px solid}.ui-multiselect ul.available{position:relative;padding:0;overflow:auto;overflow-x:hidden;background:#fff;margin:0;list-style:none;border:0;width:100%}.ui-multiselect ul.selected li{padding-left:10px} .ui-multiselect .ui-state-default{border:none;margin-bottom:1px;position:relative;padding-left:20px}.ui-multiselect .ui-state-hover{border:none}.ui-multiselect .ui-widget-header{border:none;font-size:11px;margin-bottom:1px} .ui-multiselect .add-all{float:right;padding:7px}.ui-multiselect .remove-all{float:right;padding:7px}.ui-multiselect .search{padding:4px}.ui-multiselect .count{float:left;padding:7px}.ui-multiselect li span.ui-icon-arrowthick-2-n-s{position:absolute;left:2px;display:none}.ui-multiselect li div.plusminus{position:absolute;right:2px;top:2px}.ui-multiselect input.search{height:14px;padding:1px;margin:4px;width:100px}.ui-multiselect .search-text{padding-left:5px}.ui-multiselect .widget-header-dark,.ui-multiselect .add-all:hover,.ui-multiselect .remove-all:hover{background:#343c48}@font-face{font-family:'zocial';font-style:normal;font-weight:normal;src:url('zocial-regular-webfont.eot');src:url('zocial-regular-webfont.eot?#iefix') format('embedded-opentype'),url('zocial-regular-webfont.woff') format('woff'),url('zocial-regular-webfont.ttf') format('truetype'),url('zocial-regular-webfont.svg#ZocialRegular') format('svg')}.zocial{border-bottom-color:rgba(0,0,0,0.4);border:1px solid rgba(0,0,0,0.2);color:#fff !important;-moz-box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.5),inset 0 0 0.1em rgba(255,255,255,0.9);-webkit-box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.5),inset 0 0 0.1em rgba(255,255,255,0.9);box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.5),inset 0 0 0.1em rgba(255,255,255,0.9);cursor:pointer;display:inline-block;font-family:"Lucida Grande",Tahoma,sans-serif;font-style:normal !important;font-weight:bold !important;letter-spacing:0;padding:0;position:relative;text-align:center;text-decoration:none !important;text-shadow:0 1px 0 rgba(0,0,0,0.5);-moz-user-select:none !important;-webkit-user-select:none !important;user-select:none !important}.zocial > span:before{border-right:0.075em solid rgba(0,0,0,0.1);-moz-box-shadow:0.075em 0 0 rgba(255,255,255,0.25);-webkit-box-shadow:0.075em 0 0 rgba(255,255,255,0.25);box-shadow:0.075em 0 0 rgba(255,255,255,0.25);content:"";display:block;float:left;font-family:"zocial" !important;font-size:125% !important;line-height:1.65;font-style:normal !important;font-weight:normal !important;margin:0.1em 0.5em 0 0;padding:0 0.5em;text-align:center !important;text-decoration:none !important;text-transform:none !important}.zocial > span{display:block;font-size:80% !important;line-height:2.1;font-weight:bold;padding:0em 1em 0 0;white-space:nowrap}.zocial,.zocial > span{-moz-border-radius:0.2em;-webkit-border-radius:0.2em;border-radius:0.2em;position:relative;z-index:100}.zocial:active{outline:none;}.zocial.icon{overflow:hidden;width:1.85em;height:1.85em}.zocial.icon > span:before{padding:0;width:1.85em;height:1.85em}.zocial > span{background:-moz-linear-gradient(top,rgba(255,255,255,0.1),rgba(255,255,255,0.05) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.1));background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0.1)),color-stop(49%,rgba(255,255,255,0.05)),color-stop(51%,rgba(0,0,0,0.05)),to(rgba(0,0,0,0.1)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.1),rgba(255,255,255,0.05) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.1));background:-o-linear-gradient(top,rgba(255,255,255,0.1),rgba(255,255,255,0.05) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.1));background:-ms-linear-gradient(top,rgba(255,255,255,0.1),rgba(255,255,255,0.05) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.1));background:linear-gradient(top,rgba(255,255,255,0.1),rgba(255,255,255,0.05) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.1))}.zocial:hover > span,.zocial:focus > span{background:-moz-linear-gradient(top,rgba(255,255,255,0.15),rgba(255,255,255,0.15) 49%,rgba(0,0,0,0.1) 51%,rgba(0,0,0,0.15));background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0.15)),color-stop(49%,rgba(255,255,255,0.15)),color-stop(51%,rgba(0,0,0,0.1)),to(rgba(0,0,0,0.15)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.15),rgba(255,255,255,0.15) 49%,rgba(0,0,0,0.1) 51%,rgba(0,0,0,0.15));background:-o-linear-gradient(top,rgba(255,255,255,0.15),rgba(255,255,255,0.15) 49%,rgba(0,0,0,0.1) 51%,rgba(0,0,0,0.15));background:-ms-linear-gradient(top,rgba(255,255,255,0.15),rgba(255,255,255,0.15) 49%,rgba(0,0,0,0.1) 51%,rgba(0,0,0,0.15));background:linear-gradient(top,rgba(255,255,255,0.15),rgba(255,255,255,0.15) 49%,rgba(0,0,0,0.1) 51%,rgba(0,0,0,0.15))}.zocial:active > span{background:-moz-linear-gradient(bottom,rgba(255,255,255,0.1),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0.1)),color-stop(30%,rgba(255,255,255,0)),color-stop(50%,rgba(0,0,0,0)),to(rgba(0,0,0,0.1)));background:-webkit-linear-gradient(bottom,rgba(255,255,255,0.1),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-o-linear-gradient(bottom,rgba(255,255,255,0.1),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-ms-linear-gradient(bottom,rgba(255,255,255,0.1),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:linear-gradient(bottom,rgba(255,255,255,0.1),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1))}.zocial.bitcoin,.zocial.cloudapp,.zocial.dropbox,.zocial.email,.zocial.github,.zocial.gmail,.zocial.instapaper,.zocial.itunes,.zocial.ninetyninedesigns,.zocial.openid,.zocial.plancast,.zocial.posterous,.zocial.secondary,.zocial.viadeo,.zocial.weibo,.zocial.wikipedia{border:1px solid rgba(0,0,0,0.3);border-bottom-color:rgba(0,0,0,0.5);-moz-box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.7),inset 0 0 0.08em rgba(255,255,255,0.5);-webkit-box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.7),inset 0 0 0.08em rgba(255,255,255,0.5);box-shadow:inset 0 0.08em 0 rgba(255,255,255,0.7),inset 0 0 0.08em rgba(255,255,255,0.5);text-shadow:0 1px 0 rgba(255,255,255,0.8)}.zocial.bitcoin:focus > span,.zocial.bitcoin:hover > span,.zocial.dropbox:focus > span,.zocial.dropbox:hover > span,.zocial.email:focus > span,.zocial.email:hover > span,.zocial.github:focus > span,.zocial.github:hover > span,.zocial.gmail:focus > span,.zocial.gmail:hover > span,.zocial.instapaper:focus > span,.zocial.instapaper:hover > span,.zocial.itunes:focus > span,.zocial.itunes:hover > span,.zocial.ninetyninedesigns:focus > span,.zocial.ninetyninedesigns:hover > span,.zocial.openid:focus > span,.zocial.openid:hover > span,.zocial.plancast:focus > span,.zocial.plancast:hover > span,.zocial.posterous:focus > span,.zocial.posterous:hover > span,.zocial.secondary:focus > span,.zocial.secondary:hover > span,.zocial.twitter:focus > span,.zocial.viadeo:focus > span,.zocial.viadeo:hover > span,.zocial.weibo:focus > span,.zocial.weibo:hover > span,.zocial.wikipedia:focus > span,.zocial.wikipedia:hover > span{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0.5)),color-stop(49%,rgba(255,255,255,0.2)),color-stop(51%,rgba(0,0,0,0.05)),to(rgba(0,0,0,0.15)));background:-moz-linear-gradient(top,rgba(255,255,255,0.5),rgba(255,255,255,0.2) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.15));background:-webkit-linear-gradient(top,rgba(255,255,255,0.5),rgba(255,255,255,0.2) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.15));background:-o-linear-gradient(top,rgba(255,255,255,0.5),rgba(255,255,255,0.2) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.15));background:-ms-linear-gradient(top,rgba(255,255,255,0.5),rgba(255,255,255,0.2) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.15));background:linear-gradient(top,rgba(255,255,255,0.5),rgba(255,255,255,0.2) 49%,rgba(0,0,0,0.05) 51%,rgba(0,0,0,0.15))}.zocial.bitcoin:active > span,.zocial.dropbox:active > span,.zocial.email:active > span,.zocial.github:active > span,.zocial.gmail:active > span,.zocial.instapaper:active > span,.zocial.itunes:active > span,.zocial.ninetyninedesigns:active > span,.zocial.openid:active > span,.zocial.plancast:active > span,.zocial.posterous:active > span,.zocial.secondary:active > span,.zocial.viadeo:active > span,.zocial.weibo:active > span,.zocial.wikipedia:active > span{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),color-stop(30%,rgba(255,255,255,0)),color-stop(50%,rgba(0,0,0,0)),to(rgba(0,0,0,0.1)));background:-moz-linear-gradient(bottom,rgba(255,255,255,0),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-webkit-linear-gradient(bottom,rgba(255,255,255,0),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-o-linear-gradient(bottom,rgba(255,255,255,0),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:-ms-linear-gradient(bottom,rgba(255,255,255,0),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1));background:linear-gradient(bottom,rgba(255,255,255,0),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.1))}.zocial.amazon > span:before{content:"a"}.zocial.android > span:before{content:"&"}.zocial.aol > span:before{content:"\""}.zocial.appstore > span:before{content:"A"}.zocial.bitcoin > span:before{content:"2";color:#f7931a !important}.zocial.blogger > span:before{content:"B"}.zocial.call > span:before{content:"7"}.zocial.chrome > span:before{content:"["}.zocial.cloudapp > span:before{content:"c"}.zocial.creativecommons > span:before{content:"C"}.zocial.disqus > span:before{content:"Q"}.zocial.dribbble > span:before{content:"D"}.zocial.dropbox > span:before{content:"d";color:#1f75cc !important}.zocial.email > span:before{content:"]";color:#312c2a !important}.zocial.eventasaurus > span:before{content:"v"}.zocial.eventbrite > span:before{content:"|"}.zocial.evernote > span:before{content:"E"}.zocial.facebook > span:before{content:"f"}.zocial.fivehundredpx > span:before{content:"0";color:#29b6ff !important}.zocial.flattr > span:before{content:"%"}.zocial.forrst > span:before{content:":";color:#50894f !important}.zocial.foursquare > span:before{content:"4"}.zocial.github > span:before{content:"g"}.zocial.gmail > span:before{content:"m";color:#f00 !important}.zocial.google > span:before{content:"G"}.zocial.googleplus > span:before{content:"+"}.zocial.gowalla > span:before{content:"@"}.zocial.grooveshark > span:before{content:"K"}.zocial.guest > span:before{content:"?"}.zocial.html5 > span:before{content:"5"}.zocial.ie > span:before{content:"6"}.zocial.instapaper > span:before{content:"I"}.zocial.intensedebate > span:before{content:"{"}.zocial.itunes > span:before{content:"i";color:#1a6dd2 !important}.zocial.lastfm > span:before{content:"l"}.zocial.linkedin > span:before{content:"L"}.zocial.macstore > span:before{content:"^"}.zocial.meetup > span:before{content:"M"}.zocial.myspace > span:before{content:"_"}.zocial.ninetyninedesigns > span:before{content:"9";color:#f50 !important}.zocial.openid > span:before{content:"o";color:#ff921d !important}.zocial.paypal > span:before{content:"$"}.zocial.pinboard > span:before{content:"n"}.zocial.pinterest > span:before{content:"1"}.zocial.plancast > span:before{content:"P"}.zocial.plurk > span:before{content:"j"}.zocial.podcast > span:before{content:"`"}.zocial.posterous > span:before{content:"~"}.zocial.quora > span:before{content:"q"}.zocial.rss > span:before{content:"R"}.zocial.scribd > span:before{content:"}";color:#00d5ea !important}.zocial.skype > span:before{content:"S"}.zocial.smashing > span:before{content:"*"}.zocial.songkick > span:before{content:"k"}.zocial.soundcloud > span:before{content:"s"}.zocial.spotify > span:before{content:"="}.zocial.stumbleupon > span:before{content:"/"}.zocial.tumblr > span:before{content:"t"}.zocial.twitter > span:before{content:"T"}.zocial.viadeo > span:before{content:"H";color:#f59b20 !important}.zocial.vimeo > span:before{content:"V"}.zocial.weibo > span:before{content:"J";color:#e6162d !important}.zocial.wikipedia > span:before{content:","}.zocial.windows > span:before{content:"W"}.zocial.wordpress > span:before{content:"w"}.zocial.yahoo > span:before{content:"Y"}.zocial.yelp > span:before{content:"y"}.zocial.youtube > span:before{content:"U"}.zocial.amazon{background:#ffad1d;color:#030037 !important;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.zocial.android{background:#a4c639}.zocial.aol{background:#f00}.zocial.appstore{background:#000}.zocial.bitcoin{background:#efefef;color:#4d4d4d !important}.zocial.blogger{background:#ee5a22}.zocial.call{background:#008000}.zocial.chrome{background:#006cd4}.zocial.cloudapp{background:#fff;color:#312c2a !important}.zocial.creativecommons{background:#000}.zocial.disqus{background:#5d8aad}.zocial.dribbble{background:#ea4c89}.zocial.dropbox{background:#fff;color:#312c2a !important}.zocial.email{background:#f0f0eb;color:#312c2a !important}.zocial.eventasaurus{background:#8ccc33}.zocial.eventbrite{background:#ff5616}.zocial.evernote{background:#6bb130;color:#fff !important}.zocial.facebook{background:#4863ae}.zocial.fivehundredpx{background:#333}.zocial.flattr{background:#8aba42}.zocial.forrst{background:#1e360d}.zocial.foursquare{background:#44a8e0}.zocial.github{background:#fbfbfb;color:#050505 !important}.zocial.gmail{background:#efefef;color:#222 !important}.zocial.google{background:#4e6cf7}.zocial.googleplus{background:#dd4b39}.zocial.gowalla{background:#ff720a}.zocial.grooveshark{background:#111;color:#eee !important}.zocial.guest{background:#1b4d6d}.zocial.html5{background:#ff3617}.zocial.ie{background:#00a1d9}.zocial.instapaper{background:#eee;color:#222 !important}.zocial.intensedebate{background:#0099e1}.zocial.itunes{background:#efefeb;color:#312c2a !important}.zocial.lastfm{background:#dc1a23}.zocial.linkedin{background:#0083a8}.zocial.macstore{background:#007dcb}.zocial.meetup{background:#ff0026}.zocial.myspace{background:#000}.zocial.ninetyninedesigns{background:#fff;color:#072243 !important}.zocial.openid{background:#f5f5f5;color:#333 !important}.zocial.paypal{background:#ff921d;color:#032751 !important;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.zocial.pinboard{background:blue}.zocial.pinterest{background:#c91618}.zocial.plancast{background:#e7ebed;color:#333 !important}.zocial.plurk{background:#cf682f}.zocial.podcast{background:#9365ce}.zocial.posterous{background:#ffd959;color:#bc7134 !important}.zocial.quora{background:#a82400}.zocial.rss{background:#ff7f25}.zocial.scribd{background:#231c1a}.zocial.skype{background:#00a2ed}.zocial.smashing{background:#ff4f27}.zocial.songkick{background:#ff0050}.zocial.soundcloud{background:#ff4500}.zocial.spotify{background:#60af00}.zocial.stumbleupon{background:#eb4924}.zocial.tumblr{background:#374a61}.zocial.twitter{background:#46c0fb}.zocial.viadeo{background:#fff;color:#000 !important}.zocial.vimeo{background:#00a2cd}.zocial.weibo{background:#faf6f1;color:#000 !important}.zocial.wikipedia{background:#fff;color:#000 !important}.zocial.windows{background:#0052a4;color:#FFF !important}.zocial.wordpress{background:#464646}.zocial.yahoo{background:#a200c2}.zocial.yelp{background:#e60010}.zocial.youtube{background:#f00}.zocial.primary > span,.zocial.secondary > span{margin:0.1em 0;padding:0 1em}.zocial.primary > span:before,.zocial.secondary > span:before{display:none}.zocial.primary{background:#333}.zocial.secondary{background:#f0f0eb;color:#222 !important;text-shadow:0 1px 0 rgba(255,255,255,0.8)}button::-moz-focus-inner{border:0;padding:0}.statusbar{position:fixed;top:95px;left:15px;right:14px;height:10px;padding:5px; background:#e5ffe5;color:#070;border:#070 1px solid;opacity:.70;filter:alpha(opacity="70");z-index:10;overflow:hidden;overflow-y:auto}.statusbarhighlight{font-weight:bold;background-color:khaki;color:Maroon;border:solid 1px silver}.statusbarerror{font-weight:bold;background-color:#ffe5e5;color:#c00;border:#c00 1px solid}.ajax_more{float:right;width:16px;height:16px;margin:0px 2px 2px 0px}.ajax_more.collapsed{background:url(../../img/icon_blue_plus15px.png) no-repeat left top}.ajax_more.expanded{background:url(../../img/icon_blue_minus15px.png) no-repeat left top}.ajax_throbber{width:32px;height:32px;background:url(../../img/ajax-loader.gif) no-repeat left top}#calendar{}#calendar_wrap{padding:20px}#calendar table{width:100%}#calendar tbody td{text-align:center}#calendar #next{text-align:right} .tag_row{height:20px;padding:5px 5px 5px 5px}.tag_col{padding:0px 5px 0px 0px}.tag_on,.tag_on:hover{color:white;background-color:#79A73B;padding:5px 5px 5px 5px }.tag_off,.tag_off:hover{color:black;background-color:#dddddd;padding:5px 5px 5px 5px }.calendar{z-index:99;position:relative;display:none;border-top:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;border-left:2px solid #fff;font-size:11px;color:#000;cursor:default;background:#d4d0c8;font-family:tahoma,verdana,sans-serif}.calendar table{border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;font-size:11px;color:#000;cursor:default;background:#d4d0c8;font-family:tahoma,verdana,sans-serif}.calendar .button{text-align:center;padding:1px;border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff}.calendar .nav{background:transparent}.calendar thead .title{font-weight:bold;padding:1px;border:1px solid #000;background:#848078;color:#fff;text-align:center}.calendar thead .name{border-bottom:1px solid #000;padding:2px;text-align:center;background:#f4f0e8}.calendar thead .weekend{color:#f00}.calendar thead .hilite{border-top:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;border-left:2px solid #fff;padding:0;background-color:#e4e0d8}.calendar thead .active{padding:2px 0 0 2px;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;background-color:#c4c0b8}.calendar tbody .day{width:2em;text-align:right;padding:2px 4px 2px 2px}.calendar tbody .day.othermonth{font-size:80%;color:#aaa}.calendar tbody .day.othermonth.oweekend{color:#faa}.calendar table .wn{padding:2px 3px 2px 2px;border-right:1px solid #000;background:#f4f0e8}.calendar tbody .rowhilite td{background:#e4e0d8}.calendar tbody .rowhilite td.wn{background:#d4d0c8}.calendar tbody td.hilite{padding:1px 3px 1px 1px;border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff}.calendar tbody td.active{padding:2px 2px 0 2px;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000}.calendar tbody td.selected{font-weight:bold;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000;padding:2px 2px 0 2px;background:#e4e0d8}.calendar tbody td.weekend{color:#f00}.calendar tbody td.today{font-weight:bold;color:#00f}.calendar tbody .disabled{color:#999}.calendar tbody .emptycell{visibility:hidden}.calendar tbody .emptyrow{display:none}.calendar tfoot .ttip{background:#f4f0e8;padding:1px;border:1px solid #000;background:#848078;color:#fff;text-align:center}.calendar tfoot .hilite{border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff;padding:1px;background:#e4e0d8}.calendar tfoot .active{padding:2px 0 0 2px;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000}.calendar .combo{position:absolute;display:none;width:4em;top:0;left:0;cursor:default;border-top:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;border-left:1px solid #fff;background:#e4e0d8;font-size:90%;padding:1px;z-index:100}.calendar .combo .label,.calendar .combo .label-IEfix{text-align:center;padding:1px}.calendar .combo .label-IEfix{width:4em}.calendar .combo .active{background:#c4c0b8;padding:0;border-top:1px solid #000;border-right:1px solid #fff;border-bottom:1px solid #fff;border-left:1px solid #000}.calendar .combo .hilite{background:#048;color:#fea}.calendar td.time{border-top:1px solid #000;padding:1px 0;text-align:center;background-color:#f4f0e8}.calendar td.time .hour,.calendar td.time .minute,.calendar td.time .ampm{padding:0 3px 0 4px;border:1px solid #889;font-weight:bold;background-color:#fff}.calendar td.time .ampm{text-align:center}.calendar td.time .colon{padding:0 2px 0 3px;font-weight:bold}.calendar td.time span.hilite{border-color:#000;background-color:#766;color:#fff}.calendar td.time span.active{border-color:#f00;background-color:#000;color:#0f0}#CP_hourcont{z-index:99;padding:0;position:absolute;border:1px dashed #666;background-color:#eee;display:none}#CP_minutecont{z-index:99;background-color:#ddd;padding:1px;position:absolute;width:45px;display:none}.floatleft{float:left}.CP_hour{z-index:99;padding:1px;font-family:Arial,Helvetica,sans-serif;font-size:9px;white-space:nowrap;cursor:pointer;width:35px}.CP_minute{z-index:99;padding:1px;font-family:Arial,Helvetica,sans-serif;font-size:9px;white-space:nowrap;cursor:pointer;width:auto}.CP_over{background-color:#fff;z-index:99}.olControlMousePosition{font-size:10px;background-color:white}.crosshair{cursor:crosshair}#mappnlcntr .zoomfull{background-image:url(../../img/gis/mapfish/icon_zoomfull.png) !important;height:20px !important;width:20px !important}#mappnlcntr .zoomin{background-image:url(../../img/gis/mapfish/icon_zoomin.png) !important;height:20px !important;width:20px !important}#mappnlcntr .zoomout{background-image:url(../../img/gis/mapfish/icon_zoomout.png) !important;height:20px !important;width:20px !important}#mappnlcntr .pan-off{background-image:url(../../img/gis/mapfish/icon_pan.png) !important;height:20px !important;width:20px !important}#mappnlcntr .measure-off{background-image:url(../../img/gis/measuring-stick-off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .measure-area{background-image:url(../../img/gis/measure-area-off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .modifyfeature{background-image:url(../../img/gis/mapfish/move_vertex_off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .drawpoint-off{background-image:url(../../img/gis/add_point_off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .drawline-off{background-image:url(../../img/gis/mapfish/draw_line_off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .drawpolygon-off{background-image:url(../../img/gis/mapfish/draw_polygon_off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .info{background-image:url(../../img/gis/mapfish/info.png) !important;height:20px !important;width:20px !important}#mappnlcntr .searchclick{background-image:url(../../img/ext/information.png) !important;height:20px !important;width:20px !important}#mappnlcntr .searchbox{background-image:url(../../img/ext/information-box.png) !important;height:20px !important;width:20px !important}#mappnlcntr .back{background-image:url(../../img/gis/mapfish/resultset_previous.png) !important;height:20px !important;width:20px !important}#mappnlcntr .next{background-image:url(../../img/gis/mapfish/resultset_next.png) !important;height:20px !important;width:20px !important}#mappnlcntr .save{background-image:url(../../img/ext/save.gif) !important;height:20px !important;width:20px !important}.x-btn-text.geolocation{background-image:url(../../img/gis/geolocation.png) !important;height:20px !important;width:20px !important}.x-btn-text.potlatch{background-image:url(../../img/gis/openstreetmap.png) !important;height:20px !important;width:20px !important}.x-btn-text.googleearth{background-image:url(../../img/gis/geosilk/google_earth.png) !important;height:20px !important;width:20px !important}.x-btn-text.streetview{background-image:url(../../img/gis/streetview.png) !important;height:20px !important;width:20px !important}.gxp-icon-addlayers{background-image:url(../../img/silk/add.png) !important}.gxp-icon-addserver{background-image:url(../../img/silk/server_add.png) !important}.gxp-icon-getfeatureinfo{background-image:url(../../img/silk/information.png) !important}.gxp-icon-removelayers{background-image:url(../../img/silk/delete.png) !important}.gxp-icon-layerproperties{background-image:url(../../img/silk/wrench.png) !important}#mappnlcntr .movefeature{background-image:url(../../img/gis/arrow_refresh.png) !important;height:20px !important;width:20px !important}#mappnlcntr .removefeature{background-image:url(../../img/gis/remove_point_off.png) !important;height:20px !important;width:20px !important}#mappnlcntr .resizefeature{background-image:url(../../img/gis/resize.png) !important;height:20px !important;width:20px !important}#mappnlcntr .rotatefeature{background-image:url(../../img/gis/arrow_rotate_clockwise.png) !important;height:20px !important;width:20px !important} div.olFramedCloudPopupContent label{padding-right:5px}#georsspopup h2{margin:0}#kmlpopup h2{margin:0}.olControlcdauthGeoLocation{position:absolute;right:3px;font-size:smaller;bottom:6em}.gx-popup-anc{background:transparent url(../../img/gis/geoext/anchor.png) no-repeat 0 0;position:relative;top:-1px;left:5px;z-index:2;height:16px;width:31px}.gx-ruledrag-insert-below{border-bottom:1px dotted}.gx-ruledrag-insert-above{border-top:1px dotted}.x-btn .icon-print{ background-image:url(../../img/silk/printer.png)}.gx-printpreview{padding:5px}.gx-printpreview textarea.x-form-field{padding:1px 1px 1px 3px}.gx-map-overlay{z-index:1000; position:absolute; right:10px; bottom:10px;text-align:left}.gx-map-overlay .x-panel-body{background-color:#D0DEF0}.gx-map-overlay .olControlScaleLine{bottom:0;left:0;position:relative !important}.gx-northarrow{background:transparent url(../../img/gis/geoext/north_arrow.png) no-repeat;*-background:none;*-filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../img/gis/geoext/north_arrow.png',sizingMethod='crop');height:24px;width:24px}.gx-item-nowrap .x-box-item{white-space:nowrap}.olLayerGoogleCopyright{right:3px;bottom:2px;left:auto}.olLayerGoogleV3.olLayerGoogleCopyright{bottom:0px; right:110px !important}.olLayerGooglePoweredBy{left:2px;bottom:2px; }.olLayerGoogleV3.olLayerGooglePoweredBy{bottom:0px !important}div.olMap{z-index:0;padding:0 !important;margin:0 !important;cursor:default}div.olMapViewport{text-align:left}div.olLayerDiv{ -moz-user-select:none; -khtml-user-select:none}.olControlAttribution{font-size:smaller;right:3px;bottom:4.5em;position:absolute;display:block}.olControlScale{right:3px;bottom:3em;display:block;position:absolute;font-size:smaller}.olControlScaleLine{ display:block; position:absolute; left:10px; bottom:15px; font-size:xx-small}.olControlScaleLineBottom{ border:solid 2px black; border-bottom:none; margin-top:-2px; text-align:center}.olControlScaleLineTop{ border:solid 2px black; border-top:none; text-align:center}.olControlPermalink{right:3px;bottom:1.5em;display:block;position:absolute;font-size:smaller}div.olControlMousePosition{bottom:0;right:3px;display:block;position:absolute;font-family:Arial;font-size:smaller}.olControlOverviewMapContainer{position:absolute;bottom:0;right:0}.olControlOverviewMapElement{padding:10px 18px 10px 10px;background-color:#00008B;-moz-border-radius:1em 0 0 0}.olControlOverviewMapMinimizeButton,.olControlOverviewMapMaximizeButton{height:18px;width:18px;right:0;bottom:80px;cursor:pointer}.olControlOverviewMapExtentRectangle{overflow:hidden;background-image:url("../../img/gis/openlayers/blank.gif");cursor:move;border:2px dotted red}.olControlOverviewMapRectReplacement{overflow:hidden;cursor:move;background-image:url("../../img/gis/openlayers/theme_default/overview_replacement.gif");background-repeat:no-repeat;background-position:center}.olLayerGeoRSSDescription{float:left;width:100%;overflow:auto;font-size:1.0em}.olLayerGeoRSSClose{float:right;color:gray;font-size:1.2em;margin-right:6px;font-family:sans-serif}.olLayerGeoRSSTitle{float:left;font-size:1.2em}.olPopupContent{padding:5px;overflow:auto} .olControlNavigationHistory{ background-image:url("../../img/gis/openlayers/theme_default/navigation_history.png"); background-repeat:no-repeat; width:24px; height:24px}.olControlNavigationHistoryPreviousItemActive{background-position:0 0}.olControlNavigationHistoryPreviousItemInactive{ background-position:0 -24px}.olControlNavigationHistoryNextItemActive{ background-position:-24px 0}.olControlNavigationHistoryNextItemInactive{ background-position:-24px -24px}div.olControlSaveFeaturesItemActive{background-image:url(../../img/gis/openlayers/theme_default/save_features_on.png);background-repeat:no-repeat;background-position:0 1px}div.olControlSaveFeaturesItemInactive{background-image:url(../../img/gis/openlayers/theme_default/save_features_off.png);background-repeat:no-repeat;background-position:0 1px}.olHandlerBoxZoomBox{border:2px solid red;position:absolute;background-color:white;opacity:0.50;font-size:1px;filter:alpha(opacity=50)}.olHandlerBoxSelectFeature{border:2px solid blue;position:absolute;background-color:white;opacity:0.50;font-size:1px;filter:alpha(opacity=50)}.olControlPanZoomBar div{font-size:1px}.olPopupCloseBox{background:url("../../img/gis/openlayers/theme_default/close.gif") no-repeat;cursor:pointer}.olFramedCloudPopupContent{padding:5px;overflow:auto}.olControlNoSelect{-moz-user-select:none;-khtml-user-select:none}.olImageLoadError{background-color:pink;opacity:0.5;filter:alpha(opacity=50);}.olCursorWait{cursor:wait}.olDragDown{cursor:move}.olDrawBox{cursor:crosshair}.olControlDragFeatureOver{cursor:move}.olControlDragFeatureActive.olControlDragFeatureOver.olDragDown{cursor:-moz-grabbing}.olControlLayerSwitcher{position:absolute;top:25px;right:0;width:20em;font-family:sans-serif;font-weight:bold;margin-top:3px;margin-left:3px;margin-bottom:3px;font-size:smaller;color:white;background-color:transparent}.olControlLayerSwitcher .layersDiv{padding-top:5px;padding-left:10px;padding-bottom:5px;padding-right:10px;background-color:darkblue;}.olControlLayerSwitcher .layersDiv .baseLbl,.olControlLayerSwitcher .layersDiv .dataLbl{margin-top:3px;margin-left:3px;margin-bottom:3px}.olControlLayerSwitcher .layersDiv .baseLayersDiv,.olControlLayerSwitcher .layersDiv .dataLayersDiv{padding-left:10px}.olControlLayerSwitcher .maximizeDiv,.olControlLayerSwitcher .minimizeDiv{width:18px;height:18px;top:5px;right:0;cursor:pointer}.olBingAttribution{color:#DDD}.olBingAttribution.road{color:#333}.olGoogleAttribution.hybrid,.olGoogleAttribution.satellite{color:#EEE}.olGoogleAttribution{color:#333}span.olGoogleAttribution a{color:#77C}span.olGoogleAttribution.hybrid a,span.olGoogleAttribution.satellite a{color:#EEE}.olControlNavToolbar ,.olControlEditingToolbar{margin:5px 5px 0 0}.olControlNavToolbar div,.olControlEditingToolbar div{background-image:url("../../img/gis/openlayers/theme_default/editing_tool_bar.png");background-repeat:no-repeat;margin:0 0 5px 5px;width:24px;height:22px;cursor:pointer}.olControlEditingToolbar{right:0;top:0}.olControlNavToolbar{top:295px;left:9px}.olControlEditingToolbar div{float:right}.olControlNavToolbar .olControlNavigationItemInactive,.olControlEditingToolbar .olControlNavigationItemInactive{background-position:-103px -1px}.olControlNavToolbar .olControlNavigationItemActive ,.olControlEditingToolbar .olControlNavigationItemActive{background-position:-103px -24px}.olControlNavToolbar .olControlZoomBoxItemInactive{background-position:-128px -1px}.olControlNavToolbar .olControlZoomBoxItemActive{background-position:-128px -24px}.olControlEditingToolbar .olControlDrawFeaturePointItemInactive{background-position:-77px -1px}.olControlEditingToolbar .olControlDrawFeaturePointItemActive{background-position:-77px -24px}.olControlEditingToolbar .olControlDrawFeaturePathItemInactive{background-position:-51px -1px}.olControlEditingToolbar .olControlDrawFeaturePathItemActive{background-position:-51px -24px}.olControlEditingToolbar .olControlDrawFeaturePolygonItemInactive{background-position:-26px -1px}.olControlEditingToolbar .olControlDrawFeaturePolygonItemActive{background-position:-26px -24px}div.olControlZoom{position:absolute;top:8px;left:8px;background:rgba(255,255,255,0.4);border-radius:4px;padding:2px}div.olControlZoom a{display:block;margin:1px;padding:0;color:white;font-size:18px;font-family:'Lucida Grande',Verdana,Geneva,Lucida,Arial,Helvetica,sans-serif;font-weight:bold;text-decoration:none;text-align:center;height:22px;width:22px;line-height:19px;background:#130085; background:rgba(0,60,136,0.5);filter:alpha(opacity=80)}div.olControlZoom a:hover{background:#130085; background:rgba(0,60,136,0.7);filter:alpha(opacity=100)}@media only screen and (max-width:600px){div.olControlZoom a:hover{background:rgba(0,60,136,0.5)}}a.olControlZoomIn{border-radius:4px 4px 0 0}a.olControlZoomOut{border-radius:0 0 4px 4px}.olLayerGrid .olTileImage{-webkit-transition:opacity 0.2s linear;-moz-transition:opacity 0.2s linear;-o-transition:opacity 0.2s linear;transition:opacity 0.2s linear}.olControlZoomPanel div{background-image:url(../../img/gis/openlayers/theme_default/zoom-panel-NOALPHA.png)}.olControlPanPanel div{background-image:url(../../img/gis/openlayers/theme_default/pan-panel-NOALPHA.png)}.ie7 div.map-overlay{width:240px}.ie7 .overlay-scalechooser{width:110px}.ie7 .overlay-scaleline{width:100px;padding-bottom:5px}.ie7 .gx-layer-menu{min-width:220px}.ie7 .ext-ie6 .x-menu-item-icon{left:-24px} \ No newline at end of file diff --git a/static/styles/gis/style.css b/static/styles/gis/style.css index 1e4ed3651d..b031a2486d 100755 --- a/static/styles/gis/style.css +++ b/static/styles/gis/style.css @@ -1,7 +1,7 @@ div.olMap { z-index: 0; - padding: 0px!important; - margin: 0px!important; + padding: 0 !important; + margin: 0 !important; cursor: default; } @@ -11,13 +11,14 @@ div.olMapViewport { div.olLayerDiv { -moz-user-select: none; + -khtml-user-select: none; } .olControlAttribution { - font-size: smaller; - right: 3px; - bottom: 4.5em; - position: absolute; + font-size: smaller; + right: 3px; + bottom: 4.5em; + position: absolute; display: block; } .olControlScale { @@ -52,10 +53,10 @@ div.olLayerDiv { display: block; position: absolute; font-size: smaller; -} +} div.olControlMousePosition { - bottom: 0em; + bottom: 0; right: 3px; display: block; position: absolute; @@ -65,8 +66,8 @@ div.olControlMousePosition { .olControlOverviewMapContainer { position: absolute; - bottom: 0px; - right: 0px; + bottom: 0; + right: 0; } .olControlOverviewMapElement { @@ -75,14 +76,13 @@ div.olControlMousePosition { -moz-border-radius: 1em 0 0 0; } -.olControlOverviewMapMinimizeButton { - right: 0px; - bottom: 80px; -} - +.olControlOverviewMapMinimizeButton, .olControlOverviewMapMaximizeButton { - right: 0px; + height: 18px; + width: 18px; + right: 0; bottom: 80px; + cursor: pointer; } .olControlOverviewMapExtentRectangle { @@ -121,103 +121,35 @@ div.olControlMousePosition { padding: 5px; overflow: auto; } -.olControlNavToolbar { - width: 0px; - height: 0px; -} -.olControlNavToolbar div { - display: block; - width: 28px; - height: 28px; - top: 300px; - left: 6px; - position: relative; -} .olControlNavigationHistory { background-image: url("../../img/gis/openlayers/theme_default/navigation_history.png"); background-repeat: no-repeat; width: 24px; height: 24px; - } -.olControlNavigationHistoryPreviousItemActive { - background-position: 0px 0px; +.olControlNavigationHistoryPreviousItemActive { + background-position: 0 0; } -.olControlNavigationHistoryPreviousItemInactive { - background-position: 0px -24px; +.olControlNavigationHistoryPreviousItemInactive { + background-position: 0 -24px; } -.olControlNavigationHistoryNextItemActive { - background-position: -24px 0px; +.olControlNavigationHistoryNextItemActive { + background-position: -24px 0; } -.olControlNavigationHistoryNextItemInactive { +.olControlNavigationHistoryNextItemInactive { background-position: -24px -24px; } -.olControlNavToolbar .olControlNavigationItemActive { - background-image: url("../../img/gis/openlayers/theme_default/panning-hand-on.png"); - background-repeat: no-repeat; -} -.olControlNavToolbar .olControlNavigationItemInactive { - background-image: url("../../img/gis/openlayers/theme_default/panning-hand-off.png"); - background-repeat: no-repeat; -} -.olControlNavToolbar .olControlZoomBoxItemActive { - background-image: url("../../img/gis/openlayers/theme_default/drag-rectangle-on.png"); - background-color: orange; - background-repeat: no-repeat; -} -.olControlNavToolbar .olControlZoomBoxItemInactive { - background-image: url("../../img/gis/openlayers/theme_default/drag-rectangle-off.png"); - background-repeat: no-repeat; -} -.olControlEditingToolbar { - float: right; - right: 0px; - height: 30px; - width: 200px; -} -.olControlEditingToolbar div { - background-image: url("../../img/gis/openlayers/theme_default/editing_tool_bar.png"); - background-repeat: no-repeat; - float: right; - width: 24px; - height: 24px; - margin: 5px; -} -.olControlEditingToolbar .olControlNavigationItemActive { - background-position: -103px -23px; -} -.olControlEditingToolbar .olControlNavigationItemInactive { - background-position: -103px -0px; -} -.olControlEditingToolbar .olControlDrawFeaturePointItemActive { - background-position: -77px -23px; -} -.olControlEditingToolbar .olControlDrawFeaturePointItemInactive { - background-position: -77px -0px; -} -.olControlEditingToolbar .olControlDrawFeaturePathItemInactive { - background-position: -51px 0px; -} -.olControlEditingToolbar .olControlDrawFeaturePathItemActive { - background-position: -51px -23px; -} -.olControlEditingToolbar .olControlDrawFeaturePolygonItemInactive { - background-position: -26px 0px; -} -.olControlEditingToolbar .olControlDrawFeaturePolygonItemActive { - background-position: -26px -23px ; -} -div.olControlSaveFeaturesItemActive { +div.olControlSaveFeaturesItemActive { background-image: url(../../img/gis/openlayers/theme_default/save_features_on.png); background-repeat: no-repeat; - background-position: 0px 1px; + background-position: 0 1px; } -div.olControlSaveFeaturesItemInactive { +div.olControlSaveFeaturesItemInactive { background-image: url(../../img/gis/openlayers/theme_default/save_features_off.png); background-repeat: no-repeat; - background-position: 0px 1px; + background-position: 0 1px; } .olHandlerBoxZoomBox { @@ -235,7 +167,7 @@ div.olControlSaveFeaturesItemInactive { opacity: 0.50; font-size: 1px; filter: alpha(opacity=50); -} +} /* Handled in geoexplorer.css */ /* @@ -253,20 +185,20 @@ div.olControlSaveFeaturesItemInactive { } .olControlPanPanel .olControlPanNorthItemInactive { - top: 0px; + top: 0; left: 9px; - background-position: 0px 0px; + background-position: 0 0; } .olControlPanPanel .olControlPanSouthItemInactive { top: 36px; left: 9px; - background-position: 18px 0px; + background-position: 18px 0; } .olControlPanPanel .olControlPanWestItemInactive { position: absolute; top: 18px; - left: 0px; - background-position: 0px 18px; + left: 0; + background-position: 0 18px; } .olControlPanPanel .olControlPanEastItemInactive { top: 18px; @@ -277,7 +209,7 @@ div.olControlSaveFeaturesItemInactive { .olControlZoomPanel { top: 71px; left: 14px; -} +} .olControlZoomPanel div { background-image: url(../../img/gis/openlayers/theme_default/zoom-panel.png); @@ -288,23 +220,32 @@ div.olControlSaveFeaturesItemInactive { } .olControlZoomPanel .olControlZoomInItemInactive { - top: 0px; - left: 0px; - background-position: 0px 0px; + top: 0; + left: 0; + background-position: 0 0; } .olControlZoomPanel .olControlZoomToMaxExtentItemInactive { top: 18px; - left: 0px; - background-position: 0px -18px; + left: 0; + background-position: 0 -18px; } .olControlZoomPanel .olControlZoomOutItemInactive { top: 36px; - left: 0px; - background-position: 0px 18px; + left: 0; + background-position: 0 18px; } */ + +/* + * When a potential text is bigger than the image it move the image + * with some headers (closes #3154) + */ +.olControlPanZoomBar div { + font-size: 1px; +} + .olPopupCloseBox { background: url("../../img/gis/openlayers/theme_default/close.gif") no-repeat; cursor: pointer; @@ -317,6 +258,7 @@ div.olControlSaveFeaturesItemInactive { .olControlNoSelect { -moz-user-select: none; + -khtml-user-select: none; } .olImageLoadError { @@ -351,7 +293,7 @@ div.olControlSaveFeaturesItemInactive { .olControlLayerSwitcher { position: absolute; top: 25px; - right: 0px; + right: 0; width: 20em; font-family: sans-serif; font-weight: bold; @@ -367,10 +309,12 @@ div.olControlSaveFeaturesItemInactive { padding-top: 5px; padding-left: 10px; padding-bottom: 5px; - padding-right: 75px; + padding-right: 10px; background-color: darkblue; + /* + padding-right: 75px; width: 100%; - height: 100%; + height: 100%; */ } .olControlLayerSwitcher .layersDiv .baseLbl, @@ -387,6 +331,147 @@ div.olControlSaveFeaturesItemInactive { .olControlLayerSwitcher .maximizeDiv, .olControlLayerSwitcher .minimizeDiv { + width: 18px; + height: 18px; top: 5px; - right: 0px; + right: 0; + cursor: pointer; +} + +.olBingAttribution { + color: #DDD; +} +.olBingAttribution.road { + color: #333; +} + +.olGoogleAttribution.hybrid, .olGoogleAttribution.satellite { + color: #EEE; +} +.olGoogleAttribution { + color: #333; +} +span.olGoogleAttribution a { + color: #77C; +} +span.olGoogleAttribution.hybrid a, span.olGoogleAttribution.satellite a { + color: #EEE; +} + +/** + * Editing and navigation icons. + * (using the editing_tool_bar.png sprint image) + */ +.olControlNavToolbar , +.olControlEditingToolbar { + margin: 5px 5px 0 0; +} +.olControlNavToolbar div, +.olControlEditingToolbar div { + background-image: url("../../img/gis/openlayers/theme_default/editing_tool_bar.png"); + background-repeat: no-repeat; + margin: 0 0 5px 5px; + width: 24px; + height: 22px; + cursor: pointer +} +/* positions */ +.olControlEditingToolbar { + right: 0; + top: 0; +} +.olControlNavToolbar { + top: 295px; + left: 9px; +} +/* layouts */ +.olControlEditingToolbar div { + float: right; +} +/* individual controls */ +.olControlNavToolbar .olControlNavigationItemInactive, +.olControlEditingToolbar .olControlNavigationItemInactive { + background-position: -103px -1px; +} +.olControlNavToolbar .olControlNavigationItemActive , +.olControlEditingToolbar .olControlNavigationItemActive { + background-position: -103px -24px; +} +.olControlNavToolbar .olControlZoomBoxItemInactive { + background-position: -128px -1px; +} +.olControlNavToolbar .olControlZoomBoxItemActive { + background-position: -128px -24px; +} +.olControlEditingToolbar .olControlDrawFeaturePointItemInactive { + background-position: -77px -1px; } +.olControlEditingToolbar .olControlDrawFeaturePointItemActive { + background-position: -77px -24px; +} +.olControlEditingToolbar .olControlDrawFeaturePathItemInactive { + background-position: -51px -1px; +} +.olControlEditingToolbar .olControlDrawFeaturePathItemActive { + background-position: -51px -24px; +} +.olControlEditingToolbar .olControlDrawFeaturePolygonItemInactive{ + background-position: -26px -1px; +} +.olControlEditingToolbar .olControlDrawFeaturePolygonItemActive { + background-position: -26px -24px; +} + +div.olControlZoom { + position: absolute; + top: 8px; + left: 8px; + background: rgba(255,255,255,0.4); + border-radius: 4px; + padding: 2px; +} +div.olControlZoom a { + display: block; + margin: 1px; + padding: 0; + color: white; + font-size: 18px; + font-family: 'Lucida Grande', Verdana, Geneva, Lucida, Arial, Helvetica, sans-serif; + font-weight: bold; + text-decoration: none; + text-align: center; + height: 22px; + width:22px; + line-height: 19px; + background: #130085; /* fallback for IE - IE6 requires background shorthand*/ + background: rgba(0, 60, 136, 0.5); + filter: alpha(opacity=80); +} +div.olControlZoom a:hover { + background: #130085; /* fallback for IE */ + background: rgba(0, 60, 136, 0.7); + filter: alpha(opacity=100); +} +@media only screen and (max-width: 600px) { + div.olControlZoom a:hover { + background: rgba(0, 60, 136, 0.5); + } +} +a.olControlZoomIn { + border-radius: 4px 4px 0 0; +} +a.olControlZoomOut { + border-radius: 0 0 4px 4px; +} + + +/** + * Animations + */ + +.olLayerGrid .olTileImage { + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + -o-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; +} \ No newline at end of file diff --git a/views/_map.html b/views/_map.html new file mode 100644 index 0000000000..f4e12596b8 --- /dev/null +++ b/views/_map.html @@ -0,0 +1,22 @@ +{{try:}}{{=H2(title)}} +{{except:}}{{pass}} +
    +{{try:}} + {{=XML(rheader)}} +
    +
    +{{except:}} +
    +
    +{{pass}} +
    +{{try:}}{{=form}} +{{except:}}{{pass}} +
    +

    +
    +{{try:}}{{=map}} +{{except:}}{{pass}} +
    +
    + diff --git a/views/map.html b/views/map.html new file mode 100644 index 0000000000..a254dc214a --- /dev/null +++ b/views/map.html @@ -0,0 +1,2 @@ +{{extend "layout.html"}} +{{include "_map.html"}} diff --git a/views/project/map.html b/views/project/map.html deleted file mode 100644 index a5f7c8b872..0000000000 --- a/views/project/map.html +++ /dev/null @@ -1,31 +0,0 @@ -{{extend "layout.html"}} -{{try:}} - {{=H2(title)}} -{{except:}} - {{pass}} -
    -
    -
    - {{try:}} - {{=form}} - {{except:}} - {{pass}} -
    -
    - {{try:}} - {{=legend}} - {{except:}} - {{pass}} -
    -
    -
    - {{try:}} - {{=P(instructions)}} - {{except:}} - {{pass}} - {{try:}} - {{=map}} - {{except:}} - {{pass}} -
    -