commit b898b57d38c8064e594bd184df0537d705e9faa8 Author: siane Date: Wed May 27 11:46:44 2026 +0900 First Commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f37804 --- /dev/null +++ b/.gitignore @@ -0,0 +1,66 @@ +# 백업 및 임시 파일 (요청하신 부분) +*.bak +*.tmp +*.temp +*~ +~* + +# OS 자동 생성 시스템 파일 +.DS_Store +Thumbs.db +desktop.ini + +# 로그 및 런타임 파일 +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# 환경 변수 및 비밀번호 (보안 필수) +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# IDE 및 편집기 설정 파일 +.idea/ +.vscode/ +*.suo +*.ntvs* +*.njsproj +*.sln +*.swp + +# 1. 먼저 프로젝트 루트의 모든 파일과 폴더를 제외합니다. +/* + +# 2. 필수 설정 파일들은 예외로 두어 Git 관리 대상에 포함합니다. +!.gitignore +!.env.example +!docker-compose.yml + +# 상위폴더 권한허용 +!/web/ +!/web/html/ +/web/html/* + +# 3. theme 폴더와 그 내부의 모든 것을 포함합니다. +!/web/html/theme/ +/web/html/theme/* +!/web/html/theme/*/ +/web/html/theme/basic/ + +# 4. extend 폴더와 그 내부의 모든 것을 포함합니다. +!/web/html/extend/ +/web/html/extend/* +!/web/html/extend/*/ + +!/web/conf.d/ +/web/conf.d/* +!/web/conf.d/*/ + +# (선택) 만약 db 폴더나 web/data 등 docker 실행 파일들이 루트에 있다면 +# 위에서 /* 로 이미 제외되었기 때문에 안전하지만, 명시적으로 적어주어도 좋습니다. +/db/ +/web/html/data/ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..7ab8d73 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,36 @@ +services: + web: + image: reg.siane.kr/apache-php:8.2.7 + #container_name: web + restart: always + depends_on: + - db + environment: + PUID: ${PUID} + PGID: ${PGID} + TZ: ${TZ} + volumes: + - ./web/html:/var/www/html + - ./web/conf.d/www-default.ini:/usr/local/etc/php/conf.d/www-default.ini + ports: + - 80:80 + + db: + image: mariadb:10.6.5 + #container_name: mariadb + restart: unless-stopped + #ports: + # - 3306:3306 + volumes: + - ./db/mysql:/var/lib/mysql + - ./db/conf.d:/etc/mysql/conf.d:ro + - ./db/backup:/backup + - ./db/log:/var/log/maria + environment: + TZ: ${TZ} + ALLOW_EMPTY_PASSWORD: "no" + MYSQL_ROOT_PASSWORD: ${DBROOTPW} + MYSQL_DATABASE: ${DBNAME} + MYSQL_USER: ${DBUSER} + MYSQL_PASSWORD: ${DBPW} + diff --git a/web/html/theme/AT_WEB01/AT_WEB01_게시판 설정.txt b/web/html/theme/AT_WEB01/AT_WEB01_게시판 설정.txt new file mode 100644 index 0000000..8249864 --- /dev/null +++ b/web/html/theme/AT_WEB01/AT_WEB01_게시판 설정.txt @@ -0,0 +1,116 @@ +1. 관리자 > 게시판그룹관리 > 게시판 그룹 추가 (at01_gall , at01_table) + +2. 게시판 관리 >게시판 추가 +그룹 at01_table (at01_FAQ [스킨: (테마) faq] , at01_QA [스킨: (테마) qa] ,at01_ing_project [스킨: (테마) basic_table] ,at01_news [스킨: (테마) basic_table]) +그룹 at01_gall (at01_gallery [스킨: (테마) gallery_table] , at01_gall_list [스킨: (테마) gall_list] ,at01_webzine [스킨: (테마) webzine]) + +3. 게시판 관리 > 해당 게시판 수정> 디자인/양식 > 상단 내용 > HTML 탭 클릭후 아래내용추가 + + +3.1 at01_gallery +
+


+
+

PRODUCT

+
+

골뱅이스토어는 최선의 서비스를 제공합니다.

+
+ +
+
+

갤러리형

+
+ +3.2 at01_gall_list + +
+


+
+

PRODUCT

+
+

골뱅이스토어는 최선의 서비스를 제공합니다.

+
+ +
+
+

리스트형

+
+ + +3.3 at01_webzine + +
+


+
+

PRODUCT

+
+

골뱅이스토어는 최선의 서비스를 제공합니다.

+
+ +
+
+

웹진형

+
+ + +3.4 at01_FAQ + +
+

+
+

CUSTOMER

+
+

골뱅이스토어는 최선의 서비스를 제공합니다.

+
+
+
+

자주묻는 질문

+

골뱅이스토어에게 문의하세요. 친절하게 답해드리겠습니다.

+
+ + +3.5 at01_ing_project + +
+


+
+

CUSTOMER

+
+

골뱅이스토어는 최선의 서비스를 제공합니다.

+
+ +
+
+

ING PROJECT

+
+ + +3.6 at01_news +
+


+
+

CUSTOMER

+
+

골뱅이스토어는 최선의 서비스를 제공합니다.

+
+ +
+
+

NEWS

+
+ + +3.7 at01_QA +
+

+
+

CUSTOMER

+
+

골뱅이스토어는 최선의 서비스를 제공합니다.

+
+
+
+

질문과 답변

+
+ + diff --git a/web/html/theme/AT_WEB01/_common.php b/web/html/theme/AT_WEB01/_common.php new file mode 100644 index 0000000..0030b94 --- /dev/null +++ b/web/html/theme/AT_WEB01/_common.php @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/business/_common.php b/web/html/theme/AT_WEB01/business/_common.php new file mode 100644 index 0000000..a849a18 --- /dev/null +++ b/web/html/theme/AT_WEB01/business/_common.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/business/business_area.php b/web/html/theme/AT_WEB01/business/business_area.php new file mode 100644 index 0000000..c034958 --- /dev/null +++ b/web/html/theme/AT_WEB01/business/business_area.php @@ -0,0 +1,219 @@ + + + + +
+


+
+

BUSINESS

+
+

골뱅이스토어는 최선의 서비스를 제공합니다.

+
+ +
+
+

사업영역

+
+ +
+
+
+
+
+
+
+
+
+

ATSTORE
TEMPLATE SKIN'S

+
+
+
+
+
+

골뱅이스토어에서 제작한 다양한 컨셉의 고급 스킨으로
멋진 홈페이지를 구현해 보세요!

+
+
+

+ 잘 만든 홈페이지는 시간이 지나도 그 가치를 간직합니다. 다년간의 노하우와 경험으로 가장최적화된 디자인과 기술력을 선보입니다. 제작이 완성된 후에도 꾸준한 소통으로 항상 만족할 수 있도록 노력하겠습니다. 기능은 동일하지만 다양한 효과를 주어 시각적으로 다른 것처럼 보여질 수 있습니다. 고객에게 홍보와 상품구매로 이어지는 최적화된 절차, 컨슈머의 이목을 끌기 위한 기능 개발 등 가치있는 홈페이지로써의 최적화된 '기술'을 개발하기 위해 노력합니다. +

+
+
+
+
+ +
+
+
+
+ +
+
+
+
+

0

+
+
+

SATISFIED
CUSTOMERS

+
+
+
+ +
+
+ +
+
+
+
+

0

+
+
+

COMPLETED
WORKS

+
+
+
+ +
+
+ +
+
+
+
+

0

+
+
+

SATISFIED
CUSTOMERS

+
+
+
+ +
+
+ +
+
+
+
+

0

+
+
+

COMPLETED
WORKS

+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+

함께 나아가는 골뱅이스토어입니다.

+
+
+

+ 잘 만든 홈페이지는 시간이 지나도 그 가치를 간직합니다. 다년간의 노하우와 경험으로 가장최적화된 디자인과 기술력을 선보입니다. 제작이 완성 된 후에도 꾸준한 소통으로 항상 만족할 수 있도록 노력하겠습니다. 기능은 동일하지만 다양한 효과를 주어 시각적으로 다른 것처럼 보여질 수 있습니다. 고객에게 홍보와 상품구매로 이어지는 최적화된 절차, 컨슈머의 이목을 끌기 위한 기능 개발 등 가치있는 홈페이지로써의 최적화된 '기술' 을 개발하기 위해 노력합니다. +

+
+
+
+
+

How We Work

+
+
+
+
+
+
+

EASY AND FAST

+
+
+

쉽게 사이트를 제작할수 있으며 빠른 시간안에 웹사이트를 만나볼 수 있습니다.

+
+
+
+
+
+
+
+

STRATEGY DEVELOPMENT

+
+
+

전문적 제작 컨설팅 및 다양한 경험을 바탕으로 제대로 된 웹 서비스를 재공합니다.

+
+
+
+
+
+
+
+

HIGH QUALITY

+
+
+

차별화된 디자인과 체계적인 제작으로 고객님이 만족하는 웹사이트를 제작합니다.

+
+
+
+
+
+
+
+

PROJECT MANAGEMENT

+
+
+

고객의 목적과 상황에 맞게 컨설팅 및 분석을 하여 고객의 맞는 웹서비스를 제공합니다.

+
+
+
+
+
+
+ +
+
+
+ + + + + diff --git a/web/html/theme/AT_WEB01/business/business_info.php b/web/html/theme/AT_WEB01/business/business_info.php new file mode 100644 index 0000000..423230f --- /dev/null +++ b/web/html/theme/AT_WEB01/business/business_info.php @@ -0,0 +1,169 @@ + + + + + +
+


+
+

BUSINESS

+
+

골뱅이스토어는 최선의 서비스를 제공합니다.

+
+ +
+
+

사업소개

+
+ +
+
+
+
+ +
+
+
    +
  • +
    + AT Store +

    고객사의 요구사항을 이해하려 합니다.

    +
    +
    +

    + 기술을 모르는 고객사들 또한 이쁘고 멋진 홈페이지를 만들고 싶어 합니다. 고객사의 원하는 바를 지속적인 협의를 통해 고객사의 요구사항을 최대한 반영하고 고객사와 골뱅이 모두 '만족' 할 수 있는 홈페이지를 만들려고 노력합니다. +

    +
    +
  • +
  • +
    + AT Store +

    기술 개발에 많은 시간을 투자합니다.

    +
    +
    +

    + 기능은 동일하지만 다양한 효과를 주어 시각적으로 다른 것처럼 보여질 수 있습니다. 고객에게 홍보와 상품구매로 이어지는 최적화된 절차, 컨슈머의 이목을 끌기 위한 기능 개발 등 가치있는 홈페이지로써의 최적화된 '기술'을 개발하기 위해 노력합니다. +

    +
    +
  • +
  • +
    + AT Store +

    고객사의 요구사항을 이해하려 합니다.

    +
    +
    +

    + 멋진 스킨, 물론 중요하지만 그보다 더 중요한 것은 웹에이전시 업체와의 지속적인 '소통'이라고 생각합니다. 운영 중 일어날 수 밖에 없는 유지보수에 대해 지속적으로 케어할 수 있도록 노력합니다. +

    +
    +
  • +
+
+
+
+ +
+
+
    +
  • +
    + +
    +
    +

    RESEARCH & STRATEGY

    +

    + 연구에서부터 실행에 이르기까지 고객의 의견과 원하는 스타일을 반영하여 홈페이지를 구축합니다. +

    +
    +
  • +
  • +
    + +
    +
    +

    WEB DESIGN

    +

    + 풍부한 경험과 무한한 상상력으로 성공적인 서비스를 창출합니다. +

    +
    +
  • +
  • +
    + +
    +
    +

    WEB DEVELOPMENT

    +

    + 골뱅이스토어는 회사의 이미지와 디자인을 결합하고 전달하여 감정을 불러 일으키고 전략을 유도합니다. +

    +
    +
  • +
  • +
    + +
    +
    +

    BUILDING WEB SERVICES

    +

    + 골뱅이스토어는 고품질의 설계 및 웹사이트 구축을 제공하기 위해 최선을 다하고 있습니다. +

    +
    +
  • +
  • +
    + +
    +
    +

    STRATEGIC THINKIN

    +

    + 말로만 앞서지 않고 직접 보여드리는 서비스를 제공합니다. 웹사이트 제작은 고객의 목적과 상황에 맞게 컨설팅 후 웹사이트를 제작합니다. +

    +
    +
  • +
  • +
    + +
    +
    +

    AT Store MAINTENANCE

    +

    + 웹에이전시 업체와의 지속적인 '소통'이라고 생각합니다. 운영 중 일어날 수 밖에 없는 유지보수에 대해 지속적으로 케어할 수 있도록 노력합니다. +

    +
    +
  • +
+
+
+
+
+
+ +
+
+
+

ATSTORETEMPLATE SKIN'S

+

+ 골뱅이스토어에서 제작한 다양한 컨셉의 고급 스킨으로
멋진 홈페지를 구현해보세요! +

+
+
+

+ 잘 만든 홈페이지는 시간이 지나도 그 가치를 간직합니다. + 다년간의 노하우와 경험으로 가장 최적화된 디자인과 기술력을 선보입니다. + 제작이 완성된 후에도 꾸준한 소통으로 항상 만족할 수 있도록 노력하겠습니다. + 기능은 동일하지만 다양한 효과를 주어 시각적으로 다른 것처럼 보여질 수 있습니다. 고객에게 홍보와 상품구매로 이어지는 최적화된 절차, 컨슈머의 이목을 끌기 위한 기능 개발 등 가치있는 홈페이지로써의 최적회된 '기술'을 개발하기 위해 노력합니다. +

+
+
+ +
+
+
+ \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/company/_common.php b/web/html/theme/AT_WEB01/company/_common.php new file mode 100644 index 0000000..a849a18 --- /dev/null +++ b/web/html/theme/AT_WEB01/company/_common.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/company/directions.php b/web/html/theme/AT_WEB01/company/directions.php new file mode 100644 index 0000000..8cb6b50 --- /dev/null +++ b/web/html/theme/AT_WEB01/company/directions.php @@ -0,0 +1,92 @@ + + + +
+


+
+

COMPANY

+
+

골뱅이스토어는 최선의 서비스를 제공합니다.

+
+ +
+
+

찾아오시는 길

+

골뱅이스토어로 찾아오시는 길을 안내해드립니다.

+
+ +
+
+
+ + +
+ + + + + + +
+
+
+
+ +

주소

+
+
    +
  • +

    + 서울특별시 금천구 가산디지털 1로 137 IT캐슬2차 401호 +

    +
  • +
+
+
+
+ +

대중교통

+
+
    +
  • +

    + 1호선, 7호선 가산디지털단지역 5번 출구로 나와서 우림라이온스밸리 앞에 있는 횡단보도 건넌 후 약 130m 직진 +

    +
  • +
  • +
      +
    • + 지선 +

      21번

      +
    • +
    • + 간선 +

      503번

      +
    • +
    +

    + 디지털3단지사거리 정류장에서 하차 후 야치과의원 방면으로 횡단 후 약 205m 이동 뒤 왼쪽 방향으로 돌고 약 150m 직진 +

    +
  • +
+
+
+
+
+ \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/company/history.php b/web/html/theme/AT_WEB01/company/history.php new file mode 100644 index 0000000..53ce197 --- /dev/null +++ b/web/html/theme/AT_WEB01/company/history.php @@ -0,0 +1,279 @@ + + + + + + + + + + + +
+
+
+
+

HISTORY

+
+

가치있는 홈페이지를 만들기 위해 골뱅이스토어는 노력합니다.

+
+
+ +
+

연혁

+

골뱅이스토어가 걸어 온 길입니다.

+
+ +
+
+
+ + + +
+ + + +
+
+
+
+

2018

+
+
+
+ +
    +
  • + 2월 +

    움직이는 편의점 앱 프로젝트 수주

    +
  • +
  • + 3월 +

    움직이는 편의점 앱 프로젝트 수주

    +
  • +
  • + 4월 +

    (주)팀엔제이 "아이사랑" 앱 프로젝트 수주

    +
  • +
+ +
+ + + +
+
+
+
+

2017

+
+
+
+ +
    +
  • + 1월 +

    (자회사)포인트플러스 웹/앱 프로젝트 구축

    +
  • +
  • + 4월 +

    퍼피 웹 프로젝트 구축

    +
  • +
+ +
+ + + + + + +
+
+
+
+

2016

+
+
+
+ +
    +
  • + 9월 +

    모두나와 앱 프로젝트 구축

    +
  • +
+ +
+ +
+
+
+
+

2015

+
+
+
+ +
    +
  • + 1월 +

    바로나와 앱 프로젝트 구축

    +
  • +
  • + 4월 +

    큐레이팅커뮤니티 퍼비앱 프로젝트 구축

    +
  • +
+ +
+ + + +
+
+
+
+

2014

+
+
+
+ +
    +
  • + 5월 +

    캐쉬넛 앱 프로젝트 구축

    +
  • +
  • + 5월 +

    가산메뉴픽 웹/앱 프로젝트 구축

    +
  • +
  • + 11월 +

    시스템포유 도매쇼핑몰 웹 프로젝트 구축

    +
  • +
+ +
+ +
+
+
+
+

2013

+
+
+
+ +
    +
  • + 2월 +

    어플페이지 웹 프로젝트 구축

    +
  • +
+ +
+ + + + + +
+ +
+
+
+ +
+ + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/company/introduce.php b/web/html/theme/AT_WEB01/company/introduce.php new file mode 100644 index 0000000..8f54634 --- /dev/null +++ b/web/html/theme/AT_WEB01/company/introduce.php @@ -0,0 +1,332 @@ + + + + +
+
+
+
+
+

'골뱅이커뮤니케이션은'

+

온라인 마케팅 전문 기업입니다.

+

정확한 데이터와 골뱅이 커뮤니케이션만의 풍부한 경험으로
고객의 비즈니스 성장과 성공을 위해 최선을 다하고 있습니다.

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

골뱅이커뮤니케이션 목표

+

고객의 비즈니스 성장과 성공을 생각하는 마케팅

+
+
+
+
+
+
+
    +
  • +
    +
    +
    01. Professional
    +

    골뱅이커뮤니케이션은 각 분야별 최고의 마케팅 전문가들이
    성공을 위한 최적의 솔루션을 제안합니다.

    +
    +
  • +
  • +
    +
    +
    01. Professional
    +

    골뱅이커뮤니케이션은 각 분야별 최고의 마케팅 전문가들이
    성공을 위한 최적의 솔루션을 제안합니다.

    +
    +
  • +
  • +
    +
    +
    01. Professional
    +

    골뱅이커뮤니케이션은 각 분야별 최고의 마케팅 전문가들이
    성공을 위한 최적의 솔루션을 제안합니다.

    +
    +
  • +
+
+
+
+
+
+
+
+
+
+

골뱅이커뮤니케이션 비젼

+

마케팅에 감정을 더하다

+
+
+
+
+
+
+
+
+
한발 앞서가는 스마트한 마케팅
+

미래를 향한 노력과 급변하는 시대를
한발 먼저 나아가는 스마트한 마케팅

+
+
+
+
+
+
+
+
+
창의력적인 마케팅
+

다른 마케팅회사와 차별화 된
크리에이티브한 기획과 마케팅

+
+
+
+
+
+
+
+
+
함께 성장하는 마케팅
+

고객과 함께 같이 성장해가고 발전해가는
골뱅이커뮤니케이션

+
+
+
+
+
+
+
+
+
+
+

골뱅이커뮤니케이션 연혁

+
+
+
+
+
2018
+
+ 2018.04 +

디자인 아웃소싱 전문 플랫폼 디자인 및 개발

+
+
+
+
+
2017
+
+ 2017.05 +

티에이 영상광고 및 홍보 포스터 기획물 제작

+
+
+ 2017.07 +

기획 사업부 신설

+
+
+ 2017.09 +

마케팅 성과 측정 솔루션

+
+
+
+
+
2016
+
+ 2016.03 +

호로나민씨 포스터 및 영상 제작

+
+
+ 2016.05 +

에이스컴퍼니 투자 유치 빅데이터 분석 연구소 설립

+
+
+ 2016.05 +

구로디지한국기획 인수

+
+
+
+
+
2015
+
+ 2015.04 +

디자인 개발 산업부 신설

+
+
+ 2015.11 +

미래전략사업부 신설

+
+
+
+
+
2014
+
+ 2014.05 +

티에이 인수

+
+
+ 2014.07 +

빅데이터 기반 마케팅 솔루션 개발

+
+
+ 2014.08 +

마케팅 성과측정 솔루션

+
+
+ 2014.12 +

호릴디자인 플랫폼 개발

+
+
+
+
+
2013
+
+ 2013.05 +

골뱅이커뮤니케이션 시작

+
+
+ 2013.07 +

SNS 기획 사업부 신설

+
+
+
+ +
+
+
+
+
2018
+
+ 2018.04 +

디자인 아웃소싱 전문 플랫폼 디자인 및 개발

+
+
+
+
+
2017
+
+ 2017.05 +

티에이 영상광고 및 홍보 포스터 기획물 제작

+
+
+ 2017.07 +

기획 사업부 신설

+
+
+ 2017.09 +

마케팅 성과 측정 솔루션

+
+
+
+
+
2016
+
+ 2016.03 +

호로나민씨 포스터 및 영상 제작

+
+
+ 2016.05 +

에이스컴퍼니 투자 유치 빅데이터 분석 연구소 설립

+
+
+ 2016.05 +

구로디지한국기획 인수

+
+
+
+
+
2015
+
+ 2015.04 +

디자인 개발 산업부 신설

+
+
+ 2015.11 +

미래전략사업부 신설

+
+
+
+
+
2014
+
+ 2014.05 +

티에이 인수

+
+
+ 2014.07 +

빅데이터 기반 마케팅 솔루션 개발

+
+
+ 2014.08 +

마케팅 성과측정 솔루션

+
+
+ 2014.12 +

호릴디자인 플랫폼 개발

+
+
+
+
+
2013
+
+ 2013.05 +

골뱅이커뮤니케이션 시작

+
+
+ 2013.07 +

SNS 기획 사업부 신설

+
+
+
+
+
+
+
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/css/common/animate.css b/web/html/theme/AT_WEB01/css/common/animate.css new file mode 100644 index 0000000..a4f9bc6 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/common/animate.css @@ -0,0 +1,2739 @@ +@charset "UTF-8"; + + +/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license + +Copyright (c) 2013 Daniel Eden + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +@-webkit-keyframes bounce { + 0%, 20%, 50%, 80%, 100% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 40% { + -webkit-transform: translateY(-30px); + transform: translateY(-30px); + } + + 60% { + -webkit-transform: translateY(-15px); + transform: translateY(-15px); + } +} + +@keyframes bounce { + 0%, 20%, 50%, 80%, 100% { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + + 40% { + -webkit-transform: translateY(-30px); + -ms-transform: translateY(-30px); + transform: translateY(-30px); + } + + 60% { + -webkit-transform: translateY(-15px); + -ms-transform: translateY(-15px); + transform: translateY(-15px); + } +} + +.bounce { + -webkit-animation-name: bounce; + animation-name: bounce; +} + +@-webkit-keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +@keyframes flash { + 0%, 50%, 100% { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + 0% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 50% { + -webkit-transform: scale(1.1); + transform: scale(1.1); + } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes pulse { + 0% { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + + 50% { + -webkit-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); + } + + 100% { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} + +.pulse { + -webkit-animation-name: pulse; + animation-name: pulse; +} + +@-webkit-keyframes shake { + 0%, 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translateX(-10px); + transform: translateX(-10px); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translateX(10px); + transform: translateX(10px); + } +} + +@keyframes shake { + 0%, 100% { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + + 10%, 30%, 50%, 70%, 90% { + -webkit-transform: translateX(-10px); + -ms-transform: translateX(-10px); + transform: translateX(-10px); + } + + 20%, 40%, 60%, 80% { + -webkit-transform: translateX(10px); + -ms-transform: translateX(10px); + transform: translateX(10px); + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake; +} + +@-webkit-keyframes swing { + 20% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); + } + + 40% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg); + } + + 60% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg); + } + + 80% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg); + } + + 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } +} + +@keyframes swing { + 20% { + -webkit-transform: rotate(15deg); + -ms-transform: rotate(15deg); + transform: rotate(15deg); + } + + 40% { + -webkit-transform: rotate(-10deg); + -ms-transform: rotate(-10deg); + transform: rotate(-10deg); + } + + 60% { + -webkit-transform: rotate(5deg); + -ms-transform: rotate(5deg); + transform: rotate(5deg); + } + + 80% { + -webkit-transform: rotate(-5deg); + -ms-transform: rotate(-5deg); + transform: rotate(-5deg); + } + + 100% { + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } +} + +.swing { + -webkit-transform-origin: top center; + -ms-transform-origin: top center; + transform-origin: top center; + -webkit-animation-name: swing; + animation-name: swing; +} + +@-webkit-keyframes tada { + 0% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 10%, 20% { + -webkit-transform: scale(0.9) rotate(-3deg); + transform: scale(0.9) rotate(-3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale(1.1) rotate(3deg); + transform: scale(1.1) rotate(3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale(1.1) rotate(-3deg); + transform: scale(1.1) rotate(-3deg); + } + + 100% { + -webkit-transform: scale(1) rotate(0); + transform: scale(1) rotate(0); + } +} + +@keyframes tada { + 0% { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + + 10%, 20% { + -webkit-transform: scale(0.9) rotate(-3deg); + -ms-transform: scale(0.9) rotate(-3deg); + transform: scale(0.9) rotate(-3deg); + } + + 30%, 50%, 70%, 90% { + -webkit-transform: scale(1.1) rotate(3deg); + -ms-transform: scale(1.1) rotate(3deg); + transform: scale(1.1) rotate(3deg); + } + + 40%, 60%, 80% { + -webkit-transform: scale(1.1) rotate(-3deg); + -ms-transform: scale(1.1) rotate(-3deg); + transform: scale(1.1) rotate(-3deg); + } + + 100% { + -webkit-transform: scale(1) rotate(0); + -ms-transform: scale(1) rotate(0); + transform: scale(1) rotate(0); + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + 0% { + -webkit-transform: translateX(0%); + transform: translateX(0%); + } + + 15% { + -webkit-transform: translateX(-25%) rotate(-5deg); + transform: translateX(-25%) rotate(-5deg); + } + + 30% { + -webkit-transform: translateX(20%) rotate(3deg); + transform: translateX(20%) rotate(3deg); + } + + 45% { + -webkit-transform: translateX(-15%) rotate(-3deg); + transform: translateX(-15%) rotate(-3deg); + } + + 60% { + -webkit-transform: translateX(10%) rotate(2deg); + transform: translateX(10%) rotate(2deg); + } + + 75% { + -webkit-transform: translateX(-5%) rotate(-1deg); + transform: translateX(-5%) rotate(-1deg); + } + + 100% { + -webkit-transform: translateX(0%); + transform: translateX(0%); + } +} + +@keyframes wobble { + 0% { + -webkit-transform: translateX(0%); + -ms-transform: translateX(0%); + transform: translateX(0%); + } + + 15% { + -webkit-transform: translateX(-25%) rotate(-5deg); + -ms-transform: translateX(-25%) rotate(-5deg); + transform: translateX(-25%) rotate(-5deg); + } + + 30% { + -webkit-transform: translateX(20%) rotate(3deg); + -ms-transform: translateX(20%) rotate(3deg); + transform: translateX(20%) rotate(3deg); + } + + 45% { + -webkit-transform: translateX(-15%) rotate(-3deg); + -ms-transform: translateX(-15%) rotate(-3deg); + transform: translateX(-15%) rotate(-3deg); + } + + 60% { + -webkit-transform: translateX(10%) rotate(2deg); + -ms-transform: translateX(10%) rotate(2deg); + transform: translateX(10%) rotate(2deg); + } + + 75% { + -webkit-transform: translateX(-5%) rotate(-1deg); + -ms-transform: translateX(-5%) rotate(-1deg); + transform: translateX(-5%) rotate(-1deg); + } + + 100% { + -webkit-transform: translateX(0%); + -ms-transform: translateX(0%); + transform: translateX(0%); + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes bounceIn { + 0% { + opacity: 0; + -webkit-transform: scale(.3); + transform: scale(.3); + } + + 50% { + opacity: 1; + -webkit-transform: scale(1.05); + transform: scale(1.05); + } + + 70% { + -webkit-transform: scale(.9); + transform: scale(.9); + } + + 100% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes bounceIn { + 0% { + opacity: 0; + -webkit-transform: scale(.3); + -ms-transform: scale(.3); + transform: scale(.3); + } + + 50% { + opacity: 1; + -webkit-transform: scale(1.05); + -ms-transform: scale(1.05); + transform: scale(1.05); + } + + 70% { + -webkit-transform: scale(.9); + -ms-transform: scale(.9); + transform: scale(.9); + } + + 100% { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} + +.bounceIn { + -webkit-animation-name: bounceIn; + animation-name: bounceIn; +} + +@-webkit-keyframes bounceInDown { + 0% { + opacity: 0; + -webkit-transform: translateY(-2000px); + transform: translateY(-2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateY(30px); + transform: translateY(30px); + } + + 80% { + -webkit-transform: translateY(-10px); + transform: translateY(-10px); + } + + 100% { + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +@keyframes bounceInDown { + 0% { + opacity: 0; + -webkit-transform: translateY(-2000px); + -ms-transform: translateY(-2000px); + transform: translateY(-2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateY(30px); + -ms-transform: translateY(30px); + transform: translateY(30px); + } + + 80% { + -webkit-transform: translateY(-10px); + -ms-transform: translateY(-10px); + transform: translateY(-10px); + } + + 100% { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown; +} + +@-webkit-keyframes bounceInLeft { + 0% { + opacity: 0; + -webkit-transform: translateX(-2000px); + transform: translateX(-2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateX(30px); + transform: translateX(30px); + } + + 80% { + -webkit-transform: translateX(-10px); + transform: translateX(-10px); + } + + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes bounceInLeft { + 0% { + opacity: 0; + -webkit-transform: translateX(-2000px); + -ms-transform: translateX(-2000px); + transform: translateX(-2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateX(30px); + -ms-transform: translateX(30px); + transform: translateX(30px); + } + + 80% { + -webkit-transform: translateX(-10px); + -ms-transform: translateX(-10px); + transform: translateX(-10px); + } + + 100% { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} + +@-webkit-keyframes bounceInRight { + 0% { + opacity: 0; + -webkit-transform: translateX(2000px); + transform: translateX(2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateX(-30px); + transform: translateX(-30px); + } + + 80% { + -webkit-transform: translateX(10px); + transform: translateX(10px); + } + + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes bounceInRight { + 0% { + opacity: 0; + -webkit-transform: translateX(2000px); + -ms-transform: translateX(2000px); + transform: translateX(2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateX(-30px); + -ms-transform: translateX(-30px); + transform: translateX(-30px); + } + + 80% { + -webkit-transform: translateX(10px); + -ms-transform: translateX(10px); + transform: translateX(10px); + } + + 100% { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight; +} + +@-webkit-keyframes bounceInUp { + 0% { + opacity: 0; + -webkit-transform: translateY(2000px); + transform: translateY(2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateY(-30px); + transform: translateY(-30px); + } + + 80% { + -webkit-transform: translateY(10px); + transform: translateY(10px); + } + + 100% { + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +@keyframes bounceInUp { + 0% { + opacity: 0; + -webkit-transform: translateY(2000px); + -ms-transform: translateY(2000px); + transform: translateY(2000px); + } + + 60% { + opacity: 1; + -webkit-transform: translateY(-30px); + -ms-transform: translateY(-30px); + transform: translateY(-30px); + } + + 80% { + -webkit-transform: translateY(10px); + -ms-transform: translateY(10px); + transform: translateY(10px); + } + + 100% { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} + +.bounceInUp { + -webkit-animation-name: bounceInUp; + animation-name: bounceInUp; +} + +@-webkit-keyframes bounceOut { + 0% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 25% { + -webkit-transform: scale(.95); + transform: scale(.95); + } + + 50% { + opacity: 1; + -webkit-transform: scale(1.1); + transform: scale(1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.3); + transform: scale(.3); + } +} + +@keyframes bounceOut { + 0% { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } + + 25% { + -webkit-transform: scale(.95); + -ms-transform: scale(.95); + transform: scale(.95); + } + + 50% { + opacity: 1; + -webkit-transform: scale(1.1); + -ms-transform: scale(1.1); + transform: scale(1.1); + } + + 100% { + opacity: 0; + -webkit-transform: scale(.3); + -ms-transform: scale(.3); + transform: scale(.3); + } +} + +.bounceOut { + -webkit-animation-name: bounceOut; + animation-name: bounceOut; +} + +@-webkit-keyframes bounceOutDown { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateY(-20px); + transform: translateY(-20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(2000px); + transform: translateY(2000px); + } +} + +@keyframes bounceOutDown { + 0% { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateY(-20px); + -ms-transform: translateY(-20px); + transform: translateY(-20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(2000px); + -ms-transform: translateY(2000px); + transform: translateY(2000px); + } +} + +.bounceOutDown { + -webkit-animation-name: bounceOutDown; + animation-name: bounceOutDown; +} + +@-webkit-keyframes bounceOutLeft { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateX(20px); + transform: translateX(20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(-2000px); + transform: translateX(-2000px); + } +} + +@keyframes bounceOutLeft { + 0% { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateX(20px); + -ms-transform: translateX(20px); + transform: translateX(20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(-2000px); + -ms-transform: translateX(-2000px); + transform: translateX(-2000px); + } +} + +.bounceOutLeft { + -webkit-animation-name: bounceOutLeft; + animation-name: bounceOutLeft; +} + +@-webkit-keyframes bounceOutRight { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateX(-20px); + transform: translateX(-20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(2000px); + transform: translateX(2000px); + } +} + +@keyframes bounceOutRight { + 0% { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateX(-20px); + -ms-transform: translateX(-20px); + transform: translateX(-20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(2000px); + -ms-transform: translateX(2000px); + transform: translateX(2000px); + } +} + +.bounceOutRight { + -webkit-animation-name: bounceOutRight; + animation-name: bounceOutRight; +} + +@-webkit-keyframes bounceOutUp { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateY(20px); + transform: translateY(20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(-2000px); + transform: translateY(-2000px); + } +} + +@keyframes bounceOutUp { + 0% { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + + 20% { + opacity: 1; + -webkit-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(-2000px); + -ms-transform: translateY(-2000px); + transform: translateY(-2000px); + } +} + +.bounceOutUp { + -webkit-animation-name: bounceOutUp; + animation-name: bounceOutUp; +} + +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +.fadeIn { + -webkit-animation-name: fadeIn; + animation-name: fadeIn; +} + +@-webkit-keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translateY(-20px); + transform: translateY(-20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +@keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translateY(-20px); + -ms-transform: translateY(-20px); + transform: translateY(-20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +@-webkit-keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translateY(-2000px); + transform: translateY(-2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +@keyframes fadeInDownBig { + 0% { + opacity: 0; + -webkit-transform: translateY(-2000px); + -ms-transform: translateY(-2000px); + transform: translateY(-2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} + +.fadeInDownBig { + -webkit-animation-name: fadeInDownBig; + animation-name: fadeInDownBig; +} + +@-webkit-keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translateX(-20px); + transform: translateX(-20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes fadeInLeft { + 0% { + opacity: 0; + -webkit-transform: translateX(-20px); + -ms-transform: translateX(-20px); + transform: translateX(-20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} + +.fadeInLeft { + -webkit-animation-name: fadeInLeft; + animation-name: fadeInLeft; +} + +@-webkit-keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translateX(-2000px); + transform: translateX(-2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes fadeInLeftBig { + 0% { + opacity: 0; + -webkit-transform: translateX(-2000px); + -ms-transform: translateX(-2000px); + transform: translateX(-2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} + +.fadeInLeftBig { + -webkit-animation-name: fadeInLeftBig; + animation-name: fadeInLeftBig; +} + +@-webkit-keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translateX(20px); + transform: translateX(20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes fadeInRight { + 0% { + opacity: 0; + -webkit-transform: translateX(20px); + -ms-transform: translateX(20px); + transform: translateX(20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} + +.fadeInRight { + -webkit-animation-name: fadeInRight; + animation-name: fadeInRight; +} + +@-webkit-keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translateX(2000px); + transform: translateX(2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes fadeInRightBig { + 0% { + opacity: 0; + -webkit-transform: translateX(2000px); + -ms-transform: translateX(2000px); + transform: translateX(2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} + +.fadeInRightBig { + -webkit-animation-name: fadeInRightBig; + animation-name: fadeInRightBig; +} + +@-webkit-keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translateY(20px); + transform: translateY(20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +@keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} + +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} + +@-webkit-keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translateY(2000px); + transform: translateY(2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +@keyframes fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translateY(2000px); + -ms-transform: translateY(2000px); + transform: translateY(2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} + +@-webkit-keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +@keyframes fadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(20px); + transform: translateY(20px); + } +} + +@keyframes fadeOutDown { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(20px); + -ms-transform: translateY(20px); + transform: translateY(20px); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +@-webkit-keyframes fadeOutDownBig { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(2000px); + transform: translateY(2000px); + } +} + +@keyframes fadeOutDownBig { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(2000px); + -ms-transform: translateY(2000px); + transform: translateY(2000px); + } +} + +.fadeOutDownBig { + -webkit-animation-name: fadeOutDownBig; + animation-name: fadeOutDownBig; +} + +@-webkit-keyframes fadeOutLeft { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(-20px); + transform: translateX(-20px); + } +} + +@keyframes fadeOutLeft { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(-20px); + -ms-transform: translateX(-20px); + transform: translateX(-20px); + } +} + +.fadeOutLeft { + -webkit-animation-name: fadeOutLeft; + animation-name: fadeOutLeft; +} + +@-webkit-keyframes fadeOutLeftBig { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(-2000px); + transform: translateX(-2000px); + } +} + +@keyframes fadeOutLeftBig { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(-2000px); + -ms-transform: translateX(-2000px); + transform: translateX(-2000px); + } +} + +.fadeOutLeftBig { + -webkit-animation-name: fadeOutLeftBig; + animation-name: fadeOutLeftBig; +} + +@-webkit-keyframes fadeOutRight { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(20px); + transform: translateX(20px); + } +} + +@keyframes fadeOutRight { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(20px); + -ms-transform: translateX(20px); + transform: translateX(20px); + } +} + +.fadeOutRight { + -webkit-animation-name: fadeOutRight; + animation-name: fadeOutRight; +} + +@-webkit-keyframes fadeOutRightBig { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(2000px); + transform: translateX(2000px); + } +} + +@keyframes fadeOutRightBig { + 0% { + opacity: 1; + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(2000px); + -ms-transform: translateX(2000px); + transform: translateX(2000px); + } +} + +.fadeOutRightBig { + -webkit-animation-name: fadeOutRightBig; + animation-name: fadeOutRightBig; +} + +@-webkit-keyframes fadeOutUp { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(-20px); + transform: translateY(-20px); + } +} + +@keyframes fadeOutUp { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(-20px); + -ms-transform: translateY(-20px); + transform: translateY(-20px); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +@-webkit-keyframes fadeOutUpBig { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(-2000px); + transform: translateY(-2000px); + } +} + +@keyframes fadeOutUpBig { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(-2000px); + -ms-transform: translateY(-2000px); + transform: translateY(-2000px); + } +} + +.fadeOutUpBig { + -webkit-animation-name: fadeOutUpBig; + animation-name: fadeOutUpBig; +} + +@-webkit-keyframes flip { + 0% { + -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1); + transform: perspective(400px) translateZ(0) rotateY(0) scale(1); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); + transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); + transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95); + transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); + transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + 0% { + -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1); + -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1); + transform: perspective(400px) translateZ(0) rotateY(0) scale(1); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); + -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); + transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 50% { + -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); + -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); + transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 80% { + -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95); + -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95); + transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + 100% { + -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); + -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); + transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +.animated.flip { + -webkit-backface-visibility: visible; + backface-visibility: visible; + -webkit-animation-name: flip; + animation-name: flip; +} + +@-webkit-keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotateX(90deg); + transform: perspective(400px) rotateX(90deg); + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotateX(-10deg); + transform: perspective(400px) rotateX(-10deg); + } + + 70% { + -webkit-transform: perspective(400px) rotateX(10deg); + transform: perspective(400px) rotateX(10deg); + } + + 100% { + -webkit-transform: perspective(400px) rotateX(0deg); + transform: perspective(400px) rotateX(0deg); + opacity: 1; + } +} + +@keyframes flipInX { + 0% { + -webkit-transform: perspective(400px) rotateX(90deg); + -ms-transform: perspective(400px) rotateX(90deg); + transform: perspective(400px) rotateX(90deg); + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotateX(-10deg); + -ms-transform: perspective(400px) rotateX(-10deg); + transform: perspective(400px) rotateX(-10deg); + } + + 70% { + -webkit-transform: perspective(400px) rotateX(10deg); + -ms-transform: perspective(400px) rotateX(10deg); + transform: perspective(400px) rotateX(10deg); + } + + 100% { + -webkit-transform: perspective(400px) rotateX(0deg); + -ms-transform: perspective(400px) rotateX(0deg); + transform: perspective(400px) rotateX(0deg); + opacity: 1; + } +} + +.flipInX { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInX; + animation-name: flipInX; +} + +@-webkit-keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotateY(90deg); + transform: perspective(400px) rotateY(90deg); + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotateY(-10deg); + transform: perspective(400px) rotateY(-10deg); + } + + 70% { + -webkit-transform: perspective(400px) rotateY(10deg); + transform: perspective(400px) rotateY(10deg); + } + + 100% { + -webkit-transform: perspective(400px) rotateY(0deg); + transform: perspective(400px) rotateY(0deg); + opacity: 1; + } +} + +@keyframes flipInY { + 0% { + -webkit-transform: perspective(400px) rotateY(90deg); + -ms-transform: perspective(400px) rotateY(90deg); + transform: perspective(400px) rotateY(90deg); + opacity: 0; + } + + 40% { + -webkit-transform: perspective(400px) rotateY(-10deg); + -ms-transform: perspective(400px) rotateY(-10deg); + transform: perspective(400px) rotateY(-10deg); + } + + 70% { + -webkit-transform: perspective(400px) rotateY(10deg); + -ms-transform: perspective(400px) rotateY(10deg); + transform: perspective(400px) rotateY(10deg); + } + + 100% { + -webkit-transform: perspective(400px) rotateY(0deg); + -ms-transform: perspective(400px) rotateY(0deg); + transform: perspective(400px) rotateY(0deg); + opacity: 1; + } +} + +.flipInY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipInY; + animation-name: flipInY; +} + +@-webkit-keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px) rotateX(0deg); + transform: perspective(400px) rotateX(0deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotateX(90deg); + transform: perspective(400px) rotateX(90deg); + opacity: 0; + } +} + +@keyframes flipOutX { + 0% { + -webkit-transform: perspective(400px) rotateX(0deg); + -ms-transform: perspective(400px) rotateX(0deg); + transform: perspective(400px) rotateX(0deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotateX(90deg); + -ms-transform: perspective(400px) rotateX(90deg); + transform: perspective(400px) rotateX(90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-name: flipOutX; + animation-name: flipOutX; + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; +} + +@-webkit-keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px) rotateY(0deg); + transform: perspective(400px) rotateY(0deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotateY(90deg); + transform: perspective(400px) rotateY(90deg); + opacity: 0; + } +} + +@keyframes flipOutY { + 0% { + -webkit-transform: perspective(400px) rotateY(0deg); + -ms-transform: perspective(400px) rotateY(0deg); + transform: perspective(400px) rotateY(0deg); + opacity: 1; + } + + 100% { + -webkit-transform: perspective(400px) rotateY(90deg); + -ms-transform: perspective(400px) rotateY(90deg); + transform: perspective(400px) rotateY(90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-backface-visibility: visible !important; + backface-visibility: visible !important; + -webkit-animation-name: flipOutY; + animation-name: flipOutY; +} + +@-webkit-keyframes lightSpeedIn { + 0% { + -webkit-transform: translateX(100%) skewX(-30deg); + transform: translateX(100%) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: translateX(-20%) skewX(30deg); + transform: translateX(-20%) skewX(30deg); + opacity: 1; + } + + 80% { + -webkit-transform: translateX(0%) skewX(-15deg); + transform: translateX(0%) skewX(-15deg); + opacity: 1; + } + + 100% { + -webkit-transform: translateX(0%) skewX(0deg); + transform: translateX(0%) skewX(0deg); + opacity: 1; + } +} + +@keyframes lightSpeedIn { + 0% { + -webkit-transform: translateX(100%) skewX(-30deg); + -ms-transform: translateX(100%) skewX(-30deg); + transform: translateX(100%) skewX(-30deg); + opacity: 0; + } + + 60% { + -webkit-transform: translateX(-20%) skewX(30deg); + -ms-transform: translateX(-20%) skewX(30deg); + transform: translateX(-20%) skewX(30deg); + opacity: 1; + } + + 80% { + -webkit-transform: translateX(0%) skewX(-15deg); + -ms-transform: translateX(0%) skewX(-15deg); + transform: translateX(0%) skewX(-15deg); + opacity: 1; + } + + 100% { + -webkit-transform: translateX(0%) skewX(0deg); + -ms-transform: translateX(0%) skewX(0deg); + transform: translateX(0%) skewX(0deg); + opacity: 1; + } +} + +.lightSpeedIn { + -webkit-animation-name: lightSpeedIn; + animation-name: lightSpeedIn; + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; +} + +@-webkit-keyframes lightSpeedOut { + 0% { + -webkit-transform: translateX(0%) skewX(0deg); + transform: translateX(0%) skewX(0deg); + opacity: 1; + } + + 100% { + -webkit-transform: translateX(100%) skewX(-30deg); + transform: translateX(100%) skewX(-30deg); + opacity: 0; + } +} + +@keyframes lightSpeedOut { + 0% { + -webkit-transform: translateX(0%) skewX(0deg); + -ms-transform: translateX(0%) skewX(0deg); + transform: translateX(0%) skewX(0deg); + opacity: 1; + } + + 100% { + -webkit-transform: translateX(100%) skewX(-30deg); + -ms-transform: translateX(100%) skewX(-30deg); + transform: translateX(100%) skewX(-30deg); + opacity: 0; + } +} + +.lightSpeedOut { + -webkit-animation-name: lightSpeedOut; + animation-name: lightSpeedOut; + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; +} + +@-webkit-keyframes rotateIn { + 0% { + -webkit-transform-origin: center center; + transform-origin: center center; + -webkit-transform: rotate(-200deg); + transform: rotate(-200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center center; + transform-origin: center center; + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } +} + +@keyframes rotateIn { + 0% { + -webkit-transform-origin: center center; + -ms-transform-origin: center center; + transform-origin: center center; + -webkit-transform: rotate(-200deg); + -ms-transform: rotate(-200deg); + transform: rotate(-200deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: center center; + -ms-transform-origin: center center; + transform-origin: center center; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } +} + +.rotateIn { + -webkit-animation-name: rotateIn; + animation-name: rotateIn; +} + +@-webkit-keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } +} + +@keyframes rotateInDownLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } +} + +.rotateInDownLeft { + -webkit-animation-name: rotateInDownLeft; + animation-name: rotateInDownLeft; +} + +@-webkit-keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } +} + +@keyframes rotateInDownRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } +} + +.rotateInDownRight { + -webkit-animation-name: rotateInDownRight; + animation-name: rotateInDownRight; +} + +@-webkit-keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } +} + +@keyframes rotateInUpLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } +} + +.rotateInUpLeft { + -webkit-animation-name: rotateInUpLeft; + animation-name: rotateInUpLeft; +} + +@-webkit-keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } +} + +@keyframes rotateInUpRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); + opacity: 0; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} + +@-webkit-keyframes rotateOut { + 0% { + -webkit-transform-origin: center center; + transform-origin: center center; + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: center center; + transform-origin: center center; + -webkit-transform: rotate(200deg); + transform: rotate(200deg); + opacity: 0; + } +} + +@keyframes rotateOut { + 0% { + -webkit-transform-origin: center center; + -ms-transform-origin: center center; + transform-origin: center center; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: center center; + -ms-transform-origin: center center; + transform-origin: center center; + -webkit-transform: rotate(200deg); + -ms-transform: rotate(200deg); + transform: rotate(200deg); + opacity: 0; + } +} + +.rotateOut { + -webkit-animation-name: rotateOut; + animation-name: rotateOut; +} + +@-webkit-keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + opacity: 0; + } +} + +@keyframes rotateOutDownLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); + opacity: 0; + } +} + +.rotateOutDownLeft { + -webkit-animation-name: rotateOutDownLeft; + animation-name: rotateOutDownLeft; +} + +@-webkit-keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); + opacity: 0; + } +} + +@keyframes rotateOutDownRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); + opacity: 0; + } +} + +.rotateOutDownRight { + -webkit-animation-name: rotateOutDownRight; + animation-name: rotateOutDownRight; +} + +@-webkit-keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpLeft { + 0% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: left bottom; + -ms-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + transform: rotate(-90deg); + opacity: 0; + } +} + +.rotateOutUpLeft { + -webkit-animation-name: rotateOutUpLeft; + animation-name: rotateOutUpLeft; +} + +@-webkit-keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + opacity: 0; + } +} + +@keyframes rotateOutUpRight { + 0% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + opacity: 1; + } + + 100% { + -webkit-transform-origin: right bottom; + -ms-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); + opacity: 0; + } +} + +.rotateOutUpRight { + -webkit-animation-name: rotateOutUpRight; + animation-name: rotateOutUpRight; +} + +@-webkit-keyframes slideInDown { + 0% { + opacity: 0; + -webkit-transform: translateY(-2000px); + transform: translateY(-2000px); + } + + 100% { + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +@keyframes slideInDown { + 0% { + opacity: 0; + -webkit-transform: translateY(-2000px); + -ms-transform: translateY(-2000px); + transform: translateY(-2000px); + } + + 100% { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} + +.slideInDown { + -webkit-animation-name: slideInDown; + animation-name: slideInDown; +} + +@-webkit-keyframes slideInLeft { + 0% { + opacity: 0; + -webkit-transform: translateX(-2000px); + transform: translateX(-2000px); + } + + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes slideInLeft { + 0% { + opacity: 0; + -webkit-transform: translateX(-2000px); + -ms-transform: translateX(-2000px); + transform: translateX(-2000px); + } + + 100% { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} + +.slideInLeft { + -webkit-animation-name: slideInLeft; + animation-name: slideInLeft; +} + +@-webkit-keyframes slideInRight { + 0% { + opacity: 0; + -webkit-transform: translateX(2000px); + transform: translateX(2000px); + } + + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes slideInRight { + 0% { + opacity: 0; + -webkit-transform: translateX(2000px); + -ms-transform: translateX(2000px); + transform: translateX(2000px); + } + + 100% { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } +} + +.slideInRight { + -webkit-animation-name: slideInRight; + animation-name: slideInRight; +} + +@-webkit-keyframes slideOutLeft { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(-2000px); + transform: translateX(-2000px); + } +} + +@keyframes slideOutLeft { + 0% { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(-2000px); + -ms-transform: translateX(-2000px); + transform: translateX(-2000px); + } +} + +.slideOutLeft { + -webkit-animation-name: slideOutLeft; + animation-name: slideOutLeft; +} + +@-webkit-keyframes slideOutRight { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(2000px); + transform: translateX(2000px); + } +} + +@keyframes slideOutRight { + 0% { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(2000px); + -ms-transform: translateX(2000px); + transform: translateX(2000px); + } +} + +.slideOutRight { + -webkit-animation-name: slideOutRight; + animation-name: slideOutRight; +} + +@-webkit-keyframes slideOutUp { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(-2000px); + transform: translateY(-2000px); + } +} + +@keyframes slideOutUp { + 0% { + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } + + 100% { + opacity: 0; + -webkit-transform: translateY(-2000px); + -ms-transform: translateY(-2000px); + transform: translateY(-2000px); + } +} + +.slideOutUp { + -webkit-animation-name: slideOutUp; + animation-name: slideOutUp; +} + +@-webkit-keyframes hinge { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate(80deg); + transform: rotate(80deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40% { + -webkit-transform: rotate(60deg); + transform: rotate(60deg); + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 80% { + -webkit-transform: rotate(60deg) translateY(0); + transform: rotate(60deg) translateY(0); + opacity: 1; + -webkit-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 100% { + -webkit-transform: translateY(700px); + transform: translateY(700px); + opacity: 0; + } +} + +@keyframes hinge { + 0% { + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 20%, 60% { + -webkit-transform: rotate(80deg); + -ms-transform: rotate(80deg); + transform: rotate(80deg); + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 40% { + -webkit-transform: rotate(60deg); + -ms-transform: rotate(60deg); + transform: rotate(60deg); + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 80% { + -webkit-transform: rotate(60deg) translateY(0); + -ms-transform: rotate(60deg) translateY(0); + transform: rotate(60deg) translateY(0); + opacity: 1; + -webkit-transform-origin: top left; + -ms-transform-origin: top left; + transform-origin: top left; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 100% { + -webkit-transform: translateY(700px); + -ms-transform: translateY(700px); + transform: translateY(700px); + opacity: 0; + } +} + +.hinge { + -webkit-animation-name: hinge; + animation-name: hinge; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translateX(-100%) rotate(-120deg); + transform: translateX(-100%) rotate(-120deg); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0px) rotate(0deg); + transform: translateX(0px) rotate(0deg); + } +} + +@keyframes rollIn { + 0% { + opacity: 0; + -webkit-transform: translateX(-100%) rotate(-120deg); + -ms-transform: translateX(-100%) rotate(-120deg); + transform: translateX(-100%) rotate(-120deg); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0px) rotate(0deg); + -ms-transform: translateX(0px) rotate(0deg); + transform: translateX(0px) rotate(0deg); + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + 0% { + opacity: 1; + -webkit-transform: translateX(0px) rotate(0deg); + transform: translateX(0px) rotate(0deg); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(100%) rotate(120deg); + transform: translateX(100%) rotate(120deg); + } +} + +@keyframes rollOut { + 0% { + opacity: 1; + -webkit-transform: translateX(0px) rotate(0deg); + -ms-transform: translateX(0px) rotate(0deg); + transform: translateX(0px) rotate(0deg); + } + + 100% { + opacity: 0; + -webkit-transform: translateX(100%) rotate(120deg); + -ms-transform: translateX(100%) rotate(120deg); + transform: translateX(100%) rotate(120deg); + } +} + +.rollOut { + -webkit-animation-name: rollOut; + animation-name: rollOut; +} diff --git a/web/html/theme/AT_WEB01/css/common/common.css b/web/html/theme/AT_WEB01/css/common/common.css new file mode 100644 index 0000000..cb6deea --- /dev/null +++ b/web/html/theme/AT_WEB01/css/common/common.css @@ -0,0 +1,179 @@ +/*common.css*/ +@font-face { + font-family: 'GongGothicLight'; + src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicLight.woff') format('woff'); + font-weight: normal; + font-style: normal; +} +.inner{width: 1200px; margin: 0 auto; padding: 0 20px;font-family: 'GongGothicLight';} +.clearfix{*zoom: 1} +.clearfix:before, .clearfix:after{display:table; content:""; line-height:0;} +.clearfix:after{clear:both;} +.ell{overflow: hidden;text-overflow: ellipsis;white-space: normal; word-wrap:break-word; display: -webkit-box; -webkit-box-orient: vertical;} +.customer_banner{background: url(../../img/customer/banner.png); background-position: center; background-size: cover;} +.product_banner{background: url(../../img/ingprojectimg.png); background-size: cover; background-position: center;} +.ing_bnr_Wrap{width: 100%; position: relative; overflow: hidden;} +.ing_bnr_Wrap>.bnrimg{height: 350px; width: 100%;} +.ing_bnr_Wrap>.bnrimg>img{position: absolute; left: 50%; top:50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%);} +.ing_bnr_Wrap>.bnrtxtwrap{width: 400px; position: absolute; margin: auto; top: 50%; left: 0; right: 0; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); margin-top: 15px;} +.ing_bnr_Wrap>.bnrtxtwrap>h3{font-size: 33px; color: #fff; text-align: center; line-height: 40px; font-weight: 700;} +.ing_bnr_Wrap>.bnrtxtwrap>.bnrline{width: 40px; height: 3px; background: #fff; margin: 20px auto 20px;} +.ing_bnr_Wrap>.bnrtxtwrap>p{margin: 0 auto; width: 90%; font-size: 18px; color: #fff; text-align: center; line-height: 25px;} +.mdlTxt{text-align: center; line-height: 40px; padding-top: 50px; padding-bottom:40px;} +.mdlTxt>h2{font-size: 30px; font-weight: bold;} +.mdlTxt > p{margin-top: 35px; font-size: 16px; color: #666;} +/* sub navigation */ +.groupmenu{border: 1px solid #cfcfcf; border-bottom: none;} +#mysubmenu .leftmenu_b{display: none;} +#mysubmenu{margin-top: -23px;} +.tab_submenu{height: 60px;} +.tab_submenu .tab_sub2ul{width: 100%; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;} +.tab_submenu .tab_sub2ul li{float: left; width: 50%; height: 100%; border-bottom: 3px solid #ccc; -webkit-transition-duration: 0.3s; transition-duration: 0.3s;} +.tab_submenu .tab_sub2ul li:nth-child(1){border-right: 1px solid #ccc;} +.tab_submenu .tab_sub2ul li a{display: block; width: 100%; height: 100%; text-align: center; line-height: 60px; font-size: 18px;} +.tab_submenu .tab_sub2ul li:hover a{color: #c80e21;} +.tab_submenu .tab_sub2ul li:hover{border-bottom-color: #c80e21;} +.leftmenu_b{display: none;} +.tab_submenu .tab_sub2ul li.on{border-bottom-color: #c80e21;} +.tab_submenu .tab_sub2ul li.on a{color: #c80e21;} +/*페이지*/ +.pg_wrap{margin: 30px 0;} +.pg_current{background: #000;} +.pg_page{background: #fff;} +.pg_start{display: none;} +.pg_end{display: none;} +/*검색*/ +#bo_sch{position:relative; width: 500px; border: none; margin-bottom: 60px; padding: 0; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%);} +#bo_sch>form{width: 100%; } +#bo_sch #sfl{width: 129px; height: 40px;margin: 0; border: 1px solid #ddd;} +#bo_sch .sch_input{width: 249px; height: 40px; background-color: #fff; border: 1px solid #ddd; } +#bo_sch .sch_btn{width: 102px; height: 40px; text-align: center;height: 40px; background-color: #000; border: 1px solid #ddd; color: #fff; font-size: 14px; font-weight: 700;} +#bo_sch #sfl{padding: 0 6px; box-shadow: none; -webkit-box-shadow: none; border: none; outline: none;} +#bo_sch #sfl{margin: 0; padding-left: 5px; width: 129px; height: 40px; border: 1px solid #ddd; -moz-appearance:none; -webkit-appearance:none; appearance:none; background: url(../../img/common/down.png) 95% 50% no-repeat;} +#bo_sch #sfl::-ms-expand {display:none;} +#bo_sch .sch_input{padding: 0 10px; box-shadow: none; -webkit-box-shadow: none; outline: none;} +/*버튼*/ +a.btn_b01.notice_btn01{display: none;} +a.btn_b02:hover, .btn_b02:hover {background:#000} +/*카테고리*/ +/*#bo_cate>ul>li:nth-child(1){display: none;}*/ +.bo_cate_link{display: none;} +#bo_cate{border: none; width: 100%; background: transparent; padding: 0; margin: 0; text-align: center; margin-top: 20px; margin-bottom:;} +#bo_cate li{/*width: 50%; */border: 1px solid #cccccc; -webkit-transition: .2s; transition: .2s; padding: 0; border-left:none;} +/*#bo_cate li:nth-child(3){border-left: none;}*/ +#bo_cate li:nth-child(1){border-left: 1px solid #cccccc;} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active{background: none;} +#bo_cate a:hover{ border-bottom: 2px solid #c71526;} +#bo_cate a{padding: 8px 20px;} +#bo_cate #bo_cate_on{border-bottom: 2px solid #c71526;-webkit-box-shadow:none;box-shadow:none; background: none; color: #000;} +/* 게시판 공통 */ +#bo_w{padding-bottom: 80px;} +/* 버튼 제어 */ +a.btn, .btn{padding: 0 30px; height: 40px; line-height: 40px; text-align: center; font-weight: 300; font-size: 17px;} +a.btn_admin, .btn_admin{height: 40px; line-height: 40px; text-align: center; background: #c80e21;} /*관리자, 복사, 이동*/ +a.btn_admin:hover, .btn_admin:hover{background: #444;} +a.btn_b02, .btn_b02{height: 40px; line-height: 40px; text-align: center; background: #444; font-weight: 300;} /*글쓰기*/ +a.btn_b02:hover, .btn_b02:hover {background:#c80e21;} +a.btn_b01, .btn_b01{height: 40px; line-height: 40px; background: #c80e21;} /*수정, 삭제, 목록, 답변*/ +a.btn_b01:hover, .btn_b01:hover{background: #c80e21;} +.btn_submit{background: #c80e21; height: 40px; line-height: 40px; text-align: center;} /*댓글등록*/ +.btn_submit:hover{background: #444;} +.bo_vc_w .btn_submit{border-radius: 0; font-weight: 300; font-size: 17px;} +a.btn_cancel{background: #999; height: 40px; line-height: 40px; text-align: center;} +/*.btn .fa{display: none;} /*버튼 픽토그램*/ +.cmt_btn{background-position: 67px 10px; font-size: 16px;} +.cmt_btn_op{background-position: 67px -20px;} +/*.cmt_btn .fa{display: none;}*/ +.bo_w .btn_submit, .bo_vc_w .btn_submit{border-radius: 0; font-size: 1.0em;} +.btn_cancel{height: 40px; line-height: 40px;} +.btn_bo_user{margin: 20px 0;} +.bo_fx{margin: 20px 0; width: 100%;} +#bo_v_share .btn{padding: 0 20px; width:130px; } +.file_del input{float: left; margin: 7px 10px 0 0;} +.file_del label{float: left;} +#ctt{margin: 0; padding: 0;} +#ctt_con{padding: 0;} +#ctt_con .reg_bn + .inner{padding: 90px 20px; min-height: 700px;} +#ctt_con *{color: #333;} +.reg_bn{width: 100%; height: 90px; background: #333;} +.ctt_admin{position: absolute; width: 1200px; left: 50%; top: 90px; height: 60px; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%);} +.ctt_admin a{line-height: 60px; height: 100%;} + +@media screen and (max-width:1199px){ + .inner{width: 100%;} + a.btn, .btn{font-size: 14px;} + a.btn_b01, .btn_b01{font-size: 14px;} + a.btn_b02, .btn_b02{font-size: 14px;} + a.btn_admin, .btn_admin{font-size: 14px;} + .btn_submit{font-size: 14px;} + .tab_submenu{height: 55px;} + .tab_submenu .tab_sub2ul li a{font-size: 16px; line-height: 55px;} + .ctt_admin{width: 100%; left: 0; -webkit-transform: none; -ms-transform: none; transform: none;} + .ctt_admin a{line-height: 60px; height: 100%;} + #ctt_con *{font-size: 14px;} +} + +@media screen and (max-width:1024px){ + .reg_bn{height: 60px;} + .ctt_admin{width: 100%; left: 0; top: 60px; -webkit-transform: none; -ms-transform: none; transform: none;} + .ctt_admin a{line-height: 60px; height: 100%;} +} + +@media screen and (max-width: 700px){ + .bo_v_left{width: 100%;} + .bo_v_left li{width: 20%;} + .bo_v_left li a{width: 100%;} + .bo_v_com{float: left; margin: 0 0 20px; width: 100%;} + .bo_v_com li{margin: 0;/*margin-left: 0; margin-right: 5px; */width: 30%;} + .bo_v_com li a{width: 100%; font-size: 14px;} +} +@media screen and (max-width:630px){ + #bo_w .bo_w_flie .file_wr{height: 80px;} + #bo_w .bo_w_flie .lb_icon{height: 100%;} + #bo_w .bo_w_flie .file_del{top:50%; margin-top: 5px; left: 55px;} + #bo_w .bo_w_flie .file_del label{font-size: 14px;} + a.btn, .btn{padding: 0 10px;} + +} + +@media screen and (max-width:570px){ + .ing_bnr_Wrap>.bnrtxtwrap>h3{font-size: 28px; line-height: 32px;} + .ing_bnr_Wrap>.bnrtxtwrap>p{font-size: 14px; line-height: 18px;} + #bo_sch{width: 376px;} + #bo_sch .sch_input{width:213px;} + #bo_sch .sch_btn{width: 60px; font-size: 12px;} + #bo_sch #sfl{width:95px; font-size: 12px;} + #bo_sch #sfl option{font-size: 12px;} + #bo_sch .sch_input{font-size: 12px;} +} +@media screen and (max-width: 480px){ + a.btn, .btn{font-size: 12px;} + a.btn_b01, .btn_b01{font-size: 12px;} + a.btn_b02, .btn_b02{font-size: 12px;} + a.btn_admin, .btn_admin{font-size: 12px;} + .btn_submit{font-size: 12px;} + .tab_submenu{height: 40px;} + .tab_submenu .tab_sub2ul li a{font-size: 14px; line-height: 40px;} + .bo_v_com li a{width: 100%; font-size: 12px;} + #bo_w .bo_w_flie .file_del label{font-size: 13px;} + #ctt_con *{font-size: 13px;} +} +@media screen and (max-width:400px){ + .mdlTxt>h2{font-size: 26px;} + .ing_bnr_Wrap>.bnrtxtwrap{width: 100%;} + .ing_bnr_Wrap>.bnrtxtwrap>p{word-break: keep-all;} + #bo_sch{width: 280px;} + #bo_sch .sch_input{width: 128px;} + #bo_sch .sch_btn{width: 50px;} + #bo_w .bo_w_flie .file_wr{height: 120px;} + #bo_w .bo_w_flie .file_del{top:40px; margin-top: 5px; left: 55px;} + #bo_w .bo_w_flie .file_del label{font-size: 12px;} + + .bo_fx{float: none;} + .bo_fx ul{width: 100%;} + .bo_fx .btn_bo_user li{width: 25%; margin-left: 0;} + .bo_fx .btn_bo_user li a{width: 100%;} + .bo_fx .btn_bo_user .bo_fx_write{width: 100%;} + .bo_fx .btn_bo_user .bo_fx_write a{margin-right: 5px; margin-top: 10px; width: 100%;} +} + diff --git a/web/html/theme/AT_WEB01/css/common/footerStyle.css b/web/html/theme/AT_WEB01/css/common/footerStyle.css new file mode 100644 index 0000000..06666c5 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/common/footerStyle.css @@ -0,0 +1,96 @@ +/* footerStyle.css */ + +#ft{background: #333; color: #888;} +#ft a, #ft p, #ft_copy{color: #888;} +#ft_wr{width: 1200px; padding: 50px 20px; overflow: hidden;} +#ft_sns{width: 65%;} +#ft_sns ul{float: right; overflow: hidden;} +#ft_sns ul li{float: left; width: 40px; height: 40px; text-indent: -9999px; overflow: hidden; margin-left: 15px;} +#ft_sns ul li a{width: 100%; height: 100%; background: url(../../img/common/ft_sns1.png); background-size: 100% auto; } +#ft_sns ul li.ft_sns2 a{background-image: url(../../img/common/ft_sns2.png);} +#ft_sns ul li.ft_sns3 a{background-image: url(../../img/common/ft_sns3.png);} +#ft_sns ul li.ft_sns4 a{background-image: url(../../img/common/ft_sns4.png);} +/* 쇼핑몰 링크용 */ +#ft_shop{width: 65%; } +#ft_shop ul{float: right; overflow: hidden;} +#ft_shop ul li{float: right; /*width: 300px;/* height: 40px; */overflow: hidden; font-size: 34px; line-height:2;} +#ft_shop ul li a{color: #ccc; } +/* 쇼핑몰 링크용 끝 */ +#ft_contact{width: 40%; text-align: right; margin-top: 10px;} +#ft_contact strong{font-size: 36px; font-weight: 600; line-height: 50px;} +#ft_link{width: 30%; height: 20px; margin-top: -40px; margin-bottom: 30px;} +#ft_link > a{float: left; height: 100%; line-height: 20px; font-size: 14px;} +#ft_link > a::after{content: ""; display: block; width: 1px; height: 15px; background: #888; margin-left: 10px; float: right; margin-right: 10px; margin-top: 3px;} +#ft_link > a.ft_link3::after{display: none;} +#ft_company{width: 60%; margin-bottom: 30px;} +#ft_company ul{overflow: hidden;} +#ft_company li{float: left; line-height: 20px; font-size: 14px;} +#ft_company li::after{content: ""; display: block; width: 1px; height: 15px; background: #888; margin-left: 10px; float: right; margin-right: 10px; margin-top: 3px;} +#ft_company li.ft_company3{display:block;} +#ft_company li.ft_company3::after, #ft_company li.ft_company5::after, #ft_company li.ft_company6::after{display: none;} +#ft_company li.ft_company6 a{display: inline-block;} +#ft_copy{width: 70%; font-size: 14px; margin-top: -25px;} +@media screen and (min-width:1200px){ + #ft_sns{float: right;} + #ft_sns ul{float: right;} + #ft_sns ul li{float: left;} + #ft_shop{float: right;} + #ft_shop ul{float: right;} + #ft_shop ul li{float: left;} + #ft_contact{float: right;} + #ft_link{float: left;} + #ft_company{float: left;} + #ft_copy{float: left;} +} +@media screen and (max-width:1199px){ + #ft{width: 100%;} + #ft_wr{width: 100%; padding: 40px 0;} + #ft_sns, + #ft_shop, + #ft_contact, + #ft_link, + #ft_company, + #ft_copy{overflow: hidden; width: 100%;} + #ft_sns ul{float: none; width: 264px; margin: 0 auto;} + #ft_sns ul li{margin: 0; width: 25%;} + #ft_sns ul li a{background-size: 40px auto; background-position: center; background-repeat: no-repeat;} + #ft_shop ul{float: none; width: 100%;} + #ft_shop ul li{margin: 0; width: 100%; text-align:center} + #ft_contact{margin-top: 20px; text-align: center; padding-bottom: 40px; border-bottom: 1px solid #888;} + #ft_link{text-align: center; width: 313px; margin: 20px auto 0;} + #ft_company{ text-align: center; margin: 30px auto;} + #ft_copy{margin-top: 0; text-align: center;} + #ft_company{width: 100%;} + #ft_company li{float: none; display: inline-block;} + #ft_company li.ft_company2::after, #ft_company li.ft_company3::after{display: none;} + #ft_copy span{display: block;} + #ft_company li.ft_company3{display: block;} + #ft_contact strong{font-size: 36px; line-height: 50px;} + #ft_contact p{font-size:14px;} +} +@media screen and (max-width:480px){ + #ft_company{padding: 0 20px;} + #ft_company li::after{display: none;} + #ft_company li.ft_company6{display: block;} + #ft_company li.ft_company1::after, #ft_company li.ft_company4::after{display: block;} + #ft_link{width: 274px; width:294px !ie; } + #ft_link > a{font-size: 12px;} + #ft_company li{font-size: 12px;} + #ft_copy{font-size:12px;} + #ft_contact{margin-bottom: 30px; padding: 0 20px 30px;} + #ft_contact strong{font-size: 30px; line-height: 40px;} + #ft_contact p{font-size:12px; line-height: 1.5;} +} +@media screen and (max-width: 430px){ + #ft_company li.ft_company4{display: block;} + #ft_company li.ft_company4::after{display: none;} +} + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/css/common/headStyle - 복사본.css b/web/html/theme/AT_WEB01/css/common/headStyle - 복사본.css new file mode 100644 index 0000000..63699c7 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/common/headStyle - 복사본.css @@ -0,0 +1,127 @@ +/*headStyle.css*/ +.dark-mode { background:#333; } +.dark-mode h1, h2 , h3, p { color:#fff; } +.dark-mode p, +.dark-mode h1, +body.dark-mode h2, +body.dark-mode h3, +body.dark-mode a { color:#fff; } +body.dark-mode button { + background-color:#c71526; + color:#fff; +} +body.light-mode h1, h2, h3, p, a { color:#333; } +body.light-mode button { + background-color:#c71526; + color:#ee1e +} +button { background:#c71526; } +#darkLight { + width:70px; height:90px; + font-size:3em; + padding-left:0.5%; + position:fixed; + right:0; bottom:3%; + border-radius:100px 0 0 100px; + transition:all .3s; + z-index:99999; +} +#darkLight:hover { + width:130px; + padding-left:1%; + background-color:#111; +} +#hd{width: 100%; border-bottom: 1px solid rgba(255,255,255,0.2);} +#hd_wrapper{height: 100%; } +#logo{position: absolute; width: 82px; height: 55px; left: 20px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); z-index: 10;} +#logo img{width: 100%;} +#gnb{position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 50%;} +#gnb .gnb_1dli{line-height: 90px; width: 20%; text-align: center;} +.hd_login { width:20%; overflow: hidden; position:fixed; right:5%; top:35%; z-index:999999;} +.hd_login a {float:left; margin:0 5%; color:#fff; } +.gnb_1da{width: 100%; color: #fff; font-weight: 400;} +.gnb_1dli .bg{display: none;} +.gnb_2dul{top: 90px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 100%; background: rgba(0,0,0,0.7);} +.gnb_1dli_over .gnb_2dul{left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); background: rgba(0,0,0,0.7);} +#nav_bar{height: 3px; background: #fff; position: absolute; bottom: 0;} +.gnb_2dli{border: none;} +.gnb_2da{color: #fff; text-align: center; font-weight: 300;} +a.gnb_2da:hover{background-color: #c80e21;} +#tnb{ border-bottom: none; background: none; width: 1200px; height: 90px; position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%);} +#tnb ul{min-width: inherit; width: 100%;} +#tnb li{position: absolute; width: 40px; height: 40px; font-size: 1.0em; border-left: none; z-index: 10;} +#tnb li a{width: 100%; height: 100%; text-indent: -9999px; overflow: hidden;} +#tnb li .fa{display: none;} +#tnb .tnb_admin a{color: #d40424;} +#tnb a:hover{background: none; color: #333;} +#tnb .tnb_admin a:hover{color: #d40424;} +#tnb li.register{background: url(../../img/common/register_icon1.png) center no-repeat; position: absolute; top: 50%; right: 70px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-size: 100%;} +#tnb li.join{display: none;} +#tnb li.tnb_admin{display: none;} +#tnb li.login{background: url(../../img/common/login_icon2.png) center no-repeat; position: absolute; top: 50%; right: 20px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-size: 100%;} +#tnb li.logout{background: url(../../img/common/logout_icon2.png) center no-repeat; position: absolute; top: 50%; right: 20px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-size: 100%;} +#aside{position: fixed;right: -100%; top: 0px; bottom: 0; margin: 0px;width: 80%; border-top: 0;z-index: 1005;overflow-y: auto;background:#223040;border: 0;} +.close_menu {position: fixed;z-index: 1100; top: 20px; right: -100%; width: 35px; height: 35px;} +.close_menu span {position:absolute; left:0; display:block; width:100%; height:2px; background:#fff; -webkit-transition:all .4s ease; transition:all .4s ease; } +.close_menu .close-line1 {top:17px; -webkit-transform:rotate(45deg); -ms-transform:rotate(45deg); transform:rotate(45deg)} +.close_menu .close-line2 {top:17px; -webkit-transform:rotate(-45deg); -ms-transform:rotate(-45deg); transform:rotate(-45deg)} +.mask {display: none;position: fixed;top: 0;right: 0;width: 100%;height: 100%;background: #000;opacity: .7;cursor: pointer; z-index: 1000;} +.mb-sub-ul {display: none; background: #333;} +.mb-sub-ul li a {display: block; font-size: 16px; font-weight: 100; padding: 15px 0;} +.mobile_menu{position: absolute; width: 100%; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%);} +.mobile_menu ul{width: 100%; overflow: hidden;} +.mobile-list {width: 100%;} +.mobile-list a {padding: 20px 0; width: 100%; color: #fff; text-transform: uppercase;font-size: 13px; text-align: center; font-size: 18px; font-weight: normal;} + +#mb-open-menu{position: absolute;right: 20px;top: 50%;-webkit-transform: translate(0,-50%);-ms-transform: translate(0,-50%);transform: translate(0,-50%);width: 26px;height: 16px;cursor: pointer;z-index: 10;} +#mb-open-menu span {position: absolute;left: 0;display: block;width: 100%;height: 1px;background: #fff;-webkit-transition: all .4s ease;transition: all .4s ease;} +#mb-open-menu .line1 {top: 0px;} +#mb-open-menu .line2 {top: 7px;} +#mb-open-menu .line3 {bottom: 0;} +@media screen and (max-width:1200px){ + #hd_wrapper{width: 100%;} +} + +@media screen and (max-width:1199px){ + #tnb{width: 100%;} +} +@media screen and (min-width:1025px){ + #hd{height: 90px; z-index: 10; position: fixed; top: 0; min-width: none; width: 100%; } + #hd_wrapper{background: rgba(255,255,255,0); -webkit-transition-duration: 0.5s; transition-duration: 0.5s; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out;} + #hd.scrollBg #hd_wrapper{background: rgba(255,255,255,1); -webkit-box-shadow: -2px 6px 16px 0px rgba(0,0,0,0.26); box-shadow: -2px 6px 16px 0px rgba(0,0,0,0.26);} + #hd_wrapper{position: absolute; width: 100%; height: 90px;} + #hd_wrapper .inner{height: 90px; position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%);} + #hd.scrollBg .gnb_1da{color: #000;} + #hd.scrollBg #tnb li.login{background-image: url(../../img/common/login_icon1.png);} + #hd.scrollBg #tnb li.logout{background-image: url(../../img/common/logout_icon1.png);} + #hd.scrollBg #tnb li.register{background-image: url(../../img/common/register_icon2.png);} + #gnb{width: 700px;} + .logo_pc{display: block;} + .logo_mobile{display: none;} + #aside{display: none;} + #gnb{display: block;} + .close_menu{display: none;} + #mb-open-menu{display: none;} + #hd.scrollBg #nav_bar{background: #c80e21; bottom: -1px;} +} +@media screen and (max-width:1024px){ + .hd_login{display: none;} + #hd{width: 100%; display: block; height: 60px;} + #hd_wrapper{width: 100%;} + #tnb{width: 100%; left: 0; -webkit-transform: none; -ms-transform: none; transform: none; height: 60px;} + #tnb li{width: 35px; height: auto;} + #tnb li.login, #tnb li.register{right: inherit; left: 20px;} + #tnb li.logout{right: inherit; left: 70px;} + #tnb li{height: 40px; line-height: 40px;} + #gnb{display: none;} + #logo{width: 40px; height: 26px; left: 50%; margin-left: -20px;} + .logo_mobile{display: block;} + .logo_pc{display: none;} + #aside{display: block; z-index: 2000;} +} +@media screen and (max-width:600px){ + #aside{width: 100%;} + #tnb li{width: 28px; height: auto;} + #tnb a{padding: 0;} + #tnb li.logout{right: inherit; left: 56px;} +} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/css/common/headStyle.css b/web/html/theme/AT_WEB01/css/common/headStyle.css new file mode 100644 index 0000000..2fe4875 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/common/headStyle.css @@ -0,0 +1,157 @@ +/*headStyle.css*/ +.dark-mode { background:#333; } +.dark-mode h1, h2 , h3, p { color:#fff; } +.dark-mode p, +.dark-mode h1, +body.dark-mode h2, +body.dark-mode h3, +body.dark-mode a { color:#fff; } +body.dark-mode button { + background-color:#c71526; + color:#fff; +} +body.light-mode h1, h2, h3, p, a { color:#333; } +body.light-mode button { + background-color:#c71526; + color:#ee1e +} +button { background:#c71526; } +#darkLight { + width:70px; height:90px; + font-size:3em; + padding-left:0.5%; + position:fixed; + right:0; bottom:3%; + border-radius:100px 0 0 100px; + transition:all .3s; + z-index:99999; +} +#darkLight:hover { + width:130px; + padding-left:1%; + background-color:#111; +} +#hd{width: 100%; border-bottom: 1px solid rgba(255,255,255,0.2);} +#hd_wrapper{height: 100%; } +#logo{position: absolute; width: 82px; height: 55px; left: 20px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); z-index: 10;} +#logo img{width: 100%;} +#gnb{position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 50%;} +#gnb .gnb_1dli{line-height: 90px; width: 20%; text-align: center;} +.hd_login { width:20%; overflow: hidden; position:fixed; right:5%; top:35%; z-index:999999;} +.hd_login a {float:left; margin:0 5%; color:#fff; } +.gnb_1da{width: 100%; color: #fff; font-weight: 500;} +.gnb_1dli .bg{display: none;} +.gnb_2dul{top: 90px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 100%; background: rgba(0,0,0,0.7);} +.gnb_1dli_over .gnb_2dul{left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); background: rgba(0,0,0,0.7);} +#nav_bar{height: 3px; background: #fff; position: absolute; bottom: 0;} +.gnb_2dli{border: none;} +.gnb_2da{color: #fff; text-align: center; font-weight: 400;} +a.gnb_2da:hover{background-color: #c80e21;} + +/* 3차메뉴 */ +.gnb_3dul{top: 90px; left: 50%; -webkit-transform: translateX(0%); -ms-transform: translateX(0%); transform: translateX(0%); width: 100%; background: rgba(255,255,255,0.1);} +/*.gnb_2dli_over .gnb_3dul{left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); background: rgba(0,0,0,0.7);}*/ +.gnb_3dli{border: none;} +.gnb_3da{color: #fff; /*text-align: center; */font-weight: 300;} +a.gnb_3da:hover{background-color: #c80e21;} + +#tnb{ border-bottom: none; background: none; width: 1200px; height: 90px; position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%);} +#tnb ul{min-width: inherit; width: 100%;} +#tnb li{position: absolute; width: 40px; height: 40px; font-size: 1.0em; border-left: none; z-index: 10;} +#tnb li a{width: 100%; height: 100%; text-indent: -9999px; overflow: hidden;} +#tnb li .fa{display: none;} +#tnb .tnb_admin a{color: #d40424;} +#tnb a:hover{background: none; color: #333;} +#tnb .tnb_admin a:hover{color: #d40424;} +#tnb li.join{display: none;} +/*#tnb li.tnb_admin{display: none;}*/ +#tnb li.shop{background: url(../../img/common/shop_icon2.png) center no-repeat; position: absolute; top: 50%; right: 70px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-size: 100%;} +#tnb li.tnb_admin{background: url(../../img/common/admin_icon2.png) center no-repeat; position: absolute; top: 50%; right: 170px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-size: 100%;} +#tnb li.register{background: url(../../img/common/login_icon2.png) center no-repeat; position: absolute; top: 50%; right: 120px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-size: 100%;} +#tnb li.login{background: url(../../img/common/login_icon2.png) center no-repeat; position: absolute; top: 50%; right: 20px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-size: 100%;} +#tnb li.logout{background: url(../../img/common/logout_icon2.png) center no-repeat; position: absolute; top: 50%; right: 20px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background-size: 100%;} +#aside{position: fixed;right: -100%; top: 0px; bottom: 0; margin: 0px;width: 80%; border-top: 0;z-index: 1005;overflow-y: auto;background:#223040;border: 0;} +.close_menu {position: fixed;z-index: 1100; top: 20px; right: -100%; width: 35px; height: 35px;} +.close_menu span {position:absolute; left:0; display:block; width:100%; height:2px; background:#fff; -webkit-transition:all .4s ease; transition:all .4s ease; } +.close_menu .close-line1 {top:17px; -webkit-transform:rotate(45deg); -ms-transform:rotate(45deg); transform:rotate(45deg)} +.close_menu .close-line2 {top:17px; -webkit-transform:rotate(-45deg); -ms-transform:rotate(-45deg); transform:rotate(-45deg)} +.mask {display: none;position: fixed;top: 0;right: 0;width: 100%;height: 100%;background: #000;opacity: .7;cursor: pointer; z-index: 1000;} +.mb-sub-ul {display: none; background: #333;padding-left:45%} +.mb-sub-ul li a {display: block; font-size: 16px; font-weight: 100; padding: 15px 0;text-align:left; font-weight:500} +.mb-sub2-ul {display: none; background: #333;padding-left:3%;} +.mb-sub2-ul li a {display: block; font-size: 13px; font-weight: 100; padding: 10px 0 ;text-align:left} +.mb-sub2-ul li a:first-child {padding-top: 0} +.mobile_menu{position: absolute; width: 100%; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%);} +.mobile_menu ul{width: 100%; overflow: hidden;} +.mobile-list {width: 100%;} +.mobile-list a {padding: 20px 0; width: 100%; color: #fff; text-transform: uppercase;font-size: 13px; text-align: center; font-size: 18px; font-weight: 600;} + +#mb-open-menu{position: absolute;right: 20px;top: 50%;-webkit-transform: translate(0,-50%);-ms-transform: translate(0,-50%);transform: translate(0,-50%);width: 26px;height: 16px;cursor: pointer;z-index: 10;} +#mb-open-menu span {position: absolute;left: 0;display: block;width: 100%;height: 1px;background: #fff;-webkit-transition: all .4s ease;transition: all .4s ease;} +#mb-open-menu .line1 {top: 0px;} +#mb-open-menu .line2 {top: 7px;} +#mb-open-menu .line3 {bottom: 0;} +@media all and (max-width:1200px){ + #hd_wrapper{width: 100%;} +} + +@media all and (max-width:1199px){ + #tnb{width: 100%;} +} +@media all and (min-width:1025px){ + #hd{height: 90px; z-index: 10; position: fixed; top: 0; min-width: none; width: 100%; } + #hd_wrapper{background: rgba(255,255,255,0); -webkit-transition-duration: 0.5s; transition-duration: 0.5s; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out;} + #hd.scrollBg #hd_wrapper{background: rgba(255,255,255,1); -webkit-box-shadow: -2px 6px 16px 0px rgba(0,0,0,0.26); box-shadow: -2px 6px 16px 0px rgba(0,0,0,0.26);} + #hd_wrapper{position: absolute; width: 100%; height: 90px;} + #hd_wrapper .inner{height: 90px; position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%);} + #hd.scrollBg .gnb_1da{color: #000;} + #hd.scrollBg #tnb li.login{background-image: url(../../img/common/login_icon1.png);} + #hd.scrollBg #tnb li.logout{background-image: url(../../img/common/logout_icon1.png);} + #hd.scrollBg #tnb li.register{background-image: url(../../img/common/login_icon1.png);} + #hd.scrollBg #tnb li.tnb_admin{background-image: url(../../img/common/admin_icon1.png);} + #hd.scrollBg #tnb li.shop{background-image: url(../../img/common/shop_icon1.png);} + + #gnb{width: 700px;} + .logo_pc{display: block;} + .logo_mobile{display: none;} + #aside{display: none;} + #gnb{display: block;} + .close_menu{display: none;} + #mb-open-menu{display: none;} + #hd.scrollBg #nav_bar{background: #c80e21; bottom: -1px;} +} +@media all and (max-width:1024px){ + #hd{width: 100%; display: block; height: 60px;} + #hd_wrapper{width: 100%;} + #tnb{width: 100%; left: 0; -webkit-transform: none; -ms-transform: none; transform: none; height: 60px;} + #tnb li{width: 35px; height: auto;} + #tnb li.login, #tnb li.register{right: inherit; left: 20px;} + #tnb li.logout{right: inherit; left: 120px;} + #tnb li.tnb_admin{right: inherit; left: 170px;} + #tnb li.shop{right: inherit; left: 70px;} + #tnb li{height: 40px; line-height: 40px;} + #gnb{display: none;} + #logo{width: 40px; height: 26px; left: 50%; margin-left: -20px;} + .logo_mobile{display: block;} + .logo_pc{display: none;} + #aside{display: block; z-index: 2000;} +} +@media all and (max-width:980px){ + .hd_login { + width: 20%; + overflow: hidden; + position: absolute; + right: 5%; + top: 35%; + } +} + +@media all and (max-width:600px){ + .hd_login { display: none; } + #aside{width: 100%;} + #tnb li{width: 28px; height: auto;} + #tnb a{padding: 0;} + #tnb li.logout{right: inherit; left: 92px;} + #tnb li.shop{right: inherit; left: 56px;} + #tnb li.tnb_admin{right: inherit; left: 128px;} +} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/css/common/reset.css b/web/html/theme/AT_WEB01/css/common/reset.css new file mode 100644 index 0000000..1e93da0 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/common/reset.css @@ -0,0 +1,132 @@ +/*reset.css*/ + +@import url('https://fonts.googleapis.com/css?family=Noto+Sans+KR:100,300,400,700,900'); +body.dark-mode .aboutWrap { background:#333; } +body.dark-mode .aboutWrap h1, h2 , h3, p { color:#fff; } +body.dark-mode p, +body.dark-mode h1, +body.dark-mode h2, +body.dark-mode h3, +body.dark-mode a { color:#fff; } +body.dark-mode button { + background-color:#c71526; + color:#fff; +} +body.light-mode h1, h2, h3, p, a { color:#333; } +body.light-mode button { + background-color:#c71526; + color:#eee +} +button { background:#c71526; } +#darkLight { + width:70px; height:90px; + font-size:3em; + padding-left:0.5%; + position:fixed; + right:0; bottom:3%; + border-radius:100px 0 0 100px; + transition:all .3s; + z-index:99999; +} +#darkLight:hover { + width:130px; + padding-left:1%; + background-color:#111; +} +html, body{width: 100%; -ms-overflow-x: hidden; overflow-x: hidden;} +#aside{display: none;} +#top_btn{display: none;} +.gnb_menu_btn{display: none;} +body{background: none;} +#hd{border-top: none; width: 100%; height: 90px; position: absolute;} +#hd_wrapper{padding: 0;} +#container_wr{width: 100%;} +#container{margin: 0; width: 100%;} +#logo{padding: 0; float: none;} +#gnb{height: 100%;} +#gnb .gnb_wrap{width: 100%;} +#gnb .gnb_mnal{display: none;} +#gnb #gnb_1dul{background: none; -webkit-box-shadow: none; box-shadow: none; width: 100%;} +#gnb .gnb_1dli{padding: 0;} +#gnb .gnb_1dli:hover{background: none; -webkit-transition: none; transition: none;} +.gnb_1da{color: #000;} +#ft{border-top: none; background: none; padding-bottom: 0; text-align: left;} +#ft_wr{width: 100%;} +#ft_link{border-bottom: none; padding: 0;} +#ft_link a{padding: 0; line-height: 1em; font-weight: normal;} +#ft_copy{color: #000; font-size: 1em;} +button[type="submit"]{outline: 0;} +input[type="submit"]{-webkit-appearance: none;-webkit-border-radius: 0;} +img, iframe, fieldset, frameset, input, select, option, textarea, button{border: 0 none; border-radius: 0;} +ul, ol, li{list-style: none;} +b, strong{font-weight: normal;} +address, i, em{font-style: normal;} +a{text-decoration:none; color: #000;} +a, img, label{display: block;} +html, body, table, tr, th, td, input, select, option, textarea, button{font: 15px / 150% 'Noto Sans KR', sans-serif; color: #000; font-weight: normal;} +h1, h2, h3, h4, h5, h6{font-size: 1.0em; font-weight: normal; color: #000;} +/* noto-sans-kr-100 - latin */ +@font-face { + font-family: 'Noto Sans KR'; + font-style: normal; + font-weight: 100; + src: url('../../fonts/noto-sans-kr-v11-latin-100.eot'); /* IE9 Compat Modes */ + src: local('Noto Sans KR Thin'), local('NotoSansKR-Thin'), + url('../../fonts/noto-sans-kr-v11-latin-100.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../../fonts/noto-sans-kr-v11-latin-100.woff2') format('woff2'), /* Super Modern Browsers */ + url('../../fonts/noto-sans-kr-v11-latin-100.woff') format('woff'), /* Modern Browsers */ + url('../../fonts/noto-sans-kr-v11-latin-100.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../../fonts/noto-sans-kr-v11-latin-100.svg#NotoSansKR') format('svg'); /* Legacy iOS */ +} +/* noto-sans-kr-300 - latin */ +@font-face { + font-family: 'Noto Sans KR'; + font-style: normal; + font-weight: 300; + src: url('../../fonts/noto-sans-kr-v11-latin-300.eot'); /* IE9 Compat Modes */ + src: local('Noto Sans KR Light'), local('NotoSansKR-Light'), + url('../../fonts/noto-sans-kr-v11-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../../fonts/noto-sans-kr-v11-latin-300.woff2') format('woff2'), /* Super Modern Browsers */ + url('../../fonts/noto-sans-kr-v11-latin-300.woff') format('woff'), /* Modern Browsers */ + url('../../fonts/noto-sans-kr-v11-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../../fonts/noto-sans-kr-v11-latin-300.svg#NotoSansKR') format('svg'); /* Legacy iOS */ +} +/* noto-sans-kr-regular - latin */ +@font-face { + font-family: 'Noto Sans KR'; + font-style: normal; + font-weight: 400; + src: url('../../fonts/noto-sans-kr-v11-latin-regular.eot'); /* IE9 Compat Modes */ + src: local('Noto Sans KR Regular'), local('NotoSansKR-Regular'), + url('../../fonts/noto-sans-kr-v11-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../../fonts/noto-sans-kr-v11-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../../fonts/noto-sans-kr-v11-latin-regular.woff') format('woff'), /* Modern Browsers */ + url('../../fonts/noto-sans-kr-v11-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../../fonts/noto-sans-kr-v11-latin-regular.svg#NotoSansKR') format('svg'); /* Legacy iOS */ +} +/* noto-sans-kr-700 - latin */ +@font-face { + font-family: 'Noto Sans KR'; + font-style: normal; + font-weight: 700; + src: url('../../fonts/noto-sans-kr-v11-latin-700.eot'); /* IE9 Compat Modes */ + src: local('Noto Sans KR Bold'), local('NotoSansKR-Bold'), + url('../../fonts/noto-sans-kr-v11-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../../fonts/noto-sans-kr-v11-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ + url('../../fonts/noto-sans-kr-v11-latin-700.woff') format('woff'), /* Modern Browsers */ + url('../../fonts/noto-sans-kr-v11-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../../fonts/noto-sans-kr-v11-latin-700.svg#NotoSansKR') format('svg'); /* Legacy iOS */ +} +/* noto-sans-kr-900 - latin */ +@font-face { + font-family: 'Noto Sans KR'; + font-style: normal; + font-weight: 900; + src: url('../../fonts/noto-sans-kr-v11-latin-900.eot'); /* IE9 Compat Modes */ + src: local('Noto Sans KR Black'), local('NotoSansKR-Black'), + url('../../fonts/noto-sans-kr-v11-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../../fonts/noto-sans-kr-v11-latin-900.woff2') format('woff2'), /* Super Modern Browsers */ + url('../../fonts/noto-sans-kr-v11-latin-900.woff') format('woff'), /* Modern Browsers */ + url('../../fonts/noto-sans-kr-v11-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../../fonts/noto-sans-kr-v11-latin-900.svg#NotoSansKR') format('svg'); /* Legacy iOS */ +} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/css/default.css b/web/html/theme/AT_WEB01/css/default.css new file mode 100644 index 0000000..460cba1 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/default.css @@ -0,0 +1,483 @@ +@charset "utf-8"; +@font-face { + font-family: 'GongGothicLight'; + src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicLight.woff') format('woff'); + font-weight: normal; + font-style: normal; +} +.dark-mode #wrapper { background:#333; } +body.dark-mode #wrapper h1, h2 , h3, p { color:#fff; } +body.dark-mode p, +body.dark-mode h1, +body.dark-mode h2, +body.dark-mode h3, +body.dark-mode a { color:#fff; } +body.dark-mode button { + background-color:#c71526; + color:#fff; +} +body.light-mode h1, h2, h3, p, a { color:#333; } +body.light-mode button { + background-color:#c71526; + color:#eee +} +button { background:#c71526; } +#darkLight { + width:70px; height:90px; + font-size:3em; + padding-left:0.5%; + position:fixed; + right:0; bottom:3%; + border-radius:100px 0 0 100px; + transition:all .3s; + z-index:99999; +} +#darkLight:hover { + width:130px; + padding-left:1%; + background-color:#111; +} +/* 초기화 */ +html {overflow-y:scroll} +body {margin:0;padding:0;font-size:0.75em;font-family: 'GongGothicLight';background:#e7e7e7} +html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0} +h1, h2, h3, h4, h5, h6 {font-size:1em;font-family: 'GongGothicLight';} +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block} +ul, dl,dt,dd {margin:0;padding:0;list-style:none} +legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +label, input, button, select, img {vertical-align:middle;font-size:1em} +input, button {margin:0;padding:0;font-family:'Noto Sans KR', sans-serif;font-size:1em} +input[type="submit"]{cursor:pointer} +button {cursor:pointer} +textarea, select {font-family:'Noto Sans KR', sans-serif;font-size:1em} +select {margin:0} +p {margin:0;padding:0;word-break:keep-all} +hr {display:none} +pre {overflow-x:scroll;font-size:1.1em} +a {color:#000;text-decoration:none} +*, :after, :before { + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +input[type=text],input[type=password], textarea { +-webkit-transition: all 0.30s ease-in-out; +-moz-transition: all 0.30s ease-in-out; +-ms-transition: all 0.30s ease-in-out; +-o-transition: all 0.30s ease-in-out; +outline: none; +} +/* +input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus { +-webkit-box-shadow: 0 0 5px #9ed4ff; +box-shadow: 0 0 5px #9ed4ff; +border: 1px solid #558ab7 !important; +} +*/ +.placeholdersjs { color: #aaa !important; } + +/* 레이아웃 크기 지정 */ +#hd, #wrapper, #ft{/*min-width:1200px*/} + +#hd_pop, +#hd_wrapper, +#tnb ul, +#gnb .gnb_wrap, +#container_wr, +#ft_wr{width:1200px} + +/* 팝업레이어 */ +#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0} +#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff;} +.hd_pops img{max-width:100%} +.hd_pops_con {} +.hd_pops_footer {padding: 0;background:#000;color:#fff;text-align:left;position:relative;} +.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""} +.hd_pops_footer button {padding: 10px;border:0;color:#fff} +.hd_pops_footer .hd_pops_reject{background:#000;text-align:left} +.hd_pops_footer .hd_pops_close{background:#393939;position:absolute;top:0;right:0} + +/* 상단 레이아웃 */ +#hd {border-top:2px solid #d13f4a} +#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#hd_wrapper {position:relative;margin:0 auto;padding:10px 0;height:115px;zoom:1} +#hd_wrapper:after {display:block;visibility:hidden;clear:both;content:""} + +#logo {float:left;padding:30px 0 0} + +.hd_sch_wr{position:absolute;top:25px;left:50%;width:430px;margin-left:-215px;} +#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#hd_sch{border:2px solid #556ada;background:#fff;border-radius:5px;overflow:hidden} +#hd_sch #sch_stx {padding-left:10px;height:40px;width:376px;border:0;border-right:0;float:left;font-size:1.25em} +#hd_sch #sch_submit {height:40px;border:0;background:#fff;color:#d13f4a;width:50px;float:left;cursor:pointer;font-size:18px} + +#sbn_side{position:absolute;top:20px;right:0} + +#tnb {border-bottom:1px solid #ddd;background:#fff} +#tnb h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#tnb ul {margin:0 auto;zoom:1} +#tnb ul:after {display:block;visibility:hidden;clear:both;content:""} +#tnb li {float:right;border-left:1px solid #ddd;margin-bottom:-1px;font-size:0.92em} +#tnb a {display:inline-block;padding:0 10px;color:#646464;line-height:35px} +#tnb a:focus, #tnb a:hover {color:#d13f4a;background:#fafafa} +#tnb .tnb_admin a{color:#ff0000;} +#tnb .tnb_left{float:left} +#tnb .tnb_left a{padding:0 14px} +#tnb .tnb_cart{border-right:1px solid #ddd;} +#tnb .tnb_community{border-right:1px solid #ddd} +#tnb .tnb_community i{font-size:15px} +#tnb .tnb_community{background:#e7e7e7;font-weight:bold;} +#tnb .tnb_community:focus, #tnb .tnb_community:hover {color:#333;border-bottom:0} +#tnb .tnb_community a{color:#d13f4a;border-bottom:1px solid #e7e7e7} + +#hd_qnb{float:right;margin-top:20px} +#hd_qnb:after {display:block;visibility:hidden;clear:both;content:""} +#hd_qnb li{float:left;font-size:1.083em;line-height:15px;position:relative;text-align:center;margin:0 10px} +#hd_qnb li span {display:block;margin-top:5px;font-size:0.92em} +#hd_qnb li a{display:block} +#hd_qnb li i{display:inline-block;width:40px;line-height:40px;border-radius:25px;background:#fff;text-align:center;margin:0;color:#fff} +#hd_qnb .visit .visit-num{display:inline-block;line-height:18px;padding:0 5px;border-radius:10px;background:#f04e00;color:#fff;font-size:10px;position:absolute;top:0;right:0} +#hd_qnb li .fa-question{background:#e83a5f;font-size:20px} +#hd_qnb li .fa-question:hover{background:#e41b45} +#hd_qnb li .fa-comments{background:#82c13f;font-size:16px} +#hd_qnb li .fa-comments:hover{background:#5aa708} +#hd_qnb li .fa-users{background:#f0ba00;font-size:15px} +#hd_qnb li .fa-users:hover{background:#f06f00} +#hd_qnb li .fa-history{background:#8522c4;font-size:15px} +#hd_qnb li .fa-history:hover{background:#6700a9} + +/* 메인메뉴 */ +#gnb{position:relative} +#gnb h2{position:absolute;font-size:0;line-height:0;overflow:hidden} +#gnb .gnb_wrap{margin:0 auto;position:relative} +#gnb #gnb_1dul {font-size:1.083em;padding: 0;background:#d13f4a;zoom:1; +-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.3); +box-shadow: 0 1px 3px rgba(0,0,0,0.3)} +#gnb ul:after {display:block;visibility:hidden;clear:both;content:""} +#gnb .gnb_1dli{float:left;line-height:50px;padding:0 15px;position:relative;} +#gnb .gnb_1dli:hover{background:#1a30a7; +-webkit-transition: background-color 2s ease-out; +-webkit-transition: background-color 0.3s ease-out; +transition: background-color 0.3s ease-out;} + +.gnb_1dli .bg{display:inline-block;width:10px;height:10px;overflow:hidden;background:url(../img/gnb_bg2.gif) no-repeat 50% 50%;text-indent:-999px} +.gnb_1da {display:inline-block;font-weight:bold;color:#fff;text-decoration:none;} +.gnb_2dli{border-top:1px solid #d13f4a} +.gnb_2dli:first-child{border:0} +.gnb_2dul {display:none;position:absolute;top:50px;min-width:140px;background:#1a30a7;padding: 0; +-webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.1); +box-shadow: 0 1px 5px rgba(0,0,0,0.1);} +.gnb_2da {display:block;padding:0 10px;line-height:40px;color:#c3cbf7;text-align:left;text-decoration:none} +a.gnb_2da:hover{background:#0e2080; +-webkit-transition: all 0.3s ease-out; +transition: all 0.3s ease-out;} + +.gnb_1dli_air .gnb_2da {} +.gnb_1dli_on .gnb_2da {} +.gnb_2da:focus, .gnb_2da:hover {color:#fff} +.gnb_1dli_over .gnb_2dul {display:block;left:0} +.gnb_1dli_over2 .gnb_2dul {display:block;right:0} + +/* 3차메뉴 */ +.gnb_3dli{border-top:1px solid #d13f4a} +.gnb_3dli:first-child{border:0} +.gnb_3dul {display:block;/*position:relative;*/top:90px;min-width:140px;background:#1a30a7;padding: 0; +-webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.1); +box-shadow: 0 1px 5px rgba(0,0,0,0.1);} +.gnb_3da {display:block;padding:0 10px;line-height:40px;color:#c3cbf7;text-align:left;text-decoration:none} +a.gnb_3da:hover{background:#0e2080;-webkit-transition: all 0.3s ease-out;transition: all 0.3s ease-out;} +.gnb_2dli_over .gnb_3dul {display:block;left:0} +.gnb_2dli_over2 .gnb_3dul {display:block;right:0} +/* 3차메뉴 끝 */ + +.gnb_wrap .gnb_empty {padding:10px 0;width:100%;text-align:center;line-height:2em;color:#fff} +.gnb_wrap .gnb_empty a{color:#fff;text-decoration:underline} +.gnb_wrap .gnb_al_ul .gnb_empty, .gnb_wrap .gnb_al_ul .gnb_empty a{color:#555} + +#gnb .gnb_menu_btn{background:#4158d1;color:#fff;width:50px;height:50px;border:0;vertical-align:top;font-size:18px} +#gnb .gnb_close_btn{background:#4158d1;color:#fff;width:50px;height:50px;border:0;vertical-align:top;font-size:18px;position:absolute;top:-50px;left:0} +#gnb .gnb_mnal{padding:0} + +#gnb_all{display:none;position:absolute;width:100%;z-index:99;} +#gnb_all .gnb_al_ul:after {display:block;visibility:hidden;clear:both;content:""} +#gnb_all .gnb_al_ul{background:#fff;border:1px solid #4158d1;padding:20px; +-webkit-box-shadow: 0 2px 5px rgba(0,0,0,0.2); +box-shadow: 0 2px 5px rgba(0,0,0,0.2);} +#gnb_all .gnb_al_li{background:#fff;float:left;min-width:20%;padding:5px } +#gnb_all .gnb_al_li .gnb_al_a{font-size:1.083em;padding:10px;display:block;position:relative;margin-bottom:10px;background: #eff1f9;border-bottom: 1px solid #dee2f1;font-weight: bold;color:#243071} +#gnb_all .gnb_al_li li {padding-left:10px;line-height:2em} +#gnb_all .gnb_al_li li i{color:#9ca6cc} +#gnb_all .gnb_al_li li a{color:#555} + +/* 중간 레이아웃 */ +#wrapper{} +#container_wr:after {display:block;visibility:hidden;clear:both;content:""} +#container_wr {z-index:5;margin:0 auto;height:100%;zoom:1} +#aside {float:right;width:305px;padding:0;background: #e7ebf3;height: 100%;border: 1px solid #adbfd2;margin:20px 0 20px 20px} + +#container {z-index:4;position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:875px;zoom:1} +#container:after {display:block;visibility:hidden;clear:both;content:""} +#container_title {font-size:1.333em;margin:0 auto;font-weight:bold;} +#container_title span{margin:0 auto 10px;display:block;line-height:30px;} +/*.latest_wr:after {display:block;visibility:hidden;clear:both;content:""}*/ +.lt_wr{width:49%} +.lt_wr:nth-child(2n+1){clear:both} +.latest_wr:after {display:block;visibility:hidden;clear:both;content:""} +/* 하단 레이아웃 */ +#ft {border-top:1px solid #d5d5d5;background:#fff;padding-bottom:30px;margin:0 auto;text-align:center} +#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ft_wr {margin:0 auto;position:relative;} +#ft_link{padding:15px 0;border-bottom:1px solid #eee} +#ft_link a{display:inline-block;padding:0 8px;line-height:1.083em;font-weight:bold} +#ft_catch{margin:20px 0 10px} +#ft_copy{color:#555;font-size:0.92em} +#top_btn {position:fixed;bottom:20px;right:20px;width:50px;height:50px;line-height:46px;border:2px solid #333;color:#333;text-align:center;font-size:15px;z-index:90;background:rgba(255,255,255,0.5)} +#top_btn:hover{border-color:#3059c7;background:#3059c7;color:#fff} + +/* 게시물 선택복사 선택이동 */ +#copymove {} +#copymove .win_desc {text-align:center;display:block} +#copymove .tbl_wrap{margin:20px } +#copymove .win_btn{padding:0 20px 20px} +.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px} +.copymove_currentbg {background:#f4f4f4} + +/* 화면낭독기 사용자용 */ +#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden} +.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important} +/* 본문 바로가기 */ +#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} +#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em} + +/* ie6 이미지 너비 지정 */ +.img_fix {width:100%;height:auto} + +/* 캡챠 자동등록(입력)방지 기본 -pc */ +#captcha {display:inline-block;position:relative} +#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;} +#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0} +#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px} +#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px} +#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top} +#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em} + +/* 캡챠 자동등록(입력)방지 기본 - mobile */ +#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px} +#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block;} +#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px} +#captcha.m_captcha #captcha_reload span{display:none;} +#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px} +#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em} +#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../../../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none} + +/* ckeditor 단축키 */ +.cke_sc {margin:0 0 5px;text-align:right} +.btn_cke_sc{display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer} +.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center} +.cke_sc_def dl{margin:0 0 5px;text-align:left;zoom:1} +.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""} +.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9} +.cke_sc_def dt {width:20%;font-weight:bold} +.cke_sc_def dd {width:30%} + +/* ckeditor 태그 기본값 */ +#bo_v_con ul{display: block;list-style-type: disc;margin-top: 1em;margin-bottom: 1em;margin-left: 0;margin-right: 0;padding-left: 40px;} +#bo_v_con ol{display: block;list-style-type: decimal;margin-top: 1em;margin-bottom: 1em;margin-left: 0;margin-right: 0;padding-left: 40px;} +#bo_v_con li{display: list-item;} + +/* 버튼 */ +a.btn,.btn{line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0; +-webkit-transition: background-color 0.3s ease-out; +transition: background-color 0.3s ease-out;} + +a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle} +a.btn01:focus, a.btn01:hover {text-decoration:none} +button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none} +a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle;} +a.btn02:focus, .btn02:hover {text-decoration:none} +button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none} + +.btn_confirm {text-align:right} /* 서식단계 진행 */ + +.btn_submit {border:0;background:#d13f4a;color:#fff;cursor:pointer;border:0} +.btn_submit:hover {background:#0025eb} + +a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle;} +button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle} +.btn_cancel:hover {background:#aaa; +} +a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 5px;height:40px;border:0;background:#3c3c3c;border-radius:5px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */ +a.btn_frmline {} +button.btn_frmline {font-size:1em} + +/* 게시판용 버튼 */ +a.btn_b01,.btn_b01 {display:inline-block;background:#4c4f6f;color:#fff;text-decoration:none;vertical-align:middle} +.btn_b01:hover, .btn_b01:hover {background:#54598c} +a.btn_b02,.btn_b02 {display:inline-block;background:#d13f4a;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle;} +a.btn_b02:hover, .btn_b02:hover {background:#0025eb} +a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle} +a.btn_b03:hover, .btn_b03:hover {background:#ebedf6} +a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle} +a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9} +a.btn_admin,.btn_admin {display:inline-block;background:#d13f4a;color:#fff;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */ +.btn_admin:hover, a.btn_admin:hover {background:#ff3746} + + +/*컬러*/ +.color_1 {background:#169dd6} +.color_2 {background:#14d53d} +.color_3 {background:#3814ff} +.color_4 {background:#7520c5} + +/* 기본테이블 */ +.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing: 0 5px;border:1px solid #ccc;} +.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left} +.tbl_head01 {margin:0;} +.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden} +.tbl_head01 thead th {padding:10px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ddd;background:#fafafa;height:40px} +.tbl_head01 thead th input {vertical-align:top; margin:10% 0; width:15px; height:15px; } /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center} +.tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8} +.tbl_head01 td {color:#666;background:#fff;padding:10px 5px;border-top:1px solid #ecf0f1;line-height:1.4em;height:70px;word-break:break-all} +.tbl_head01 tbody tr:hover td{background:#fafafa;} +.tbl_head01 a:hover {text-decoration:underline} +.tbl_head02 {margin:0 0 10px} +.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden} +.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +.tbl_head02 thead a {color:#383838} +.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center} +.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff} +.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff;line-height:1.4em;word-break:break-all} +.tbl_head02 a {} + +/* 폼 테이블 */ +.tbl_frm01 {margin:0 0 20px} +.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0} +.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left} +.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent} +.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px; +-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.tbl_frm01 textarea {padding:2px 2px 3px} +.frm_input {height:40px;} + +.full_input{width:100%} +.half_input{width:49.5%} +.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px} +.tbl_frm01 a {text-decoration:none} +.tbl_frm01 .frm_file {display:block;margin-bottom:5px} +.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em} + +/*기본 리스트*/ +.list_01 li{border:1px solid #dbdbdb;background:#fff;border-radius:3px;margin:3px 0;padding:10px 15px;list-style:none;position:relative;} +.list_01 li:after {display:block;visibility:hidden;clear:both;content:""} +.list_01 li:hover{background:#f9f9f9} +.list_01 li.empty_li{text-align:center;padding:20px 0;color:#666} +/*폼 리스트*/ +.form_01 h2{margin:0 0 10px;font-size:1.167em} +.form_01 li{margin:10px 0} +.form_01 li:after {display:block;visibility:hidden;clear:both;content:""} +.form_01 li .right_input{float:right} +.form_01 textarea{height:100px;width:100%} +.form_01 .frm_label{display:inline-block;width:130px} + +/* 자료 없는 목록 */ +.empty_table {padding:50px 0 !important;text-align:center} +.empty_list {padding:20px 0 !important;color:#666;text-align:center} + +/* 필수입력 */ +.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important;} + +/* 테이블 항목별 정의 */ +.td_board {width:80px;text-align:center} +.td_category {width:80px;text-align:center} +.td_chk {width:30px;text-align:center} +.td_date {width:60px;text-align:center} +.td_datetime {width:110px;text-align:center} +.td_group {width:80px;text-align:center} +.td_mb_id {width:100px;text-align:center} +.td_mng {width:80px;text-align:center} +.td_name {width:100px;text-align:left} +.td_nick {width:100px;text-align:center} +.td_num {width:50px;text-align:center} +.td_numbig {width:80px;text-align:center} +.td_stat {width:60px;text-align:center} + +.txt_active {color:#5d910b} +.txt_done {color:#e8180c} +.txt_expired {color:#ccc} +.txt_rdy {color:#8abc2a} + +/* 새창 기본 스타일 */ +.new_win {position:relative;} +.new_win .tbl_wrap {margin:0 20px} +.new_win #win_title {font-size:1.25em;height:50px;line-height:30px;padding:10px 20px;background:#333;color:#fff;} +.new_win #win_title .sv {font-size:0.75em;line-height:1.2em} +.new_win .win_ul {border-right:1px solid #dfe6e7;} +.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""} +.new_win .win_ul li{float:left;background:#fff;width:33.333%;text-align:center;border:1px solid #ccc;margin-left:-1px} +.new_win .win_ul li a{display:block;padding:10px 0} +.new_win .win_ul .selected{background:#fff;border-color:#d13f4a;position:relative;z-index:5} +.new_win .win_ul .selected a{color:#d13f4a;font-weight:bold} +.new_win .win_desc {margin:5px 0;font-size:0.92em;color:#3598db;} +.new_win .frm_info{font-size:0.92em;color:#3598db} +.new_win .win_total{text-align:right;margin:10px 0} +.new_win .win_total span{display:inline-block;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} +.new_win .new_win_con{margin:20px;} +.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""} +.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""} +.new_win .win_btn{text-align:right} +.new_win .btn_close {position:absolute;top:0;right:0;height:50px;width:50px;background:url(../img/close_btn.gif) no-repeat 50% 50%;border:0;text-indent:-999px;overflow:hidden;cursor:pointer} +.new_win .btn_submit {padding:0 20px;height:40px;font-weight:bold;font-size:1.083em;float:right} + +/* 검색결과 색상 */ +.sch_word {color:#00c4ac} + +/* 자바스크립트 alert 대안 */ +#validation_check {margin:100px auto;width:500px} +#validation_check h1 {margin-bottom:20px;font-size:1.3em} +#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff} + +/* 사이드뷰 */ +.sv_wrap {position:relative;font-weight:normal} +.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +.sv_wrap .sv:before{content: "";position: absolute;top: -6px;left: 15px;width: 0;height: 0;border-style: solid;border-width: 0 6px 6px 6px;border-color: transparent transparent #333 transparent;} +.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb } +.sv_wrap .sv a:hover{background:#000;color:#fff} +.sv_member{color:#333} +.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto} +.sv_nojs .sv {display:block} + +/* 페이징 */ +.pg_wrap {clear:both;margin:30px 0 ;text-align:center} +.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} +.pg {} +.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#f3f3f3;border:1px solid #bbbcc3} +.pg a:focus, .pg a:hover {text-decoration:none} +.pg_page {color:#555;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px;} +.pg_page:hover{background-color:#ddd} +.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #fff;padding:0;border:1px solid #bbb;} +.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #fff;padding:0;border:1px solid #bbb} +.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #fff;padding:0;border:1px solid #bbb} +.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #fff;padding:0;border:1px solid #bbb} +.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover{background-color:#fafafa} + +.pg_current {display:inline-block;background:#4c4f6f;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px; +-webkit-box-shadow: inset 1px 1px 2px #222542; +box-shadow: inset 1px 1px 2px #222542; +} + +/* cheditor 이슈 */ +.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before { +-webkit-box-sizing: content-box; +box-sizing: content-box; +} + +/* Mobile화면으로 */ +#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center} + diff --git a/web/html/theme/AT_WEB01/css/ie.css b/web/html/theme/AT_WEB01/css/ie.css new file mode 100644 index 0000000..2114e3f --- /dev/null +++ b/web/html/theme/AT_WEB01/css/ie.css @@ -0,0 +1,12 @@ +/*ie.css*/ + +#bo_w .bo_w_flie .frm_file{width: 100%;} +@media screen and (max-width:1199px){ + #ft_link{width: 337px;} +} +@media screen and (max-width:480px){ + #ft_link{width:294px; } +} + + + diff --git a/web/html/theme/AT_WEB01/css/ie9.css b/web/html/theme/AT_WEB01/css/ie9.css new file mode 100644 index 0000000..548bdf0 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/ie9.css @@ -0,0 +1,27 @@ +/*ie9.css*/ +#mb-open-menu{background: rgba(255,255,255,0);} +.webzine_table#bo_list .subject_box{height: 193px;} +@media screen and (max-width:600px){ + .sub1-3{float: left; height: auto; background-position: center; background-size: cover;} + .sub1-3 .con3_sect1{display: block;} + .sub1-3 .sub_intro.swiper-container{display: none;} + .sub1-3 .con3_sect1 .line{left: 34px; top: 8px;} + .sub1-3 .btnWrap{display: none;} + .sub1-3 article{padding: 0 20px; width: 100%; height: auto;} + .sub1-3 .con3_sect1 img{margin: 0 auto; max-width: 400px;} + .sub1-3 .con3_sect1 .year{font-size: 25px;} + .sub1-3 .con3_sect1 .desc .date{margin-right: 10px; font-size: 13px;} + .sub1-3 .con3_sect1 .desc p{width: 60%; font-size: 13px;} +} +@media screen and (max-width:480px){ + .sub1-3 .con3_sect1 .year{font-size: 20px;} +} +@media screen and (min-width:768px)and (max-width:1199px){ + .coreComWrap .detail ul li{height:350px;} +} +@media screen and (max-width:767px){ + #bo_list.webzine_table .tbl_head01 .td_chk{top: inherit; margin-left: 20px; margin-top: 60px;} +} +@media screen and (max-width:480px){ + #bo_list.webzine_table .tbl_head01 .td_chk{top: inherit; margin-left: 20px; margin-top: 35px;} +} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/css/mainStyle.css b/web/html/theme/AT_WEB01/css/mainStyle.css new file mode 100644 index 0000000..c17bbaf --- /dev/null +++ b/web/html/theme/AT_WEB01/css/mainStyle.css @@ -0,0 +1,262 @@ +/*mainStyle.css*/ +@font-face { + font-family: 'GongGothicLight'; + src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicLight.woff') format('woff'); + font-weight: normal; + font-style: normal; +} +body.dark-mode { background:#333; } +body.dark-mode h1, h2 , h3, p { color:#fff; } +body.dark-mode p, +body.dark-mode h1, +body.dark-mode h2, +body.dark-mode h3, +body.dark-mode a { color:#fff; } +body.dark-mode button { + background-color:#c71526; + color:#fff; +} +body.light-mode h1, h2, h3, p, a { color:#333; } +body.light-mode button { + background-color:#c71526; + color:#eee +} +button { background:#c71526; } +#darkLight { + width:70px; height:90px; + font-size:3em; + padding-left:0.5%; + position:fixed; + right:0; bottom:3%; + border-radius:100px 0 0 100px; + transition:all .3s; + z-index:99999; +} +#darkLight:hover { + width:130px; + padding-left:1%; + background-color:#111; +} + +#container{overflow: hidden; font-family: 'GongGothicLight';} +.bannerWrap{width: 100%; height: 950px; position: relative;} +.bannerWrap > img{height: 100%; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%);} +.bannerWrap > div{width: 768px; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%);} +.bannerWrap > div img{margin: 30px auto;} +.bannerWrap > div h2, .bannerWrap > div p{text-align: center; color: #fff;} +.bannerWrap > div h2{font-size: 48px; letter-spacing: -1px; line-height: 1.2; margin-bottom: 40px;} +.bannerWrap > div p{font-size: 28px; line-height: 1.5;} +.bannerWrap > div p span{display: block;} +.bannerWrap > div > div{width: 37px; height: 192px; position: absolute; font-size: 100px; color: #fff; z-index: 10; top: 30px; background: url(../img/main/square_bracket1.png); background-size: 100% 100%;} +.bannerWrap > div > div.square_bracket1{left: 100px;} +.bannerWrap > div > div.square_bracket2{background-image: url(../img/main/square_bracket2.png); right: 100px;} +.inner.box{padding: 0 20px 120px;} +.main_title{padding: 100px 0;} +.main_title h2{font-size: 60px; line-height: 1.0; color: #777; text-align: center;} +.main_title h2::after{content: ""; display: block; width: 1px; height: 35px; background: #223040; margin: 55px auto;} +.main_title h2 span{color: #d40424; font-weight: 600; margin-right: 20px;} +.main_title p{width: 70%; margin: 0 auto; text-align: center; font-size: 20px; line-height: 1.5;} +.detail{width: 100%; margin: 0 auto;} +.detail > ul{width: 100%; height: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 0 auto;} +.detail > ul li{float: left; width: 32%; padding: 13px 0;} +.detail > ul li.second{margin: 0 2%;} +.detail > ul li img{margin: 30px auto 35px;} +.detail > ul li p{color: #666; font-size: 28px; margin-bottom: 26px;} +.detail > ul li p span{display: block;} +.detail > ul li strong{display: block; font-size: 35px; line-height: 1.5; color: #333; margin: 0 auto; text-align: center;} +.detail > ul li strong span{font-size: 44px; color: #223040; display: inline-block; font-weight: bold; margin-right: 10px;} +.detail > ul li p{text-align: center;} +.aboutWrap{width: 100%;} +.aboutWrap .detail > ul li strong{text-align: center;} +/*.coreComWrap{width: 100%; background: url(../img/main/bg_img1.png); background-size: 100% auto; background-position: center;}*/ +.coreComWrap{width:100%;background: url(../img/main/port_bg.png); padding-bottom: 90px;} +.coreComWrap .main_title h2::after{background: #fff;} +.coreComWrap .main_title h2, .coreComWrap .main_title h2 span, .coreComWrap .main_title p{color: #fff;} +.coreComWrap .main_title h2{letter-spacing: -4px; font-weight: 600;} +.coreComWrap .main_title h2 span{letter-spacing: 0;} +.coreComWrap .detail ul li{background: #fff; border-radius: 10px; padding: 44px 0;} +.coreComWrap .detail ul li strong{font-weight: bold; margin-bottom: 26px;} +.coreComWrap .detail ul li p{font-size: 22px; line-height: 1.4; margin-bottom: 0;} +.portfolioWrap{background: url(../img/main/port_bg.png); padding-bottom: 90px;} +.portfolioWrap .main_title h2::after{background: #fff;} +.portfolioWrap .main_title h2, .portfolioWrap .main_title h2 span, .portfolioWrap .main_title p{color: #fff;} +.port_go{width: 100%;} +.portfolioWrap .port_go a{color: #fff; text-align: center; font-size: 18px; width: 100%; border: 1px solid #fff; padding: 15px 0px; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webokit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; -ms-transition: 0.3s; -0-transition-duration: 0.3s;margin: 0 auto;} +.portfolioWrap .port_go a:hover{background: #fff; color: #223040;} +.pic_lt .lat_title, .pic_lt .lt_more, .pic_lt li .new_icon, .pic_lt .lt_date{display: none;} +.portfolioWrap .mainPage{display: block;} +.portfolioWrap .latest_wr{display: none;} +.portfolioWrap .latest_wr2{display: block;} +.portfolioWrap .pic_lt .empty_li{width: 100%; height: 500px; background: #fff; line-height: 500px; text-align: center;} +.portfolioWrap .pic_lt{width: 100%; background: none; border: none; margin-bottom: 0;} +.portfolioWrap .pic_lt ul{padding: 0;} +.portfolioWrap .pic_lt li{padding: 0; margin:0.6%; height:347px; overflow: hidden;} +.portfolioWrap .pic_lt li .lt_img{ } +.portfolioWrap .pic_lt li .lt_img img{display: block; display: block;} +.portfolioWrap .pic_lt li .lt_img + a{display: none;} +.portfolioWrap .latest_wr2 .pic_lt .new_icon + a{display: none;} +.portfolioWrap .owl-theme .owl-dots .owl-dot{outline: 0 none;} +.portfolioWrap .owl-theme .owl-dots .owl-dot span{background: #ddd;} +.portfolioWrap .owl-theme .owl-dots .owl-dot span:hover, .portfolioWrap .owl-theme .owl-dots .owl-dot.active span{background: #c80e21;} + +.consertWrap{background: url(../img/main/consert_bg.png);} +.consertWrap .inner{padding-bottom: 170px;} +.consertWrap .main_title{padding-bottom: 30px;} +.consertWrap .latest_wr{width: 100%; margin: 0 auto;} +.consertWrap .latest_wr > div{float: left; width: 45%;} +.hot_icon .latest_wr > div.ing_projects{ } +.pic_lt li .hot_icon { float:left; margin:1%; } +.consertWrap .latest_wr > div.news{float: right;} +.consertWrap .lat{margin-bottom: 0; border: none; padding: 60px; min-height: 493px;} +.consertWrap .lat .lat_title{border-bottom: none; background: none; padding: 0; line-height: 1.0em; font-size: 1.0em; color:#333; border-bottom: 1px solid #ddd;} +.consertWrap .lat .lat_title a{color: #333; font-size: 30px; color: #333; font-weight: 600; line-height: 70px; height: 70px;} +.consertWrap .lat ul{padding: 0; margin-top: 30px;} +.consertWrap .lat li{padding: 0; padding-right: 0; padding-left: 0; line-height: 45px; overflow: hidden; } +.consertWrap .lat li:before{display: none;} +.consertWrap .lat li a{width: 70%; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; color: #333; font-size: 18px; display: unset;} +.consertWrap .lat li a:hover{color:#c80e21; font-weight: bold;} +.consertWrap .lat .lt_date{color: #888; font-size: 18px; float:right; } +.consertWrap .lat .lat_title_area{position: relative;} +.consertWrap .lat .lt_more{top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); right: 0; font-weight: normal; color: #7a838c; font-size: 45px;} +.consertWrap .lat .lt_more .fa{display: none;} +.consertWrap .lat li .new_icon{display: none;} +.consertWrap .lat li .hot_icon { float:left; margin: 4%; } +.consertWrap .lat .lat_title a:after{display: none;} +.consertWrap .lat .empty_li{line-height: 270px; font-size: 18px;} +.contactWrap{background: url(../img/main/bg_img2.png); background-size: cover; background-position: center;} +.contactWrap .inner{padding-bottom: 170px;} +.contactWrap .main_title{padding-bottom: 70px;} +.contactWrap .main_title h2::after{display: none;} +.contactWrap .main_title h2, .contactWrap .main_title h2 span, .contactWrap .main_title p{color: #fff;} +.contactWrap .main_title p{padding-top: 50px;} +.contactWrap .detail{width: 100%; height: 420px;} +.contactWrap .root_daum_roughmap{height: 100%;} +.contactWrap .root_daum_roughmap .wrap_map{height: 100%;} +@media screen and (max-width: 1199px){ + .bannerWrap > div img{width:110px;} + .bannerWrap > div h2{font-size: 30px;} + .bannerWrap > div p{width: 90%; margin: 0 auto; font-size: 18px;} + .bannerWrap > div > div{top: 20px;} + .bannerWrap > div > div.square_bracket1{left: 160px;} + .bannerWrap > div > div.square_bracket2{right: 160px;} + .inner{width: 100%; padding: 0 20px 60px;} + .main_title{padding: 60px 0;} + .main_title h2{font-size: 42px;} + .main_title h2::after{width: 1px; height: 24px; margin: 35px auto;} + .main_title h2 span{margin-right: 15px;} + .main_title p{width: 100%; font-size: 16px; padding: 0 30px;} + .detail > ul li p{font-size: 20px; margin-bottom: 0;} + .detail > ul li strong{font-size: 26px;} + .detail > ul li strong span{font-size: 30px;} + .detail > ul li, .detail > ul li img{width:100%; -webkit-transition-duration: 0.3s;transition-duration: 0.3s; -webokit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; -ms-transition: 0.3s; -0-transition-duration: 0.3s;} + .aboutWrap .detail > ul li:hover img{-webkit-transition-delay: 0.2s;transition-delay: 0.2s;} + .coreComWrap{background-size: auto 100%;} + .coreComWrap .main_title h2{letter-spacing: -2px;} + .coreComWrap .detail ul li strong{margin-bottom: 0; font-size: 26px;} + .coreComWrap .detail ul li p{padding: 0 20px; font-size: 20px;} + .portfolioWrap .port_go a{width: 100%; margin-top: 35px;} + .portfolioWrap .port_go a{font-size: 16px;} + .contactWrap .inner{padding-bottom: 100px;} + .contactWrap .main_title{padding-bottom: 50px;} +} +@media screen and (min-width:481px){ + .portfolioWrap .mainPagewrap{width: 100%; position: relative;} + .portfolioWrap .latest_wr{display: none;} + .portfolioWrap .latest_wr2{display: block; width: 100%; height: auto; margin: 0 auto;} + .portfolioWrap .pic_lt ul{display: inherit; width: 100%; overflow: hidden; margin-bottom: 32px; padding: 0;} + .portfolioWrap .pic_lt li{padding: 0; width: 32%; padding: 0;} + .portfolioWrap .pic_lt li .lt_img{margin: 0; width: 100%; overflow: hidden;} + .portfolioWrap .pic_lt li .lt_img:hover img{-webkit-transform: scale(1.2);-ms-transform: scale(1.2);transform: scale(1.2); -webkit-transition-duration: 0.6s; transition-duration: 0.6s; -webokit-transition-duration: 0.6s; -moz-transition-duration: 0.6s; -ms-transition: 0.6s; -0-transition-duration: 0.6s;} +} +@media screen and (min-width:481px) and (max-width: 1199px){ + .bannerWrap{height: 800px;} +} +@media screen and (max-width:1024px){ + .consertWrap .latest_wr > div{width: 49%;} + .consertWrap .lat .lat_title a{font-size: 20px;} + .consertWrap .lat .lt_more{font-size: 30px;} + .consertWrap .lat li a, .consertWrap .lat .lt_date{font-size: 16px;} + .consertWrap .lat .empty_li{line-height: 270px; font-size: 16px;} +} +@media screen and (max-width:767px){ + .bannerWrap > div{width: 480px;} + .bannerWrap > div > div.square_bracket1{left: 20px;} + .bannerWrap > div > div.square_bracket2{right: 20px;} + .detail > ul{width: 80%; display: inherit;} + .detail > ul li{width: 100%;} + .detail > ul li.second{margin: 0;} + .detail > ul li p{font-size: 20px; margin-bottom: 0;} + .detail > ul li strong{font-size: 26px;} + .detail > ul li strong span{font-size: 30px;} + .consertWrap .inner{padding-bottom: 80px;} + .consertWrap .main_title{padding-bottom: 0;} + .consertWrap .latest_wr > div{float: left; width: 100%;} + .consertWrap .latest_wr > div.ing_projects{margin-bottom: 5%;} + .consertWrap .lat{padding: 40px;} + .consertWrap .lat .lat_title a{font-size: 20px; line-height: 60px; height: 60px;} + .consertWrap .lat li{line-height: 50px;} + .consertWrap .lat li a, .consertWrap .lat .lt_date{font-size: 16px;} + .consertWrap .lat .empty_li{line-height: 300px; font-size: 16px;} +} +@media screen and (max-width:600px){ + .portfolioWrap .latest_wr{display: block;} + .portfolioWrap .latest_wr2{display: none;} + .portfolioWrap .pic_lt .empty_li{height: 200px; line-height: 200px;} + .portfolioWrap .inner{position: relative;} + .portfolioWrap .mainPagewrap{width: 100%; position: relative;} + .portfolioWrap .latest_wr{width: 240px; height: auto; margin: 0 auto;} + .portfolioWrap{padding-bottom: 60px;} + .portfolioWrap .port_go a{width: 100%; margin-top: 35px; font-size: 12px; padding: 10px 0;} +} +@media screen and (min-width:481px) and (max-width:767px){ + .coreComWrap .detail ul{width: 40%; min-width: 320px;} + .coreComWrap .detail img{margin: 10px auto 20px;} + .coreComWrap .detail > ul li.second{margin: 20px 0;} +} +@media screen and (max-width: 480px){ + .bannerWrap{height: 700px;} + .bannerWrap > div{width: 320px;} + .bannerWrap > div img{width: 63px; height: 42px; margin: 30px auto 20px;} + .bannerWrap > div h2{font-size: 20px;} + .bannerWrap > div p{font-size: 12px;} + .bannerWrap > div > div{width: 20px; height: 104px;} + .bannerWrap > div > div.square_bracket1{left: 20px;} + .bannerWrap > div > div.square_bracket2{right: 20px;} + .main_title{padding: 40px 0;} + .main_title h2{font-size: 27px;} + .main_title h2::after{width: 1px; height: 13px; margin: 20px auto;} + .main_title h2 span{margin-right: 10px;} + .main_title p{width: 100%; font-size: 12px; padding: 0 20px;} + .detail > ul{width: 240px;} + .detail > ul li{width: 100%; height: 130px; overflow: hidden;} + .detail > ul li img{/*width: 56px;*/ margin: 0px auto 30px;} + .detail > ul li p{font-size: 16px;} + .detail > ul li strong{font-size: 23px; line-height: 1.5; margin: 0 auto; text-align: left; line-height: 1.0;} + .detail > ul li strong span{font-size: 35px; color: #223040; display: inline-block; font-weight: bold; margin-right: 10px;} + .detail > ul li p, .detail > ul li strong{text-align: left; width: 152px; margin-right: 0px;} + .aboutWrap .detail > ul li img{float: left;} + .aboutWrap .detail > ul li p{/*float: right;*/ text-align:center; width:100%;} + .aboutWrap .detail > ul li strong{float: right;} + .aboutWrap .detail > ul li strong{text-align: left;} + .coreComWrap .detail ul li{padding: 40px 0; height: 240px;} + .coreComWrap .detail > ul li.second{margin: 15px 0;} + .coreComWrap .detail ul li strong, .coreComWrap .detail ul li p{width: 100%;} + .coreComWrap .detail ul li strong{margin-bottom: 15px; text-align: center; font-size:23px;} + .coreComWrap .detail ul li p{font-size: 14px; margin-bottom: 0; text-align: center;} + .consertWrap .inner{padding-bottom: 60px;} + .consertWrap .lat{padding: 30px; min-height: 373px;} + .consertWrap .lat .lat_title a{font-size: 17px; height: 40px; line-height: 40px;} + .consertWrap .lat .lt_more{font-size: 20px;} + .consertWrap .lat li{line-height: 40px;} + .consertWrap .lat li a, .consertWrap .lat .lt_date{font-size: 14px;} + .consertWrap .lat .empty_li{line-height: 240px; font-size: 14px;} + .contactWrap .inner{padding-bottom: 50px;} + .contactWrap .main_title{padding-bottom: 30px;} + .contactWrap .detail{height: 220px; overflow: hidden;} + .portfolioWrap .pic_lt li .lt_img {height: 220px;} +} +@media screen and (max-width:350px){ + .portfolioWrap .port_go a{font-size: 12px;} +} + + diff --git a/web/html/theme/AT_WEB01/css/mobile.css b/web/html/theme/AT_WEB01/css/mobile.css new file mode 100644 index 0000000..b74f6af --- /dev/null +++ b/web/html/theme/AT_WEB01/css/mobile.css @@ -0,0 +1,322 @@ +@charset "utf-8"; + +/* 초기화 */ +html {overflow-y:scroll;height:100%;min-width:320px} +body {margin:0;padding:0;font-size:0.75em;background:#e6e6e6;height:100%} +html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0} +h1, h2, h3, h4, h5, h6 {font-size:1em} +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block} +legend {position:absolute;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +label, input, button, select, img {vertical-align:middle} +input, button {margin:0;padding:0;font-size:1em} +button {cursor:pointer} +input[type=text], input[type=password], input[type=submit], input[type=image], button {font-size:1em;-webkit-appearance:none} +textarea, select {font-size:1em;font-family:dotum} +textarea {border-radius:0;-webkit-appearance:none} +select {margin:0;background:none} +p {margin:0;padding:0;word-break:break-all} +hr {display:none} +pre {overflow-x:scroll;font-size:1.1em} +a {color:#000;text-decoration:none} +ul,li,dl,dt,dd{padding:0;margin:0} +ul{list-style:none;} + +*, :after, :before { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +/* 팝업레이어 */ +#hd_pop {z-index:1000;position:relative;margin:0 auto;width:100%;height:0} +#hd_pop h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff;} +.hd_pops img{max-width:100%;height:auto} +.hd_pops_con {} +.hd_pops_footer {padding:10px 0;background:#000;color:#fff;text-align:right} +.hd_pops_footer button {margin-right:5px;padding:5px 10px;border:0;background:#393939;color:#fff} + +/* 상단 레이아웃 */ +#hd {position:relative;background:#333} +#hd:after {display:block;visibility:hidden;clear:both;content:""} +#hd_h1 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} + +#logo {padding:10px 10px;height:50px;text-align:center} +#logo img{vertical-align:middle;max-height:100%;width:auto} +#gnb_open {position:absolute;top:10px;left:10px;padding:0 10px;height:30px;width:30px;border:0;background-size:70%;color:#fff;background:none; font-size: 16px;} +#gnb {display:none;background:#262626;position:fixed;top:0;left:0;z-index:99999;height:100%;overflow-y:auto;width:300px; +-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4); +-moz-box-shadow:0 0 5px rgba(55,55,5,0.4); +box-shadow: 0 0 5px rgba(55,55,5,0.4);} + +#gnb a {display:block;color:#efefef} +.gnb_1dli{position:relative;line-height:40px;} +.gnb_1dli button{position:absolute;top:0;right:0;background:url;border:0;width:40px;height:40px;overflow:hidden;border:0;background:url(../img/mobile/gnb_bg.png) no-repeat 50% 50%;text-indent:-9999px} +.gnb_1dli button.btn_gnb_cl{background:url(../img/mobile/gnb_bg2.png) no-repeat 50% 50%} +.gnb_1da {padding:0 20px;border-bottom:1px solid #2d2d2d} +.gnb_2dul {display:none;} +.gnb_2da {border-bottom:1px solid #2d2d2d;background:url(../img/btn_next.gif) no-repeat 21px 17px;padding-left:30px} +#gnb_close {display:block;margin:0;height:50px;width:100%;border:0;background:url(../img/mobile/btn_close.png) no-repeat right 50% +#222222;background-size:25px;color:#fff;text-indent:-999999999px;overflow:hidden} + +#gnb_empty {padding:20px 0;color:#fff;text-align:center;line-height:2em} +#gnb_empty a {display:inline;text-decoration:underline} + +#hd_sch {text-align:center;padding:20px} +#hd_sch h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#hd_sch form {position:relative;padding-right:40px;} +#hd_sch #sch_stx {width:100%;height:45px;background:#464646;border:0;padding-left:10px;border-radius:3px 0 0 3px;color:#fff} +#hd_sch #sch_submit {position:absolute;top:0;right:0;width:40px;height:45px;;border:0;border-radius:0 3px 3px 0;cursor:pointer;color:#fff;background:#464646;font-size:1.25em} + +#user_btn {position:absolute;top:10px;right:10px;padding:0 10px;height:30px;width:30px;border:0;;color:#fff;font-size:16px;background:none;letter-spacing:-0.1em} +#user_menu{display:none;position:fixed;top:0;right:0;height:100%;;overflow-y:auto;width:320px;z-index:9999;background:#fff;text-align:center; +-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4); +-moz-box-shadow:0 0 5px rgba(55,55,5,0.4); +box-shadow: 0 0 5px rgba(55,55,5,0.4);} +#user_close {display:block;margin:0;height:50px;width:100%;border:0;background:url(../img/mobile/btn_close.png) no-repeat right 50% +#222;background-size:25px;color:#fff;text-indent:-999999999px;overflow:hidden} +#snb_cnt span{display:inline-block;padding: 0 7px;height:18px;line-height:18px;font-size:12px;background:#3ca1ff;border-radius:20px;color:#fff} + +#hd_nb{margin:20px;} +#hd_nb:after {display:block;visibility:hidden;clear:both;content:""} +#hd_nb li{width:50%;float:left;text-align:center;line-height:25px;font-size:1.083em;font-weight:bold} +#hd_nb li a{display:block;color:#717171;padding:20px 0} +#hd_nb li i{font-size:20px;} +#hd_nb .hd_nb1{border-right:1px solid #e2e5e7;border-bottom:1px solid #e2e5e7} +#hd_nb .hd_nb2{border-bottom:1px solid #e2e5e7} +#hd_nb .hd_nb3{border-right:1px solid #e2e5e7} + +/* 텍스트 크기 조절 */ +#text_size {margin:0 0 10px;text-align:center;display:inline-block;padding:7px 20px;background:#e6e7e9;border-radius:25px;height:48px;} +#text_size button {margin:0 5px;border:0;background:none;height:35px;width:35px;border-radius:50%} +#text_size button.select{background:#fff;border-bottom:1px solid #bbb; +-webkit-box-shadow:0 0 5px rgba(100,80,100,0.2); +-moz-box-shadow:0 0 5px rgba(100,100,100,0.2); +box-shadow: 0 0 5px rgba(100,100,100,0.2);} +.ts_up {font-size:1.167em !important} +.ts_up2 {font-size:1.3em !important} + +/* 중간 레이아웃 */ +#wrapper {} +#wrapper:after {display:block;visibility:hidden;clear:both;content:""} +#container {position:relative;min-height:300px} +#container:after {display:block;visibility:hidden;clear:both;content:""} +#container_title {font-size:1.2em;font-weight:bold;height:50px;padding:10px;line-height:30px;background:#fff;color:#333; +-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.4); +-moz-box-shadow: 0 0 5px rgba(55,55,5,0.4); +box-shadow: 0 0 5px rgba(55,55,5,0.4); +} +.top{position:relative} +.btn_top{position:absolute;top:0px;right:0px;z-index:999;padding:10px;} +.btn_top li{display:inline-block} +.btn_top a,.btn_top .btn_submit{line-height:30px;padding: 0 10px;border-radius:3px} +.btn_top .btn_cancel,.btn_top .btn_b01{border:1px solid #aaa;background:none;color:#666;line-height:28px;background:#fff} +.fixed{position:fixed;top:0;right:0;z-index:999;} +#container_title.fixed{width:100%;} + +/* 하단 레이아웃 */ +#ft {background:#222;padding:0px 10px 10px} +#ft h1 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} +#ft p {margin:0;padding:10px 0;line-height:1.8em} + +#ft_copy {padding:10px;line-height:2em;text-align:center;color:#777} +#ft_copy #ft_company {text-align:center} +#ft_copy #ft_company a {display:inline-block;padding:0 10px;line-height:1em;border-left:1px solid #333;color:#fff} +#ft_copy #ft_company a:first-child{border:0} +#ft_copy b {color:inherit} +#ft_copy a {color:inherit;text-decoration:none} + +#top_btn {position:fixed;bottom:10px;right:10px;width:40px;height:40px;line-height:36px;border:2px solid #333;background:rgba(255,255,255,0.6);color:#333;text-align:center;font-size:15px;z-index:99} +#device_change {display:block;line-height:40px;border:1px solid #3a3a3a;border-radius:2em;color:#777;font-size:1em;text-decoration:none;text-align:center} + +/* 게시물 선택복사 선택이동 */ +#copymove {} +.copymove_current {float:right;color:#ff3061} +.copymove_currentbg {background:#f4f4f4} +#copymove .tbl_head01{margin-top:10px} +#copymove td{background:#fff} +#copymove .win_btn{margin:10px} + +/* 화면낭독기 사용자용 */ +#hd_login_msg {position:absolute;top:0;left:0;width:0;height:0;overflow:hidden} +.msg_sound_only, .sound_only {display:inline-block;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;width:1px !important;height:1px !important;font-size:0 !important;line-height:0 !important;overflow:hidden} + +/* 본문 바로가기 */ +.to_content a {z-index:100000;position:absolute;top:0;left:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden} + +/* 이미지 등비율 리사이징 */ +.img_fix {width:100%;height:auto} + +/* 캡챠 자동등록(입력)방지 기본 -pc */ +#captcha {position:relative} +#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;} +#captcha #captcha_img {height:40px;border:1px solid #898989;;vertical-align:top;padding:0;margin:0} +#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;width:40px;height:40px;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;;border-radius:3px} +#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px} +#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top} +#captcha #captcha_info {display:block;margin:3px 0 5px ;font-size:0.95em;letter-spacing:-0.1em} + +/* 캡챠 자동등록(입력)방지 기본 - mobile */ +#captcha.m_captcha audio {display:block;margin:0 0 5px} + +/* 구글리캡챠 크기 조정 scale */ +#captcha.recaptcha{width:213px;height:55px;overflow:hidden} +#rc-imageselect, .g-recaptcha {transform:scale(0.7);-webkit-transform:scale(0.7);transform-origin:0 0;-webkit-transform-origin:0 0;} + +/* ckeditor 태그 기본값 */ +#bo_v_con ul{display: block;list-style-type: disc;margin-top: 1em;margin-bottom: 1em;margin-left: 0;margin-right: 0;padding-left: 40px;} +#bo_v_con ol{display: block;list-style-type: decimal;margin-top: 1em;margin-bottom: 1em;margin-left: 0;margin-right: 0;padding-left: 40px;} +#bo_v_con li{display: list-item;} + +/*단축키일람 */ +.cke_sc{text-align:right} +.btn_cke_sc{background:#333;color:#fff;padding:5px;border:none} +.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center} +.cke_sc_def dl{margin:0 0 5px;text-align:left;zoom:1} +.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""} +.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9} +.cke_sc_def dt {width:50%;font-weight:bold} +.cke_sc_def dd {width:50%} +.btn_cke_sc_close{background:#333;padding:5px;border:none;color:#fff} + +/* 버튼 */ +.btn{display:inline-block;padding:0 5px;height:30px;line-height:30px;border-radius:3px} +a.btn01 {display:inline-block;background:#ddd;color:#444;text-decoration:none;vertical-align:middle} +a.btn01:focus, a.btn01:hover {text-decoration:none} +button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none} +a.btn02 {display:inline-block;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle} +a.btn02:focus, .btn02:hover {text-decoration:none} +button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none} +.btn_confirm {text-align:center} /* 서식단계 진행 */ +.btn_submit {border:0;background:#ff506a;color:#fff;cursor:pointer;border-radius:3px} +fieldset .btn_submit {} +a.btn_cancel {display:inline-block;background:#ddd;color:#444;text-decoration:none;vertical-align:middle} +button.btn_cancel {display:inline-block;;border:1px solid #ccc;background:#fafafa;color:#000;vertical-align:top;text-decoration:none} +a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 5px;;border:0;background:#333;color:#fff;letter-spacing:-0.1em;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */ +button.btn_frmline {font-size:1em} + +/* 게시판용 버튼 */ +a.btn_b01,.btn_b01 {display:inline-block;background:#4c4f6f;color:#fff;text-decoration:none;vertical-align:middle} +.btn_b01:hover, .btn_b01:hover {} +a.btn_b02 ,.btn_b02{display:inline-block;background:#ff506a;color:#fff;text-decoration:none;vertical-align:middle;border:0} +a.btn_b02:hover, .btn_b02:hover {} +a.btn_b03, .btn_b03 {display:inline-block;line-height:28px;border:1px solid #ed6478;color:#ed6478;background:none;text-decoration:none;vertical-align:middle} +a.btn_b03:hover, .btn_b03:hover {} +a.btn_admin {display:inline-block;background:#e8180c;color:#fff;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */ +a.btn_admin:focus, a.btn_admin:hover {} + +/* 기본테이블 */ +.tbl_wrap {margin:0 10px 10px} +.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0} +.tbl_wrap caption {padding:10px 0;color:#4b8b99;font-weight:bold;text-align:left} + +.tbl_head01 {} +.tbl_head01 caption {padding:0 0 10px;color:#777;text-align:left} +.tbl_head01 thead th {padding:12px 0;border:1px solid #cacaca;background:#d9d9da;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +.tbl_head01 thead a {color:#383838} +.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head01 tfoot th {border-top:1px solid #666;border-bottom:1px solid #666;background:#484848;color:#fff} +.tbl_head01 tfoot td {border-color:#e3e3e5;background:#484848;color:#fff;font-weight:bold;text-align:center} +.tbl_head01 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.tbl_head01 td {padding:5px;border:1px solid #e3e3e5;line-height:1.5em;word-break:break-all} + +.tbl_head02 {} +.tbl_head02 caption {padding:0 0 10px;color:#777;text-align:left} +.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +.tbl_head02 thead a {color:#383838} +.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head02 tfoot th {border-top:1px solid #666;border-bottom:1px solid #666;background:#484848;color:#fff} +.tbl_head02 tfoot td {background:#484848;color:#fff;font-weight:bold;text-align:center} +.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;line-height:1.4em;word-break:break-all} + +/* 기본리스트 */ +.list_01{padding:0 10px;} +.list_01 li{background:#fff;border-radius:3px;margin:10px 0;padding:10px 15px;border-bottom:1px solid #ccc;} + +/* 기본폼 */ +.form_01{margin:10px} +.form_01 .write_div{margin:5px 0;position:relative} +.form_01 li{margin:5px 0;position:relative;list-style:none} +.form_01 textarea, .frm_input {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;} +.form_01 textarea {width:100%;height:100px} +.frm_input {height:40px;} +.full_input{width:100%} +.form_01 .frm_file {display:block;margin-bottom:5px;width:100%} +.form_01 select{height:40px;border-radius:3px;background-color:#fff} +.form_01 .frm_info{font-size:0.92em;color:#4162ff;text-align:left;margin:3px 0 10px;display:block;line-height:1.3em} + +/* 자료 없는 목록 */ +.empty_table {padding:100px 0 !important;color:#777;text-align:center} +.empty_list {padding:20px 0 !important;text-align:center} + +/* 필수입력 */ +.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important;} + +/* 테이블 항목별 정의 */ +.td_board {width:120px;text-align:center} +.td_category {width:80px;text-align:center} +.td_chk {width:30px;text-align:center} +.td_date {width:60px;text-align:center} +.td_datetime {width:150px;text-align:center} +.td_group {width:100px;text-align:center} +.td_mb_id {width:100px;text-align:center} +.td_mng {width:80px;text-align:center} +.td_name {width:100px;text-align:left} +.td_nick {width:100px;text-align:center} +.td_num {width:50px;text-align:center} +.td_numbig {width:80px;text-align:center} +.td_stat {width:60px;text-align:center} + +.txt_active {color:#5d910b} +.txt_done {color:#e8180c} +.txt_expired {color:#999} +.txt_rdy {color:#8abc2a} + +/* 새창 기본 스타일 */ +.new_win {} +.new_win #win_title {font-size: 1.2em;font-weight: bold;height: 50px;padding: 10px;line-height: 30px;background: #4162ff;color: #fff;} +.new_win #win_title .sv {font-size:0.75em;line-height:1.2em} +.new_win_con{margin:10px} + +.new_win .win_ul {margin:10px} +.new_win .win_ul li {display:inline-block;} +.new_win .win_ul li a {display: block;line-height: 24px;padding: 0 10px;} +.new_win .win_ul li .selected {background: #4162ff;color: #fff;border-radius: 13px; +-webkit-box-shadow: 0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow: 0 0 5px rgba(65,98,255,0.8); +box-shadow: 0 0 8px rgba(65,98,255,0.8);} + +.new_win .win_desc {margin:5px 0;font-size:0.92em;color:#4162ff} +.new_win .win_btn {clear:both;margin:10px 0;text-align:center} +.new_win .win_btn a {display:inline-block;height:40px;line-height:40px;font-weight:bold} +.new_win .win_btn .btn_close {display:inline-block;padding:0 10px;border:0;background:#c6c6d2;color:#666;text-decoration:none;font-weight:bold;height:40px;border-radius:3px;margin:10px 0} +.new_win .win_btn .btn_submit {width:100%;height:40px;line-height:40px;border-radius:3px;margin:0 0 20px;display:inline-block;font-weight:bold} + +/* 검색결과 색상 */ +.sch_word {color:#00c4ac} + +/* 사이드뷰 */ +.sv_wrap {display:inline-block;position:relative;font-weight:normal;line-height:20px} +.sv_wrap .sv {z-index:1000;width:100px;display:none;margin:5px 0 0;font-size:0.92em;background:#333;text-align:left; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +.sv_wrap .sv:before{content: "";position: absolute;top: -6px;left: 15px;width: 0;height: 0;border-style: solid;border-width: 0 6px 6px 6px;border-color: transparent transparent #333 transparent;} +.sv_wrap .sv a {display:inline-block;width:100px;margin:0;padding:0 10px;line-height:30px;font-weight:normal;color:#bbb } +.sv_wrap .sv a:hover{background:#000;color:#fff} +.sv_member{color:#333;font-weight:bold;} +.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto} +.sv_nojs .sv {display:block} + +/* 페이징 */ +.pg_wrap {clear:both;margin:10px 0;text-align:center} +.pg {display:inline-block} +.pg_page, .pg_current {display:inline-block;padding:0 10px;height:30px;color:#000;line-height:28px;vertical-align:middle} +.pg a:focus, .pg a:hover {text-decoration:none} +.pg_page {background:#fff;border:1px solid #d4d4d4;border-radius:3px} +.pg_start {background:url(../img/btn_first.gif) no-repeat 50% 50% #fff;width:30px;height:30px ;text-indent:-999px;overflow:hidden} +.pg_prev {background:url(../img/btn_prev.gif) no-repeat 50% 50% #fff;width:30px;height:30px ;text-indent:-999px;overflow:hidden} +.pg_next {background:url(../img/btn_next.gif) no-repeat 50% 50% #fff;width:30px;height:30px ;text-indent:-999px;overflow:hidden} +.pg_end {background:url(../img/btn_end.gif) no-repeat 50% 50% #fff;width:30px;height:30px ;text-indent:-999px;overflow:hidden} +.pg_current {display:inline-block;background:#4c4f6f;color:#fff;font-weight:normal;border-radius:3px;line-height:30px;} diff --git a/web/html/theme/AT_WEB01/css/sub/bs_area.css b/web/html/theme/AT_WEB01/css/sub/bs_area.css new file mode 100644 index 0000000..e8c46e0 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/sub/bs_area.css @@ -0,0 +1,110 @@ +/*bs_area.css*/ +.bs_area .section{width: 100%; padding: 60px 0;} +.bs_area .first_area{padding-top: 0;} +.bs_area .first_area .leftarea{width: 55%; float: left;display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; overflow: hidden;} +.first_area .leftarea>.img1{width: 48%; margin: 1%; float: left;} +.first_area .leftarea img{width: 100%;} +.first_area .leftarea>.img2{width: 48%; margin: 1%; float: left;} +.first_area .rightarea{width: 45%; float: left; padding-left: 60px;} +.first_area .toptxt>h2{font-size: 42px; font-weight: 700; line-height: 48px;} +.first_area .toptxt>h2>span{color: #c71526;} +.first_area .mdllinewrap{padding: 20px 0;} +.first_area .mdlline{width: 55px; height: 2px; background: #c71526;} +.first_area .mdltxt>p{font-size: 16px; color: #333; line-height: 22px;} +.first_area .bottomtxt{padding-top: 40px; padding-bottom: 0;} +.first_area .bottomtxt>p{font-size: 14px; color: #999; line-height: 20px;} +.bgc{background-color: #f5f5f5;} +.second_area .article{padding: 55px 0; width: 25%; float: left; text-align: center;} +.second_area .artimg{margin: 0 auto;width: 60px; height: 60px; } +.second_area .artimg>img{width: 100%; margin:0 auto;} +.second_area .ai2>img {padding-top:13%; } +.second_area .arttbox{width: 180px;margin: 10px auto 0;} +.second_area .center{overflow: hidden; } +.second_area .leftnum{float: left; margin: 0 5px;} +.second_area .leftnum>h3{width: 170px;font-size: 40px; color:#c71526; font-weight:700; text-align: center; line-height: 40px; padding: 10px 0;} +.second_area .righttxt{float: left; margin: 0 5px;} +.second_area .righttxt>p{width:170px; padding: 10px 0;font-size: 14px;color: #333;line-height: 20px;} +.bs_area .third_area{padding-top: 50px; padding-bottom: 150px;} +.third_area .leftarea{width: 70%; float: left; padding-right: 60px;} +.third_area .txtbox{padding: 20px 0;} +.third_area .toptxt>h3{font-size: 42px; line-height: 48px; font-weight: 700;} +.third_area .bottomtxt{padding-top: 40px;} +.third_area .bottomtxt>p{font-size: 14px; line-height: 20px; color: #999;} +.tb2 .toptxt>h3{font-size: 42px; line-height: 48px;} +.tb2 .toptxt>h3>span{color: #c71526;} +.tb2 .bottombox{display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; overflow: hidden;} +.tb2 .boxarticle{float: left;width: 50%;display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-right: 50px; margin-top: 40px;} +.tb2 .boximgwrap{width: 51px; height: 51px;} +.tb2 .boximgwrap>img{width: 100%;} +.tb2 .boxtxtwrap{width: 85%; padding-left: 10px;} +.tb2 .boxtxtwrap p{font-size: 14px; color: #999; line-height: 20px;} +.tb2 .boxtxtwrap .p1{font-size: 16px; color: #333; line-height: 48px;} +.third_area .rightarea{width: 30%; float: right;} +.third_area .rightarea>.imgwrap{width: 100%; height: 630px; background-image: url('../../img/business/area_section3_img2.png'); background-size: cover; background-position: center; background-repeat: no-repeat;} +@media screen and (max-width:1199px){ +/* br{display: none;}*/ + .second_area .righttxt>p>br{display: block;} + .bs_area .first_area .leftarea{width: 100%;} + .bs_area .first_area .rightarea{width: 100%; margin-top: 40px; padding-left: 0;} + .first_area .rightarea{padding-left: 40px;} + .third_area .leftarea{width: 100%;float: inherit; margin-top: 40px; padding-right: 0;} + .third_area .rightarea{float: inherit;padding-bottom: 40px;} + .third_area .rightarea{width: 100%; float: left;} + .third_area .rightarea>.imgwrap{width: 100%; height: 500px; background-image: url('../../img/business/area_section3_img2.png'); background-size: cover; background-position: center; background-repeat: no-repeat;} +} +@media screen and (max-width:920px){ + .bs_area .section{padding: 30px 0;} + .bs_area .third_area{ padding-bottom: 150px;} + .second_area .article{width: 50%; margin-top: 0;} + .third_area .rightarea>.imgwrap{width: 100%; height: 400px; background-size:auto ;} + .second_area .article:nth-child(1){border-right: 1px solid #ddd; border-bottom: 1px solid #ddd;} + .second_area .article:nth-child(2){border-bottom: 1px solid #ddd;} + .second_area .article:nth-child(3){border-right: 1px solid #ddd;} +} +@media screen and (max-width:768px){ + .first_area .mdltxt>p>br{display: block;} + .third_area .toptxt>h3{word-break: keep-all;} + .tb2 .boxarticle{width: 48%;padding-right: 0; margin-top: 20px;} + .tb2 .boxarticle:nth-child(1){margin-right: 2%;} + .tb2 .boxarticle:nth-child(3){margin-right: 2%;} + .bs_area .third_area{ padding-bottom: 100px;} +} +@media screen and (max-width:650px){ + .first_area .toptxt>h2{font-size: 32px;} + .tb2 .boxarticle{width: 100%; margin: 30px 0;} + .tb2 .boxarticle:nth-child(1){margin-right:0;} + .tb2 .boxarticle:nth-child(3){margin-right:0;} + .third_area .toptxt>h3{font-size: 32px;} + .third_area .rightarea>.imgwrap{height: 300px;} + .first_area .bottomtxt{padding-bottom: 40px;} + .second_area .inner{padding: 0;} +} +@media screen and (max-width:500px){ + .mdlTxt>h2{font-size: 20px!important;} + .ing_bnr_Wrap>.bnrtxtwrap>h3{font-size: 28px;} + .ing_bnr_Wrap>.bnrtxtwrap>p{font-size: 16px;} + .bs_area .section{padding: 10px 0;} + .first_area .toptxt>h2{font-size: 28px; line-height: 36px;} + .first_area .toptxt>h2>br{display: block;} + .first_area .mdltxt>p{font-size: 13px;} + .first_area .mdltxt>p br{display: none;} + .first_area .bottomtxt>p{font-size: 12px;} + .first_area .bottomtxt{padding-bottom: 40px;} + .third_area .toptxt>h3{line-height: 36px; font-size: 28px;} + .second_area .article{width: auto; padding: 25px 0; position:relative; left: 50%; top: 50px; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%);} + .bgc{padding: 40px 0;} + .second_area .artimg{float: left;} + .second_area .arttbox{float: left} + .second_area .arttbox{margin: 0;} + .second_area .leftnum{margin: 0 35px;} + .second_area .arttbox{width: auto;} + .tb2 .boxarticle{margin: 20px 0;} + .bs_area .third_area{ padding-bottom: 80px; padding-top: 60px;} + .second_area .article:nth-child(1){border-right: none; border-bottom: none} + .second_area .article:nth-child(2){border-bottom: none;} + .second_area .article:nth-child(3){border-right: none} +} +@media screen and (max-width:400px){ + .third_area .rightarea>.imgwrap{height: 250px;} + .tb2 .boxarticle{margin: 15px 0;} +} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/css/sub/bs_info.css b/web/html/theme/AT_WEB01/css/sub/bs_info.css new file mode 100644 index 0000000..f6888a5 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/sub/bs_info.css @@ -0,0 +1,111 @@ + +.mdlTxt h3 {font-size: 20px; line-height:2;} +.mdlTxt p {} +/* bs_info */ + +.bs_info{width: 100%;} +.bs_info .inner{width: 1200px; padding: 0 20px;} +.as_comment {padding-top: 10px;} +.as_red {color:red; font-weight:600;} + +@media screen and (max-width:1199px){ +.bs_info .inner{width: 100%;} +.bs_info .inner{margin: 0 0;} +} +@media screen and (max-width:480px){ +.bs_info .inner{margin: 0 0;} +} +.bs_info .section{padding: 100px 0; width: 100%;} +@media screen and (max-width:1199px){ +.bs_info .section{padding: 75px 0;} +} +@media screen and (max-width:767px){ +.bs_info .section{padding: 50px 0;} +} +.bs_info .section.cus_info{padding-top: 0px;} +.cus_info .figure_area{width: 100%; margin-bottom: 60px;} +.cus_info .figure_area img{width: 100%;} +.cus_info .text_area{width: 100%;} +.cus_info .bsinfo_list{padding: 30px 30px 55px; width: 100%;} +.cus_info .bsinfo_list li{float: left; width: 30%;} +.cus_info .bsinfo_list li.bsinfo_item02{margin: 0 5%;} +.cus_info .tit_box .sub_tit{display: inline-block; margin-bottom: 10px; color: #999; font-size: 14px; font-weight: 300; line-height: 20px;} +.cus_info .tit_box .main_tit{color: #333; font-size: 16px; font-weight: 600; line-height: 20px;} +.cus_info .tit_box .main_tit::after{display: block; content:""; margin: 20px 0; width: 40px; height: 3px; background: #c71526;} +.cus_info .desc_box p{color: #666; font-weight: 300; font-size: 14px;} +@media screen and (max-width:978px){ +.cus_info .figure_area{margin-bottom: 50px;} +.cus_info .bsinfo_list{padding: 0 0 30px;} +.cus_info .bsinfo_list li{width: 100%;} +.cus_info .bsinfo_list li.bsinfo_item02{margin: 30px 0;} +} +@media screen and (max-width:480px){ +.cus_info .tit_box .sub_tit{font-size: 12px;} +.cus_info .tit_box .main_tit{font-size: 14px;} +.cus_info .tit_box .main_tit::after{margin: 15px 0; width: 35px;} +.cus_info .desc_box p{font-size: 12px;} +} +.ph_info{background: #333;} +.ph_info .ph_list{padding: 0 30px; width: 100%;} +.ph_info .ph_list li{float: left; width: 32%;} +.ph_info .ph_list li.phlist_item02,.ph_info .ph_list li.phlist_item05{margin: 0 2%;} +.ph_info .ph_list li.phlist_item01,.ph_info .ph_list li.phlist_item02, .ph_info .ph_list li.phlist_item03{margin-bottom: 25px;} +.ph_info .picto_box{width: 60px; margin: 20px auto;} +.ph_info .picto_box img{width: 100%;} +.ph_info .text_box{text-align: center; color: #fff;} +.ph_info .text_box .main_tit{margin-bottom: 15px; color: #fff; font-size: 24px; font-weight: 300; line-height: 25px;} +.ph_info .text_box .desc{padding: 0 15px 20px; font-size: 14px; font-weight: 100; line-height: 20px;} +@media screen and (max-width:978px){ +.ph_info .ph_list{padding: 0 20px;} +.ph_info .ph_list li.phlist_item02,.ph_info .ph_list li.phlist_item05{margin: 0;} +.ph_info .ph_list li.phlist_item01,.ph_info .ph_list li.phlist_item02, .ph_info .ph_list li.phlist_item03{margin-bottom: 0;} +.ph_info .ph_list li{width: 50%; height: 270px; padding: 30px 0;} +.ph_info .picto_box{width: 50px;} +.ph_info .text_box .desc{padding: 0 30px 30px;} +} +@media screen and (max-width:767px){ +.ph_info .ph_list li{padding: 5px 0; width: 100%; height: auto;} +.ph_info .picto_box{width: 50px; margin: 15px auto;} +.ph_info .text_box .main_tit{margin-bottom: 20px; font-size: 25px; line-height: 20px;} +.ph_info .text_box .desc{padding: 0 5px 30px; font-size: 12px; line-height: 17px;} +} +.tem_info{width: 100%;} +.tem_info .inner > div{float: left; /*width: 50%;*/} +.tem_info .figure_area img{width: 100%;} +.tem_info .text_area{/*padding-left: 60px; */padding-top: 20px;} +.tem_info .text_area .main_tit{margin-bottom: 25px; font-size: 42px; line-height: 48px; font-weight: 700;} +.tem_info .text_area .center{text-align:center; } +.tem_info .text_area .main_tit strong{display: block; font-weight: 700; color: #c71526;} +.tem_info .text_area .main_desc{margin-bottom: 35px; font-size: 16px; line-height: 22px; color: #333;} +.tem_info .text_area .desc_box{padding-right: 10%;} +.tem_info .text_area .desc_box p{color: #999; font-size: 14px; line-height: 1.4; } +.tem_info .text_area .desc_box h3{color: #333; font-size: 30px; line-height: 2; font-weight:600; } +.tem_info .text_area .desc_box ol{padding-left:20px;color: #333; font-size: 20px; line-height: 2; } +.tem_info .text_area .desc_box .sub1 li {list-style-type:upper-roman;} +.tem_info .text_area .desc_box .sub2 li {list-style-type:lower-roman;} +.tem_info .text_area .desc_box li{list-style:auto; } +.tem_info .text_area .desc_box ul li{list-style:none; } + +@media screen and (min-width:768px) and (max-width:978px){ +.tem_info .text_area{padding-top: 15px;} +.tem_info .text_area .main_tit{font-size: 30px; line-height: 35px;} +.tem_info .text_area .main_desc{font-size: 14px; line-height: 18px;} +.tem_info .text_area .desc_box p{font-size: 13px; line-height: 17px;} +.tem_info .text_area .desc_box .tit{font-size: 20px; line-height: 1.4; } + +} +@media screen and (max-width:880px){ +.tem_info .inner > div{width: 100%;} +.tem_info .figure_area{padding: 0 20px; margin-bottom: 45px;} +.tem_info .text_area{padding-left: 0; padding: 0 20px;} +.tem_info .text_area .desc_box{padding-right: 0;} +} +@media screen and (max-width:480px){ +.tem_info .text_area .main_tit{margin-bottom: 15px; font-size: 28px; line-height: 30px;} +.tem_info .text_area .main_desc{margin-bottom: 25px; font-size: 13px; line-height: 17px;} +.tem_info .text_area .desc_box p{font-size: 12px; line-height: 16px;} +.tem_info .text_area .desc_box .tit{font-size: 20px; line-height: 1.4; } +} + + + diff --git a/web/html/theme/AT_WEB01/css/sub/directions.css b/web/html/theme/AT_WEB01/css/sub/directions.css new file mode 100644 index 0000000..75bef26 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/sub/directions.css @@ -0,0 +1,53 @@ +/* directions.css */ +.directions{width: 100%; padding: 0 0 130px;} +.map_area{margin-top: 50px; width: 100%; height: auto; overflow: hidden;} +.map_desc{margin-top: 80px; width: 100%;} +.map_desc_box{width: 100%;} +.map_title{height: 60px; border-bottom: 2px solid #666;} +.map_title .map_icon1{float: left; display: inline-block; margin-right: 10px; width: 30px; height: 100%; background: url(../../img/company/directions_icon01.png); background-size: 20px 20px; background-repeat: no-repeat; background-position: center;} +.map_title h3{float: left; line-height: 60px; color: #333; font-size: 20px;} +.map_list{margin-bottom: 65px; width: 100%;} +.map_item{float: left; width: 100%; border-bottom: 1px solid #999;} +.item_desc{line-height: 60px; color: #666; font-size: 16px;} +.map_item::before{display: inline-block; float: left; margin-right: 26px; content: ""; width: 4px; height: 4px; background: #c71526; border-radius: 50%; margin-top: 28px;} +.map_2list{} +.map_2item{float: left; margin-right: 32px; padding: 15px 0 15px;} +.map_2item .bus_line{display: inline-block; margin-right: 10px; width: 45px; height: 30px; background: #3caa3a; color: #fff; text-align: center; line-height: 30px; border-radius: 5px} +.map_2item .bus_line.blue{background: #358fd4;} +.map_2item .bus_number{display: inline-block; color: #666; font-size: 16px; line-height: 30px;} +.map_item.bus_info .item_desc{margin-left: 30px;} +@media screen and (max-width:1199px){ + .directions{padding: 0 0 90px;} + .map_area{margin-top: 20px; height: 300px;} + .map_desc{margin-top: 60px;} + .map_title{height: 50px;} + .map_title .map_icon1{width: 25px;} + .map_title h3{line-height: 50px; font-size: 18px;} + .map_list{margin-bottom: 45px;} + .map_item{padding: 20px 0;} + .item_desc{float: left; margin-left: 20px; width: 90%; line-height: 20px; font-size: 14px;} + .map_item::before{margin-top: 8px; margin-right: 0;} + .map_2list{float: left; margin-left: 20px; width: 90%;} + .map_2item{margin-right: 25px; padding: 0 0 20px;} + .map_2item .bus_line{width: 38px; height: 28px; line-height: 28px; font-size: 14px;} + .map_2item .bus_number{font-size: 14px; line-height: 28px;} + .map_item.bus_info .item_desc{margin-left: 24px;} + .map_item.bus_info::before{margin-top: 10px;} +} +@media screen and (max-width: 480px){ + .directions{padding: 0 0 80px;} + .map_area{margin-top: 10px; height: 250px;} + .map_desc{margin-top: 50px;} + .map_title{height: 45px;} + .map_title .map_icon1{width: 20px; background-size: 18px 18px;} + .map_title h3{line-height: 45px; font-size: 16px;} + .map_list{margin-bottom: 30px;} + .item_desc{width: 90%; line-height: 17px; font-size: 13px;} + .map_item::before{margin-top: 6px;} + .map_2list{width: 90%;} + .map_2item{margin-right: 20px;} + .map_2item .bus_line{width: 35px; height: 25px; line-height: 25px; font-size: 13px;} + .map_2item .bus_number{font-size: 13px; line-height: 25px;} + .map_item.bus_info .item_desc{margin-left: 30px;} + .map_item.bus_info::before{margin-top: 10px;} +} diff --git a/web/html/theme/AT_WEB01/css/sub/introduce.css b/web/html/theme/AT_WEB01/css/sub/introduce.css new file mode 100644 index 0000000..60dfb83 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/sub/introduce.css @@ -0,0 +1,236 @@ +/*sub1.css*/ +#container_title{display: none;} + +.sub1_bannerwrap{position: relative;} +.sub1_bannerwrap>.bnr_img{width: 100%; height: 900px; position: relative;} +.sub1_bannerwrap>.bnr_img>img{height: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%);} +.sub1_bannerwrap>.bnr_img>video{height: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%);} +.sub1_bannerwrap .imgtextwrap{position: absolute; top: 20%; left: 0; right: 0; margin: auto;} +.sub1_bannerwrap .bnr_text{text-align: center; color: #fff;} +.sub1_bannerwrap h2{font-size: 64px; font-weight: 700; line-height: 80px; color: #fff;} +.sub1_bannerwrap h3{font-size: 42px; line-height: 80px; color: #fff;} +.sub1_bannerwrap p{font-size: 16px; line-height: 25px; font-weight: 100; padding: 15px 0;} +.sub1_bannerwrap .bnr_hexagon{padding-top: 65px; overflow: hidden; margin: 0 auto; width: 795px;} +.sub1_bannerwrap .bnr_hexagon>div{width: 233px;height: 269px;margin: 0 2%; float: left;} +.sub1_bannerwrap .bnr_hexagon img{width: 100%;margin: 0 auto;} +.sub_intro .section .title_wrap{text-align: center; padding: 100px 0;} +.sub_intro .section .title_wrap>h4{font-size: 42px; font-weight: 700; line-height: 80px; color: #333;} +.sub_intro .section .title_wrap>p{font-size: 24px; line-height: 35px; color: #666;} + +.sub1-1{padding-bottom: 110px; width: 100%; background-size: 100% auto; background-image: url('../../img/sub/subbg_img1.png');} +.sub1-1 .art_wrap1{width: 100%;overflow: hidden;} +.sub1-1 .left_area{float: left; padding-left: 30px;} +.sub1-1 .left_area>div{width: 461px;height: 397px;} +.sub1-1 .left_area img{width: 100%;} +.sub1-1 .main_image{text-align:center; padding-bottom: 30px;} +.sub1-1 .main_image>div{width: 100%; } +.sub1-1 .main_image>p{text-align:left; font-size:1.3em;} +.sub1-1 .main_image img{margin:0 auto; /*max-height: 550px; */width:100%;} +.sub1-1 .right_area{float: right; padding-right: 15%;} +.sub1-1 li{ overflow: hidden;} +.sub1-1 li:nth-child(1){padding: 0;} +.sub1-1 li{padding-top: 40px;} +.sub1-1 li>div>img{width: 100%;} +.sub1-1 .con1_img{float: left; /*width: 78px;*/ height: 78px;} +.sub1-1 .con1_tbox{padding-left: 20px; float: left;} +.sub1-1 .con1_tbox>h5{font-size: 24px; color: #1659a3; line-height: 25px;} +.sub1-1 .con1_tbox>p{font-size: 18px; color: #555; line-height: 25px;} +.sub1-2{padding-bottom: 100px;} +.sub1-2 .art_wrap2{display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; overflow: hidden;} +.sub1-2 .article{margin: 0 30px; float: left;} +.sub1-2 .article>div>img{margin: 0 auto;} +.sub1-2 .blueline{width: 100%; padding: 40px 0;} +.sub1-2 .blueline>div{width: 2px; height: 70px; background: #1659a3; margin: 0 auto;} +.sub1-2 .tbox>h5{font-size: 24px; color: #1659a3; font-weight: 700; line-height: 40px; text-align: center;} +.sub1-2 .tbox>h5 a{color: #1659a3; } +.sub1-2 .tbox>p{font-size: 18px; color: #666; line-height: 30px; text-align: center;} +.sub1-3{padding-bottom: 150px; width: 100%; background-size: 100% auto; background-image: url('../../img/sub/sub1_con3img.png');} +.sub1-3 .swiper-container.sub_intro{display: none;} +.sub1-3 .btnWrap{display: none;} +.sub1-3 .con3_sect1{overflow: hidden; } +.sub1-3 article{float: left; position: relative; width: 33.33%; height: 290px;} +.sub1-3 .con3_sect1 img{width: 100%;} +.sub1-3 .con3_sect1 .line{position: absolute; width: 2px; height: 100%; background: #ddd; left: 14px; top: 8px;} +.sub1-3 .con3_sect1 .year{float: left; margin-bottom: 20px; font-size: 36px; font-weight: 700; line-height: 40px; color: #1659a3;} +.sub1-3 .con3_sect1 .year::before{display: block; float: left; margin-right: 20px; position: relative; z-index: 1; content:""; width: 30px; height: 40px; background: url(../../img/company/history_icon1.png) 100% center no-repeat; background-position: center;} +.sub1-3 .con3_sect1 .desc{float: left; margin-bottom: 20px; width: 100%;} +.sub1-3 .con3_sect1 .desc::before{display: block; float: left; margin-right: 20px; position: relative; z-index: 1; content: ""; width: 30px; height: 30px; background: url(../../img/company/history_icon2.png) 100% center no-repeat; background-position: center;} +.sub1-3 .con3_sect1 .desc .date{display: block; float: left; margin-right: 10px; line-height: 30px; color: #999; font-size: 17px;} +.sub1-3 .con3_sect1 .desc p{float: left; width: 60%; line-height: 30px; color: #999; font-size: 17px;} +.sub1-3 article:nth-child(4){margin-top:40px;} +.sub1-3 article:nth-child(5){margin-top:40px;} +.sub1-3 article:nth-child(6){margin-top:40px;} +.sub1-3 .ie9{display: none;} +@media screen and (max-width:1199px){ + .inner{width: 100%;} + .sub1-1{padding-bottom: 80px;} + .sub1_bannerwrap p>br{display: block;} + .sub1-1 .con1_tbox>p>br{display: block;} + .sub1-1 .left_area{width: 100%; padding-left: 0;} + .sub1-1 .left_area>div{margin: 0 auto;} + .sub1-1 .left_area img{width: 100%;} + .sub1-1 .right_area{width: 100%;padding-right: 0; padding-top: 70px; text-align: center;} + .sub1-1 .right_area ul{display: inline-block;} + .sub1-2 .tbox>p>br{display: none;} + .sub1-1 .con1_tbox>h5{text-align: left;} + .sub1-1 .con1_tbox>p{text-align: left;} + .sub1-2 .article{width: 31.33%; margin: 0 1%;} + .sub1-2 .tbox>h5{word-break: keep-all;} +} +@media screen and (max-width:1024px){ + .sub1-3 article{width: 50%; margin-bottom: 20px; padding-left: 30px;} + .sub1-3 article:nth-child(2n){float: right;} + .sub1-3 article:nth-child(2n-1){float: left;} + .sub1-3 article:nth-child(4), .sub1-3 article:nth-child(5), .sub1-3 article:nth-child(6){margin: 0 0 20px;} + .sub1-3 .con3_sect1 .line{left: 44px;} + .sub1-3 .con3_sect1 .year{margin-bottom: 20px; font-size: 30px; line-height: 40px;} + .sub1-3 .con3_sect1 .desc .date{margin-right: 10px; line-height: 30px; font-size: 15px;} + .sub1-3 .con3_sect1 .desc p{width: 60%; line-height: 30px; font-size: 15px;} +} + +@media screen and (max-width:980px){ + .section .title_wrap{padding: 80px 0;} + .sub1-2 .blueline{display: none;} + .sub_intro .tbox{position: relative;} + .tbox:before{position: absolute;content: ''; width: 70px; height: 2px; background: #1659a3; top: 20px; left: 40px;} + .sub1-2 .article{width: 700px; margin: 0 auto;overflow: hidden; padding: 40px 0px;} + .sub1-2 .article>div{float: left;} + .sub1-2 .tbox{float: left; padding: 40px 40px;} + .sub1-2 .tbox>h5{text-align: left;} + .sub1-2 .tbox>p{text-align: left;} + .sub1-2 .tbox>p>br{display: block;} +} +@media screen and (max-width:800px){ + .sub1_bannerwrap .bnr_hexagon{width: 100%; padding-top: 0;} + .sub1_bannerwrap .bnr_hexagon>div{width: 31.33%; height: auto; margin: 0 1%;} +} +@media screen and (max-width:768px){ + .section .title_wrap{padding: 70px 0;} + .section .title_wrap>h4{font-size: 40px;} + .section .title_wrap>p{font-size: 28px;} + .sub1_bannerwrap>.bnr_img{height: 800px;} + .sub1_bannerwrap h2{font-size: 48px;} + .sub1_bannerwrap h3{font-size: 36px;} + .sub1-1 .left_area{width: 100%; padding-left: 0;} + .sub1-1 .right_area{width: 100%; padding-right: 0;} + .sub1-2 .article{width: 100%;} + .sub1-2 .article>div{float: none;} + .sub1-2 .blueline{display: block;} + .sub1-2 .tbox{float: none;} + .sub1-2 .tbox::before{display: none;} + .sub1-2 .tbox>h5{text-align: center;} + .sub1-2 .tbox>p{text-align: center;} + .sub1-2 .tbox{padding: 0;} + .sub1-3 .con3_sect1 .desc{margin-bottom: 10px;} + .sub1-3 .con3_sect1 .desc p{width: 58%;} + .sub1-3 .con3_sect1 .year::before{margin-right: 10px; background-size: 24px auto;} + .sub1-3 .con3_sect1 .desc::before{margin-right: 10px; background-size: 14px auto;} +} +@media screen and (max-width:600px){ + .sub1-3 .con3_sect1{display: none;} + .sub1-3 .swiper-container.sub_intro{display: block;} + .sub1-3 .btnWrap{display: block;} + .swiper-slide>img{margin: 0 auto;} + .sub_intro .btnWrap{z-index: 999;} + .sub_intro .section .title_wrap{padding: 70px 0;} + .sub_intro .section .title_wrap>h4{font-size: 30px; line-height: 30px;} + .sub_intro .section .title_wrap>p{font-size: 18px; line-height: 25px;} + .sub1_bannerwrap>.bnr_img{height: 600px;} + .sub1_bannerwrap h2{font-size: 36px; line-height: 45px;} + .sub1_bannerwrap h3{font-size: 26px; line-height: 45px;} + .sub1_bannerwrap p{font-size: 14px;} + .sub1_bannerwrap .bnr_hexagon{margin-top: 45px;} + .sub1-1 .con1_img{width:20%; height: auto; padding-right: 10px;} + .sub1-1 .con1_img>img{width: 100%; margin: 0 auto;} + .sub1-1 .right_area ul{} + .sub1-1 .con1_tbox{width: 80%; padding-left: 0;} + .sub1-1 .con1_tbox>h5{font-size: 22px;} + .sub1-1 .con1_tbox>p{font-size: 16px;} + .sub1-1 li:nth-child(2){padding: 40px 0;} + .sub1-1 .left_area>div{width: auto; height: auto;} + .sub1-1 .right_area{padding-top: 40px;} + .sub1-2 .article{width: 100%;} + .sub1-2 .tbox>h5{font-size: 17px;} + .sub1-2 .tbox>p{font-size: 13px;} + .sub1-2 .blueline>div{height: 40px;} + .sub1-2 .blueline{padding: 20px 0;} + .sub1-3{width: 100%; height: 500px;position: relative;} + .swiper-container.sub_intro{display: block;width: 80%; margin: 0 15%; position: relative;} + .swiper-container.sub_intro .swiper-slide{width: 100%; height: 260px;} + .sub_intro .btnWrap{display: block;width: 90%; margin: 0 5%; position: absolute; margin: auto; left: 0; right: 0; bottom: 230px; overflow: hidden;} + .sub_intro .swiper-button-next1{float: left; outline: 0;} + .sub_intro .swiper-button-prev1{float: right; outline: 0;} + .swiper-container.sub_intro .line{position: absolute; width: 2px; height: 100%; background: #ddd; left: 14px; top: 6px;} + .swiper-container.sub_intro .year{float: left; margin-bottom: 20px; font-size: 25px; font-weight: 700; line-height: 40px; color: #1659a3;} + .swiper-container.sub_intro .year::before{display: block; float: left; margin-right: 10px; position: relative; z-index: 1; content:""; width: 30px; height: 40px; background: url(../../img/company/history_icon1.png) 100% center no-repeat; background-position: center; background-size: 24px auto;} + .swiper-container.sub_intro .desc{float: left; margin-bottom: 10px; width: 100%;} + .swiper-container.sub_intro .desc::before{display: block; float: left; margin-right: 10px; position: relative; z-index: 1; content: ""; width: 30px; height: 30px; background: url(../../img/company/history_icon2.png) 100% center no-repeat; background-position: center; background-size: 14px auto;} + .swiper-container.sub_intro .desc .date{display: block; float: left; margin-right: 10px; line-height: 30px; color: #999; font-size: 13px;} + .swiper-container.sub_intro .desc p{float: left; width: 60%; line-height: 30px; color: #999; font-size: 13px;} +} +@media screen and (max-width:480px){ + .sub_intro .section .title_wrap{padding: 30px 0;} + .sub_intro .section .title_wrap>h4{font-size: 22px; font-weight: 700; line-height: 40px; color: #333;} + .sub_intro .section .title_wrap>p{font-size: 12px; line-height: 30px; color: #666;} + .sub1_bannerwrap>.bnr_img{height: 500px;} + .sub1_bannerwrap h2{font-size: 28px; line-height: 40px;} + .sub1_bannerwrap h3{font-size: 18px; line-height: 30px;} + .sub1_bannerwrap p{font-size: 12px; line-height: 20px; padding: 5px 0;} + .sub1-1 .con1_tbox>h5{font-size: 18px;} + .sub1-1 .con1_tbox>p{font-size: 14px;} + .sub1-3{width: 100%; height: auto; padding-bottom: 0;} + .btnWrap{width: 90%; margin: 0 5%; position: absolute; margin: auto; left: 0; right: 0; bottom: 40%; overflow: hidden; } + .sub_intro .swiper-button-next1{float: left;} + .sub_intro .swiper-button-prev1{float: right;} + .sub1-3{padding-bottom: 80px;} + .swiper-container.sub_intro .year{font-size: 20px;} +} + +@media screen and (max-width:400px){ + .swiper-container.sub_intro .swiper-slide{height: 300px;} + .sub_intro .swiper-container.sub_intro.sub_intro{margin: 0 auto;} + .swiper-container.sub_intro .desc p{width: 50%;} +} +@media screen and (max-width:360px){ + .sub1_bannerwrap .imgtextwrap{top: 22%;} + .btnWrap{width: 90%; margin: 0 5%; position: absolute; margin: auto; left: 0; right: 0; overflow: hidden;} +} +@media screen and (max-width:320px){ + .sub1-3{width: 100%;} +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/css/table/basic_table.css b/web/html/theme/AT_WEB01/css/table/basic_table.css new file mode 100644 index 0000000..88e8d16 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/table/basic_table.css @@ -0,0 +1,44 @@ +/*basic_table.css*/ +@font-face { + font-family: 'GongGothicLight'; + src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicLight.woff') format('woff'); + font-weight: normal; + font-style: normal; +} +* { font-family: 'GongGothicLight'; } +#bo_list .bo_tit .title_icon{display: none;} +#bo_list .fa{display: none;} +#bo_list_total{background: transparent;} +#bo_list .bo_tit .title_icon{display: none;} +.sv_member{text-align: center;} +.tbl_wrap table{border-top: 1px solid #666; border-right: none; border-left: none; width:100%; margin:0 auto;} +#bo_list .td_datetime{font-style: normal;} +#bo_list .td_num{display: none;} +.td_subject{padding-left: 30px!important;} +.tbl_head01 thead th{padding: 15px 0;} +#bo_list_total{margin: 20px 0; overflow: hidden;/*width: 100%; */line-height: 30px;} +#bo_list_total span{float: left; font-size: 14px; color: #aaa;} +#new1{width: 90px;height: 30px;border: 1px solid #ddd; float: right; font-size: 14px; font-weight: 500; line-height: 30px;padding-left: 10px; display: none;} +#bo_list tbody tr:hover{border-left: none;} +.btn_bo_user>li:nth-child(4){display:block;} +#bo_list .bo_tit .title{width:auto; margin:0 1%; float:left; overflow: hidden; text-overflow: ellipsis;white-space: normal; word-wrap:break-word; display: -webkit-box; -webkit-box-orient: vertical; line-height: 1.5; height: 1.5em; -webkit-line-clamp: 1;} +@media screen and (max-width:700px){ + .btn_bo_user>li:nth-child(4){width:5px;} +} +@media screen and (max-width:570px){ + .td_subject{padding-left: 15px!important;} + #bo_list .tbl_head01 thead .notice_wr{display: none;} + #bo_list .td_name.notice_td_name{display: none;} +} +@media screen and (max-width:480px){ + #bo_list .tbl_head01 a{width: 90%;} + #bo_list_total{margin: 20px 0;} + #bo_list_total span{float: left; font-size: 12px;} + .tbl_head01 thead th{font-size: 14px;} +} +@media screen and (max-width:400px){ + .td_subject{font-size: 13px;} + .sv_member{font-size: 12px;} + .td_num2{font-size: 12px;} + .td_datetime{font-size: 12px;} +} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/css/table/board.css b/web/html/theme/AT_WEB01/css/table/board.css new file mode 100644 index 0000000..9dccacb --- /dev/null +++ b/web/html/theme/AT_WEB01/css/table/board.css @@ -0,0 +1,76 @@ +/*gallery_table.css*/ + +#new1{display: none;} +#bo_gall{width: 1200px; margin: 0 auto;} +#bo_gall .inner{padding: 0 20px;} +#bo_list_total{padding: 0;} +#bo_gall #gall_ul{margin: 0; width: 100%;} +#bo_gall .gall_img{overflow: hidden; border: 1px solid #eee;} +#bo_gall .gall_img img{width: 100%; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out;} +#bo_gall .gall_img:hover img{-webkit-transform: scale(1.2);-ms-transform: scale(1.2);transform: scale(1.2);} +.gall_row .gall_li{width: 32%; padding-left: 0; padding-right: 0;} +.gall_row .gall_li:nth-child(3n-1){margin: 0 2%;} +#bo_gall .gall_box{border: none;} +#bo_btn_top{margin: 0;} +.gall_row .gall_li{width: 32%; padding-left: 0; padding-right: 0;} +#bo_gall .gall_box{border: none; margin: 0 0 60px 0;} +#bo_gall .gall_li .gall_chk{z-index: 20;} +#bo_gall .gall_info{display: none;} +#bo_gall .gall_info i.fa-eye, #bo_gall .gall_info i.fa-clock-o{display: none;} +#bo_gall .gall_info .gall_date{font-style: normal; color: #000;} +#bo_gall .gall_name{display: none;} +#bo_gall .gall_content{} +#bo_sch .sch_btn{text-indent: 0; background: none;} +#bo_gall .gall_text_href{height: 70px; margin: 0;} +#bo_gall .gall_text_href .title_icon{display: none;} +#bo_gall .gall_go{margin-top: 10px;} +#bo_gall .gall_go a, #bo_gall .gall_content{font-size: 14px; font-weight: 300;} +#bo_gall .gall_content{color: #666;height: 44px;overflow: hidden;text-overflow: ellipsis;white-space: normal; word-wrap:break-word; display: -webkit-box; -webkit-box-orient: vertical; line-height: 1.2; height: 2.4em; -webkit-line-clamp: 2;} +#bo_gall .gall_text_href a{font-size: 18px; font-weight: 400; line-height: 70px; -webkit-transition-duration: 0.3s; transition-duration: 0.3s;} +#bo_w .bo_w_flie .file_del label {display: inline-block;} +#bo_gall .gall_text_href:hover a{text-decoration: underline;} +#bo_gall .gall_go a{color: #c71526; font-weight: 400; font-size: 13px;} +#bo_gall .gall_go:hover a{text-decoration: underline;} +#bo_gall li.empty_list{height: 500px; line-height: 500px;} +.cate_title_ex{width: 100%; height: 30px; line-height: 30px; font-size: 30px; text-align: center; font-weight: 700;} +#bo_v{width:100%; margin: 0 auto; padding: 0 0 80px;} +#bo_vc_w_info{width:100%;} +#bo_v_info{padding: 20px 0;} +#bo_v_info .if_date{font-style: normal; font-size: 13px;} +.bo_v_nb li{padding: 20px;} +.bo_vc_w textarea{padding: 10px;} +#captcha #captcha_key{margin: 0; margin-left: 0;} +#captcha.m_captcha #captcha_key{height: 40px; margin-left: 0;} +#bo_v_info .fa{display: none;} +#bo_v_info span, #bo_v_info strong, #bo_v_info strong a{font-size: 13px;} +.brd-state strong a{margin: 15px 0; font-size: 15px;} +.bo_vc_w_info .frm_input{width: 100%;} + +@media screen and (max-width:1199px){ + #bo_v{width:100%;} + #bo_gall{width: 100%;} +} +@media screen and (min-width:768px){ + .gall_row .gall_li.gall_li1, .gall_row .gall_li.gall_li4{margin: 0 2%;} +} +@media screen and (max-width: 767px){ + .gall_row .gall_li{width: 48%; margin: 0; clear: none;} + .gall_row .gall_li:nth-child(3n-1){margin: 0;} + .gall_row .gall_li:nth-child(2n-1){margin-right: 4%;} + #bo_gall .gall_go{margin-top: 40px;} + #bo_gall .gall_text_href a{font-size: 16px;} + #bo_gall .gall_content{font-size: 13px;} + #bo_gall .gall_go a{font-size: 12px;} + #bo_v_title .bo_v_tit{font-size: 18px;} +} +@media screen and (max-width:480px){ + .gall_row .gall_li{width: 100%; margin: 0; clear: none;} + .gall_row .gall_li:nth-child(2n-1){margin-right: 0%;} + #bo_gall .gall_go{margin-top: 25px;} + #bo_gall .gall_text_href a{font-size: 15px;} + #bo_gall .gall_content{font-size: 12px;} + #bo_gall .gall_go a{font-size: 11px;} + .brd-state strong a{margin: 10px 0; font-size: 13px;} + #bo_v_info strong.bo_v_writer{display: block; width:100%;} +} + diff --git a/web/html/theme/AT_WEB01/css/table/contact_us.css b/web/html/theme/AT_WEB01/css/table/contact_us.css new file mode 100644 index 0000000..cf9c0e0 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/table/contact_us.css @@ -0,0 +1,19 @@ +/* contact_us */ +.contact_us{width: 100%;} +.contact_us input:focus{outline: 0 none;} +.contact_us input[type=text], input[type=password], textarea{outline: none;} +.contact_us button:focus{outline: 0 none;} +.contact_us input.name:focus{outline: 0 none;} +.contact_us .outline{float: left; display: block; margin-bottom: 25px;width: 48%; height: 60px; -webkit-box-sizing: border-box; box-sizing: border-box; margin-left: 1%; overflow: hidden;} +.contact_us .outline.right{float: right; margin-left: 0;} +.contact_us .outline input{display: block; width: 100%; height: 100%;} +.contact_us .outline.message{width: 100%; height: 300px;} +.contact_us .outline.message input{padding-bottom: 240px;} +.inputbox, .focusbox {float:left; margin:0; height:auto; font-size:14px; color:#666;} +.inputbox {padding:4px 1px 3px 20px; border: 1px solid #ddd;} +.focusbox {padding:3px 0 2px 19px; border:2px solid #c71526;} +#contact_submit{width: 300px; height: 60px; background: #c71526; margin: 0 auto; display: block; color: #fff; } +@media screen and (max-width: 480px){ + .mdlTxt > p{margin-top: 10px; font-size: 13px;} +} + diff --git a/web/html/theme/AT_WEB01/css/table/faq.css b/web/html/theme/AT_WEB01/css/table/faq.css new file mode 100644 index 0000000..6a2d551 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/table/faq.css @@ -0,0 +1,35 @@ +/* faq style */ +.bo_fx{display: block;} +.listWrap .qa_li:first-child{border-top: 1px solid #eee;} +.qa_li .question{background: none; padding: 0;} +.qa_li .answer{display: none;} +.tit input{display: none;} +.faq-accordion > li > a:before{color: #c71526;} +.faq-content p.answer:before{color: #333;} +.listWrap .qa_li .tit{padding: 45px 0;font-size: 18px;} +.listWrap .qa_li .tit .q_icon{float: left; font-weight:700; font-size: 16px; color: #c71526;} +.qa_li .question .tit h3{width: 80%; margin-left: 3%;} +.qa_li .answer{background: none; background-color: #fff; padding: 40px 0; color: #999;} +.qa_li .answer .a_icon{float: left; font-weight:700; font-size: 16px; color: #333;} +.qa_li .answer .answer_con{margin-left: 3%;} +.listWrap .qa_li:hover .tit{color: #c80e21;} +.mdlTxt > p{line-height: 20px; word-break: keep-all;} +@media screen and (max-width:1199px){ + .qa_li .question .iconDiv{right: 10px;} + .modA{right: 5px; bottom: 10px; font-size: 14px;} +} +@media screen and (max-width:767px){ + .qa_li .question .tit h3{margin-left: 5%; font-size: 14px;} + .listWrap .qa_li .tit .q_icon{margin-right: 0;} + .qa_li .answer .a_icon{margin-right:0;} + .qa_li .answer .answer_con{margin-left: 5%; width: 90%; font-size: 14px;} + .qa_li .question .iconDiv{width: 18px;} + .qa_li .question .iconDiv img{width: 100%;} +} +@media screen and (max-width: 480px){ + .qa_li .question .tit h3{font-size: 13px; margin-left: 7%;} + .qa_li .answer .answer_con{font-size: 13px; margin-left: 7%;} + .qa_li .question .iconDiv{width: 15px;} + .modA{right: 5px; bottom: 10px; font-size: 12px;} + +} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/css/table/gallery_table.css b/web/html/theme/AT_WEB01/css/table/gallery_table.css new file mode 100644 index 0000000..9f75bab --- /dev/null +++ b/web/html/theme/AT_WEB01/css/table/gallery_table.css @@ -0,0 +1,76 @@ +/*gallery_table.css*/ + +#new1{display: none;} +#bo_gall{width: 1200px; margin: 0 auto;} +#bo_gall .inner{padding: 0 20px;} +#bo_list_total{padding: 0;} +#bo_gall #gall_ul{margin: 0; width: 100%;} +#bo_gall .gall_img{overflow: hidden; border: 1px solid #eee;} +#bo_gall .gall_img img{width: 100%; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out;} +#bo_gall .gall_img:hover img{-webkit-transform: scale(1.2);-ms-transform: scale(1.2);transform: scale(1.2);} +.gall_row .gall_li{width: 32%; padding-left: 0; padding-right: 0;} +.gall_row .gall_li:nth-child(3n-1){margin: 0 2%;} +#bo_gall .gall_box{border: none;} +#bo_btn_top{margin: 0 auto; width:100%;} +.gall_row .gall_li{width: 32%; padding-left: 0; padding-right: 0;} +#bo_gall .gall_box{border: none; margin: 0 0 60px 0;} +#bo_gall .gall_li .gall_chk{z-index: 20;} +#bo_gall .gall_info{display: none;} +#bo_gall .gall_info i.fa-eye, #bo_gall .gall_info i.fa-clock-o{display: none;} +#bo_gall .gall_info .gall_date{font-style: normal; color: #000;} +#bo_gall .gall_name{display: none;} +#bo_gall .gall_content{} +#bo_sch .sch_btn{text-indent: 0; background: none;} +#bo_gall .gall_text_href{height: 70px; margin: 0;} +#bo_gall .gall_text_href .title_icon{display: none;} +#bo_gall .gall_go{margin-top: 10px;} +#bo_gall .gall_go a, #bo_gall .gall_content{font-size: 14px; font-weight: 300;} +#bo_gall .gall_content{color: #666;height: 44px;overflow: hidden;text-overflow: ellipsis;white-space: normal; word-wrap:break-word; display: -webkit-box; -webkit-box-orient: vertical; line-height: 1.2; height: 2.4em; -webkit-line-clamp: 2;} +#bo_gall .gall_text_href a{font-size: 18px; font-weight: 400; line-height: 70px; -webkit-transition-duration: 0.3s; transition-duration: 0.3s;} +#bo_w .bo_w_flie .file_del label {display: inline-block;} +#bo_gall .gall_text_href:hover a{text-decoration: underline;} +#bo_gall .gall_go a{color: #c71526; font-weight: 400; font-size: 13px;} +#bo_gall .gall_go:hover a{text-decoration: underline;} +#bo_gall li.empty_list{height: 500px; line-height: 500px;} +.cate_title_ex{width: 100%; height: 30px; line-height: 30px; font-size: 30px; text-align: center; font-weight: 700;} +#bo_v{width:100%; margin: 0 auto; padding:5% 0; } +#bo_vc_w_info{width:100%;} +#bo_v_info{padding: 20px 0;} +#bo_v_info .if_date{font-style: normal; font-size: 13px;} +.bo_v_nb li{padding: 30px 20px;} +.bo_vc_w textarea{padding: 10px;} +#captcha #captcha_key{margin: 0; margin-left: 0;} +#captcha.m_captcha #captcha_key{height: 40px; margin-left: 0;} +/*#bo_v_info .fa{display: none;}*/ +#bo_v_info span, #bo_v_info strong, #bo_v_info strong a{font-size: 14px;} +.brd-state strong a{margin: 15px 0; font-size: 15px;} +.bo_vc_w_info .frm_input{width: 100%;} +#bo_gall .gall_text_href a{overflow: hidden; text-overflow: ellipsis;white-space: normal; word-wrap:break-word; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;} +@media screen and (max-width:1199px){ + #bo_v{width:100%;} + #bo_gall{width: 100%;} +} +@media screen and (min-width:768px){ + .gall_row .gall_li.gall_li1, .gall_row .gall_li.gall_li4{margin: 0 2%;} +} +@media screen and (max-width: 767px){ + .gall_row .gall_li{width: 48%; margin: 0; clear: none;} + .gall_row .gall_li:nth-child(3n-1){margin: 0;} + .gall_row .gall_li:nth-child(2n-1){margin-right: 4%;} + #bo_gall .gall_go{margin-top: 40px;} + #bo_gall .gall_text_href a{font-size: 16px;} + #bo_gall .gall_content{font-size: 13px;} + #bo_gall .gall_go a{font-size: 12px;} + #bo_v_title .bo_v_tit{font-size: 18px;} +} +@media screen and (max-width:480px){ + .gall_row .gall_li{width: 100%; margin: 0; clear: none;} + .gall_row .gall_li:nth-child(2n-1){margin-right: 0%;} + #bo_gall .gall_go{margin-top: 25px;} + #bo_gall .gall_text_href a{font-size: 15px;} + #bo_gall .gall_content{font-size: 12px;} + #bo_gall .gall_go a{font-size: 11px;} + .brd-state strong a{margin: 10px 0; font-size: 13px;} + #bo_v_info strong.bo_v_writer{display: block; width:100%;} +} + diff --git a/web/html/theme/AT_WEB01/css/table/qa.css b/web/html/theme/AT_WEB01/css/table/qa.css new file mode 100644 index 0000000..e39bccb --- /dev/null +++ b/web/html/theme/AT_WEB01/css/table/qa.css @@ -0,0 +1,33 @@ +/*qa.css*/ +#bo_list{ display:block; width:100%; margin:20px auto;} +#bo_btn_top.faq_bo_btn_top #bo_list_total{width: inherit;} +.btn_bo_user.faq_btn_bo_user{margin: 35px 0 20px 0;} +.bo_fx.faq_bo_fx{display: block; width: inherit;} +.bo_fx.faq_bo_fx .btn_b02.faq_submit{display: none;} +.sch_btn .fa{display: none;} +.qnaIco{color: #333;} +.qnaIco2{border-color: #c80e21; color: #c80e21;} +.qnaIco3{color: #747474;} +#bo_list a.btn_admin, #bo_list a.btn_b01 { + display: none; +} +a.btn_b02, .btn_b02 { + height: 40px; + width:130px; +} +.tbl_wrap table { + background:#fcfcfc; + border-bottom:0; +} +@media screen and (max-width:767px){ + #bo_list.faq_bo_list .td_num2{width: 100px;} + #bo_list.faq_bo_list .tbl_head01 thead .th_name{display: none;} + #bo_list.faq_bo_list .td_name{display: none;} +} +@media screen and (max-width:480px){ + #bo_list.faq_bo_list .td_num2{width: 80px;} + #bo_list.faq_bo_list .tbl_head01 thead th{font-size: 14px;} + #bo_list.faq_bo_list .tbl_head01 thead .th_date{display: none;} + #bo_list.faq_bo_list .td_datetime{display: none;} + #bo_list.faq_bo_list .tbl_head01 .faq_td_subject a{width: 100%;} +} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/css/table/webzine_table.css b/web/html/theme/AT_WEB01/css/table/webzine_table.css new file mode 100644 index 0000000..4705a72 --- /dev/null +++ b/web/html/theme/AT_WEB01/css/table/webzine_table.css @@ -0,0 +1,68 @@ +/*webzine_table.css*/ +@font-face { + font-family: 'GongGothicLight'; + src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicLight.woff') format('woff'); + font-weight: normal; + font-style: normal; +} +* { font-family: 'GongGothicLight'; } +#bo_list.webzine_table{border-bottom: none;} +.webzine_table .tbl_wrap table{border: none;} +#bo_list.webzine_table tr{border-bottom: 1px solid #ccc;} +#bo_list.webzine_table .tbl_head01 thead th{border-top: 1px solid #666; border-bottom: 1px solid #666; height: 60px;} +#bo_list.webzine_table .tbl_head01 thead .th_num2{width: 80px;} +#bo_list.webzine_table .tbl_head01 thead .th_checkbox input{margin-top:5px;} +#bo_list.webzine_table .tbl_head01 thead .th_writer{width: 150px;} +#bo_list.webzine_table .tbl_head01 td{padding: 30px 0; border: none; color: #000;} +#bo_list.webzine_table .tbl_head01 .td_datetime{width: 30%;} +#bo_list.webzine_table .tbl_head01 .td_datetime img{width: 100%;} +#bo_list.webzine_table .tbl_head01 .td_name span{display: block; text-align: center;} +#bo_list.webzine_table .subject_box{height: 100%;} +@media screen and (min-width:0\0){.webzine_table#bo_list .subject_box{height: 193px;}} +#bo_list.webzine_table .subject_box br{display: none;} +#bo_list.webzine_table .bo_tit h3{padding: 25px 0; font-weight: 700; font-size: 18px; -webkit-overflow: hidden; -ms-overflow: hidden; overflow: hidden;text-overflow: ellipsis;white-space: normal; word-wrap:break-word; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;} +#bo_list.webzine_table .webzine_content{margin-bottom: 30px; color: #666; line-height: 20px; -webkit-overflow: hidden; -ms-overflow: hidden; overflow: hidden;text-overflow: ellipsis;white-space: normal; word-wrap:break-word; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; height: 40px;} +#bo_list.webzine_table .webzine_date{color: #999;} +#bo_list.webzine_table .webzine_date .info_detail{display: none;} +#bo_list.webzine_table .webzine_date .fa{display: inline-block;} +@media screen and (max-width: 1199px){ + #bo_list.webzine_table .bo_tit h3{padding: 20px 0 10px; font-size: 16px;} + #bo_list.webzine_table .webzine_content{font-size: 14px;} + #bo_list.webzine_table .webzine_date{font-size: 14px;} +} +@media screen and (max-width: 1024px){ + #bo_list.webzine_table .tbl_head01 thead .th_writer, #bo_list.webzine_table .tbl_head01 .td_name{display: none;} + #bo_list.webzine_table .tbl_head01 .td_datetime{width: 35%;} + #bo_list.webzine_table .tbl_head01 thead .th_num2{width: 60px;} + #bo_list.webzine_table .bo_tit h3{padding: 15px 0; } + #bo_list.webzine_table .webzine_content{margin-bottom: 20px;} +} +@media screen and (max-width: 767px){ + #bo_list.webzine_table table, #bo_list.webzine_table tbody, #bo_list.webzine_table tr, #bo_list.webzine_table td{display: block; float: left;} + .webzine_table .tbl_wrap{float: left;} + #bo_list.webzine_table .tbl_head01 thead th{display: none; border: none;} + #bo_list.webzine_table .tbl_head01 thead tr{border: none;} + #bo_list.webzine_table .tbl_head01 thead .th_checkbox{display: block; padding: 0; margin: 15px 0 0; float: left; border: none; height: inherit;} + #bo_list.webzine_table .tbl_head01 thead .th_checkbox input{margin-top:0;} + #bo_list.webzine_table .tbl_head01 .td_num2, #bo_list.webzine_table .tbl_head01 .td_name{display: none;} + #bo_list.webzine_table .tbl_head01{border-top: 1px solid #666;} + #bo_list.webzine_table .tbl_head01 td{padding: 0 20px 30px; float: left;} + #bo_list.webzine_table .tbl_head01 .td_datetime{margin-top: 50px; width: 100%; height: auto;} + #bo_list.webzine_table .tbl_head01 .td_datetime a{width: 100%;} + #bo_list.webzine_table .tbl_head01 .td_subject{height: auto;} + #bo_list.webzine_table .bo_tit h3{padding: 25px 0;} + #bo_list.webzine_table tr{position: relative; float: left;} + #bo_list.webzine_table .tbl_head01 .td_chk{position: absolute; padding: 0; margin-top: 50px; background: none; left: 24px; top: 8px; height: inherit;} +} +@media screen and (max-width:480px){ + #bo_list.webzine_table .tbl_head01 .td_datetime{margin-top: 30px;} + #bo_list.webzine_table .tbl_head01 td{padding: 0 0 30px;} + #bo_list.webzine_table .tbl_head01 .td_datetime{padding-bottom: 10px;} + #bo_list.webzine_table .bo_tit h3{font-size: 15px;} + #bo_list.webzine_table .webzine_content{font-size: 13px;} + #bo_list.webzine_table .webzine_date{font-size: 13px;} + #bo_list.webzine_table .tbl_head01 .td_chk{margin-top: 30px; left: 0; top: 5px;} +} + + + diff --git a/web/html/theme/AT_WEB01/dbconfig.php b/web/html/theme/AT_WEB01/dbconfig.php new file mode 100644 index 0000000..5c78f2b --- /dev/null +++ b/web/html/theme/AT_WEB01/dbconfig.php @@ -0,0 +1,43 @@ + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.eot b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.eot new file mode 100644 index 0000000..1262aa0 Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.eot differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.svg b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.svg new file mode 100644 index 0000000..64e5a31 --- /dev/null +++ b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.svg @@ -0,0 +1 @@ +Error 500 (Server Error)!!1

500. That’s an error.

There was an error. Please try again later. That’s all we know.

\ No newline at end of file diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.woff b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.woff new file mode 100644 index 0000000..641b959 Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.woff differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.woff2 b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.woff2 new file mode 100644 index 0000000..202b71f Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-100.woff2 differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.eot b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.eot new file mode 100644 index 0000000..7151543 Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.eot differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.svg b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.svg new file mode 100644 index 0000000..64e5a31 --- /dev/null +++ b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.svg @@ -0,0 +1 @@ +Error 500 (Server Error)!!1

500. That’s an error.

There was an error. Please try again later. That’s all we know.

\ No newline at end of file diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.woff b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.woff new file mode 100644 index 0000000..90afc24 Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.woff differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.woff2 b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.woff2 new file mode 100644 index 0000000..51f8518 Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-300.woff2 differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.eot b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.eot new file mode 100644 index 0000000..09a06b3 Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.eot differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.svg b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.svg new file mode 100644 index 0000000..64e5a31 --- /dev/null +++ b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.svg @@ -0,0 +1 @@ +Error 500 (Server Error)!!1

500. That’s an error.

There was an error. Please try again later. That’s all we know.

\ No newline at end of file diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.woff b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.woff new file mode 100644 index 0000000..e087584 Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.woff differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.woff2 b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.woff2 new file mode 100644 index 0000000..547feae Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-700.woff2 differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.eot b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.eot new file mode 100644 index 0000000..24e220a Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.eot differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.svg b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.svg new file mode 100644 index 0000000..64e5a31 --- /dev/null +++ b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.svg @@ -0,0 +1 @@ +Error 500 (Server Error)!!1

500. That’s an error.

There was an error. Please try again later. That’s all we know.

\ No newline at end of file diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.woff b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.woff new file mode 100644 index 0000000..a922993 Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.woff differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.woff2 b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.woff2 new file mode 100644 index 0000000..cf787aa Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-900.woff2 differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.eot b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.eot new file mode 100644 index 0000000..fd2d5dd Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.eot differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.svg b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.svg new file mode 100644 index 0000000..64e5a31 --- /dev/null +++ b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.svg @@ -0,0 +1 @@ +Error 500 (Server Error)!!1

500. That’s an error.

There was an error. Please try again later. That’s all we know.

\ No newline at end of file diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.woff b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.woff new file mode 100644 index 0000000..4703dc0 Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.woff differ diff --git a/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.woff2 b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.woff2 new file mode 100644 index 0000000..888731d Binary files /dev/null and b/web/html/theme/AT_WEB01/fonts/noto-sans-kr-v11-latin-regular.woff2 differ diff --git a/web/html/theme/AT_WEB01/group.php b/web/html/theme/AT_WEB01/group.php new file mode 100644 index 0000000..b605d87 --- /dev/null +++ b/web/html/theme/AT_WEB01/group.php @@ -0,0 +1,50 @@ + + +
+ + + 'mobile' "; +if(!$is_admin) + $sql .= " and bo_use_cert = '' "; +$sql .= " order by bo_order "; +$result = sql_query($sql); +for ($i=0; $row=sql_fetch_array($result); $i++) { + $lt_style = ""; + if ($i%2==1) $lt_style = "margin-left:2%"; + else $lt_style = ""; +?> +
+ +
+ + +
+ diff --git a/web/html/theme/AT_WEB01/head - 복사본.php b/web/html/theme/AT_WEB01/head - 복사본.php new file mode 100644 index 0000000..001c739 --- /dev/null +++ b/web/html/theme/AT_WEB01/head - 복사본.php @@ -0,0 +1,189 @@ + + + + + + +
+

+ + + + +
+
+
+ + + +
+ + + + + + + + +
+
+
+ + + + + +
+ + +
+
+ +
+

\ No newline at end of file diff --git a/web/html/theme/AT_WEB01/head.php b/web/html/theme/AT_WEB01/head.php new file mode 100644 index 0000000..752928c --- /dev/null +++ b/web/html/theme/AT_WEB01/head.php @@ -0,0 +1,213 @@ + + + + + + +
+

+ + + + +
+
+
+ + + +
+ + + + + + + + +
+
+
+ + + + + +
+ + +
+
+ +
+

\ No newline at end of file diff --git a/web/html/theme/AT_WEB01/head.sub.php b/web/html/theme/AT_WEB01/head.sub.php new file mode 100644 index 0000000..43e71f2 --- /dev/null +++ b/web/html/theme/AT_WEB01/head.sub.php @@ -0,0 +1,125 @@ + + + + + + + + + + + + +'.PHP_EOL; + echo ''.PHP_EOL; + echo ''.PHP_EOL; +} else { + echo ''.PHP_EOL; + echo ''.PHP_EOL; +}*/ + +if($config['cf_add_meta']) + echo $config['cf_add_meta'].PHP_EOL; +?> +<?php echo $g5_head_title; ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +'.PHP_EOL; // overflow scroll 감지 +} +if(!defined('G5_IS_ADMIN')) + echo $config['cf_add_script']; +?> + +> +'.$sr_admin_msg.get_text($member['mb_nick']).'님 로그인 중 '; + echo '로그아웃
'; +} +?> \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/btn_end.gif b/web/html/theme/AT_WEB01/img/btn_end.gif new file mode 100644 index 0000000..e7d6105 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/btn_end.gif differ diff --git a/web/html/theme/AT_WEB01/img/btn_first.gif b/web/html/theme/AT_WEB01/img/btn_first.gif new file mode 100644 index 0000000..82aeea5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/btn_first.gif differ diff --git a/web/html/theme/AT_WEB01/img/btn_next.gif b/web/html/theme/AT_WEB01/img/btn_next.gif new file mode 100644 index 0000000..eb714a3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/btn_next.gif differ diff --git a/web/html/theme/AT_WEB01/img/btn_prev.gif b/web/html/theme/AT_WEB01/img/btn_prev.gif new file mode 100644 index 0000000..cdc8374 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/btn_prev.gif differ diff --git a/web/html/theme/AT_WEB01/img/bullet.gif b/web/html/theme/AT_WEB01/img/bullet.gif new file mode 100644 index 0000000..a7cd0fc Binary files /dev/null and b/web/html/theme/AT_WEB01/img/bullet.gif differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section1_img1.png b/web/html/theme/AT_WEB01/img/business/area_section1_img1.png new file mode 100644 index 0000000..5dc8da0 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section1_img1.png differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section1_img2.png b/web/html/theme/AT_WEB01/img/business/area_section1_img2.png new file mode 100644 index 0000000..e51be19 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section1_img2.png differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section2_icon1.png b/web/html/theme/AT_WEB01/img/business/area_section2_icon1.png new file mode 100644 index 0000000..2e2fe42 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section2_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section2_icon2.png b/web/html/theme/AT_WEB01/img/business/area_section2_icon2.png new file mode 100644 index 0000000..5d8d016 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section2_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section2_icon3.png b/web/html/theme/AT_WEB01/img/business/area_section2_icon3.png new file mode 100644 index 0000000..23256ee Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section2_icon3.png differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section2_icon4.png b/web/html/theme/AT_WEB01/img/business/area_section2_icon4.png new file mode 100644 index 0000000..d32e7a0 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section2_icon4.png differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section3_icon1.png b/web/html/theme/AT_WEB01/img/business/area_section3_icon1.png new file mode 100644 index 0000000..c658012 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section3_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section3_icon2.png b/web/html/theme/AT_WEB01/img/business/area_section3_icon2.png new file mode 100644 index 0000000..c265aa0 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section3_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section3_icon3.png b/web/html/theme/AT_WEB01/img/business/area_section3_icon3.png new file mode 100644 index 0000000..4551702 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section3_icon3.png differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section3_icon4.png b/web/html/theme/AT_WEB01/img/business/area_section3_icon4.png new file mode 100644 index 0000000..c6e8b02 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section3_icon4.png differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section3_img1.png b/web/html/theme/AT_WEB01/img/business/area_section3_img1.png new file mode 100644 index 0000000..a510bec Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section3_img1.png differ diff --git a/web/html/theme/AT_WEB01/img/business/area_section3_img2.png b/web/html/theme/AT_WEB01/img/business/area_section3_img2.png new file mode 100644 index 0000000..585a828 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/area_section3_img2.png differ diff --git a/web/html/theme/AT_WEB01/img/business/banner.png b/web/html/theme/AT_WEB01/img/business/banner.png new file mode 100644 index 0000000..402b84d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/banner.png differ diff --git a/web/html/theme/AT_WEB01/img/business/section1_img1.png b/web/html/theme/AT_WEB01/img/business/section1_img1.png new file mode 100644 index 0000000..98303e8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/section1_img1.png differ diff --git a/web/html/theme/AT_WEB01/img/business/section2_img1.png b/web/html/theme/AT_WEB01/img/business/section2_img1.png new file mode 100644 index 0000000..bcb44a8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/section2_img1.png differ diff --git a/web/html/theme/AT_WEB01/img/business/section2_img2.png b/web/html/theme/AT_WEB01/img/business/section2_img2.png new file mode 100644 index 0000000..db50526 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/section2_img2.png differ diff --git a/web/html/theme/AT_WEB01/img/business/section2_img3.png b/web/html/theme/AT_WEB01/img/business/section2_img3.png new file mode 100644 index 0000000..b93b97d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/section2_img3.png differ diff --git a/web/html/theme/AT_WEB01/img/business/section2_img4.png b/web/html/theme/AT_WEB01/img/business/section2_img4.png new file mode 100644 index 0000000..bb5574f Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/section2_img4.png differ diff --git a/web/html/theme/AT_WEB01/img/business/section2_img5.png b/web/html/theme/AT_WEB01/img/business/section2_img5.png new file mode 100644 index 0000000..a821178 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/section2_img5.png differ diff --git a/web/html/theme/AT_WEB01/img/business/section2_img6.png b/web/html/theme/AT_WEB01/img/business/section2_img6.png new file mode 100644 index 0000000..7c7d004 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/section2_img6.png differ diff --git a/web/html/theme/AT_WEB01/img/business/section3_img1.png b/web/html/theme/AT_WEB01/img/business/section3_img1.png new file mode 100644 index 0000000..8429212 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/business/section3_img1.png differ diff --git a/web/html/theme/AT_WEB01/img/close_btn.gif b/web/html/theme/AT_WEB01/img/close_btn.gif new file mode 100644 index 0000000..8007ef3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/close_btn.gif differ diff --git a/web/html/theme/AT_WEB01/img/common/admin_icon1.png b/web/html/theme/AT_WEB01/img/common/admin_icon1.png new file mode 100644 index 0000000..883e7d2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/admin_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img/common/admin_icon2.png b/web/html/theme/AT_WEB01/img/common/admin_icon2.png new file mode 100644 index 0000000..db764e1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/admin_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img/common/down.png b/web/html/theme/AT_WEB01/img/common/down.png new file mode 100644 index 0000000..2393663 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/down.png differ diff --git a/web/html/theme/AT_WEB01/img/common/ft_sns1.png b/web/html/theme/AT_WEB01/img/common/ft_sns1.png new file mode 100644 index 0000000..5839517 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/ft_sns1.png differ diff --git a/web/html/theme/AT_WEB01/img/common/ft_sns2.png b/web/html/theme/AT_WEB01/img/common/ft_sns2.png new file mode 100644 index 0000000..5be7736 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/ft_sns2.png differ diff --git a/web/html/theme/AT_WEB01/img/common/ft_sns3.png b/web/html/theme/AT_WEB01/img/common/ft_sns3.png new file mode 100644 index 0000000..3334735 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/ft_sns3.png differ diff --git a/web/html/theme/AT_WEB01/img/common/ft_sns4.png b/web/html/theme/AT_WEB01/img/common/ft_sns4.png new file mode 100644 index 0000000..1e5ee60 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/ft_sns4.png differ diff --git a/web/html/theme/AT_WEB01/img/common/login_icon1.png b/web/html/theme/AT_WEB01/img/common/login_icon1.png new file mode 100644 index 0000000..3d91784 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/login_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img/common/login_icon2.png b/web/html/theme/AT_WEB01/img/common/login_icon2.png new file mode 100644 index 0000000..20b88c7 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/login_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img/common/logo.old.png b/web/html/theme/AT_WEB01/img/common/logo.old.png new file mode 100644 index 0000000..ffc2d88 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/logo.old.png differ diff --git a/web/html/theme/AT_WEB01/img/common/logo.png b/web/html/theme/AT_WEB01/img/common/logo.png new file mode 100644 index 0000000..643a1af Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/logo.png differ diff --git a/web/html/theme/AT_WEB01/img/common/logo_white.old.png b/web/html/theme/AT_WEB01/img/common/logo_white.old.png new file mode 100644 index 0000000..08d4fb3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/logo_white.old.png differ diff --git a/web/html/theme/AT_WEB01/img/common/logo_white.png b/web/html/theme/AT_WEB01/img/common/logo_white.png new file mode 100644 index 0000000..d8d6e7d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/logo_white.png differ diff --git a/web/html/theme/AT_WEB01/img/common/logout_icon1.png b/web/html/theme/AT_WEB01/img/common/logout_icon1.png new file mode 100644 index 0000000..0d4aa41 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/logout_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img/common/logout_icon2.png b/web/html/theme/AT_WEB01/img/common/logout_icon2.png new file mode 100644 index 0000000..ad7c1c0 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/logout_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img/common/register_icon1.png b/web/html/theme/AT_WEB01/img/common/register_icon1.png new file mode 100644 index 0000000..db764e1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/register_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img/common/register_icon2.png b/web/html/theme/AT_WEB01/img/common/register_icon2.png new file mode 100644 index 0000000..883e7d2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/register_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img/common/shop_icon1.png b/web/html/theme/AT_WEB01/img/common/shop_icon1.png new file mode 100644 index 0000000..eb57b4b Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/shop_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img/common/shop_icon2.png b/web/html/theme/AT_WEB01/img/common/shop_icon2.png new file mode 100644 index 0000000..a7f37e9 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/common/shop_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img/company/board-bg.jpg b/web/html/theme/AT_WEB01/img/company/board-bg.jpg new file mode 100644 index 0000000..108ee36 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/board-bg.jpg differ diff --git a/web/html/theme/AT_WEB01/img/company/directions_banner.jpg b/web/html/theme/AT_WEB01/img/company/directions_banner.jpg new file mode 100644 index 0000000..b81c85a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/directions_banner.jpg differ diff --git a/web/html/theme/AT_WEB01/img/company/directions_banner.png b/web/html/theme/AT_WEB01/img/company/directions_banner.png new file mode 100644 index 0000000..658698b Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/directions_banner.png differ diff --git a/web/html/theme/AT_WEB01/img/company/directions_icon01.png b/web/html/theme/AT_WEB01/img/company/directions_icon01.png new file mode 100644 index 0000000..b1b6c10 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/directions_icon01.png differ diff --git a/web/html/theme/AT_WEB01/img/company/history_icon1.png b/web/html/theme/AT_WEB01/img/company/history_icon1.png new file mode 100644 index 0000000..7ce52b3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/history_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img/company/history_icon2.png b/web/html/theme/AT_WEB01/img/company/history_icon2.png new file mode 100644 index 0000000..1f7ee7b Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/history_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img/company/intro-img.jpg b/web/html/theme/AT_WEB01/img/company/intro-img.jpg new file mode 100644 index 0000000..57acbe5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/intro-img.jpg differ diff --git a/web/html/theme/AT_WEB01/img/company/intro-map.jpg b/web/html/theme/AT_WEB01/img/company/intro-map.jpg new file mode 100644 index 0000000..6ef1bf9 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/intro-map.jpg differ diff --git a/web/html/theme/AT_WEB01/img/company/intro-top.jpg b/web/html/theme/AT_WEB01/img/company/intro-top.jpg new file mode 100644 index 0000000..8cda67d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/intro-top.jpg differ diff --git a/web/html/theme/AT_WEB01/img/company/intro_bg.jpg b/web/html/theme/AT_WEB01/img/company/intro_bg.jpg new file mode 100644 index 0000000..fa3934c Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/intro_bg.jpg differ diff --git a/web/html/theme/AT_WEB01/img/company/news-bg.jpg b/web/html/theme/AT_WEB01/img/company/news-bg.jpg new file mode 100644 index 0000000..1a30076 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/news-bg.jpg differ diff --git a/web/html/theme/AT_WEB01/img/company/prd-bg-1.jpg b/web/html/theme/AT_WEB01/img/company/prd-bg-1.jpg new file mode 100644 index 0000000..ea1db52 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/prd-bg-1.jpg differ diff --git a/web/html/theme/AT_WEB01/img/company/prd-bg-3.jpg b/web/html/theme/AT_WEB01/img/company/prd-bg-3.jpg new file mode 100644 index 0000000..745ea70 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/prd-bg-3.jpg differ diff --git a/web/html/theme/AT_WEB01/img/company/service-bg-1.jpg b/web/html/theme/AT_WEB01/img/company/service-bg-1.jpg new file mode 100644 index 0000000..8e59ded Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/service-bg-1.jpg differ diff --git a/web/html/theme/AT_WEB01/img/company/service-bg-2.jpg b/web/html/theme/AT_WEB01/img/company/service-bg-2.jpg new file mode 100644 index 0000000..d6c2f2a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/service-bg-2.jpg differ diff --git a/web/html/theme/AT_WEB01/img/company/sub2-bg-1.jpg b/web/html/theme/AT_WEB01/img/company/sub2-bg-1.jpg new file mode 100644 index 0000000..9b568c2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/company/sub2-bg-1.jpg differ diff --git a/web/html/theme/AT_WEB01/img/customer/banner - 복사본.png b/web/html/theme/AT_WEB01/img/customer/banner - 복사본.png new file mode 100644 index 0000000..7ce061c Binary files /dev/null and b/web/html/theme/AT_WEB01/img/customer/banner - 복사본.png differ diff --git a/web/html/theme/AT_WEB01/img/customer/banner.jpg b/web/html/theme/AT_WEB01/img/customer/banner.jpg new file mode 100644 index 0000000..69daee7 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/customer/banner.jpg differ diff --git a/web/html/theme/AT_WEB01/img/customer/banner.png b/web/html/theme/AT_WEB01/img/customer/banner.png new file mode 100644 index 0000000..60f6205 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/customer/banner.png differ diff --git a/web/html/theme/AT_WEB01/img/errors.txt b/web/html/theme/AT_WEB01/img/errors.txt new file mode 100644 index 0000000..449941b --- /dev/null +++ b/web/html/theme/AT_WEB01/img/errors.txt @@ -0,0 +1 @@ +[Wed Apr 03 2019 14:09:52 GMT+0900 (대한민국 표준시)] Layer "메일 : mincompany@atsign.co.kr | 사업자등록번호 : 417-09-82969 ": Expected end of input but "|" found. diff --git a/web/html/theme/AT_WEB01/img/gnb_bg.gif b/web/html/theme/AT_WEB01/img/gnb_bg.gif new file mode 100644 index 0000000..4e1d1ae Binary files /dev/null and b/web/html/theme/AT_WEB01/img/gnb_bg.gif differ diff --git a/web/html/theme/AT_WEB01/img/gnb_bg00.gif b/web/html/theme/AT_WEB01/img/gnb_bg00.gif new file mode 100644 index 0000000..fd24f34 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/gnb_bg00.gif differ diff --git a/web/html/theme/AT_WEB01/img/gnb_bg2.gif b/web/html/theme/AT_WEB01/img/gnb_bg2.gif new file mode 100644 index 0000000..fe636b9 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/gnb_bg2.gif differ diff --git a/web/html/theme/AT_WEB01/img/ingprojectimg.png b/web/html/theme/AT_WEB01/img/ingprojectimg.png new file mode 100644 index 0000000..2f0070f Binary files /dev/null and b/web/html/theme/AT_WEB01/img/ingprojectimg.png differ diff --git a/web/html/theme/AT_WEB01/img/line_white.png b/web/html/theme/AT_WEB01/img/line_white.png new file mode 100644 index 0000000..64c12f6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/line_white.png differ diff --git a/web/html/theme/AT_WEB01/img/main/about_icon1.png b/web/html/theme/AT_WEB01/img/main/about_icon1.png new file mode 100644 index 0000000..2ebc584 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/about_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img/main/about_icon2.png b/web/html/theme/AT_WEB01/img/main/about_icon2.png new file mode 100644 index 0000000..ffba9e6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/about_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img/main/about_icon3.png b/web/html/theme/AT_WEB01/img/main/about_icon3.png new file mode 100644 index 0000000..9cd8a7a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/about_icon3.png differ diff --git a/web/html/theme/AT_WEB01/img/main/banner1.jpg b/web/html/theme/AT_WEB01/img/main/banner1.jpg new file mode 100644 index 0000000..3d2bc1e Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/banner1.jpg differ diff --git a/web/html/theme/AT_WEB01/img/main/banner1.png b/web/html/theme/AT_WEB01/img/main/banner1.png new file mode 100644 index 0000000..2df8089 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/banner1.png differ diff --git a/web/html/theme/AT_WEB01/img/main/banner_logo.old.png b/web/html/theme/AT_WEB01/img/main/banner_logo.old.png new file mode 100644 index 0000000..08d4fb3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/banner_logo.old.png differ diff --git a/web/html/theme/AT_WEB01/img/main/banner_logo.png b/web/html/theme/AT_WEB01/img/main/banner_logo.png new file mode 100644 index 0000000..cc2992b Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/banner_logo.png differ diff --git a/web/html/theme/AT_WEB01/img/main/bg_img1.png b/web/html/theme/AT_WEB01/img/main/bg_img1.png new file mode 100644 index 0000000..946957a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/bg_img1.png differ diff --git a/web/html/theme/AT_WEB01/img/main/bg_img2.png b/web/html/theme/AT_WEB01/img/main/bg_img2.png new file mode 100644 index 0000000..6299e74 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/bg_img2.png differ diff --git a/web/html/theme/AT_WEB01/img/main/consert_bg.png b/web/html/theme/AT_WEB01/img/main/consert_bg.png new file mode 100644 index 0000000..64c12f6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/consert_bg.png differ diff --git a/web/html/theme/AT_WEB01/img/main/coreCom_icon1.png b/web/html/theme/AT_WEB01/img/main/coreCom_icon1.png new file mode 100644 index 0000000..5bf1803 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/coreCom_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img/main/coreCom_icon2.png b/web/html/theme/AT_WEB01/img/main/coreCom_icon2.png new file mode 100644 index 0000000..10d32c0 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/coreCom_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img/main/coreCom_icon3.png b/web/html/theme/AT_WEB01/img/main/coreCom_icon3.png new file mode 100644 index 0000000..b8b122b Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/coreCom_icon3.png differ diff --git a/web/html/theme/AT_WEB01/img/main/homeshopping/cj_eng.jpg b/web/html/theme/AT_WEB01/img/main/homeshopping/cj_eng.jpg new file mode 100644 index 0000000..72e276d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/homeshopping/cj_eng.jpg differ diff --git a/web/html/theme/AT_WEB01/img/main/homeshopping/cj_kor.jpg b/web/html/theme/AT_WEB01/img/main/homeshopping/cj_kor.jpg new file mode 100644 index 0000000..a3b2fd3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/homeshopping/cj_kor.jpg differ diff --git a/web/html/theme/AT_WEB01/img/main/homeshopping/gs_eng.jpg b/web/html/theme/AT_WEB01/img/main/homeshopping/gs_eng.jpg new file mode 100644 index 0000000..6e8a206 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/homeshopping/gs_eng.jpg differ diff --git a/web/html/theme/AT_WEB01/img/main/homeshopping/homen_eng.jpg b/web/html/theme/AT_WEB01/img/main/homeshopping/homen_eng.jpg new file mode 100644 index 0000000..ea7a246 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/homeshopping/homen_eng.jpg differ diff --git a/web/html/theme/AT_WEB01/img/main/homeshopping/homen_kor.jpg b/web/html/theme/AT_WEB01/img/main/homeshopping/homen_kor.jpg new file mode 100644 index 0000000..c54653a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/homeshopping/homen_kor.jpg differ diff --git a/web/html/theme/AT_WEB01/img/main/homeshopping/lotte_kor_h.jpg b/web/html/theme/AT_WEB01/img/main/homeshopping/lotte_kor_h.jpg new file mode 100644 index 0000000..60b3cc4 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/homeshopping/lotte_kor_h.jpg differ diff --git a/web/html/theme/AT_WEB01/img/main/homeshopping/lotte_kor_v.jpg b/web/html/theme/AT_WEB01/img/main/homeshopping/lotte_kor_v.jpg new file mode 100644 index 0000000..de0b9a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/homeshopping/lotte_kor_v.jpg differ diff --git a/web/html/theme/AT_WEB01/img/main/homeshopping/ssg_eng.jpg b/web/html/theme/AT_WEB01/img/main/homeshopping/ssg_eng.jpg new file mode 100644 index 0000000..7d03b0a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/homeshopping/ssg_eng.jpg differ diff --git a/web/html/theme/AT_WEB01/img/main/logo_drumcook.svg b/web/html/theme/AT_WEB01/img/main/logo_drumcook.svg new file mode 100644 index 0000000..f8b5916 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/main/logo_drumcook.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img/main/logo_ionic.svg b/web/html/theme/AT_WEB01/img/main/logo_ionic.svg new file mode 100644 index 0000000..6ffd517 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/main/logo_ionic.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img/main/logo_moz_black.svg b/web/html/theme/AT_WEB01/img/main/logo_moz_black.svg new file mode 100644 index 0000000..521a1c2 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/main/logo_moz_black.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img/main/port_bg.png b/web/html/theme/AT_WEB01/img/main/port_bg.png new file mode 100644 index 0000000..9ae8a77 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/port_bg.png differ diff --git a/web/html/theme/AT_WEB01/img/main/port_next.png b/web/html/theme/AT_WEB01/img/main/port_next.png new file mode 100644 index 0000000..1302870 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/port_next.png differ diff --git a/web/html/theme/AT_WEB01/img/main/port_prev.png b/web/html/theme/AT_WEB01/img/main/port_prev.png new file mode 100644 index 0000000..354e05d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/port_prev.png differ diff --git a/web/html/theme/AT_WEB01/img/main/s_image.png b/web/html/theme/AT_WEB01/img/main/s_image.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/s_image.png differ diff --git a/web/html/theme/AT_WEB01/img/main/square_bracket1.png b/web/html/theme/AT_WEB01/img/main/square_bracket1.png new file mode 100644 index 0000000..260bc7b Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/square_bracket1.png differ diff --git a/web/html/theme/AT_WEB01/img/main/square_bracket2.png b/web/html/theme/AT_WEB01/img/main/square_bracket2.png new file mode 100644 index 0000000..d19e62a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/main/square_bracket2.png differ diff --git a/web/html/theme/AT_WEB01/img/mobile/btn_close.png b/web/html/theme/AT_WEB01/img/mobile/btn_close.png new file mode 100644 index 0000000..22f13fa Binary files /dev/null and b/web/html/theme/AT_WEB01/img/mobile/btn_close.png differ diff --git a/web/html/theme/AT_WEB01/img/mobile/gnb_bg.png b/web/html/theme/AT_WEB01/img/mobile/gnb_bg.png new file mode 100644 index 0000000..ab10537 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/mobile/gnb_bg.png differ diff --git a/web/html/theme/AT_WEB01/img/mobile/gnb_bg2.png b/web/html/theme/AT_WEB01/img/mobile/gnb_bg2.png new file mode 100644 index 0000000..5828f41 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/mobile/gnb_bg2.png differ diff --git a/web/html/theme/AT_WEB01/img/more-btn.gif b/web/html/theme/AT_WEB01/img/more-btn.gif new file mode 100644 index 0000000..fa4c873 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/more-btn.gif differ diff --git a/web/html/theme/AT_WEB01/img/no_profile.gif b/web/html/theme/AT_WEB01/img/no_profile.gif new file mode 100644 index 0000000..4494757 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/no_profile.gif differ diff --git a/web/html/theme/AT_WEB01/img/product/img1.png b/web/html/theme/AT_WEB01/img/product/img1.png new file mode 100644 index 0000000..6dddae5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/product/img1.png differ diff --git a/web/html/theme/AT_WEB01/img/product/img2.png b/web/html/theme/AT_WEB01/img/product/img2.png new file mode 100644 index 0000000..6dddae5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/product/img2.png differ diff --git a/web/html/theme/AT_WEB01/img/product/img3.png b/web/html/theme/AT_WEB01/img/product/img3.png new file mode 100644 index 0000000..6dddae5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/product/img3.png differ diff --git a/web/html/theme/AT_WEB01/img/product/port1.png b/web/html/theme/AT_WEB01/img/product/port1.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/product/port1.png differ diff --git a/web/html/theme/AT_WEB01/img/product/port2.png b/web/html/theme/AT_WEB01/img/product/port2.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/product/port2.png differ diff --git a/web/html/theme/AT_WEB01/img/product/port3.png b/web/html/theme/AT_WEB01/img/product/port3.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/product/port3.png differ diff --git a/web/html/theme/AT_WEB01/img/product/port4.png b/web/html/theme/AT_WEB01/img/product/port4.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/product/port4.png differ diff --git a/web/html/theme/AT_WEB01/img/product/port5.png b/web/html/theme/AT_WEB01/img/product/port5.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/product/port5.png differ diff --git a/web/html/theme/AT_WEB01/img/product/port6.png b/web/html/theme/AT_WEB01/img/product/port6.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/product/port6.png differ diff --git a/web/html/theme/AT_WEB01/img/require.png b/web/html/theme/AT_WEB01/img/require.png new file mode 100644 index 0000000..c03e1eb Binary files /dev/null and b/web/html/theme/AT_WEB01/img/require.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/btn_close.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/btn_next2.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/btn_prev2.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/close_btn.png b/web/html/theme/AT_WEB01/img/skin/board/basic/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/cmt_btn.png b/web/html/theme/AT_WEB01/img/skin/board/basic/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_bad.png b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_comment.png b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_good.png b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_hot.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_img.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_link.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_lock.png b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_movie.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_new.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_reply.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_share.png b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_sound.gif b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_view.png b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/sch_bg.png b/web/html/theme/AT_WEB01/img/skin/board/basic/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/img/sch_btn.png b/web/html/theme/AT_WEB01/img/skin/board/basic/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/list.skin.php b/web/html/theme/AT_WEB01/img/skin/board/basic/list.skin.php new file mode 100644 index 0000000..92b135c --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/basic/list.skin.php @@ -0,0 +1,313 @@ +', 0); +?> + + + +
+
+ + + +
+
+ 전체 + +
+ + + + +
+ + + + + + +
+ 전체 + + + + +
+ + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
목록
+ + + 번호제목글쓴이추천 비추천 날짜
+ + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
+ + + + + + + + '; } + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> + 댓글+ +
+ +
게시물이 없습니다.
+
+ + +
+ + + +
+ + +
+ + + +
+ +
+ + +
+ +
+
+ + 게시물 검색 + +
+ + + + + + + + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/style.css b/web/html/theme/AT_WEB01/img/skin/board/basic/style.css new file mode 100644 index 0000000..d85f023 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/basic/style.css @@ -0,0 +1,370 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#e6f8ff !important;border-bottom:1px solid #c3dfe8;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/view.skin.php b/web/html/theme/AT_WEB01/img/skin/board/basic/view.skin.php new file mode 100644 index 0000000..84db10a --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/basic/view.skin.php @@ -0,0 +1,299 @@ +', 0); +?> + + + + + +
+
+

+ + + + + +

+
+ +
+

페이지 정보

+ 작성자 + 댓글 + 조회 + 작성일 + +
+ +
+

본문

+ + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
\n"; + } + ?> + + +
+ + + +

+ + + + +
+ + + 추천 + + + + + + 비추천 + + + +
+ +
+ 추천 + 비추천 +
+ + + + +
+ 스크랩 + + +
+ + + + + +
+

첨부파일

+
    + +
  • + + + + + () + 회 다운로드 | DATE : +
  • + +
+
+ + + + + + + + + + +
+ + + + + + + +
    +
  • 이전글
  • +
  • 다음글
  • +
+ + +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/view_comment.skin.php b/web/html/theme/AT_WEB01/img/skin/board/basic/view_comment.skin.php new file mode 100644 index 0000000..a372ff0 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/basic/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
+

댓글목록

+ \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
style="margin-left:px;border-top-color:#e0e0e0"> +
+

님의 댓글의 댓글

+ + + 아이피 + () + + 작성일 + + +
+ + +
+

+ 비밀글 + +

+ + + +
+ + + + " id="secret_comment_"> + + +
+ +

등록된 댓글이 없습니다.

+ +
+ + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic/write.skin.php b/web/html/theme/AT_WEB01/img/skin/board/basic/write.skin.php new file mode 100644 index 0000000..14f1d81 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/basic/write.skin.php @@ -0,0 +1,261 @@ +', 0); +?> + +
+
+

+ + +
+ + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
+ + +
+ + +
+ + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
+ + +
+ + +
+ + + +
+ 옵션 + +
+ + +
+ + +
+ + + + + +
+ 임시 저장된 글 목록 +
    +
    +
    + +
    + +
    + +
    + +
    + + +

    이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

    + + + + +
    글자
    + +
    + +
    + + + + + + +
    +
    + + +
    + + + + + + + + + + +
    + + + + +
    + +
    + + + +
    + 취소 + +
    +
    + + +
    +
    + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/btn_close.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/btn_next2.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/btn_prev2.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/close_btn.png b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/cmt_btn.png b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_bad.png b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_comment.png b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_file.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_good.png b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_hot.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_img.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_link.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_lock.png b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_movie.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_new.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_reply.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_secret.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_share.png b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_sound.gif b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_view.png b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/sch_bg.png b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/img/sch_btn.png b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/basic2/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/list.skin.php b/web/html/theme/AT_WEB01/img/skin/board/basic2/list.skin.php new file mode 100644 index 0000000..92b135c --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/basic2/list.skin.php @@ -0,0 +1,313 @@ +', 0); +?> + + + +
    +
    + + + +
    +
    + 전체 + +
    + + + + +
    + + + + + + +
    + 전체 + + + + +
    + + + + + + +
    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
    목록
    + + + 번호제목글쓴이추천 비추천 날짜
    + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
    + + + + + + + + '; } + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> + 댓글+ +
    + +
    게시물이 없습니다.
    +
    + + +
    + + + +
    + + +
    + + + +
    + +
    + + +
    + +
    +
    + + 게시물 검색 + +
    + + + + + + + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/style.css b/web/html/theme/AT_WEB01/img/skin/board/basic2/style.css new file mode 100644 index 0000000..d85f023 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/basic2/style.css @@ -0,0 +1,370 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#e6f8ff !important;border-bottom:1px solid #c3dfe8;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/view.skin.php b/web/html/theme/AT_WEB01/img/skin/board/basic2/view.skin.php new file mode 100644 index 0000000..84db10a --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/basic2/view.skin.php @@ -0,0 +1,299 @@ +', 0); +?> + + + + + +
    +
    +

    + + + + + +

    +
    + +
    +

    페이지 정보

    + 작성자 + 댓글 + 조회 + 작성일 + +
    + +
    +

    본문

    + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
    \n"; + } + ?> + + +
    + + + +

    + + + + +
    + + + 추천 + + + + + + 비추천 + + + +
    + +
    + 추천 + 비추천 +
    + + + + +
    + 스크랩 + + +
    + + + + + +
    +

    첨부파일

    +
      + +
    • + + + + + () + 회 다운로드 | DATE : +
    • + +
    +
    + + + + + + + + + + +
    + + + + + + + +
      +
    • 이전글
    • +
    • 다음글
    • +
    + + +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/view_comment.skin.php b/web/html/theme/AT_WEB01/img/skin/board/basic2/view_comment.skin.php new file mode 100644 index 0000000..a372ff0 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/basic2/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
    +

    댓글목록

    + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
    style="margin-left:px;border-top-color:#e0e0e0"> +
    +

    님의 댓글의 댓글

    + + + 아이피 + () + + 작성일 + + +
    + + +
    +

    + 비밀글 + +

    + + + +
    + + + + " id="secret_comment_"> + + +
    + +

    등록된 댓글이 없습니다.

    + +
    + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/basic2/write.skin.php b/web/html/theme/AT_WEB01/img/skin/board/basic2/write.skin.php new file mode 100644 index 0000000..14f1d81 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/basic2/write.skin.php @@ -0,0 +1,261 @@ +', 0); +?> + +
    +
    +

    + + +
    + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
    + + +
    + + +
    + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
    + + +
    + + +
    + + + +
    + 옵션 + +
    + + +
    + + +
    + + + + + +
    + 임시 저장된 글 목록 +
      +
      +
      + +
      + +
      + +
      + +
      + + +

      이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

      + + + + +
      글자
      + +
      + +
      + + + + + + +
      +
      + + +
      + + + + + + + + + + +
      + + + + +
      + +
      + + + +
      + 취소 + +
      +
      + + +
      +
      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/btn_close.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/btn_next2.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/btn_prev2.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/close_btn.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/cmt_btn.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/facebook.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/facebook.png new file mode 100644 index 0000000..aa73c86 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/facebook.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/gplus.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/gplus.png new file mode 100644 index 0000000..45bdf43 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/gplus.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_bad.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_comment.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_file.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_good.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_hot.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_hot.gif new file mode 100644 index 0000000..4e8d7ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_img.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_img.gif new file mode 100644 index 0000000..fefa10d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_link.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_lock.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_mobile.gif new file mode 100644 index 0000000..ad934d2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_movie.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_new.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_reply.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_secret.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_share.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_sound.gif b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_view.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/sch_bg.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/sch_btn.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/img/twitter.png b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/twitter.png new file mode 100644 index 0000000..a5452f2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/gallery/img/twitter.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/list.skin.php b/web/html/theme/AT_WEB01/img/skin/board/gallery/list.skin.php new file mode 100644 index 0000000..6134306 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/gallery/list.skin.php @@ -0,0 +1,300 @@ +', 0); +?> + +
      +


      +
      +

      PRODUCT

      +
      +

      골뱅이스토어는 최선의 서비스를 제공합니다.

      +
      + +
      +
      +

      갤러리형

      +
      + + +
      +
      + + + + +
      + + +
      +
      + 전체 + +
      + + + + +
      + + +
      + + + + + + + + + + +
      + + +
      + + + + + + + + + +
      +
      + +
      + 게시물 검색 + +
      + + + + + + + + + +
      +
      + + +
      + + + +
      + +
      +
      + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/style.css b/web/html/theme/AT_WEB01/img/skin/board/gallery/style.css new file mode 100644 index 0000000..0355538 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/gallery/style.css @@ -0,0 +1,383 @@ +@charset "utf-8"; +/* SIR 지운아빠 */ + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_gall a.btn_b01 {} +#bo_gall a.btn_b01:focus, #bo_gall a.btn_b01:hover {} +#bo_gall a.btn_b02 {} +#bo_gall a.btn_b02:focus, #bo_gall a.btn_b02:hover {} +#bo_gall a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_gall a.btn_admin:focus, #bo_gall .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} + +.td_subject img {margin-left:3px} + +/* 갤러리 목록 */ +#bo_gall h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} +#bo_gall #gall_ul {margin:10px -10px 0;padding:0;list-style:none;zoom:1} +#bo_gall #gall_ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_gall .gall_box {position:relative;margin:0 0 30px 0;border:1px solid #ccc;background:#fff;border-radius:0 0 2px 2px} +#bo_gall .gall_li .gall_chk{position:absolute;top:0;left:0;padding:5px;} + +.gall_row .col-gn-0,.gall_row .col-gn-1,.gall_row .col-gn-2,.gall_row .col-gn-3,.gall_row .col-gn-4,.gall_row .col-gn-5,.gall_row .col-gn-6,.gall_row .col-gn-7,.gall_row .col-gn-8,.gall_row .col-gn-9,.gall_row .col-gn-10{position:relative;min-height:1px;padding-left:10px;*padding-left:0;padding-right:10px;*padding-right:0;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0;} +.gall_row .col-gn-0,.latest_row .col-gn-1{width:100%} +.gall_row .col-gn-2{width:50%} +.gall_row .col-gn-3{width:33.33333333%} +.gall_row .col-gn-4{width:25%} +.gall_row .col-gn-5{width:20%} +.gall_row .col-gn-6{width:16.66666667%} +.gall_row .col-gn-7{width:14.28571428%} +.gall_row .col-gn-8{width:12.5%} +.gall_row .col-gn-9{width:11.11111111%} +.gall_row .col-gn-10{width:10%} + +.gall_row .box_clear{clear:both} + +#bo_gall .gall_now .gall_text_href a {color:#ff3061} + +#bo_gall .gall_href a:link, #bo_gall .gall_href a:focus, #bo_gall .gall_href a:hover {text-decoration:none} +#bo_gall .gall_img{border-bottom:1px solid #eee;text-align:center} +#bo_gall .gall_img a,#bo_gall .gall_img .no_image,#bo_gall .gall_img .is_notice{display:block} +#bo_gall .gall_img img{max-width:100%;height:auto !important} +#bo_gall .gall_img span{display:inline-block;background:#eee;text-align:center;line-height:150px;text-transform:uppercase;font-weight:bold;font-size:1.25em;color:#777} + +#bo_gall .gall_text_href {margin:10px} +#bo_gall .gall_text_href a {font-weight:bold} +#bo_gall .gall_text_href img {margin:0 0 0 4px} +#bo_gall .bo_tit{display:block;font-weight:bold;color:#000;font-size:1.083em} +#bo_gall .bo_tit .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} +#bo_gall .profile_img img{border-radius:50%} +#bo_gall .gall_name{margin:10px} + +#bo_gall .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_gall .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_gall .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px} +#bo_gall .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_gall .bo_tit .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_gall .bo_tit .fa-lock{display: inline-block;line-height: 16px;color: #999;text-align: center;vertical-align:middle;} + + +#bo_gall .gall_info{line-height:1.5em;padding:10px;font-size:0.92em;background:#f6f6f6;line-height:20px} +#bo_gall .gall_info strong{ display:inline-block;margin:0 0 0 10px } +#bo_gall .gall_info i{font-size:12px} +#bo_gall .gall_info .gall_date{position:absolute;bottom:10px;right:10px;font-style:italic;display:inline-block;color:#777;} +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f5f6fa} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon{display:inline-block;background:#ed6478;padding:0 3px;line-height:20px;font-weight:normal;font-size:0.92em;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display:inline-block;margin:0 3px 0 0;font-size:0.92em;color:#3598db !important;font-weight:bold} /* 글제목줄 분류스타일 */ +.bo_current {color:#e8180c} +#bo_list .profile_img {display:inline-block;margin-right:5px} +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold;color:#ed6478;font-size:0.86em} + +#bo_sch {float:left;border:1px solid #ccc;border-radius:3px;margin:0 0 20px;background:#fff} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:url('./img/sch_btn.png') no-repeat 50% 50%;border:0;width:40px;text-indent:-999px;overflow:hidden} + +#bo_gall li.empty_list {padding:85px 0;text-align:center} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202);} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px;cursor:pointer} +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/view.skin.php b/web/html/theme/AT_WEB01/img/skin/board/gallery/view.skin.php new file mode 100644 index 0000000..94c219b --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/gallery/view.skin.php @@ -0,0 +1,299 @@ +', 0); +?> + + + + + +
      +
      +

      + + + + + +

      +
      + +
      +

      페이지 정보

      + 작성자 + 댓글 + 조회 + 작성일 + +
      + +
      +

      본문

      + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
      \n"; + } + ?> + + +
      + + + +

      + + + + +
      + + + 추천 + + + + + + 비추천 + + + +
      + +
      + 추천 + 비추천 +
      + + + + +
      + 스크랩 + + +
      + + + + + +
      +

      첨부파일

      +
        + +
      • + + + + + () + 회 다운로드 | DATE : +
      • + +
      +
      + + + + + + + + + + +
      + + + + + + + +
        +
      • 이전글
      • +
      • 다음글
      • +
      + + +
      + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/view_comment.skin.php b/web/html/theme/AT_WEB01/img/skin/board/gallery/view_comment.skin.php new file mode 100644 index 0000000..a372ff0 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/gallery/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
      +

      댓글목록

      + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
      style="margin-left:px;border-top-color:#e0e0e0"> +
      +

      님의 댓글의 댓글

      + + + 아이피 + () + + 작성일 + + +
      + + +
      +

      + 비밀글 + +

      + + + +
      + + + + " id="secret_comment_"> + + +
      + +

      등록된 댓글이 없습니다.

      + +
      + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/gallery/write.skin.php b/web/html/theme/AT_WEB01/img/skin/board/gallery/write.skin.php new file mode 100644 index 0000000..50330a2 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/gallery/write.skin.php @@ -0,0 +1,261 @@ +', 0); +?> + +
      +

      + + +
      + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
      + + +
      + + + +
      + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
      + + +
      + + +
      + + + +
      + 옵션 + +
      + + +
      + + +
      + + + + + +
      + 임시 저장된 글 목록 +
        +
        +
        + +
        + +
        + +
        + +
        + + +

        이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

        + + + + +
        글자
        + +
        + +
        + + + + + + + +
        +
        + + +
        + + + + + + + + + + +
        + + + + +
        + +
        + + + +
        + 취소 + +
        +
        + + +
        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/btn_close.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/btn_next2.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/btn_prev2.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/close_btn.png b/web/html/theme/AT_WEB01/img/skin/board/qna/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/cmt_btn.png b/web/html/theme/AT_WEB01/img/skin/board/qna/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_bad.png b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_comment.png b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_file.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_good.png b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_hot.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_img.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_link.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_lock.png b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_movie.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_new.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_reply.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_secret.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_share.png b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_sound.gif b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_view.png b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/sch_bg.png b/web/html/theme/AT_WEB01/img/skin/board/qna/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/img/sch_btn.png b/web/html/theme/AT_WEB01/img/skin/board/qna/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/list.skin.php b/web/html/theme/AT_WEB01/img/skin/board/qna/list.skin.php new file mode 100644 index 0000000..d2560bb --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/qna/list.skin.php @@ -0,0 +1,266 @@ +', 0); +?> + + + + + +
        +
        + +
        +
        + 전체 +
        + + + + +
        + + + + + + + + +
        + + + + + + + + + + +
        + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + '; } ?> + +
        목록
        + + + 제목작성자작성일
        + + + + + 공지사항 + + + 답변완료 + + 문의접수 + + + + + + +
        + + + + + + + + '; } + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> +
        + +
        게시물이 없습니다.
        +
        + + +
        + + + +
        + + +
        + + +
        +
        + +
        +
        + +
        + 게시물 검색 + +
        + + + + + + + + +
        +
        + + +
        + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/style.css b/web/html/theme/AT_WEB01/img/skin/board/qna/style.css new file mode 100644 index 0000000..d3a1ffb --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/qna/style.css @@ -0,0 +1,392 @@ +@charset "utf-8"; +/* Skin by WEBsiting.co.kr */ + + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {color: #353535;} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;} +#bo_list .td_datetime {width:100px;text-align:center;color: #959595;} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:150px;text-align:center;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;;text-align:center} +#bo_list .td_num2 {width:140px;;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +/*#bo_list tbody tr:hover {border-left:2px solid #253dbe}*/ + +.qnaIco{display:inline-block;margin-right:5px; border-radius:0; width:85px; height:24px; line-height:22px; color:#747474; font-size: 13px; text-align:center;} +.qnaIco1{} +.qnaIco2{border: 1px solid #afafaf;} +.qnaIco3{} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td { background: #f5f5f5 !important;border-bottom:1px solid #dfdfdf;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.td_subject .bo_tit{padding-left: 20px;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px;font-weight: normal;} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px; background:#fff} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0 } + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul ;padding:0;list-style:none} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {;padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px;padding: 20px;} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;font-size: 16px;color: #646464;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +#answerView{background:#fff; padding:0 20px 20px 20px; margin-bottom: 50px;} +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} + + + + .brd-view {width: 100%;border-top: 1px solid #dfdfdf; border-spacing: 0; border-collapse: collapse;} + .brd-view .sv_member{color: #767676;} + .brd-view tr{} + .brd-view th{width: 130px;padding-left: 20px; line-height: 45px; height:45px;border-bottom: 1px solid #dfdfdf; text-align: left;color: #353535;font-size: 14px;} + .brd-view td{border-bottom: 1px solid #dfdfdf; font-size: 14px; color: #767676;} + + + .brd-bn {position: relative; width: 100%; height: 250px;background: url(/theme/basic/img/sub/brd-bn.jpg) no-repeat;} + + .brd-bn-wrap {color: rgba(255,255,255,0.9);text-align: center;padding-top: 70px;} + .brd-bn-wrap .brd-bn-tit {font-size: 34px;margin-bottom: 10px;} + .brd-bn-wrap .brd-bn-desc {font-size: 16px;letter-spacing: -1px;} + .brd-inner{width: 1200px; margin: 0 auto; padding:0 20px;} + .brd-con-tit {font-size: 26px; margin: 30px 0 0; } \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/view.skin.php b/web/html/theme/AT_WEB01/img/skin/board/qna/view.skin.php new file mode 100644 index 0000000..5d96c11 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/qna/view.skin.php @@ -0,0 +1,326 @@ +', 0); +?> + + + + + + + +
        +
        + + +
        + + 공지사항 + + + 답변완료 + 답변 건의 답변이 등록 되었습니다. + + 문의접수 + + + + + + +
        + + + + + + + +
        제목
        작성자
        작성일
        + + + +
        +

        본문

        + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
        \n"; + } + ?> + + +
        + + + +

        + + + + +
        + + + 추천 + + + + + + 비추천 + + + +
        + +
        + 추천 + 비추천 +
        + + + + +
        + 스크랩 + + +
        + + + + + +
        +

        첨부파일

        +
          + +
        • + + + + + () + 회 다운로드 | DATE : +
        • + +
        +
        + + + + + + + + + + +
        + + + + + + + +
          +
        • 이전글
        • +
        • 다음글
        • +
        + + +
        + + + + + + +
        + +
        + + + + +
        \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/view_comment.skin.php b/web/html/theme/AT_WEB01/img/skin/board/qna/view_comment.skin.php new file mode 100644 index 0000000..8759a65 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/qna/view_comment.skin.php @@ -0,0 +1,327 @@ + + + + + +
        +

        답변목록

        + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 답변 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
        style="margin-left:px;border-top-color:#e0e0e0"> +
        +

        님의 답변의 답변

        + + + 아이피 + + + 작성일 + + +
        + + +
        +

        + 비밀글 + +

        + + + +
        + + + + " id="secret_comment_"> + + +
        + +

        등록된 답변이 없습니다.

        + +
        + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna/write.skin.php b/web/html/theme/AT_WEB01/img/skin/board/qna/write.skin.php new file mode 100644 index 0000000..582e120 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/qna/write.skin.php @@ -0,0 +1,260 @@ +', 0); +?> +
        +
        +

        + + +
        + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
        + + +
        + + +
        + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
        + + +
        + + +
        + + + +
        + 옵션 + +
        + + +
        + + +
        + + + + + +
        + 임시 저장된 글 목록 +
          +
          +
          + +
          + +
          + +
          + +
          + + +

          이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

          + + + + +
          글자
          + +
          + +
          + + + + + + +
          +
          + + +
          + + + + + + + + + + +
          + + + + +
          + +
          + + + +
          + 취소 + +
          +
          + + +
          +
          + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna2/@eaDir/TweenMax.js@SynoEAStream b/web/html/theme/AT_WEB01/img/skin/board/qna2/@eaDir/TweenMax.js@SynoEAStream new file mode 100644 index 0000000..1e207d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/board/qna2/@eaDir/TweenMax.js@SynoEAStream differ diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna2/TweenMax.js b/web/html/theme/AT_WEB01/img/skin/board/qna2/TweenMax.js new file mode 100644 index 0000000..eb03536 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/qna2/TweenMax.js @@ -0,0 +1,7572 @@ +/*! + * VERSION: 1.18.0 + * DATE: 2015-09-05 + * UPDATES AND DOCS AT: http://greensock.com + * + * Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin + * + * @license Copyright (c) 2008-2015, GreenSock. All rights reserved. + * This work is subject to the terms at http://greensock.com/standard-license or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + **/ +var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(global) !== "undefined") ? global : this || window; //helps ensure compatibility with AMD/RequireJS and CommonJS/Node +(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push( function() { + + "use strict"; + + _gsScope._gsDefine("TweenMax", ["core.Animation","core.SimpleTimeline","TweenLite"], function(Animation, SimpleTimeline, TweenLite) { + + var _slice = function(a) { //don't use [].slice because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + var b = [], + l = a.length, + i; + for (i = 0; i !== l; b.push(a[i++])); + return b; + }, + _applyCycle = function(vars, targets, i) { + var alt = vars.cycle, + p, val; + for (p in alt) { + val = alt[p]; + vars[p] = (typeof(val) === "function") ? val.call(targets[i], i) : val[i % val.length]; + } + delete vars.cycle; + }, + TweenMax = function(target, duration, vars) { + TweenLite.call(this, target, duration, vars); + this._cycle = 0; + this._yoyo = (this.vars.yoyo === true); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._dirty = true; //ensures that if there is any repeat, the totalDuration will get recalculated to accurately report it. + this.render = TweenMax.prototype.render; //speed optimization (avoid prototype lookup on this "hot" method) + }, + _tinyNum = 0.0000000001, + TweenLiteInternals = TweenLite._internals, + _isSelector = TweenLiteInternals.isSelector, + _isArray = TweenLiteInternals.isArray, + p = TweenMax.prototype = TweenLite.to({}, 0.1, {}), + _blankArray = []; + + TweenMax.version = "1.18.0"; + p.constructor = TweenMax; + p.kill()._gc = false; + TweenMax.killTweensOf = TweenMax.killDelayedCallsTo = TweenLite.killTweensOf; + TweenMax.getTweensOf = TweenLite.getTweensOf; + TweenMax.lagSmoothing = TweenLite.lagSmoothing; + TweenMax.ticker = TweenLite.ticker; + TweenMax.render = TweenLite.render; + + p.invalidate = function() { + this._yoyo = (this.vars.yoyo === true); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._uncache(true); + return TweenLite.prototype.invalidate.call(this); + }; + + p.updateTo = function(vars, resetDuration) { + var curRatio = this.ratio, + immediate = this.vars.immediateRender || vars.immediateRender, + p; + if (resetDuration && this._startTime < this._timeline._time) { + this._startTime = this._timeline._time; + this._uncache(false); + if (this._gc) { + this._enabled(true, false); + } else { + this._timeline.insert(this, this._startTime - this._delay); //ensures that any necessary re-sequencing of Animations in the timeline occurs to make sure the rendering order is correct. + } + } + for (p in vars) { + this.vars[p] = vars[p]; + } + if (this._initted || immediate) { + if (resetDuration) { + this._initted = false; + if (immediate) { + this.render(0, true, true); + } + } else { + if (this._gc) { + this._enabled(true, false); + } + if (this._notifyPluginsOfEnabled && this._firstPT) { + TweenLite._onPluginEvent("_onDisable", this); //in case a plugin like MotionBlur must perform some cleanup tasks + } + if (this._time / this._duration > 0.998) { //if the tween has finished (or come extremely close to finishing), we just need to rewind it to 0 and then render it again at the end which forces it to re-initialize (parsing the new vars). We allow tweens that are close to finishing (but haven't quite finished) to work this way too because otherwise, the values are so small when determining where to project the starting values that binary math issues creep in and can make the tween appear to render incorrectly when run backwards. + var prevTime = this._time; + this.render(0, true, false); + this._initted = false; + this.render(prevTime, true, false); + } else if (this._time > 0 || immediate) { + this._initted = false; + this._init(); + var inv = 1 / (1 - curRatio), + pt = this._firstPT, endValue; + while (pt) { + endValue = pt.s + pt.c; + pt.c *= inv; + pt.s = endValue - pt.c; + pt = pt._next; + } + } + } + } + return this; + }; + + p.render = function(time, suppressEvents, force) { + if (!this._initted) if (this._duration === 0 && this.vars.repeat) { //zero duration tweens that render immediately have render() called from TweenLite's constructor, before TweenMax's constructor has finished setting _repeat, _repeatDelay, and _yoyo which are critical in determining totalDuration() so we need to call invalidate() which is a low-kb way to get those set properly. + this.invalidate(); + } + var totalDur = (!this._dirty) ? this._totalDuration : this.totalDuration(), + prevTime = this._time, + prevTotalTime = this._totalTime, + prevCycle = this._cycle, + duration = this._duration, + prevRawPrevTime = this._rawPrevTime, + isComplete, callback, pt, cycleDuration, r, type, pow, rawPrevTime; + if (time >= totalDur) { + this._totalTime = totalDur; + this._cycle = this._repeat; + if (this._yoyo && (this._cycle & 1) !== 0) { + this._time = 0; + this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0; + } else { + this._time = duration; + this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1; + } + if (!this._reversed) { + isComplete = true; + callback = "onComplete"; + force = (force || this._timeline.autoRemoveChildren); //otherwise, if the animation is unpaused/activated after it's already finished, it doesn't get removed from the parent timeline. + } + if (duration === 0) if (this._initted || !this.vars.lazy || force) { //zero-duration tweens are tricky because we must discern the momentum/direction of time in order to determine whether the starting values should be rendered or the ending values. If the "playhead" of its timeline goes past the zero-duration tween in the forward direction or lands directly on it, the end values should be rendered, but if the timeline's "playhead" moves past it in the backward direction (from a postitive time to a negative time), the starting values must be rendered. + if (this._startTime === this._timeline._duration) { //if a zero-duration tween is at the VERY end of a timeline and that timeline renders at its end, it will typically add a tiny bit of cushion to the render time to prevent rounding errors from getting in the way of tweens rendering their VERY end. If we then reverse() that timeline, the zero-duration tween will trigger its onReverseComplete even though technically the playhead didn't pass over it again. It's a very specific edge case we must accommodate. + time = 0; + } + if (time === 0 || prevRawPrevTime < 0 || prevRawPrevTime === _tinyNum) if (prevRawPrevTime !== time) { + force = true; + if (prevRawPrevTime > _tinyNum) { + callback = "onReverseComplete"; + } + } + this._rawPrevTime = rawPrevTime = (!suppressEvents || time || prevRawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + } + + } else if (time < 0.0000001) { //to work around occasional floating point math artifacts, round super small values to 0. + this._totalTime = this._time = this._cycle = 0; + this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0; + if (prevTotalTime !== 0 || (duration === 0 && prevRawPrevTime > 0)) { + callback = "onReverseComplete"; + isComplete = this._reversed; + } + if (time < 0) { + this._active = false; + if (duration === 0) if (this._initted || !this.vars.lazy || force) { //zero-duration tweens are tricky because we must discern the momentum/direction of time in order to determine whether the starting values should be rendered or the ending values. If the "playhead" of its timeline goes past the zero-duration tween in the forward direction or lands directly on it, the end values should be rendered, but if the timeline's "playhead" moves past it in the backward direction (from a postitive time to a negative time), the starting values must be rendered. + if (prevRawPrevTime >= 0) { + force = true; + } + this._rawPrevTime = rawPrevTime = (!suppressEvents || time || prevRawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + } + } + if (!this._initted) { //if we render the very beginning (time == 0) of a fromTo(), we must force the render (normal tweens wouldn't need to render at a time of 0 when the prevTime was also 0). This is also mandatory to make sure overwriting kicks in immediately. + force = true; + } + } else { + this._totalTime = this._time = time; + + if (this._repeat !== 0) { + cycleDuration = duration + this._repeatDelay; + this._cycle = (this._totalTime / cycleDuration) >> 0; //originally _totalTime % cycleDuration but floating point errors caused problems, so I normalized it. (4 % 0.8 should be 0 but Flash reports it as 0.79999999!) + if (this._cycle !== 0) if (this._cycle === this._totalTime / cycleDuration) { + this._cycle--; //otherwise when rendered exactly at the end time, it will act as though it is repeating (at the beginning) + } + this._time = this._totalTime - (this._cycle * cycleDuration); + if (this._yoyo) if ((this._cycle & 1) !== 0) { + this._time = duration - this._time; + } + if (this._time > duration) { + this._time = duration; + } else if (this._time < 0) { + this._time = 0; + } + } + + if (this._easeType) { + r = this._time / duration; + type = this._easeType; + pow = this._easePower; + if (type === 1 || (type === 3 && r >= 0.5)) { + r = 1 - r; + } + if (type === 3) { + r *= 2; + } + if (pow === 1) { + r *= r; + } else if (pow === 2) { + r *= r * r; + } else if (pow === 3) { + r *= r * r * r; + } else if (pow === 4) { + r *= r * r * r * r; + } + + if (type === 1) { + this.ratio = 1 - r; + } else if (type === 2) { + this.ratio = r; + } else if (this._time / duration < 0.5) { + this.ratio = r / 2; + } else { + this.ratio = 1 - (r / 2); + } + + } else { + this.ratio = this._ease.getRatio(this._time / duration); + } + + } + + if (prevTime === this._time && !force && prevCycle === this._cycle) { + if (prevTotalTime !== this._totalTime) if (this._onUpdate) if (!suppressEvents) { //so that onUpdate fires even during the repeatDelay - as long as the totalTime changed, we should trigger onUpdate. + this._callback("onUpdate"); + } + return; + } else if (!this._initted) { + this._init(); + if (!this._initted || this._gc) { //immediateRender tweens typically won't initialize until the playhead advances (_time is greater than 0) in order to ensure that overwriting occurs properly. Also, if all of the tweening properties have been overwritten (which would cause _gc to be true, as set in _init()), we shouldn't continue otherwise an onStart callback could be called for example. + return; + } else if (!force && this._firstPT && ((this.vars.lazy !== false && this._duration) || (this.vars.lazy && !this._duration))) { //we stick it in the queue for rendering at the very end of the tick - this is a performance optimization because browsers invalidate styles and force a recalculation if you read, write, and then read style data (so it's better to read/read/read/write/write/write than read/write/read/write/read/write). The down side, of course, is that usually you WANT things to render immediately because you may have code running right after that which depends on the change. Like imagine running TweenLite.set(...) and then immediately after that, creating a nother tween that animates the same property to another value; the starting values of that 2nd tween wouldn't be accurate if lazy is true. + this._time = prevTime; + this._totalTime = prevTotalTime; + this._rawPrevTime = prevRawPrevTime; + this._cycle = prevCycle; + TweenLiteInternals.lazyTweens.push(this); + this._lazy = [time, suppressEvents]; + return; + } + //_ease is initially set to defaultEase, so now that init() has run, _ease is set properly and we need to recalculate the ratio. Overall this is faster than using conditional logic earlier in the method to avoid having to set ratio twice because we only init() once but renderTime() gets called VERY frequently. + if (this._time && !isComplete) { + this.ratio = this._ease.getRatio(this._time / duration); + } else if (isComplete && this._ease._calcEnd) { + this.ratio = this._ease.getRatio((this._time === 0) ? 0 : 1); + } + } + if (this._lazy !== false) { + this._lazy = false; + } + + if (!this._active) if (!this._paused && this._time !== prevTime && time >= 0) { + this._active = true; //so that if the user renders a tween (as opposed to the timeline rendering it), the timeline is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the tween already finished but the user manually re-renders it as halfway done. + } + if (prevTotalTime === 0) { + if (this._initted === 2 && time > 0) { + //this.invalidate(); + this._init(); //will just apply overwriting since _initted of (2) means it was a from() tween that had immediateRender:true + } + if (this._startAt) { + if (time >= 0) { + this._startAt.render(time, suppressEvents, force); + } else if (!callback) { + callback = "_dummyGS"; //if no callback is defined, use a dummy value just so that the condition at the end evaluates as true because _startAt should render AFTER the normal render loop when the time is negative. We could handle this in a more intuitive way, of course, but the render loop is the MOST important thing to optimize, so this technique allows us to avoid adding extra conditional logic in a high-frequency area. + } + } + if (this.vars.onStart) if (this._totalTime !== 0 || duration === 0) if (!suppressEvents) { + this._callback("onStart"); + } + } + + pt = this._firstPT; + while (pt) { + if (pt.f) { + pt.t[pt.p](pt.c * this.ratio + pt.s); + } else { + pt.t[pt.p] = pt.c * this.ratio + pt.s; + } + pt = pt._next; + } + + if (this._onUpdate) { + if (time < 0) if (this._startAt && this._startTime) { //if the tween is positioned at the VERY beginning (_startTime 0) of its parent timeline, it's illegal for the playhead to go back further, so we should not render the recorded startAt values. + this._startAt.render(time, suppressEvents, force); //note: for performance reasons, we tuck this conditional logic inside less traveled areas (most tweens don't have an onUpdate). We'd just have it at the end before the onComplete, but the values should be updated before any onUpdate is called, so we ALSO put it here and then if it's not called, we do so later near the onComplete. + } + if (!suppressEvents) if (this._totalTime !== prevTotalTime || isComplete) { + this._callback("onUpdate"); + } + } + if (this._cycle !== prevCycle) if (!suppressEvents) if (!this._gc) if (this.vars.onRepeat) { + this._callback("onRepeat"); + } + if (callback) if (!this._gc || force) { //check gc because there's a chance that kill() could be called in an onUpdate + if (time < 0 && this._startAt && !this._onUpdate && this._startTime) { //if the tween is positioned at the VERY beginning (_startTime 0) of its parent timeline, it's illegal for the playhead to go back further, so we should not render the recorded startAt values. + this._startAt.render(time, suppressEvents, force); + } + if (isComplete) { + if (this._timeline.autoRemoveChildren) { + this._enabled(false, false); + } + this._active = false; + } + if (!suppressEvents && this.vars[callback]) { + this._callback(callback); + } + if (duration === 0 && this._rawPrevTime === _tinyNum && rawPrevTime !== _tinyNum) { //the onComplete or onReverseComplete could trigger movement of the playhead and for zero-duration tweens (which must discern direction) that land directly back on their start time, we don't want to fire again on the next render. Think of several addPause()'s in a timeline that forces the playhead to a certain spot, but what if it's already paused and another tween is tweening the "time" of the timeline? Each time it moves [forward] past that spot, it would move back, and since suppressEvents is true, it'd reset _rawPrevTime to _tinyNum so that when it begins again, the callback would fire (so ultimately it could bounce back and forth during that tween). Again, this is a very uncommon scenario, but possible nonetheless. + this._rawPrevTime = 0; + } + } + }; + +//---- STATIC FUNCTIONS ----------------------------------------------------------------------------------------------------------- + + TweenMax.to = function(target, duration, vars) { + return new TweenMax(target, duration, vars); + }; + + TweenMax.from = function(target, duration, vars) { + vars.runBackwards = true; + vars.immediateRender = (vars.immediateRender != false); + return new TweenMax(target, duration, vars); + }; + + TweenMax.fromTo = function(target, duration, fromVars, toVars) { + toVars.startAt = fromVars; + toVars.immediateRender = (toVars.immediateRender != false && fromVars.immediateRender != false); + return new TweenMax(target, duration, toVars); + }; + + TweenMax.staggerTo = TweenMax.allTo = function(targets, duration, vars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + stagger = stagger || 0; + var delay = vars.delay || 0, + a = [], + finalComplete = function() { + if (vars.onComplete) { + vars.onComplete.apply(vars.onCompleteScope || this, arguments); + } + onCompleteAll.apply(onCompleteAllScope || vars.callbackScope || this, onCompleteAllParams || _blankArray); + }, + cycle = vars.cycle, + fromCycle = (vars.startAt && vars.startAt.cycle), + l, copy, i, p; + if (!_isArray(targets)) { + if (typeof(targets) === "string") { + targets = TweenLite.selector(targets) || targets; + } + if (_isSelector(targets)) { + targets = _slice(targets); + } + } + targets = targets || []; + if (stagger < 0) { + targets = _slice(targets); + targets.reverse(); + stagger *= -1; + } + l = targets.length - 1; + for (i = 0; i <= l; i++) { + copy = {}; + for (p in vars) { + copy[p] = vars[p]; + } + if (cycle) { + _applyCycle(copy, targets, i); + } + if (fromCycle) { + fromCycle = copy.startAt = {}; + for (p in vars.startAt) { + fromCycle[p] = vars.startAt[p]; + } + _applyCycle(copy.startAt, targets, i); + } + copy.delay = delay; + if (i === l && onCompleteAll) { + copy.onComplete = finalComplete; + } + a[i] = new TweenMax(targets[i], duration, copy); + delay += stagger; + } + return a; + }; + + TweenMax.staggerFrom = TweenMax.allFrom = function(targets, duration, vars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + vars.runBackwards = true; + vars.immediateRender = (vars.immediateRender != false); + return TweenMax.staggerTo(targets, duration, vars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + TweenMax.staggerFromTo = TweenMax.allFromTo = function(targets, duration, fromVars, toVars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + toVars.startAt = fromVars; + toVars.immediateRender = (toVars.immediateRender != false && fromVars.immediateRender != false); + return TweenMax.staggerTo(targets, duration, toVars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + TweenMax.delayedCall = function(delay, callback, params, scope, useFrames) { + return new TweenMax(callback, 0, {delay:delay, onComplete:callback, onCompleteParams:params, callbackScope:scope, onReverseComplete:callback, onReverseCompleteParams:params, immediateRender:false, useFrames:useFrames, overwrite:0}); + }; + + TweenMax.set = function(target, vars) { + return new TweenMax(target, 0, vars); + }; + + TweenMax.isTweening = function(target) { + return (TweenLite.getTweensOf(target, true).length > 0); + }; + + var _getChildrenOf = function(timeline, includeTimelines) { + var a = [], + cnt = 0, + tween = timeline._first; + while (tween) { + if (tween instanceof TweenLite) { + a[cnt++] = tween; + } else { + if (includeTimelines) { + a[cnt++] = tween; + } + a = a.concat(_getChildrenOf(tween, includeTimelines)); + cnt = a.length; + } + tween = tween._next; + } + return a; + }, + getAllTweens = TweenMax.getAllTweens = function(includeTimelines) { + return _getChildrenOf(Animation._rootTimeline, includeTimelines).concat( _getChildrenOf(Animation._rootFramesTimeline, includeTimelines) ); + }; + + TweenMax.killAll = function(complete, tweens, delayedCalls, timelines) { + if (tweens == null) { + tweens = true; + } + if (delayedCalls == null) { + delayedCalls = true; + } + var a = getAllTweens((timelines != false)), + l = a.length, + allTrue = (tweens && delayedCalls && timelines), + isDC, tween, i; + for (i = 0; i < l; i++) { + tween = a[i]; + if (allTrue || (tween instanceof SimpleTimeline) || ((isDC = (tween.target === tween.vars.onComplete)) && delayedCalls) || (tweens && !isDC)) { + if (complete) { + tween.totalTime(tween._reversed ? 0 : tween.totalDuration()); + } else { + tween._enabled(false, false); + } + } + } + }; + + TweenMax.killChildTweensOf = function(parent, complete) { + if (parent == null) { + return; + } + var tl = TweenLiteInternals.tweenLookup, + a, curParent, p, i, l; + if (typeof(parent) === "string") { + parent = TweenLite.selector(parent) || parent; + } + if (_isSelector(parent)) { + parent = _slice(parent); + } + if (_isArray(parent)) { + i = parent.length; + while (--i > -1) { + TweenMax.killChildTweensOf(parent[i], complete); + } + return; + } + a = []; + for (p in tl) { + curParent = tl[p].target.parentNode; + while (curParent) { + if (curParent === parent) { + a = a.concat(tl[p].tweens); + } + curParent = curParent.parentNode; + } + } + l = a.length; + for (i = 0; i < l; i++) { + if (complete) { + a[i].totalTime(a[i].totalDuration()); + } + a[i]._enabled(false, false); + } + }; + + var _changePause = function(pause, tweens, delayedCalls, timelines) { + tweens = (tweens !== false); + delayedCalls = (delayedCalls !== false); + timelines = (timelines !== false); + var a = getAllTweens(timelines), + allTrue = (tweens && delayedCalls && timelines), + i = a.length, + isDC, tween; + while (--i > -1) { + tween = a[i]; + if (allTrue || (tween instanceof SimpleTimeline) || ((isDC = (tween.target === tween.vars.onComplete)) && delayedCalls) || (tweens && !isDC)) { + tween.paused(pause); + } + } + }; + + TweenMax.pauseAll = function(tweens, delayedCalls, timelines) { + _changePause(true, tweens, delayedCalls, timelines); + }; + + TweenMax.resumeAll = function(tweens, delayedCalls, timelines) { + _changePause(false, tweens, delayedCalls, timelines); + }; + + TweenMax.globalTimeScale = function(value) { + var tl = Animation._rootTimeline, + t = TweenLite.ticker.time; + if (!arguments.length) { + return tl._timeScale; + } + value = value || _tinyNum; //can't allow zero because it'll throw the math off + tl._startTime = t - ((t - tl._startTime) * tl._timeScale / value); + tl = Animation._rootFramesTimeline; + t = TweenLite.ticker.frame; + tl._startTime = t - ((t - tl._startTime) * tl._timeScale / value); + tl._timeScale = Animation._rootTimeline._timeScale = value; + return value; + }; + + +//---- GETTERS / SETTERS ---------------------------------------------------------------------------------------------------------- + + p.progress = function(value) { + return (!arguments.length) ? this._time / this.duration() : this.totalTime( this.duration() * ((this._yoyo && (this._cycle & 1) !== 0) ? 1 - value : value) + (this._cycle * (this._duration + this._repeatDelay)), false); + }; + + p.totalProgress = function(value) { + return (!arguments.length) ? this._totalTime / this.totalDuration() : this.totalTime( this.totalDuration() * value, false); + }; + + p.time = function(value, suppressEvents) { + if (!arguments.length) { + return this._time; + } + if (this._dirty) { + this.totalDuration(); + } + if (value > this._duration) { + value = this._duration; + } + if (this._yoyo && (this._cycle & 1) !== 0) { + value = (this._duration - value) + (this._cycle * (this._duration + this._repeatDelay)); + } else if (this._repeat !== 0) { + value += this._cycle * (this._duration + this._repeatDelay); + } + return this.totalTime(value, suppressEvents); + }; + + p.duration = function(value) { + if (!arguments.length) { + return this._duration; //don't set _dirty = false because there could be repeats that haven't been factored into the _totalDuration yet. Otherwise, if you create a repeated TweenMax and then immediately check its duration(), it would cache the value and the totalDuration would not be correct, thus repeats wouldn't take effect. + } + return Animation.prototype.duration.call(this, value); + }; + + p.totalDuration = function(value) { + if (!arguments.length) { + if (this._dirty) { + //instead of Infinity, we use 999999999999 so that we can accommodate reverses + this._totalDuration = (this._repeat === -1) ? 999999999999 : this._duration * (this._repeat + 1) + (this._repeatDelay * this._repeat); + this._dirty = false; + } + return this._totalDuration; + } + return (this._repeat === -1) ? this : this.duration( (value - (this._repeat * this._repeatDelay)) / (this._repeat + 1) ); + }; + + p.repeat = function(value) { + if (!arguments.length) { + return this._repeat; + } + this._repeat = value; + return this._uncache(true); + }; + + p.repeatDelay = function(value) { + if (!arguments.length) { + return this._repeatDelay; + } + this._repeatDelay = value; + return this._uncache(true); + }; + + p.yoyo = function(value) { + if (!arguments.length) { + return this._yoyo; + } + this._yoyo = value; + return this; + }; + + + return TweenMax; + + }, true); + + + + + + + + +/* + * ---------------------------------------------------------------- + * TimelineLite + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("TimelineLite", ["core.Animation","core.SimpleTimeline","TweenLite"], function(Animation, SimpleTimeline, TweenLite) { + + var TimelineLite = function(vars) { + SimpleTimeline.call(this, vars); + this._labels = {}; + this.autoRemoveChildren = (this.vars.autoRemoveChildren === true); + this.smoothChildTiming = (this.vars.smoothChildTiming === true); + this._sortChildren = true; + this._onUpdate = this.vars.onUpdate; + var v = this.vars, + val, p; + for (p in v) { + val = v[p]; + if (_isArray(val)) if (val.join("").indexOf("{self}") !== -1) { + v[p] = this._swapSelfInParams(val); + } + } + if (_isArray(v.tweens)) { + this.add(v.tweens, 0, v.align, v.stagger); + } + }, + _tinyNum = 0.0000000001, + TweenLiteInternals = TweenLite._internals, + _internals = TimelineLite._internals = {}, + _isSelector = TweenLiteInternals.isSelector, + _isArray = TweenLiteInternals.isArray, + _lazyTweens = TweenLiteInternals.lazyTweens, + _lazyRender = TweenLiteInternals.lazyRender, + _globals = _gsScope._gsDefine.globals, + _copy = function(vars) { + var copy = {}, p; + for (p in vars) { + copy[p] = vars[p]; + } + return copy; + }, + _applyCycle = function(vars, targets, i) { + var alt = vars.cycle, + p, val; + for (p in alt) { + val = alt[p]; + vars[p] = (typeof(val) === "function") ? val.call(targets[i], i) : val[i % val.length]; + } + delete vars.cycle; + }, + _pauseCallback = _internals.pauseCallback = function() {}, + _slice = function(a) { //don't use [].slice because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + var b = [], + l = a.length, + i; + for (i = 0; i !== l; b.push(a[i++])); + return b; + }, + p = TimelineLite.prototype = new SimpleTimeline(); + + TimelineLite.version = "1.18.0"; + p.constructor = TimelineLite; + p.kill()._gc = p._forcingPlayhead = p._hasPause = false; + + /* might use later... + //translates a local time inside an animation to the corresponding time on the root/global timeline, factoring in all nesting and timeScales. + function localToGlobal(time, animation) { + while (animation) { + time = (time / animation._timeScale) + animation._startTime; + animation = animation.timeline; + } + return time; + } + + //translates the supplied time on the root/global timeline into the corresponding local time inside a particular animation, factoring in all nesting and timeScales + function globalToLocal(time, animation) { + var scale = 1; + time -= localToGlobal(0, animation); + while (animation) { + scale *= animation._timeScale; + animation = animation.timeline; + } + return time * scale; + } + */ + + p.to = function(target, duration, vars, position) { + var Engine = (vars.repeat && _globals.TweenMax) || TweenLite; + return duration ? this.add( new Engine(target, duration, vars), position) : this.set(target, vars, position); + }; + + p.from = function(target, duration, vars, position) { + return this.add( ((vars.repeat && _globals.TweenMax) || TweenLite).from(target, duration, vars), position); + }; + + p.fromTo = function(target, duration, fromVars, toVars, position) { + var Engine = (toVars.repeat && _globals.TweenMax) || TweenLite; + return duration ? this.add( Engine.fromTo(target, duration, fromVars, toVars), position) : this.set(target, toVars, position); + }; + + p.staggerTo = function(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + var tl = new TimelineLite({onComplete:onCompleteAll, onCompleteParams:onCompleteAllParams, callbackScope:onCompleteAllScope, smoothChildTiming:this.smoothChildTiming}), + cycle = vars.cycle, + copy, i; + if (typeof(targets) === "string") { + targets = TweenLite.selector(targets) || targets; + } + targets = targets || []; + if (_isSelector(targets)) { //senses if the targets object is a selector. If it is, we should translate it into an array. + targets = _slice(targets); + } + stagger = stagger || 0; + if (stagger < 0) { + targets = _slice(targets); + targets.reverse(); + stagger *= -1; + } + for (i = 0; i < targets.length; i++) { + copy = _copy(vars); + if (copy.startAt) { + copy.startAt = _copy(copy.startAt); + if (copy.startAt.cycle) { + _applyCycle(copy.startAt, targets, i); + } + } + if (cycle) { + _applyCycle(copy, targets, i); + } + tl.to(targets[i], duration, copy, i * stagger); + } + return this.add(tl, position); + }; + + p.staggerFrom = function(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + vars.immediateRender = (vars.immediateRender != false); + vars.runBackwards = true; + return this.staggerTo(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + p.staggerFromTo = function(targets, duration, fromVars, toVars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + toVars.startAt = fromVars; + toVars.immediateRender = (toVars.immediateRender != false && fromVars.immediateRender != false); + return this.staggerTo(targets, duration, toVars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + p.call = function(callback, params, scope, position) { + return this.add( TweenLite.delayedCall(0, callback, params, scope), position); + }; + + p.set = function(target, vars, position) { + position = this._parseTimeOrLabel(position, 0, true); + if (vars.immediateRender == null) { + vars.immediateRender = (position === this._time && !this._paused); + } + return this.add( new TweenLite(target, 0, vars), position); + }; + + TimelineLite.exportRoot = function(vars, ignoreDelayedCalls) { + vars = vars || {}; + if (vars.smoothChildTiming == null) { + vars.smoothChildTiming = true; + } + var tl = new TimelineLite(vars), + root = tl._timeline, + tween, next; + if (ignoreDelayedCalls == null) { + ignoreDelayedCalls = true; + } + root._remove(tl, true); + tl._startTime = 0; + tl._rawPrevTime = tl._time = tl._totalTime = root._time; + tween = root._first; + while (tween) { + next = tween._next; + if (!ignoreDelayedCalls || !(tween instanceof TweenLite && tween.target === tween.vars.onComplete)) { + tl.add(tween, tween._startTime - tween._delay); + } + tween = next; + } + root.add(tl, 0); + return tl; + }; + + p.add = function(value, position, align, stagger) { + var curTime, l, i, child, tl, beforeRawTime; + if (typeof(position) !== "number") { + position = this._parseTimeOrLabel(position, 0, true, value); + } + if (!(value instanceof Animation)) { + if ((value instanceof Array) || (value && value.push && _isArray(value))) { + align = align || "normal"; + stagger = stagger || 0; + curTime = position; + l = value.length; + for (i = 0; i < l; i++) { + if (_isArray(child = value[i])) { + child = new TimelineLite({tweens:child}); + } + this.add(child, curTime); + if (typeof(child) !== "string" && typeof(child) !== "function") { + if (align === "sequence") { + curTime = child._startTime + (child.totalDuration() / child._timeScale); + } else if (align === "start") { + child._startTime -= child.delay(); + } + } + curTime += stagger; + } + return this._uncache(true); + } else if (typeof(value) === "string") { + return this.addLabel(value, position); + } else if (typeof(value) === "function") { + value = TweenLite.delayedCall(0, value); + } else { + throw("Cannot add " + value + " into the timeline; it is not a tween, timeline, function, or string."); + } + } + + SimpleTimeline.prototype.add.call(this, value, position); + + //if the timeline has already ended but the inserted tween/timeline extends the duration, we should enable this timeline again so that it renders properly. We should also align the playhead with the parent timeline's when appropriate. + if (this._gc || this._time === this._duration) if (!this._paused) if (this._duration < this.duration()) { + //in case any of the ancestors had completed but should now be enabled... + tl = this; + beforeRawTime = (tl.rawTime() > value._startTime); //if the tween is placed on the timeline so that it starts BEFORE the current rawTime, we should align the playhead (move the timeline). This is because sometimes users will create a timeline, let it finish, and much later append a tween and expect it to run instead of jumping to its end state. While technically one could argue that it should jump to its end state, that's not what users intuitively expect. + while (tl._timeline) { + if (beforeRawTime && tl._timeline.smoothChildTiming) { + tl.totalTime(tl._totalTime, true); //moves the timeline (shifts its startTime) if necessary, and also enables it. + } else if (tl._gc) { + tl._enabled(true, false); + } + tl = tl._timeline; + } + } + + return this; + }; + + p.remove = function(value) { + if (value instanceof Animation) { + this._remove(value, false); + var tl = value._timeline = value.vars.useFrames ? Animation._rootFramesTimeline : Animation._rootTimeline; //now that it's removed, default it to the root timeline so that if it gets played again, it doesn't jump back into this timeline. + value._startTime = (value._paused ? value._pauseTime : tl._time) - ((!value._reversed ? value._totalTime : value.totalDuration() - value._totalTime) / value._timeScale); //ensure that if it gets played again, the timing is correct. + return this; + } else if (value instanceof Array || (value && value.push && _isArray(value))) { + var i = value.length; + while (--i > -1) { + this.remove(value[i]); + } + return this; + } else if (typeof(value) === "string") { + return this.removeLabel(value); + } + return this.kill(null, value); + }; + + p._remove = function(tween, skipDisable) { + SimpleTimeline.prototype._remove.call(this, tween, skipDisable); + var last = this._last; + if (!last) { + this._time = this._totalTime = this._duration = this._totalDuration = 0; + } else if (this._time > last._startTime + last._totalDuration / last._timeScale) { + this._time = this.duration(); + this._totalTime = this._totalDuration; + } + return this; + }; + + p.append = function(value, offsetOrLabel) { + return this.add(value, this._parseTimeOrLabel(null, offsetOrLabel, true, value)); + }; + + p.insert = p.insertMultiple = function(value, position, align, stagger) { + return this.add(value, position || 0, align, stagger); + }; + + p.appendMultiple = function(tweens, offsetOrLabel, align, stagger) { + return this.add(tweens, this._parseTimeOrLabel(null, offsetOrLabel, true, tweens), align, stagger); + }; + + p.addLabel = function(label, position) { + this._labels[label] = this._parseTimeOrLabel(position); + return this; + }; + + p.addPause = function(position, callback, params, scope) { + var t = TweenLite.delayedCall(0, _pauseCallback, params, scope || this); + t.vars.onComplete = t.vars.onReverseComplete = callback; + t.data = "isPause"; + this._hasPause = true; + return this.add(t, position); + }; + + p.removeLabel = function(label) { + delete this._labels[label]; + return this; + }; + + p.getLabelTime = function(label) { + return (this._labels[label] != null) ? this._labels[label] : -1; + }; + + p._parseTimeOrLabel = function(timeOrLabel, offsetOrLabel, appendIfAbsent, ignore) { + var i; + //if we're about to add a tween/timeline (or an array of them) that's already a child of this timeline, we should remove it first so that it doesn't contaminate the duration(). + if (ignore instanceof Animation && ignore.timeline === this) { + this.remove(ignore); + } else if (ignore && ((ignore instanceof Array) || (ignore.push && _isArray(ignore)))) { + i = ignore.length; + while (--i > -1) { + if (ignore[i] instanceof Animation && ignore[i].timeline === this) { + this.remove(ignore[i]); + } + } + } + if (typeof(offsetOrLabel) === "string") { + return this._parseTimeOrLabel(offsetOrLabel, (appendIfAbsent && typeof(timeOrLabel) === "number" && this._labels[offsetOrLabel] == null) ? timeOrLabel - this.duration() : 0, appendIfAbsent); + } + offsetOrLabel = offsetOrLabel || 0; + if (typeof(timeOrLabel) === "string" && (isNaN(timeOrLabel) || this._labels[timeOrLabel] != null)) { //if the string is a number like "1", check to see if there's a label with that name, otherwise interpret it as a number (absolute value). + i = timeOrLabel.indexOf("="); + if (i === -1) { + if (this._labels[timeOrLabel] == null) { + return appendIfAbsent ? (this._labels[timeOrLabel] = this.duration() + offsetOrLabel) : offsetOrLabel; + } + return this._labels[timeOrLabel] + offsetOrLabel; + } + offsetOrLabel = parseInt(timeOrLabel.charAt(i-1) + "1", 10) * Number(timeOrLabel.substr(i+1)); + timeOrLabel = (i > 1) ? this._parseTimeOrLabel(timeOrLabel.substr(0, i-1), 0, appendIfAbsent) : this.duration(); + } else if (timeOrLabel == null) { + timeOrLabel = this.duration(); + } + return Number(timeOrLabel) + offsetOrLabel; + }; + + p.seek = function(position, suppressEvents) { + return this.totalTime((typeof(position) === "number") ? position : this._parseTimeOrLabel(position), (suppressEvents !== false)); + }; + + p.stop = function() { + return this.paused(true); + }; + + p.gotoAndPlay = function(position, suppressEvents) { + return this.play(position, suppressEvents); + }; + + p.gotoAndStop = function(position, suppressEvents) { + return this.pause(position, suppressEvents); + }; + + p.render = function(time, suppressEvents, force) { + if (this._gc) { + this._enabled(true, false); + } + var totalDur = (!this._dirty) ? this._totalDuration : this.totalDuration(), + prevTime = this._time, + prevStart = this._startTime, + prevTimeScale = this._timeScale, + prevPaused = this._paused, + tween, isComplete, next, callback, internalForce, pauseTween; + if (time >= totalDur) { + this._totalTime = this._time = totalDur; + if (!this._reversed) if (!this._hasPausedChild()) { + isComplete = true; + callback = "onComplete"; + internalForce = !!this._timeline.autoRemoveChildren; //otherwise, if the animation is unpaused/activated after it's already finished, it doesn't get removed from the parent timeline. + if (this._duration === 0) if (time === 0 || this._rawPrevTime < 0 || this._rawPrevTime === _tinyNum) if (this._rawPrevTime !== time && this._first) { + internalForce = true; + if (this._rawPrevTime > _tinyNum) { + callback = "onReverseComplete"; + } + } + } + this._rawPrevTime = (this._duration || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + time = totalDur + 0.0001; //to avoid occasional floating point rounding errors - sometimes child tweens/timelines were not being fully completed (their progress might be 0.999999999999998 instead of 1 because when _time - tween._startTime is performed, floating point errors would return a value that was SLIGHTLY off). Try (999999999999.7 - 999999999999) * 1 = 0.699951171875 instead of 0.7. + + } else if (time < 0.0000001) { //to work around occasional floating point math artifacts, round super small values to 0. + this._totalTime = this._time = 0; + if (prevTime !== 0 || (this._duration === 0 && this._rawPrevTime !== _tinyNum && (this._rawPrevTime > 0 || (time < 0 && this._rawPrevTime >= 0)))) { + callback = "onReverseComplete"; + isComplete = this._reversed; + } + if (time < 0) { + this._active = false; + if (this._timeline.autoRemoveChildren && this._reversed) { //ensures proper GC if a timeline is resumed after it's finished reversing. + internalForce = isComplete = true; + callback = "onReverseComplete"; + } else if (this._rawPrevTime >= 0 && this._first) { //when going back beyond the start, force a render so that zero-duration tweens that sit at the very beginning render their start values properly. Otherwise, if the parent timeline's playhead lands exactly at this timeline's startTime, and then moves backwards, the zero-duration tweens at the beginning would still be at their end state. + internalForce = true; + } + this._rawPrevTime = time; + } else { + this._rawPrevTime = (this._duration || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + if (time === 0 && isComplete) { //if there's a zero-duration tween at the very beginning of a timeline and the playhead lands EXACTLY at time 0, that tween will correctly render its end values, but we need to keep the timeline alive for one more render so that the beginning values render properly as the parent's playhead keeps moving beyond the begining. Imagine obj.x starts at 0 and then we do tl.set(obj, {x:100}).to(obj, 1, {x:200}) and then later we tl.reverse()...the goal is to have obj.x revert to 0. If the playhead happens to land on exactly 0, without this chunk of code, it'd complete the timeline and remove it from the rendering queue (not good). + tween = this._first; + while (tween && tween._startTime === 0) { + if (!tween._duration) { + isComplete = false; + } + tween = tween._next; + } + } + time = 0; //to avoid occasional floating point rounding errors (could cause problems especially with zero-duration tweens at the very beginning of the timeline) + if (!this._initted) { + internalForce = true; + } + } + + } else { + + if (this._hasPause && !this._forcingPlayhead && !suppressEvents) { + if (time >= prevTime) { + tween = this._first; + while (tween && tween._startTime <= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && !tween.ratio && !(tween._startTime === 0 && this._rawPrevTime === 0)) { + pauseTween = tween; + } + tween = tween._next; + } + } else { + tween = this._last; + while (tween && tween._startTime >= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && tween._rawPrevTime > 0) { + pauseTween = tween; + } + tween = tween._prev; + } + } + if (pauseTween) { + this._time = time = pauseTween._startTime; + this._totalTime = time + (this._cycle * (this._totalDuration + this._repeatDelay)); + } + } + + this._totalTime = this._time = this._rawPrevTime = time; + } + if ((this._time === prevTime || !this._first) && !force && !internalForce && !pauseTween) { + return; + } else if (!this._initted) { + this._initted = true; + } + + if (!this._active) if (!this._paused && this._time !== prevTime && time > 0) { + this._active = true; //so that if the user renders the timeline (as opposed to the parent timeline rendering it), it is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the timeline already finished but the user manually re-renders it as halfway done, for example. + } + + if (prevTime === 0) if (this.vars.onStart) if (this._time !== 0) if (!suppressEvents) { + this._callback("onStart"); + } + + if (this._time >= prevTime) { + tween = this._first; + while (tween) { + next = tween._next; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= this._time && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } else { + tween = this._last; + while (tween) { + next = tween._prev; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= prevTime && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + pauseTween = tween._prev; //the linked list is organized by _startTime, thus it's possible that a tween could start BEFORE the pause and end after it, in which case it would be positioned before the pause tween in the linked list, but we should render it before we pause() the timeline and cease rendering. This is only a concern when going in reverse. + while (pauseTween && pauseTween.endTime() > this._time) { + pauseTween.render( (pauseTween._reversed ? pauseTween.totalDuration() - ((time - pauseTween._startTime) * pauseTween._timeScale) : (time - pauseTween._startTime) * pauseTween._timeScale), suppressEvents, force); + pauseTween = pauseTween._prev; + } + pauseTween = null; + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } + + if (this._onUpdate) if (!suppressEvents) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onUpdate on a timeline that reports/checks tweened values. + _lazyRender(); + } + this._callback("onUpdate"); + } + + if (callback) if (!this._gc) if (prevStart === this._startTime || prevTimeScale !== this._timeScale) if (this._time === 0 || totalDur >= this.totalDuration()) { //if one of the tweens that was rendered altered this timeline's startTime (like if an onComplete reversed the timeline), it probably isn't complete. If it is, don't worry, because whatever call altered the startTime would complete if it was necessary at the new time. The only exception is the timeScale property. Also check _gc because there's a chance that kill() could be called in an onUpdate + if (isComplete) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onComplete on a timeline that reports/checks tweened values. + _lazyRender(); + } + if (this._timeline.autoRemoveChildren) { + this._enabled(false, false); + } + this._active = false; + } + if (!suppressEvents && this.vars[callback]) { + this._callback(callback); + } + } + }; + + p._hasPausedChild = function() { + var tween = this._first; + while (tween) { + if (tween._paused || ((tween instanceof TimelineLite) && tween._hasPausedChild())) { + return true; + } + tween = tween._next; + } + return false; + }; + + p.getChildren = function(nested, tweens, timelines, ignoreBeforeTime) { + ignoreBeforeTime = ignoreBeforeTime || -9999999999; + var a = [], + tween = this._first, + cnt = 0; + while (tween) { + if (tween._startTime < ignoreBeforeTime) { + //do nothing + } else if (tween instanceof TweenLite) { + if (tweens !== false) { + a[cnt++] = tween; + } + } else { + if (timelines !== false) { + a[cnt++] = tween; + } + if (nested !== false) { + a = a.concat(tween.getChildren(true, tweens, timelines)); + cnt = a.length; + } + } + tween = tween._next; + } + return a; + }; + + p.getTweensOf = function(target, nested) { + var disabled = this._gc, + a = [], + cnt = 0, + tweens, i; + if (disabled) { + this._enabled(true, true); //getTweensOf() filters out disabled tweens, and we have to mark them as _gc = true when the timeline completes in order to allow clean garbage collection, so temporarily re-enable the timeline here. + } + tweens = TweenLite.getTweensOf(target); + i = tweens.length; + while (--i > -1) { + if (tweens[i].timeline === this || (nested && this._contains(tweens[i]))) { + a[cnt++] = tweens[i]; + } + } + if (disabled) { + this._enabled(false, true); + } + return a; + }; + + p.recent = function() { + return this._recent; + }; + + p._contains = function(tween) { + var tl = tween.timeline; + while (tl) { + if (tl === this) { + return true; + } + tl = tl.timeline; + } + return false; + }; + + p.shiftChildren = function(amount, adjustLabels, ignoreBeforeTime) { + ignoreBeforeTime = ignoreBeforeTime || 0; + var tween = this._first, + labels = this._labels, + p; + while (tween) { + if (tween._startTime >= ignoreBeforeTime) { + tween._startTime += amount; + } + tween = tween._next; + } + if (adjustLabels) { + for (p in labels) { + if (labels[p] >= ignoreBeforeTime) { + labels[p] += amount; + } + } + } + return this._uncache(true); + }; + + p._kill = function(vars, target) { + if (!vars && !target) { + return this._enabled(false, false); + } + var tweens = (!target) ? this.getChildren(true, true, false) : this.getTweensOf(target), + i = tweens.length, + changed = false; + while (--i > -1) { + if (tweens[i]._kill(vars, target)) { + changed = true; + } + } + return changed; + }; + + p.clear = function(labels) { + var tweens = this.getChildren(false, true, true), + i = tweens.length; + this._time = this._totalTime = 0; + while (--i > -1) { + tweens[i]._enabled(false, false); + } + if (labels !== false) { + this._labels = {}; + } + return this._uncache(true); + }; + + p.invalidate = function() { + var tween = this._first; + while (tween) { + tween.invalidate(); + tween = tween._next; + } + return Animation.prototype.invalidate.call(this);; + }; + + p._enabled = function(enabled, ignoreTimeline) { + if (enabled === this._gc) { + var tween = this._first; + while (tween) { + tween._enabled(enabled, true); + tween = tween._next; + } + } + return SimpleTimeline.prototype._enabled.call(this, enabled, ignoreTimeline); + }; + + p.totalTime = function(time, suppressEvents, uncapped) { + this._forcingPlayhead = true; + var val = Animation.prototype.totalTime.apply(this, arguments); + this._forcingPlayhead = false; + return val; + }; + + p.duration = function(value) { + if (!arguments.length) { + if (this._dirty) { + this.totalDuration(); //just triggers recalculation + } + return this._duration; + } + if (this.duration() !== 0 && value !== 0) { + this.timeScale(this._duration / value); + } + return this; + }; + + p.totalDuration = function(value) { + if (!arguments.length) { + if (this._dirty) { + var max = 0, + tween = this._last, + prevStart = 999999999999, + prev, end; + while (tween) { + prev = tween._prev; //record it here in case the tween changes position in the sequence... + if (tween._dirty) { + tween.totalDuration(); //could change the tween._startTime, so make sure the tween's cache is clean before analyzing it. + } + if (tween._startTime > prevStart && this._sortChildren && !tween._paused) { //in case one of the tweens shifted out of order, it needs to be re-inserted into the correct position in the sequence + this.add(tween, tween._startTime - tween._delay); + } else { + prevStart = tween._startTime; + } + if (tween._startTime < 0 && !tween._paused) { //children aren't allowed to have negative startTimes unless smoothChildTiming is true, so adjust here if one is found. + max -= tween._startTime; + if (this._timeline.smoothChildTiming) { + this._startTime += tween._startTime / this._timeScale; + } + this.shiftChildren(-tween._startTime, false, -9999999999); + prevStart = 0; + } + end = tween._startTime + (tween._totalDuration / tween._timeScale); + if (end > max) { + max = end; + } + tween = prev; + } + this._duration = this._totalDuration = max; + this._dirty = false; + } + return this._totalDuration; + } + if (this.totalDuration() !== 0) if (value !== 0) { + this.timeScale(this._totalDuration / value); + } + return this; + }; + + p.paused = function(value) { + if (!value) { //if there's a pause directly at the spot from where we're unpausing, skip it. + var tween = this._first, + time = this._time; + while (tween) { + if (tween._startTime === time && tween.data === "isPause") { + tween._rawPrevTime = 0; //remember, _rawPrevTime is how zero-duration tweens/callbacks sense directionality and determine whether or not to fire. If _rawPrevTime is the same as _startTime on the next render, it won't fire. + } + tween = tween._next; + } + } + return Animation.prototype.paused.apply(this, arguments); + }; + + p.usesFrames = function() { + var tl = this._timeline; + while (tl._timeline) { + tl = tl._timeline; + } + return (tl === Animation._rootFramesTimeline); + }; + + p.rawTime = function() { + return this._paused ? this._totalTime : (this._timeline.rawTime() - this._startTime) * this._timeScale; + }; + + return TimelineLite; + + }, true); + + + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * TimelineMax + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("TimelineMax", ["TimelineLite","TweenLite","easing.Ease"], function(TimelineLite, TweenLite, Ease) { + + var TimelineMax = function(vars) { + TimelineLite.call(this, vars); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._cycle = 0; + this._yoyo = (this.vars.yoyo === true); + this._dirty = true; + }, + _tinyNum = 0.0000000001, + TweenLiteInternals = TweenLite._internals, + _lazyTweens = TweenLiteInternals.lazyTweens, + _lazyRender = TweenLiteInternals.lazyRender, + _easeNone = new Ease(null, null, 1, 0), + p = TimelineMax.prototype = new TimelineLite(); + + p.constructor = TimelineMax; + p.kill()._gc = false; + TimelineMax.version = "1.18.0"; + + p.invalidate = function() { + this._yoyo = (this.vars.yoyo === true); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._uncache(true); + return TimelineLite.prototype.invalidate.call(this); + }; + + p.addCallback = function(callback, position, params, scope) { + return this.add( TweenLite.delayedCall(0, callback, params, scope), position); + }; + + p.removeCallback = function(callback, position) { + if (callback) { + if (position == null) { + this._kill(null, callback); + } else { + var a = this.getTweensOf(callback, false), + i = a.length, + time = this._parseTimeOrLabel(position); + while (--i > -1) { + if (a[i]._startTime === time) { + a[i]._enabled(false, false); + } + } + } + } + return this; + }; + + p.removePause = function(position) { + return this.removeCallback(TimelineLite._internals.pauseCallback, position); + }; + + p.tweenTo = function(position, vars) { + vars = vars || {}; + var copy = {ease:_easeNone, useFrames:this.usesFrames(), immediateRender:false}, + duration, p, t; + for (p in vars) { + copy[p] = vars[p]; + } + copy.time = this._parseTimeOrLabel(position); + duration = (Math.abs(Number(copy.time) - this._time) / this._timeScale) || 0.001; + t = new TweenLite(this, duration, copy); + copy.onStart = function() { + t.target.paused(true); + if (t.vars.time !== t.target.time() && duration === t.duration()) { //don't make the duration zero - if it's supposed to be zero, don't worry because it's already initting the tween and will complete immediately, effectively making the duration zero anyway. If we make duration zero, the tween won't run at all. + t.duration( Math.abs( t.vars.time - t.target.time()) / t.target._timeScale ); + } + if (vars.onStart) { //in case the user had an onStart in the vars - we don't want to overwrite it. + t._callback("onStart"); + } + }; + return t; + }; + + p.tweenFromTo = function(fromPosition, toPosition, vars) { + vars = vars || {}; + fromPosition = this._parseTimeOrLabel(fromPosition); + vars.startAt = {onComplete:this.seek, onCompleteParams:[fromPosition], callbackScope:this}; + vars.immediateRender = (vars.immediateRender !== false); + var t = this.tweenTo(toPosition, vars); + return t.duration((Math.abs( t.vars.time - fromPosition) / this._timeScale) || 0.001); + }; + + p.render = function(time, suppressEvents, force) { + if (this._gc) { + this._enabled(true, false); + } + var totalDur = (!this._dirty) ? this._totalDuration : this.totalDuration(), + dur = this._duration, + prevTime = this._time, + prevTotalTime = this._totalTime, + prevStart = this._startTime, + prevTimeScale = this._timeScale, + prevRawPrevTime = this._rawPrevTime, + prevPaused = this._paused, + prevCycle = this._cycle, + tween, isComplete, next, callback, internalForce, cycleDuration, pauseTween; + if (time >= totalDur) { + if (!this._locked) { + this._totalTime = totalDur; + this._cycle = this._repeat; + } + if (!this._reversed) if (!this._hasPausedChild()) { + isComplete = true; + callback = "onComplete"; + internalForce = !!this._timeline.autoRemoveChildren; //otherwise, if the animation is unpaused/activated after it's already finished, it doesn't get removed from the parent timeline. + if (this._duration === 0) if (time === 0 || prevRawPrevTime < 0 || prevRawPrevTime === _tinyNum) if (prevRawPrevTime !== time && this._first) { + internalForce = true; + if (prevRawPrevTime > _tinyNum) { + callback = "onReverseComplete"; + } + } + } + this._rawPrevTime = (this._duration || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + if (this._yoyo && (this._cycle & 1) !== 0) { + this._time = time = 0; + } else { + this._time = dur; + time = dur + 0.0001; //to avoid occasional floating point rounding errors - sometimes child tweens/timelines were not being fully completed (their progress might be 0.999999999999998 instead of 1 because when _time - tween._startTime is performed, floating point errors would return a value that was SLIGHTLY off). Try (999999999999.7 - 999999999999) * 1 = 0.699951171875 instead of 0.7. We cannot do less then 0.0001 because the same issue can occur when the duration is extremely large like 999999999999 in which case adding 0.00000001, for example, causes it to act like nothing was added. + } + + } else if (time < 0.0000001) { //to work around occasional floating point math artifacts, round super small values to 0. + if (!this._locked) { + this._totalTime = this._cycle = 0; + } + this._time = 0; + if (prevTime !== 0 || (dur === 0 && prevRawPrevTime !== _tinyNum && (prevRawPrevTime > 0 || (time < 0 && prevRawPrevTime >= 0)) && !this._locked)) { //edge case for checking time < 0 && prevRawPrevTime >= 0: a zero-duration fromTo() tween inside a zero-duration timeline (yeah, very rare) + callback = "onReverseComplete"; + isComplete = this._reversed; + } + if (time < 0) { + this._active = false; + if (this._timeline.autoRemoveChildren && this._reversed) { + internalForce = isComplete = true; + callback = "onReverseComplete"; + } else if (prevRawPrevTime >= 0 && this._first) { //when going back beyond the start, force a render so that zero-duration tweens that sit at the very beginning render their start values properly. Otherwise, if the parent timeline's playhead lands exactly at this timeline's startTime, and then moves backwards, the zero-duration tweens at the beginning would still be at their end state. + internalForce = true; + } + this._rawPrevTime = time; + } else { + this._rawPrevTime = (dur || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + if (time === 0 && isComplete) { //if there's a zero-duration tween at the very beginning of a timeline and the playhead lands EXACTLY at time 0, that tween will correctly render its end values, but we need to keep the timeline alive for one more render so that the beginning values render properly as the parent's playhead keeps moving beyond the begining. Imagine obj.x starts at 0 and then we do tl.set(obj, {x:100}).to(obj, 1, {x:200}) and then later we tl.reverse()...the goal is to have obj.x revert to 0. If the playhead happens to land on exactly 0, without this chunk of code, it'd complete the timeline and remove it from the rendering queue (not good). + tween = this._first; + while (tween && tween._startTime === 0) { + if (!tween._duration) { + isComplete = false; + } + tween = tween._next; + } + } + time = 0; //to avoid occasional floating point rounding errors (could cause problems especially with zero-duration tweens at the very beginning of the timeline) + if (!this._initted) { + internalForce = true; + } + } + + } else { + if (dur === 0 && prevRawPrevTime < 0) { //without this, zero-duration repeating timelines (like with a simple callback nested at the very beginning and a repeatDelay) wouldn't render the first time through. + internalForce = true; + } + this._time = this._rawPrevTime = time; + if (!this._locked) { + this._totalTime = time; + if (this._repeat !== 0) { + cycleDuration = dur + this._repeatDelay; + this._cycle = (this._totalTime / cycleDuration) >> 0; //originally _totalTime % cycleDuration but floating point errors caused problems, so I normalized it. (4 % 0.8 should be 0 but it gets reported as 0.79999999!) + if (this._cycle !== 0) if (this._cycle === this._totalTime / cycleDuration) { + this._cycle--; //otherwise when rendered exactly at the end time, it will act as though it is repeating (at the beginning) + } + this._time = this._totalTime - (this._cycle * cycleDuration); + if (this._yoyo) if ((this._cycle & 1) !== 0) { + this._time = dur - this._time; + } + if (this._time > dur) { + this._time = dur; + time = dur + 0.0001; //to avoid occasional floating point rounding error + } else if (this._time < 0) { + this._time = time = 0; + } else { + time = this._time; + } + } + } + + if (this._hasPause && !this._forcingPlayhead && !suppressEvents) { + time = this._time; + if (time >= prevTime) { + tween = this._first; + while (tween && tween._startTime <= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && !tween.ratio && !(tween._startTime === 0 && this._rawPrevTime === 0)) { + pauseTween = tween; + } + tween = tween._next; + } + } else { + tween = this._last; + while (tween && tween._startTime >= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && tween._rawPrevTime > 0) { + pauseTween = tween; + } + tween = tween._prev; + } + } + if (pauseTween) { + this._time = time = pauseTween._startTime; + this._totalTime = time + (this._cycle * (this._totalDuration + this._repeatDelay)); + } + } + + } + + if (this._cycle !== prevCycle) if (!this._locked) { + /* + make sure children at the end/beginning of the timeline are rendered properly. If, for example, + a 3-second long timeline rendered at 2.9 seconds previously, and now renders at 3.2 seconds (which + would get transated to 2.8 seconds if the timeline yoyos or 0.2 seconds if it just repeats), there + could be a callback or a short tween that's at 2.95 or 3 seconds in which wouldn't render. So + we need to push the timeline to the end (and/or beginning depending on its yoyo value). Also we must + ensure that zero-duration tweens at the very beginning or end of the TimelineMax work. + */ + var backwards = (this._yoyo && (prevCycle & 1) !== 0), + wrap = (backwards === (this._yoyo && (this._cycle & 1) !== 0)), + recTotalTime = this._totalTime, + recCycle = this._cycle, + recRawPrevTime = this._rawPrevTime, + recTime = this._time; + + this._totalTime = prevCycle * dur; + if (this._cycle < prevCycle) { + backwards = !backwards; + } else { + this._totalTime += dur; + } + this._time = prevTime; //temporarily revert _time so that render() renders the children in the correct order. Without this, tweens won't rewind correctly. We could arhictect things in a "cleaner" way by splitting out the rendering queue into a separate method but for performance reasons, we kept it all inside this method. + + this._rawPrevTime = (dur === 0) ? prevRawPrevTime - 0.0001 : prevRawPrevTime; + this._cycle = prevCycle; + this._locked = true; //prevents changes to totalTime and skips repeat/yoyo behavior when we recursively call render() + prevTime = (backwards) ? 0 : dur; + this.render(prevTime, suppressEvents, (dur === 0)); + if (!suppressEvents) if (!this._gc) { + if (this.vars.onRepeat) { + this._callback("onRepeat"); + } + } + if (wrap) { + prevTime = (backwards) ? dur + 0.0001 : -0.0001; + this.render(prevTime, true, false); + } + this._locked = false; + if (this._paused && !prevPaused) { //if the render() triggered callback that paused this timeline, we should abort (very rare, but possible) + return; + } + this._time = recTime; + this._totalTime = recTotalTime; + this._cycle = recCycle; + this._rawPrevTime = recRawPrevTime; + } + + if ((this._time === prevTime || !this._first) && !force && !internalForce && !pauseTween) { + if (prevTotalTime !== this._totalTime) if (this._onUpdate) if (!suppressEvents) { //so that onUpdate fires even during the repeatDelay - as long as the totalTime changed, we should trigger onUpdate. + this._callback("onUpdate"); + } + return; + } else if (!this._initted) { + this._initted = true; + } + + if (!this._active) if (!this._paused && this._totalTime !== prevTotalTime && time > 0) { + this._active = true; //so that if the user renders the timeline (as opposed to the parent timeline rendering it), it is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the timeline already finished but the user manually re-renders it as halfway done, for example. + } + + if (prevTotalTime === 0) if (this.vars.onStart) if (this._totalTime !== 0) if (!suppressEvents) { + this._callback("onStart"); + } + + if (this._time >= prevTime) { + tween = this._first; + while (tween) { + next = tween._next; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= this._time && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } else { + tween = this._last; + while (tween) { + next = tween._prev; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= prevTime && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + pauseTween = tween._prev; //the linked list is organized by _startTime, thus it's possible that a tween could start BEFORE the pause and end after it, in which case it would be positioned before the pause tween in the linked list, but we should render it before we pause() the timeline and cease rendering. This is only a concern when going in reverse. + while (pauseTween && pauseTween.endTime() > this._time) { + pauseTween.render( (pauseTween._reversed ? pauseTween.totalDuration() - ((time - pauseTween._startTime) * pauseTween._timeScale) : (time - pauseTween._startTime) * pauseTween._timeScale), suppressEvents, force); + pauseTween = pauseTween._prev; + } + pauseTween = null; + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } + + if (this._onUpdate) if (!suppressEvents) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onUpdate on a timeline that reports/checks tweened values. + _lazyRender(); + } + this._callback("onUpdate"); + } + if (callback) if (!this._locked) if (!this._gc) if (prevStart === this._startTime || prevTimeScale !== this._timeScale) if (this._time === 0 || totalDur >= this.totalDuration()) { //if one of the tweens that was rendered altered this timeline's startTime (like if an onComplete reversed the timeline), it probably isn't complete. If it is, don't worry, because whatever call altered the startTime would complete if it was necessary at the new time. The only exception is the timeScale property. Also check _gc because there's a chance that kill() could be called in an onUpdate + if (isComplete) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onComplete on a timeline that reports/checks tweened values. + _lazyRender(); + } + if (this._timeline.autoRemoveChildren) { + this._enabled(false, false); + } + this._active = false; + } + if (!suppressEvents && this.vars[callback]) { + this._callback(callback); + } + } + }; + + p.getActive = function(nested, tweens, timelines) { + if (nested == null) { + nested = true; + } + if (tweens == null) { + tweens = true; + } + if (timelines == null) { + timelines = false; + } + var a = [], + all = this.getChildren(nested, tweens, timelines), + cnt = 0, + l = all.length, + i, tween; + for (i = 0; i < l; i++) { + tween = all[i]; + if (tween.isActive()) { + a[cnt++] = tween; + } + } + return a; + }; + + + p.getLabelAfter = function(time) { + if (!time) if (time !== 0) { //faster than isNan() + time = this._time; + } + var labels = this.getLabelsArray(), + l = labels.length, + i; + for (i = 0; i < l; i++) { + if (labels[i].time > time) { + return labels[i].name; + } + } + return null; + }; + + p.getLabelBefore = function(time) { + if (time == null) { + time = this._time; + } + var labels = this.getLabelsArray(), + i = labels.length; + while (--i > -1) { + if (labels[i].time < time) { + return labels[i].name; + } + } + return null; + }; + + p.getLabelsArray = function() { + var a = [], + cnt = 0, + p; + for (p in this._labels) { + a[cnt++] = {time:this._labels[p], name:p}; + } + a.sort(function(a,b) { + return a.time - b.time; + }); + return a; + }; + + +//---- GETTERS / SETTERS ------------------------------------------------------------------------------------------------------- + + p.progress = function(value, suppressEvents) { + return (!arguments.length) ? this._time / this.duration() : this.totalTime( this.duration() * ((this._yoyo && (this._cycle & 1) !== 0) ? 1 - value : value) + (this._cycle * (this._duration + this._repeatDelay)), suppressEvents); + }; + + p.totalProgress = function(value, suppressEvents) { + return (!arguments.length) ? this._totalTime / this.totalDuration() : this.totalTime( this.totalDuration() * value, suppressEvents); + }; + + p.totalDuration = function(value) { + if (!arguments.length) { + if (this._dirty) { + TimelineLite.prototype.totalDuration.call(this); //just forces refresh + //Instead of Infinity, we use 999999999999 so that we can accommodate reverses. + this._totalDuration = (this._repeat === -1) ? 999999999999 : this._duration * (this._repeat + 1) + (this._repeatDelay * this._repeat); + } + return this._totalDuration; + } + return (this._repeat === -1) ? this : this.duration( (value - (this._repeat * this._repeatDelay)) / (this._repeat + 1) ); + }; + + p.time = function(value, suppressEvents) { + if (!arguments.length) { + return this._time; + } + if (this._dirty) { + this.totalDuration(); + } + if (value > this._duration) { + value = this._duration; + } + if (this._yoyo && (this._cycle & 1) !== 0) { + value = (this._duration - value) + (this._cycle * (this._duration + this._repeatDelay)); + } else if (this._repeat !== 0) { + value += this._cycle * (this._duration + this._repeatDelay); + } + return this.totalTime(value, suppressEvents); + }; + + p.repeat = function(value) { + if (!arguments.length) { + return this._repeat; + } + this._repeat = value; + return this._uncache(true); + }; + + p.repeatDelay = function(value) { + if (!arguments.length) { + return this._repeatDelay; + } + this._repeatDelay = value; + return this._uncache(true); + }; + + p.yoyo = function(value) { + if (!arguments.length) { + return this._yoyo; + } + this._yoyo = value; + return this; + }; + + p.currentLabel = function(value) { + if (!arguments.length) { + return this.getLabelBefore(this._time + 0.00000001); + } + return this.seek(value, true); + }; + + return TimelineMax; + + }, true); + + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * BezierPlugin + * ---------------------------------------------------------------- + */ + (function() { + + var _RAD2DEG = 180 / Math.PI, + _r1 = [], + _r2 = [], + _r3 = [], + _corProps = {}, + _globals = _gsScope._gsDefine.globals, + Segment = function(a, b, c, d) { + this.a = a; + this.b = b; + this.c = c; + this.d = d; + this.da = d - a; + this.ca = c - a; + this.ba = b - a; + }, + _correlate = ",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,", + cubicToQuadratic = function(a, b, c, d) { + var q1 = {a:a}, + q2 = {}, + q3 = {}, + q4 = {c:d}, + mab = (a + b) / 2, + mbc = (b + c) / 2, + mcd = (c + d) / 2, + mabc = (mab + mbc) / 2, + mbcd = (mbc + mcd) / 2, + m8 = (mbcd - mabc) / 8; + q1.b = mab + (a - mab) / 4; + q2.b = mabc + m8; + q1.c = q2.a = (q1.b + q2.b) / 2; + q2.c = q3.a = (mabc + mbcd) / 2; + q3.b = mbcd - m8; + q4.b = mcd + (d - mcd) / 4; + q3.c = q4.a = (q3.b + q4.b) / 2; + return [q1, q2, q3, q4]; + }, + _calculateControlPoints = function(a, curviness, quad, basic, correlate) { + var l = a.length - 1, + ii = 0, + cp1 = a[0].a, + i, p1, p2, p3, seg, m1, m2, mm, cp2, qb, r1, r2, tl; + for (i = 0; i < l; i++) { + seg = a[ii]; + p1 = seg.a; + p2 = seg.d; + p3 = a[ii+1].d; + + if (correlate) { + r1 = _r1[i]; + r2 = _r2[i]; + tl = ((r2 + r1) * curviness * 0.25) / (basic ? 0.5 : _r3[i] || 0.5); + m1 = p2 - (p2 - p1) * (basic ? curviness * 0.5 : (r1 !== 0 ? tl / r1 : 0)); + m2 = p2 + (p3 - p2) * (basic ? curviness * 0.5 : (r2 !== 0 ? tl / r2 : 0)); + mm = p2 - (m1 + (((m2 - m1) * ((r1 * 3 / (r1 + r2)) + 0.5) / 4) || 0)); + } else { + m1 = p2 - (p2 - p1) * curviness * 0.5; + m2 = p2 + (p3 - p2) * curviness * 0.5; + mm = p2 - (m1 + m2) / 2; + } + m1 += mm; + m2 += mm; + + seg.c = cp2 = m1; + if (i !== 0) { + seg.b = cp1; + } else { + seg.b = cp1 = seg.a + (seg.c - seg.a) * 0.6; //instead of placing b on a exactly, we move it inline with c so that if the user specifies an ease like Back.easeIn or Elastic.easeIn which goes BEYOND the beginning, it will do so smoothly. + } + + seg.da = p2 - p1; + seg.ca = cp2 - p1; + seg.ba = cp1 - p1; + + if (quad) { + qb = cubicToQuadratic(p1, cp1, cp2, p2); + a.splice(ii, 1, qb[0], qb[1], qb[2], qb[3]); + ii += 4; + } else { + ii++; + } + + cp1 = m2; + } + seg = a[ii]; + seg.b = cp1; + seg.c = cp1 + (seg.d - cp1) * 0.4; //instead of placing c on d exactly, we move it inline with b so that if the user specifies an ease like Back.easeOut or Elastic.easeOut which goes BEYOND the end, it will do so smoothly. + seg.da = seg.d - seg.a; + seg.ca = seg.c - seg.a; + seg.ba = cp1 - seg.a; + if (quad) { + qb = cubicToQuadratic(seg.a, cp1, seg.c, seg.d); + a.splice(ii, 1, qb[0], qb[1], qb[2], qb[3]); + } + }, + _parseAnchors = function(values, p, correlate, prepend) { + var a = [], + l, i, p1, p2, p3, tmp; + if (prepend) { + values = [prepend].concat(values); + i = values.length; + while (--i > -1) { + if (typeof( (tmp = values[i][p]) ) === "string") if (tmp.charAt(1) === "=") { + values[i][p] = prepend[p] + Number(tmp.charAt(0) + tmp.substr(2)); //accommodate relative values. Do it inline instead of breaking it out into a function for speed reasons + } + } + } + l = values.length - 2; + if (l < 0) { + a[0] = new Segment(values[0][p], 0, 0, values[(l < -1) ? 0 : 1][p]); + return a; + } + for (i = 0; i < l; i++) { + p1 = values[i][p]; + p2 = values[i+1][p]; + a[i] = new Segment(p1, 0, 0, p2); + if (correlate) { + p3 = values[i+2][p]; + _r1[i] = (_r1[i] || 0) + (p2 - p1) * (p2 - p1); + _r2[i] = (_r2[i] || 0) + (p3 - p2) * (p3 - p2); + } + } + a[i] = new Segment(values[i][p], 0, 0, values[i+1][p]); + return a; + }, + bezierThrough = function(values, curviness, quadratic, basic, correlate, prepend) { + var obj = {}, + props = [], + first = prepend || values[0], + i, p, a, j, r, l, seamless, last; + correlate = (typeof(correlate) === "string") ? ","+correlate+"," : _correlate; + if (curviness == null) { + curviness = 1; + } + for (p in values[0]) { + props.push(p); + } + //check to see if the last and first values are identical (well, within 0.05). If so, make seamless by appending the second element to the very end of the values array and the 2nd-to-last element to the very beginning (we'll remove those segments later) + if (values.length > 1) { + last = values[values.length - 1]; + seamless = true; + i = props.length; + while (--i > -1) { + p = props[i]; + if (Math.abs(first[p] - last[p]) > 0.05) { //build in a tolerance of +/-0.05 to accommodate rounding errors. For example, if you set an object's position to 4.945, Flash will make it 4.9 + seamless = false; + break; + } + } + if (seamless) { + values = values.concat(); //duplicate the array to avoid contaminating the original which the user may be reusing for other tweens + if (prepend) { + values.unshift(prepend); + } + values.push(values[1]); + prepend = values[values.length - 3]; + } + } + _r1.length = _r2.length = _r3.length = 0; + i = props.length; + while (--i > -1) { + p = props[i]; + _corProps[p] = (correlate.indexOf(","+p+",") !== -1); + obj[p] = _parseAnchors(values, p, _corProps[p], prepend); + } + i = _r1.length; + while (--i > -1) { + _r1[i] = Math.sqrt(_r1[i]); + _r2[i] = Math.sqrt(_r2[i]); + } + if (!basic) { + i = props.length; + while (--i > -1) { + if (_corProps[p]) { + a = obj[props[i]]; + l = a.length - 1; + for (j = 0; j < l; j++) { + r = a[j+1].da / _r2[j] + a[j].da / _r1[j]; + _r3[j] = (_r3[j] || 0) + r * r; + } + } + } + i = _r3.length; + while (--i > -1) { + _r3[i] = Math.sqrt(_r3[i]); + } + } + i = props.length; + j = quadratic ? 4 : 1; + while (--i > -1) { + p = props[i]; + a = obj[p]; + _calculateControlPoints(a, curviness, quadratic, basic, _corProps[p]); //this method requires that _parseAnchors() and _setSegmentRatios() ran first so that _r1, _r2, and _r3 values are populated for all properties + if (seamless) { + a.splice(0, j); + a.splice(a.length - j, j); + } + } + return obj; + }, + _parseBezierData = function(values, type, prepend) { + type = type || "soft"; + var obj = {}, + inc = (type === "cubic") ? 3 : 2, + soft = (type === "soft"), + props = [], + a, b, c, d, cur, i, j, l, p, cnt, tmp; + if (soft && prepend) { + values = [prepend].concat(values); + } + if (values == null || values.length < inc + 1) { throw "invalid Bezier data"; } + for (p in values[0]) { + props.push(p); + } + i = props.length; + while (--i > -1) { + p = props[i]; + obj[p] = cur = []; + cnt = 0; + l = values.length; + for (j = 0; j < l; j++) { + a = (prepend == null) ? values[j][p] : (typeof( (tmp = values[j][p]) ) === "string" && tmp.charAt(1) === "=") ? prepend[p] + Number(tmp.charAt(0) + tmp.substr(2)) : Number(tmp); + if (soft) if (j > 1) if (j < l - 1) { + cur[cnt++] = (a + cur[cnt-2]) / 2; + } + cur[cnt++] = a; + } + l = cnt - inc + 1; + cnt = 0; + for (j = 0; j < l; j += inc) { + a = cur[j]; + b = cur[j+1]; + c = cur[j+2]; + d = (inc === 2) ? 0 : cur[j+3]; + cur[cnt++] = tmp = (inc === 3) ? new Segment(a, b, c, d) : new Segment(a, (2 * b + a) / 3, (2 * b + c) / 3, c); + } + cur.length = cnt; + } + return obj; + }, + _addCubicLengths = function(a, steps, resolution) { + var inc = 1 / resolution, + j = a.length, + d, d1, s, da, ca, ba, p, i, inv, bez, index; + while (--j > -1) { + bez = a[j]; + s = bez.a; + da = bez.d - s; + ca = bez.c - s; + ba = bez.b - s; + d = d1 = 0; + for (i = 1; i <= resolution; i++) { + p = inc * i; + inv = 1 - p; + d = d1 - (d1 = (p * p * da + 3 * inv * (p * ca + inv * ba)) * p); + index = j * resolution + i - 1; + steps[index] = (steps[index] || 0) + d * d; + } + } + }, + _parseLengthData = function(obj, resolution) { + resolution = resolution >> 0 || 6; + var a = [], + lengths = [], + d = 0, + total = 0, + threshold = resolution - 1, + segments = [], + curLS = [], //current length segments array + p, i, l, index; + for (p in obj) { + _addCubicLengths(obj[p], a, resolution); + } + l = a.length; + for (i = 0; i < l; i++) { + d += Math.sqrt(a[i]); + index = i % resolution; + curLS[index] = d; + if (index === threshold) { + total += d; + index = (i / resolution) >> 0; + segments[index] = curLS; + lengths[index] = total; + d = 0; + curLS = []; + } + } + return {length:total, lengths:lengths, segments:segments}; + }, + + + + BezierPlugin = _gsScope._gsDefine.plugin({ + propName: "bezier", + priority: -1, + version: "1.3.4", + API: 2, + global:true, + + //gets called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, vars, tween) { + this._target = target; + if (vars instanceof Array) { + vars = {values:vars}; + } + this._func = {}; + this._round = {}; + this._props = []; + this._timeRes = (vars.timeResolution == null) ? 6 : parseInt(vars.timeResolution, 10); + var values = vars.values || [], + first = {}, + second = values[0], + autoRotate = vars.autoRotate || tween.vars.orientToBezier, + p, isFunc, i, j, prepend; + + this._autoRotate = autoRotate ? (autoRotate instanceof Array) ? autoRotate : [["x","y","rotation",((autoRotate === true) ? 0 : Number(autoRotate) || 0)]] : null; + for (p in second) { + this._props.push(p); + } + + i = this._props.length; + while (--i > -1) { + p = this._props[i]; + + this._overwriteProps.push(p); + isFunc = this._func[p] = (typeof(target[p]) === "function"); + first[p] = (!isFunc) ? parseFloat(target[p]) : target[ ((p.indexOf("set") || typeof(target["get" + p.substr(3)]) !== "function") ? p : "get" + p.substr(3)) ](); + if (!prepend) if (first[p] !== values[0][p]) { + prepend = first; + } + } + this._beziers = (vars.type !== "cubic" && vars.type !== "quadratic" && vars.type !== "soft") ? bezierThrough(values, isNaN(vars.curviness) ? 1 : vars.curviness, false, (vars.type === "thruBasic"), vars.correlate, prepend) : _parseBezierData(values, vars.type, first); + this._segCount = this._beziers[p].length; + + if (this._timeRes) { + var ld = _parseLengthData(this._beziers, this._timeRes); + this._length = ld.length; + this._lengths = ld.lengths; + this._segments = ld.segments; + this._l1 = this._li = this._s1 = this._si = 0; + this._l2 = this._lengths[0]; + this._curSeg = this._segments[0]; + this._s2 = this._curSeg[0]; + this._prec = 1 / this._curSeg.length; + } + + if ((autoRotate = this._autoRotate)) { + this._initialRotations = []; + if (!(autoRotate[0] instanceof Array)) { + this._autoRotate = autoRotate = [autoRotate]; + } + i = autoRotate.length; + while (--i > -1) { + for (j = 0; j < 3; j++) { + p = autoRotate[i][j]; + this._func[p] = (typeof(target[p]) === "function") ? target[ ((p.indexOf("set") || typeof(target["get" + p.substr(3)]) !== "function") ? p : "get" + p.substr(3)) ] : false; + } + p = autoRotate[i][2]; + this._initialRotations[i] = this._func[p] ? this._func[p].call(this._target) : this._target[p]; + } + } + this._startRatio = tween.vars.runBackwards ? 1 : 0; //we determine the starting ratio when the tween inits which is always 0 unless the tween has runBackwards:true (indicating it's a from() tween) in which case it's 1. + return true; + }, + + //called each time the values should be updated, and the ratio gets passed as the only parameter (typically it's a value between 0 and 1, but it can exceed those when using an ease like Elastic.easeOut or Back.easeOut, etc.) + set: function(v) { + var segments = this._segCount, + func = this._func, + target = this._target, + notStart = (v !== this._startRatio), + curIndex, inv, i, p, b, t, val, l, lengths, curSeg; + if (!this._timeRes) { + curIndex = (v < 0) ? 0 : (v >= 1) ? segments - 1 : (segments * v) >> 0; + t = (v - (curIndex * (1 / segments))) * segments; + } else { + lengths = this._lengths; + curSeg = this._curSeg; + v *= this._length; + i = this._li; + //find the appropriate segment (if the currently cached one isn't correct) + if (v > this._l2 && i < segments - 1) { + l = segments - 1; + while (i < l && (this._l2 = lengths[++i]) <= v) { } + this._l1 = lengths[i-1]; + this._li = i; + this._curSeg = curSeg = this._segments[i]; + this._s2 = curSeg[(this._s1 = this._si = 0)]; + } else if (v < this._l1 && i > 0) { + while (i > 0 && (this._l1 = lengths[--i]) >= v) { } + if (i === 0 && v < this._l1) { + this._l1 = 0; + } else { + i++; + } + this._l2 = lengths[i]; + this._li = i; + this._curSeg = curSeg = this._segments[i]; + this._s1 = curSeg[(this._si = curSeg.length - 1) - 1] || 0; + this._s2 = curSeg[this._si]; + } + curIndex = i; + //now find the appropriate sub-segment (we split it into the number of pieces that was defined by "precision" and measured each one) + v -= this._l1; + i = this._si; + if (v > this._s2 && i < curSeg.length - 1) { + l = curSeg.length - 1; + while (i < l && (this._s2 = curSeg[++i]) <= v) { } + this._s1 = curSeg[i-1]; + this._si = i; + } else if (v < this._s1 && i > 0) { + while (i > 0 && (this._s1 = curSeg[--i]) >= v) { } + if (i === 0 && v < this._s1) { + this._s1 = 0; + } else { + i++; + } + this._s2 = curSeg[i]; + this._si = i; + } + t = (i + (v - this._s1) / (this._s2 - this._s1)) * this._prec; + } + inv = 1 - t; + + i = this._props.length; + while (--i > -1) { + p = this._props[i]; + b = this._beziers[p][curIndex]; + val = (t * t * b.da + 3 * inv * (t * b.ca + inv * b.ba)) * t + b.a; + if (this._round[p]) { + val = Math.round(val); + } + if (func[p]) { + target[p](val); + } else { + target[p] = val; + } + } + + if (this._autoRotate) { + var ar = this._autoRotate, + b2, x1, y1, x2, y2, add, conv; + i = ar.length; + while (--i > -1) { + p = ar[i][2]; + add = ar[i][3] || 0; + conv = (ar[i][4] === true) ? 1 : _RAD2DEG; + b = this._beziers[ar[i][0]]; + b2 = this._beziers[ar[i][1]]; + + if (b && b2) { //in case one of the properties got overwritten. + b = b[curIndex]; + b2 = b2[curIndex]; + + x1 = b.a + (b.b - b.a) * t; + x2 = b.b + (b.c - b.b) * t; + x1 += (x2 - x1) * t; + x2 += ((b.c + (b.d - b.c) * t) - x2) * t; + + y1 = b2.a + (b2.b - b2.a) * t; + y2 = b2.b + (b2.c - b2.b) * t; + y1 += (y2 - y1) * t; + y2 += ((b2.c + (b2.d - b2.c) * t) - y2) * t; + + val = notStart ? Math.atan2(y2 - y1, x2 - x1) * conv + add : this._initialRotations[i]; + + if (func[p]) { + target[p](val); + } else { + target[p] = val; + } + } + } + } + } + }), + p = BezierPlugin.prototype; + + + BezierPlugin.bezierThrough = bezierThrough; + BezierPlugin.cubicToQuadratic = cubicToQuadratic; + BezierPlugin._autoCSS = true; //indicates that this plugin can be inserted into the "css" object using the autoCSS feature of TweenLite + BezierPlugin.quadraticToCubic = function(a, b, c) { + return new Segment(a, (2 * b + a) / 3, (2 * b + c) / 3, c); + }; + + BezierPlugin._cssRegister = function() { + var CSSPlugin = _globals.CSSPlugin; + if (!CSSPlugin) { + return; + } + var _internals = CSSPlugin._internals, + _parseToProxy = _internals._parseToProxy, + _setPluginRatio = _internals._setPluginRatio, + CSSPropTween = _internals.CSSPropTween; + _internals._registerComplexSpecialProp("bezier", {parser:function(t, e, prop, cssp, pt, plugin) { + if (e instanceof Array) { + e = {values:e}; + } + plugin = new BezierPlugin(); + var values = e.values, + l = values.length - 1, + pluginValues = [], + v = {}, + i, p, data; + if (l < 0) { + return pt; + } + for (i = 0; i <= l; i++) { + data = _parseToProxy(t, values[i], cssp, pt, plugin, (l !== i)); + pluginValues[i] = data.end; + } + for (p in e) { + v[p] = e[p]; //duplicate the vars object because we need to alter some things which would cause problems if the user plans to reuse the same vars object for another tween. + } + v.values = pluginValues; + pt = new CSSPropTween(t, "bezier", 0, 0, data.pt, 2); + pt.data = data; + pt.plugin = plugin; + pt.setRatio = _setPluginRatio; + if (v.autoRotate === 0) { + v.autoRotate = true; + } + if (v.autoRotate && !(v.autoRotate instanceof Array)) { + i = (v.autoRotate === true) ? 0 : Number(v.autoRotate); + v.autoRotate = (data.end.left != null) ? [["left","top","rotation",i,false]] : (data.end.x != null) ? [["x","y","rotation",i,false]] : false; + } + if (v.autoRotate) { + if (!cssp._transform) { + cssp._enableTransforms(false); + } + data.autoRotate = cssp._target._gsTransform; + } + plugin._onInitTween(data.proxy, v, cssp._tween); + return pt; + }}); + }; + + p._roundProps = function(lookup, value) { + var op = this._overwriteProps, + i = op.length; + while (--i > -1) { + if (lookup[op[i]] || lookup.bezier || lookup.bezierThrough) { + this._round[op[i]] = value; + } + } + }; + + p._kill = function(lookup) { + var a = this._props, + p, i; + for (p in this._beziers) { + if (p in lookup) { + delete this._beziers[p]; + delete this._func[p]; + i = a.length; + while (--i > -1) { + if (a[i] === p) { + a.splice(i, 1); + } + } + } + } + return this._super._kill.call(this, lookup); + }; + + }()); + + + + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * CSSPlugin + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin","TweenLite"], function(TweenPlugin, TweenLite) { + + /** @constructor **/ + var CSSPlugin = function() { + TweenPlugin.call(this, "css"); + this._overwriteProps.length = 0; + this.setRatio = CSSPlugin.prototype.setRatio; //speed optimization (avoid prototype lookup on this "hot" method) + }, + _globals = _gsScope._gsDefine.globals, + _hasPriority, //turns true whenever a CSSPropTween instance is created that has a priority other than 0. This helps us discern whether or not we should spend the time organizing the linked list or not after a CSSPlugin's _onInitTween() method is called. + _suffixMap, //we set this in _onInitTween() each time as a way to have a persistent variable we can use in other methods like _parse() without having to pass it around as a parameter and we keep _parse() decoupled from a particular CSSPlugin instance + _cs, //computed style (we store this in a shared variable to conserve memory and make minification tighter + _overwriteProps, //alias to the currently instantiating CSSPlugin's _overwriteProps array. We use this closure in order to avoid having to pass a reference around from method to method and aid in minification. + _specialProps = {}, + p = CSSPlugin.prototype = new TweenPlugin("css"); + + p.constructor = CSSPlugin; + CSSPlugin.version = "1.18.0"; + CSSPlugin.API = 2; + CSSPlugin.defaultTransformPerspective = 0; + CSSPlugin.defaultSkewType = "compensated"; + CSSPlugin.defaultSmoothOrigin = true; + p = "px"; //we'll reuse the "p" variable to keep file size down + CSSPlugin.suffixMap = {top:p, right:p, bottom:p, left:p, width:p, height:p, fontSize:p, padding:p, margin:p, perspective:p, lineHeight:""}; + + + var _numExp = /(?:\d|\-\d|\.\d|\-\.\d)+/g, + _relNumExp = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g, + _valuesExp = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi, //finds all the values that begin with numbers or += or -= and then a number. Includes suffixes. We use this to split complex values apart like "1px 5px 20px rgb(255,102,51)" + _NaNExp = /(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g, //also allows scientific notation and doesn't kill the leading -/+ in -= and += + _suffixExp = /(?:\d|\-|\+|=|#|\.)*/g, + _opacityExp = /opacity *= *([^)]*)/i, + _opacityValExp = /opacity:([^;]*)/i, + _alphaFilterExp = /alpha\(opacity *=.+?\)/i, + _rgbhslExp = /^(rgb|hsl)/, + _capsExp = /([A-Z])/g, + _camelExp = /-([a-z])/gi, + _urlExp = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi, //for pulling out urls from url(...) or url("...") strings (some browsers wrap urls in quotes, some don't when reporting things like backgroundImage) + _camelFunc = function(s, g) { return g.toUpperCase(); }, + _horizExp = /(?:Left|Right|Width)/i, + _ieGetMatrixExp = /(M11|M12|M21|M22)=[\d\-\.e]+/gi, + _ieSetMatrixExp = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i, + _commasOutsideParenExp = /,(?=[^\)]*(?:\(|$))/gi, //finds any commas that are not within parenthesis + _DEG2RAD = Math.PI / 180, + _RAD2DEG = 180 / Math.PI, + _forcePT = {}, + _doc = document, + _createElement = function(type) { + return _doc.createElementNS ? _doc.createElementNS("http://www.w3.org/1999/xhtml", type) : _doc.createElement(type); + }, + _tempDiv = _createElement("div"), + _tempImg = _createElement("img"), + _internals = CSSPlugin._internals = {_specialProps:_specialProps}, //provides a hook to a few internal methods that we need to access from inside other plugins + _agent = navigator.userAgent, + _autoRound, + _reqSafariFix, //we won't apply the Safari transform fix until we actually come across a tween that affects a transform property (to maintain best performance). + + _isSafari, + _isFirefox, //Firefox has a bug that causes 3D transformed elements to randomly disappear unless a repaint is forced after each update on each element. + _isSafariLT6, //Safari (and Android 4 which uses a flavor of Safari) has a bug that prevents changes to "top" and "left" properties from rendering properly if changed on the same frame as a transform UNLESS we set the element's WebkitBackfaceVisibility to hidden (weird, I know). Doing this for Android 3 and earlier seems to actually cause other problems, though (fun!) + _ieVers, + _supportsOpacity = (function() { //we set _isSafari, _ieVers, _isFirefox, and _supportsOpacity all in one function here to reduce file size slightly, especially in the minified version. + var i = _agent.indexOf("Android"), + a = _createElement("a"); + _isSafari = (_agent.indexOf("Safari") !== -1 && _agent.indexOf("Chrome") === -1 && (i === -1 || Number(_agent.substr(i+8, 1)) > 3)); + _isSafariLT6 = (_isSafari && (Number(_agent.substr(_agent.indexOf("Version/")+8, 1)) < 6)); + _isFirefox = (_agent.indexOf("Firefox") !== -1); + if ((/MSIE ([0-9]{1,}[\.0-9]{0,})/).exec(_agent) || (/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/).exec(_agent)) { + _ieVers = parseFloat( RegExp.$1 ); + } + if (!a) { + return false; + } + a.style.cssText = "top:1px;opacity:.55;"; + return /^0.55/.test(a.style.opacity); + }()), + _getIEOpacity = function(v) { + return (_opacityExp.test( ((typeof(v) === "string") ? v : (v.currentStyle ? v.currentStyle.filter : v.style.filter) || "") ) ? ( parseFloat( RegExp.$1 ) / 100 ) : 1); + }, + _log = function(s) {//for logging messages, but in a way that won't throw errors in old versions of IE. + if (window.console) { + console.log(s); + } + }, + + _prefixCSS = "", //the non-camelCase vendor prefix like "-o-", "-moz-", "-ms-", or "-webkit-" + _prefix = "", //camelCase vendor prefix like "O", "ms", "Webkit", or "Moz". + + // @private feed in a camelCase property name like "transform" and it will check to see if it is valid as-is or if it needs a vendor prefix. It returns the corrected camelCase property name (i.e. "WebkitTransform" or "MozTransform" or "transform" or null if no such property is found, like if the browser is IE8 or before, "transform" won't be found at all) + _checkPropPrefix = function(p, e) { + e = e || _tempDiv; + var s = e.style, + a, i; + if (s[p] !== undefined) { + return p; + } + p = p.charAt(0).toUpperCase() + p.substr(1); + a = ["O","Moz","ms","Ms","Webkit"]; + i = 5; + while (--i > -1 && s[a[i]+p] === undefined) { } + if (i >= 0) { + _prefix = (i === 3) ? "ms" : a[i]; + _prefixCSS = "-" + _prefix.toLowerCase() + "-"; + return _prefix + p; + } + return null; + }, + + _getComputedStyle = _doc.defaultView ? _doc.defaultView.getComputedStyle : function() {}, + + /** + * @private Returns the css style for a particular property of an element. For example, to get whatever the current "left" css value for an element with an ID of "myElement", you could do: + * var currentLeft = CSSPlugin.getStyle( document.getElementById("myElement"), "left"); + * + * @param {!Object} t Target element whose style property you want to query + * @param {!string} p Property name (like "left" or "top" or "marginTop", etc.) + * @param {Object=} cs Computed style object. This just provides a way to speed processing if you're going to get several properties on the same element in quick succession - you can reuse the result of the getComputedStyle() call. + * @param {boolean=} calc If true, the value will not be read directly from the element's "style" property (if it exists there), but instead the getComputedStyle() result will be used. This can be useful when you want to ensure that the browser itself is interpreting the value. + * @param {string=} dflt Default value that should be returned in the place of null, "none", "auto" or "auto auto". + * @return {?string} The current property value + */ + _getStyle = CSSPlugin.getStyle = function(t, p, cs, calc, dflt) { + var rv; + if (!_supportsOpacity) if (p === "opacity") { //several versions of IE don't use the standard "opacity" property - they use things like filter:alpha(opacity=50), so we parse that here. + return _getIEOpacity(t); + } + if (!calc && t.style[p]) { + rv = t.style[p]; + } else if ((cs = cs || _getComputedStyle(t))) { + rv = cs[p] || cs.getPropertyValue(p) || cs.getPropertyValue(p.replace(_capsExp, "-$1").toLowerCase()); + } else if (t.currentStyle) { + rv = t.currentStyle[p]; + } + return (dflt != null && (!rv || rv === "none" || rv === "auto" || rv === "auto auto")) ? dflt : rv; + }, + + /** + * @private Pass the target element, the property name, the numeric value, and the suffix (like "%", "em", "px", etc.) and it will spit back the equivalent pixel number. + * @param {!Object} t Target element + * @param {!string} p Property name (like "left", "top", "marginLeft", etc.) + * @param {!number} v Value + * @param {string=} sfx Suffix (like "px" or "%" or "em") + * @param {boolean=} recurse If true, the call is a recursive one. In some browsers (like IE7/8), occasionally the value isn't accurately reported initially, but if we run the function again it will take effect. + * @return {number} value in pixels + */ + _convertToPixels = _internals.convertToPixels = function(t, p, v, sfx, recurse) { + if (sfx === "px" || !sfx) { return v; } + if (sfx === "auto" || !v) { return 0; } + var horiz = _horizExp.test(p), + node = t, + style = _tempDiv.style, + neg = (v < 0), + pix, cache, time; + if (neg) { + v = -v; + } + if (sfx === "%" && p.indexOf("border") !== -1) { + pix = (v / 100) * (horiz ? t.clientWidth : t.clientHeight); + } else { + style.cssText = "border:0 solid red;position:" + _getStyle(t, "position") + ";line-height:0;"; + if (sfx === "%" || !node.appendChild || sfx.charAt(0) === "v" || sfx === "rem") { + node = t.parentNode || _doc.body; + cache = node._gsCache; + time = TweenLite.ticker.frame; + if (cache && horiz && cache.time === time) { //performance optimization: we record the width of elements along with the ticker frame so that we can quickly get it again on the same tick (seems relatively safe to assume it wouldn't change on the same tick) + return cache.width * v / 100; + } + style[(horiz ? "width" : "height")] = v + sfx; + } else { + style[(horiz ? "borderLeftWidth" : "borderTopWidth")] = v + sfx; + } + node.appendChild(_tempDiv); + pix = parseFloat(_tempDiv[(horiz ? "offsetWidth" : "offsetHeight")]); + node.removeChild(_tempDiv); + if (horiz && sfx === "%" && CSSPlugin.cacheWidths !== false) { + cache = node._gsCache = node._gsCache || {}; + cache.time = time; + cache.width = pix / v * 100; + } + if (pix === 0 && !recurse) { + pix = _convertToPixels(t, p, v, sfx, true); + } + } + return neg ? -pix : pix; + }, + _calculateOffset = _internals.calculateOffset = function(t, p, cs) { //for figuring out "top" or "left" in px when it's "auto". We need to factor in margin with the offsetLeft/offsetTop + if (_getStyle(t, "position", cs) !== "absolute") { return 0; } + var dim = ((p === "left") ? "Left" : "Top"), + v = _getStyle(t, "margin" + dim, cs); + return t["offset" + dim] - (_convertToPixels(t, p, parseFloat(v), v.replace(_suffixExp, "")) || 0); + }, + + // @private returns at object containing ALL of the style properties in camelCase and their associated values. + _getAllStyles = function(t, cs) { + var s = {}, + i, tr, p; + if ((cs = cs || _getComputedStyle(t, null))) { + if ((i = cs.length)) { + while (--i > -1) { + p = cs[i]; + if (p.indexOf("-transform") === -1 || _transformPropCSS === p) { //Some webkit browsers duplicate transform values, one non-prefixed and one prefixed ("transform" and "WebkitTransform"), so we must weed out the extra one here. + s[p.replace(_camelExp, _camelFunc)] = cs.getPropertyValue(p); + } + } + } else { //some browsers behave differently - cs.length is always 0, so we must do a for...in loop. + for (i in cs) { + if (i.indexOf("Transform") === -1 || _transformProp === i) { //Some webkit browsers duplicate transform values, one non-prefixed and one prefixed ("transform" and "WebkitTransform"), so we must weed out the extra one here. + s[i] = cs[i]; + } + } + } + } else if ((cs = t.currentStyle || t.style)) { + for (i in cs) { + if (typeof(i) === "string" && s[i] === undefined) { + s[i.replace(_camelExp, _camelFunc)] = cs[i]; + } + } + } + if (!_supportsOpacity) { + s.opacity = _getIEOpacity(t); + } + tr = _getTransform(t, cs, false); + s.rotation = tr.rotation; + s.skewX = tr.skewX; + s.scaleX = tr.scaleX; + s.scaleY = tr.scaleY; + s.x = tr.x; + s.y = tr.y; + if (_supports3D) { + s.z = tr.z; + s.rotationX = tr.rotationX; + s.rotationY = tr.rotationY; + s.scaleZ = tr.scaleZ; + } + if (s.filters) { + delete s.filters; + } + return s; + }, + + // @private analyzes two style objects (as returned by _getAllStyles()) and only looks for differences between them that contain tweenable values (like a number or color). It returns an object with a "difs" property which refers to an object containing only those isolated properties and values for tweening, and a "firstMPT" property which refers to the first MiniPropTween instance in a linked list that recorded all the starting values of the different properties so that we can revert to them at the end or beginning of the tween - we don't want the cascading to get messed up. The forceLookup parameter is an optional generic object with properties that should be forced into the results - this is necessary for className tweens that are overwriting others because imagine a scenario where a rollover/rollout adds/removes a class and the user swipes the mouse over the target SUPER fast, thus nothing actually changed yet and the subsequent comparison of the properties would indicate they match (especially when px rounding is taken into consideration), thus no tweening is necessary even though it SHOULD tween and remove those properties after the tween (otherwise the inline styles will contaminate things). See the className SpecialProp code for details. + _cssDif = function(t, s1, s2, vars, forceLookup) { + var difs = {}, + style = t.style, + val, p, mpt; + for (p in s2) { + if (p !== "cssText") if (p !== "length") if (isNaN(p)) if (s1[p] !== (val = s2[p]) || (forceLookup && forceLookup[p])) if (p.indexOf("Origin") === -1) if (typeof(val) === "number" || typeof(val) === "string") { + difs[p] = (val === "auto" && (p === "left" || p === "top")) ? _calculateOffset(t, p) : ((val === "" || val === "auto" || val === "none") && typeof(s1[p]) === "string" && s1[p].replace(_NaNExp, "") !== "") ? 0 : val; //if the ending value is defaulting ("" or "auto"), we check the starting value and if it can be parsed into a number (a string which could have a suffix too, like 700px), then we swap in 0 for "" or "auto" so that things actually tween. + if (style[p] !== undefined) { //for className tweens, we must remember which properties already existed inline - the ones that didn't should be removed when the tween isn't in progress because they were only introduced to facilitate the transition between classes. + mpt = new MiniPropTween(style, p, style[p], mpt); + } + } + } + if (vars) { + for (p in vars) { //copy properties (except className) + if (p !== "className") { + difs[p] = vars[p]; + } + } + } + return {difs:difs, firstMPT:mpt}; + }, + _dimensions = {width:["Left","Right"], height:["Top","Bottom"]}, + _margins = ["marginLeft","marginRight","marginTop","marginBottom"], + + /** + * @private Gets the width or height of an element + * @param {!Object} t Target element + * @param {!string} p Property name ("width" or "height") + * @param {Object=} cs Computed style object (if one exists). Just a speed optimization. + * @return {number} Dimension (in pixels) + */ + _getDimension = function(t, p, cs) { + var v = parseFloat((p === "width") ? t.offsetWidth : t.offsetHeight), + a = _dimensions[p], + i = a.length; + cs = cs || _getComputedStyle(t, null); + while (--i > -1) { + v -= parseFloat( _getStyle(t, "padding" + a[i], cs, true) ) || 0; + v -= parseFloat( _getStyle(t, "border" + a[i] + "Width", cs, true) ) || 0; + } + return v; + }, + + // @private Parses position-related complex strings like "top left" or "50px 10px" or "70% 20%", etc. which are used for things like transformOrigin or backgroundPosition. Optionally decorates a supplied object (recObj) with the following properties: "ox" (offsetX), "oy" (offsetY), "oxp" (if true, "ox" is a percentage not a pixel value), and "oxy" (if true, "oy" is a percentage not a pixel value) + _parsePosition = function(v, recObj) { + if (v === "contain" || v === "auto" || v === "auto auto") { + return v + " "; + } + if (v == null || v === "") { //note: Firefox uses "auto auto" as default whereas Chrome uses "auto". + v = "0 0"; + } + var a = v.split(" "), + x = (v.indexOf("left") !== -1) ? "0%" : (v.indexOf("right") !== -1) ? "100%" : a[0], + y = (v.indexOf("top") !== -1) ? "0%" : (v.indexOf("bottom") !== -1) ? "100%" : a[1]; + if (y == null) { + y = (x === "center") ? "50%" : "0"; + } else if (y === "center") { + y = "50%"; + } + if (x === "center" || (isNaN(parseFloat(x)) && (x + "").indexOf("=") === -1)) { //remember, the user could flip-flop the values and say "bottom center" or "center bottom", etc. "center" is ambiguous because it could be used to describe horizontal or vertical, hence the isNaN(). If there's an "=" sign in the value, it's relative. + x = "50%"; + } + v = x + " " + y + ((a.length > 2) ? " " + a[2] : ""); + if (recObj) { + recObj.oxp = (x.indexOf("%") !== -1); + recObj.oyp = (y.indexOf("%") !== -1); + recObj.oxr = (x.charAt(1) === "="); + recObj.oyr = (y.charAt(1) === "="); + recObj.ox = parseFloat(x.replace(_NaNExp, "")); + recObj.oy = parseFloat(y.replace(_NaNExp, "")); + recObj.v = v; + } + return recObj || v; + }, + + /** + * @private Takes an ending value (typically a string, but can be a number) and a starting value and returns the change between the two, looking for relative value indicators like += and -= and it also ignores suffixes (but make sure the ending value starts with a number or +=/-= and that the starting value is a NUMBER!) + * @param {(number|string)} e End value which is typically a string, but could be a number + * @param {(number|string)} b Beginning value which is typically a string but could be a number + * @return {number} Amount of change between the beginning and ending values (relative values that have a "+=" or "-=" are recognized) + */ + _parseChange = function(e, b) { + return (typeof(e) === "string" && e.charAt(1) === "=") ? parseInt(e.charAt(0) + "1", 10) * parseFloat(e.substr(2)) : parseFloat(e) - parseFloat(b); + }, + + /** + * @private Takes a value and a default number, checks if the value is relative, null, or numeric and spits back a normalized number accordingly. Primarily used in the _parseTransform() function. + * @param {Object} v Value to be parsed + * @param {!number} d Default value (which is also used for relative calculations if "+=" or "-=" is found in the first parameter) + * @return {number} Parsed value + */ + _parseVal = function(v, d) { + return (v == null) ? d : (typeof(v) === "string" && v.charAt(1) === "=") ? parseInt(v.charAt(0) + "1", 10) * parseFloat(v.substr(2)) + d : parseFloat(v); + }, + + /** + * @private Translates strings like "40deg" or "40" or 40rad" or "+=40deg" or "270_short" or "-90_cw" or "+=45_ccw" to a numeric radian angle. Of course a starting/default value must be fed in too so that relative values can be calculated properly. + * @param {Object} v Value to be parsed + * @param {!number} d Default value (which is also used for relative calculations if "+=" or "-=" is found in the first parameter) + * @param {string=} p property name for directionalEnd (optional - only used when the parsed value is directional ("_short", "_cw", or "_ccw" suffix). We need a way to store the uncompensated value so that at the end of the tween, we set it to exactly what was requested with no directional compensation). Property name would be "rotation", "rotationX", or "rotationY" + * @param {Object=} directionalEnd An object that will store the raw end values for directional angles ("_short", "_cw", or "_ccw" suffix). We need a way to store the uncompensated value so that at the end of the tween, we set it to exactly what was requested with no directional compensation. + * @return {number} parsed angle in radians + */ + _parseAngle = function(v, d, p, directionalEnd) { + var min = 0.000001, + cap, split, dif, result, isRelative; + if (v == null) { + result = d; + } else if (typeof(v) === "number") { + result = v; + } else { + cap = 360; + split = v.split("_"); + isRelative = (v.charAt(1) === "="); + dif = (isRelative ? parseInt(v.charAt(0) + "1", 10) * parseFloat(split[0].substr(2)) : parseFloat(split[0])) * ((v.indexOf("rad") === -1) ? 1 : _RAD2DEG) - (isRelative ? 0 : d); + if (split.length) { + if (directionalEnd) { + directionalEnd[p] = d + dif; + } + if (v.indexOf("short") !== -1) { + dif = dif % cap; + if (dif !== dif % (cap / 2)) { + dif = (dif < 0) ? dif + cap : dif - cap; + } + } + if (v.indexOf("_cw") !== -1 && dif < 0) { + dif = ((dif + cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } else if (v.indexOf("ccw") !== -1 && dif > 0) { + dif = ((dif - cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } + } + result = d + dif; + } + if (result < min && result > -min) { + result = 0; + } + return result; + }, + + _colorLookup = {aqua:[0,255,255], + lime:[0,255,0], + silver:[192,192,192], + black:[0,0,0], + maroon:[128,0,0], + teal:[0,128,128], + blue:[0,0,255], + navy:[0,0,128], + white:[255,255,255], + fuchsia:[255,0,255], + olive:[128,128,0], + yellow:[255,255,0], + orange:[255,165,0], + gray:[128,128,128], + purple:[128,0,128], + green:[0,128,0], + red:[255,0,0], + pink:[255,192,203], + cyan:[0,255,255], + transparent:[255,255,255,0]}, + + _hue = function(h, m1, m2) { + h = (h < 0) ? h + 1 : (h > 1) ? h - 1 : h; + return ((((h * 6 < 1) ? m1 + (m2 - m1) * h * 6 : (h < 0.5) ? m2 : (h * 3 < 2) ? m1 + (m2 - m1) * (2 / 3 - h) * 6 : m1) * 255) + 0.5) | 0; + }, + + /** + * @private Parses a color (like #9F0, #FF9900, rgb(255,51,153) or hsl(108, 50%, 10%)) into an array with 3 elements for red, green, and blue or if toHSL parameter is true, it will populate the array with hue, saturation, and lightness values. If a relative value is found in an hsl() or hsla() string, it will preserve those relative prefixes and all the values in the array will be strings instead of numbers (in all other cases it will be populated with numbers). + * @param {(string|number)} v The value the should be parsed which could be a string like #9F0 or rgb(255,102,51) or rgba(255,0,0,0.5) or it could be a number like 0xFF00CC or even a named color like red, blue, purple, etc. + * @param {(boolean)} toHSL If true, an hsl() or hsla() value will be returned instead of rgb() or rgba() + * @return {Array.} An array containing red, green, and blue (and optionally alpha) in that order, or if the toHSL parameter was true, the array will contain hue, saturation and lightness (and optionally alpha) in that order. Always numbers unless there's a relative prefix found in an hsl() or hsla() string and toHSL is true. + */ + _parseColor = CSSPlugin.parseColor = function(v, toHSL) { + var a, r, g, b, h, s, l, max, min, d, wasHSL; + if (!v) { + a = _colorLookup.black; + } else if (typeof(v) === "number") { + a = [v >> 16, (v >> 8) & 255, v & 255]; + } else { + if (v.charAt(v.length - 1) === ",") { //sometimes a trailing comma is included and we should chop it off (typically from a comma-delimited list of values like a textShadow:"2px 2px 2px blue, 5px 5px 5px rgb(255,0,0)" - in this example "blue," has a trailing comma. We could strip it out inside parseComplex() but we'd need to do it to the beginning and ending values plus it wouldn't provide protection from other potential scenarios like if the user passes in a similar value. + v = v.substr(0, v.length - 1); + } + if (_colorLookup[v]) { + a = _colorLookup[v]; + } else if (v.charAt(0) === "#") { + if (v.length === 4) { //for shorthand like #9F0 + r = v.charAt(1); + g = v.charAt(2); + b = v.charAt(3); + v = "#" + r + r + g + g + b + b; + } + v = parseInt(v.substr(1), 16); + a = [v >> 16, (v >> 8) & 255, v & 255]; + } else if (v.substr(0, 3) === "hsl") { + a = wasHSL = v.match(_numExp); + if (!toHSL) { + h = (Number(a[0]) % 360) / 360; + s = Number(a[1]) / 100; + l = Number(a[2]) / 100; + g = (l <= 0.5) ? l * (s + 1) : l + s - l * s; + r = l * 2 - g; + if (a.length > 3) { + a[3] = Number(v[3]); + } + a[0] = _hue(h + 1 / 3, r, g); + a[1] = _hue(h, r, g); + a[2] = _hue(h - 1 / 3, r, g); + } else if (v.indexOf("=") !== -1) { //if relative values are found, just return the raw strings with the relative prefixes in place. + return v.match(_relNumExp); + } + } else { + a = v.match(_numExp) || _colorLookup.transparent; + } + a[0] = Number(a[0]); + a[1] = Number(a[1]); + a[2] = Number(a[2]); + if (a.length > 3) { + a[3] = Number(a[3]); + } + } + if (toHSL && !wasHSL) { + r = a[0] / 255; + g = a[1] / 255; + b = a[2] / 255; + max = Math.max(r, g, b); + min = Math.min(r, g, b); + l = (max + min) / 2; + if (max === min) { + h = s = 0; + } else { + d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + h = (max === r) ? (g - b) / d + (g < b ? 6 : 0) : (max === g) ? (b - r) / d + 2 : (r - g) / d + 4; + h *= 60; + } + a[0] = (h + 0.5) | 0; + a[1] = (s * 100 + 0.5) | 0; + a[2] = (l * 100 + 0.5) | 0; + } + return a; + }, + _formatColors = function(s, toHSL) { + var colors = s.match(_colorExp) || [], + charIndex = 0, + parsed = colors.length ? "" : s, + i, color, temp; + for (i = 0; i < colors.length; i++) { + color = colors[i]; + temp = s.substr(charIndex, s.indexOf(color, charIndex)-charIndex); + charIndex += temp.length + color.length; + color = _parseColor(color, toHSL); + if (color.length === 3) { + color.push(1); + } + parsed += temp + (toHSL ? "hsla(" + color[0] + "," + color[1] + "%," + color[2] + "%," + color[3] : "rgba(" + color.join(",")) + ")"; + } + return parsed; + }, + _colorExp = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b"; //we'll dynamically build this Regular Expression to conserve file size. After building it, it will be able to find rgb(), rgba(), # (hexadecimal), and named color values like red, blue, purple, etc. + + for (p in _colorLookup) { + _colorExp += "|" + p + "\\b"; + } + _colorExp = new RegExp(_colorExp+")", "gi"); + + CSSPlugin.colorStringFilter = function(a) { + var combined = a[0] + a[1], + toHSL; + _colorExp.lastIndex = 0; + if (_colorExp.test(combined)) { + toHSL = (combined.indexOf("hsl(") !== -1 || combined.indexOf("hsla(") !== -1); + a[0] = _formatColors(a[0], toHSL); + a[1] = _formatColors(a[1], toHSL); + } + }; + + if (!TweenLite.defaultStringFilter) { + TweenLite.defaultStringFilter = CSSPlugin.colorStringFilter; + } + + /** + * @private Returns a formatter function that handles taking a string (or number in some cases) and returning a consistently formatted one in terms of delimiters, quantity of values, etc. For example, we may get boxShadow values defined as "0px red" or "0px 0px 10px rgb(255,0,0)" or "0px 0px 20px 20px #F00" and we need to ensure that what we get back is described with 4 numbers and a color. This allows us to feed it into the _parseComplex() method and split the values up appropriately. The neat thing about this _getFormatter() function is that the dflt defines a pattern as well as a default, so for example, _getFormatter("0px 0px 0px 0px #777", true) not only sets the default as 0px for all distances and #777 for the color, but also sets the pattern such that 4 numbers and a color will always get returned. + * @param {!string} dflt The default value and pattern to follow. So "0px 0px 0px 0px #777" will ensure that 4 numbers and a color will always get returned. + * @param {boolean=} clr If true, the values should be searched for color-related data. For example, boxShadow values typically contain a color whereas borderRadius don't. + * @param {boolean=} collapsible If true, the value is a top/left/right/bottom style one that acts like margin or padding, where if only one value is received, it's used for all 4; if 2 are received, the first is duplicated for 3rd (bottom) and the 2nd is duplicated for the 4th spot (left), etc. + * @return {Function} formatter function + */ + var _getFormatter = function(dflt, clr, collapsible, multi) { + if (dflt == null) { + return function(v) {return v;}; + } + var dColor = clr ? (dflt.match(_colorExp) || [""])[0] : "", + dVals = dflt.split(dColor).join("").match(_valuesExp) || [], + pfx = dflt.substr(0, dflt.indexOf(dVals[0])), + sfx = (dflt.charAt(dflt.length - 1) === ")") ? ")" : "", + delim = (dflt.indexOf(" ") !== -1) ? " " : ",", + numVals = dVals.length, + dSfx = (numVals > 0) ? dVals[0].replace(_numExp, "") : "", + formatter; + if (!numVals) { + return function(v) {return v;}; + } + if (clr) { + formatter = function(v) { + var color, vals, i, a; + if (typeof(v) === "number") { + v += dSfx; + } else if (multi && _commasOutsideParenExp.test(v)) { + a = v.replace(_commasOutsideParenExp, "|").split("|"); + for (i = 0; i < a.length; i++) { + a[i] = formatter(a[i]); + } + return a.join(","); + } + color = (v.match(_colorExp) || [dColor])[0]; + vals = v.split(color).join("").match(_valuesExp) || []; + i = vals.length; + if (numVals > i--) { + while (++i < numVals) { + vals[i] = collapsible ? vals[(((i - 1) / 2) | 0)] : dVals[i]; + } + } + return pfx + vals.join(delim) + delim + color + sfx + (v.indexOf("inset") !== -1 ? " inset" : ""); + }; + return formatter; + + } + formatter = function(v) { + var vals, a, i; + if (typeof(v) === "number") { + v += dSfx; + } else if (multi && _commasOutsideParenExp.test(v)) { + a = v.replace(_commasOutsideParenExp, "|").split("|"); + for (i = 0; i < a.length; i++) { + a[i] = formatter(a[i]); + } + return a.join(","); + } + vals = v.match(_valuesExp) || []; + i = vals.length; + if (numVals > i--) { + while (++i < numVals) { + vals[i] = collapsible ? vals[(((i - 1) / 2) | 0)] : dVals[i]; + } + } + return pfx + vals.join(delim) + sfx; + }; + return formatter; + }, + + /** + * @private returns a formatter function that's used for edge-related values like marginTop, marginLeft, paddingBottom, paddingRight, etc. Just pass a comma-delimited list of property names related to the edges. + * @param {!string} props a comma-delimited list of property names in order from top to left, like "marginTop,marginRight,marginBottom,marginLeft" + * @return {Function} a formatter function + */ + _getEdgeParser = function(props) { + props = props.split(","); + return function(t, e, p, cssp, pt, plugin, vars) { + var a = (e + "").split(" "), + i; + vars = {}; + for (i = 0; i < 4; i++) { + vars[props[i]] = a[i] = a[i] || a[(((i - 1) / 2) >> 0)]; + } + return cssp.parse(t, vars, pt, plugin); + }; + }, + + // @private used when other plugins must tween values first, like BezierPlugin or ThrowPropsPlugin, etc. That plugin's setRatio() gets called first so that the values are updated, and then we loop through the MiniPropTweens which handle copying the values into their appropriate slots so that they can then be applied correctly in the main CSSPlugin setRatio() method. Remember, we typically create a proxy object that has a bunch of uniquely-named properties that we feed to the sub-plugin and it does its magic normally, and then we must interpret those values and apply them to the css because often numbers must get combined/concatenated, suffixes added, etc. to work with css, like boxShadow could have 4 values plus a color. + _setPluginRatio = _internals._setPluginRatio = function(v) { + this.plugin.setRatio(v); + var d = this.data, + proxy = d.proxy, + mpt = d.firstMPT, + min = 0.000001, + val, pt, i, str; + while (mpt) { + val = proxy[mpt.v]; + if (mpt.r) { + val = Math.round(val); + } else if (val < min && val > -min) { + val = 0; + } + mpt.t[mpt.p] = val; + mpt = mpt._next; + } + if (d.autoRotate) { + d.autoRotate.rotation = proxy.rotation; + } + //at the end, we must set the CSSPropTween's "e" (end) value dynamically here because that's what is used in the final setRatio() method. + if (v === 1) { + mpt = d.firstMPT; + while (mpt) { + pt = mpt.t; + if (!pt.type) { + pt.e = pt.s + pt.xs0; + } else if (pt.type === 1) { + str = pt.xs0 + pt.s + pt.xs1; + for (i = 1; i < pt.l; i++) { + str += pt["xn"+i] + pt["xs"+(i+1)]; + } + pt.e = str; + } + mpt = mpt._next; + } + } + }, + + /** + * @private @constructor Used by a few SpecialProps to hold important values for proxies. For example, _parseToProxy() creates a MiniPropTween instance for each property that must get tweened on the proxy, and we record the original property name as well as the unique one we create for the proxy, plus whether or not the value needs to be rounded plus the original value. + * @param {!Object} t target object whose property we're tweening (often a CSSPropTween) + * @param {!string} p property name + * @param {(number|string|object)} v value + * @param {MiniPropTween=} next next MiniPropTween in the linked list + * @param {boolean=} r if true, the tweened value should be rounded to the nearest integer + */ + MiniPropTween = function(t, p, v, next, r) { + this.t = t; + this.p = p; + this.v = v; + this.r = r; + if (next) { + next._prev = this; + this._next = next; + } + }, + + /** + * @private Most other plugins (like BezierPlugin and ThrowPropsPlugin and others) can only tween numeric values, but CSSPlugin must accommodate special values that have a bunch of extra data (like a suffix or strings between numeric values, etc.). For example, boxShadow has values like "10px 10px 20px 30px rgb(255,0,0)" which would utterly confuse other plugins. This method allows us to split that data apart and grab only the numeric data and attach it to uniquely-named properties of a generic proxy object ({}) so that we can feed that to virtually any plugin to have the numbers tweened. However, we must also keep track of which properties from the proxy go with which CSSPropTween values and instances. So we create a linked list of MiniPropTweens. Each one records a target (the original CSSPropTween), property (like "s" or "xn1" or "xn2") that we're tweening and the unique property name that was used for the proxy (like "boxShadow_xn1" and "boxShadow_xn2") and whether or not they need to be rounded. That way, in the _setPluginRatio() method we can simply copy the values over from the proxy to the CSSPropTween instance(s). Then, when the main CSSPlugin setRatio() method runs and applies the CSSPropTween values accordingly, they're updated nicely. So the external plugin tweens the numbers, _setPluginRatio() copies them over, and setRatio() acts normally, applying css-specific values to the element. + * This method returns an object that has the following properties: + * - proxy: a generic object containing the starting values for all the properties that will be tweened by the external plugin. This is what we feed to the external _onInitTween() as the target + * - end: a generic object containing the ending values for all the properties that will be tweened by the external plugin. This is what we feed to the external plugin's _onInitTween() as the destination values + * - firstMPT: the first MiniPropTween in the linked list + * - pt: the first CSSPropTween in the linked list that was created when parsing. If shallow is true, this linked list will NOT attach to the one passed into the _parseToProxy() as the "pt" (4th) parameter. + * @param {!Object} t target object to be tweened + * @param {!(Object|string)} vars the object containing the information about the tweening values (typically the end/destination values) that should be parsed + * @param {!CSSPlugin} cssp The CSSPlugin instance + * @param {CSSPropTween=} pt the next CSSPropTween in the linked list + * @param {TweenPlugin=} plugin the external TweenPlugin instance that will be handling tweening the numeric values + * @param {boolean=} shallow if true, the resulting linked list from the parse will NOT be attached to the CSSPropTween that was passed in as the "pt" (4th) parameter. + * @return An object containing the following properties: proxy, end, firstMPT, and pt (see above for descriptions) + */ + _parseToProxy = _internals._parseToProxy = function(t, vars, cssp, pt, plugin, shallow) { + var bpt = pt, + start = {}, + end = {}, + transform = cssp._transform, + oldForce = _forcePT, + i, p, xp, mpt, firstPT; + cssp._transform = null; + _forcePT = vars; + pt = firstPT = cssp.parse(t, vars, pt, plugin); + _forcePT = oldForce; + //break off from the linked list so the new ones are isolated. + if (shallow) { + cssp._transform = transform; + if (bpt) { + bpt._prev = null; + if (bpt._prev) { + bpt._prev._next = null; + } + } + } + while (pt && pt !== bpt) { + if (pt.type <= 1) { + p = pt.p; + end[p] = pt.s + pt.c; + start[p] = pt.s; + if (!shallow) { + mpt = new MiniPropTween(pt, "s", p, mpt, pt.r); + pt.c = 0; + } + if (pt.type === 1) { + i = pt.l; + while (--i > 0) { + xp = "xn" + i; + p = pt.p + "_" + xp; + end[p] = pt.data[xp]; + start[p] = pt[xp]; + if (!shallow) { + mpt = new MiniPropTween(pt, xp, p, mpt, pt.rxp[xp]); + } + } + } + } + pt = pt._next; + } + return {proxy:start, end:end, firstMPT:mpt, pt:firstPT}; + }, + + + + /** + * @constructor Each property that is tweened has at least one CSSPropTween associated with it. These instances store important information like the target, property, starting value, amount of change, etc. They can also optionally have a number of "extra" strings and numeric values named xs1, xn1, xs2, xn2, xs3, xn3, etc. where "s" indicates string and "n" indicates number. These can be pieced together in a complex-value tween (type:1) that has alternating types of data like a string, number, string, number, etc. For example, boxShadow could be "5px 5px 8px rgb(102, 102, 51)". In that value, there are 6 numbers that may need to tween and then pieced back together into a string again with spaces, suffixes, etc. xs0 is special in that it stores the suffix for standard (type:0) tweens, -OR- the first string (prefix) in a complex-value (type:1) CSSPropTween -OR- it can be the non-tweening value in a type:-1 CSSPropTween. We do this to conserve memory. + * CSSPropTweens have the following optional properties as well (not defined through the constructor): + * - l: Length in terms of the number of extra properties that the CSSPropTween has (default: 0). For example, for a boxShadow we may need to tween 5 numbers in which case l would be 5; Keep in mind that the start/end values for the first number that's tweened are always stored in the s and c properties to conserve memory. All additional values thereafter are stored in xn1, xn2, etc. + * - xfirst: The first instance of any sub-CSSPropTweens that are tweening properties of this instance. For example, we may split up a boxShadow tween so that there's a main CSSPropTween of type:1 that has various xs* and xn* values associated with the h-shadow, v-shadow, blur, color, etc. Then we spawn a CSSPropTween for each of those that has a higher priority and runs BEFORE the main CSSPropTween so that the values are all set by the time it needs to re-assemble them. The xfirst gives us an easy way to identify the first one in that chain which typically ends at the main one (because they're all prepende to the linked list) + * - plugin: The TweenPlugin instance that will handle the tweening of any complex values. For example, sometimes we don't want to use normal subtweens (like xfirst refers to) to tween the values - we might want ThrowPropsPlugin or BezierPlugin some other plugin to do the actual tweening, so we create a plugin instance and store a reference here. We need this reference so that if we get a request to round values or disable a tween, we can pass along that request. + * - data: Arbitrary data that needs to be stored with the CSSPropTween. Typically if we're going to have a plugin handle the tweening of a complex-value tween, we create a generic object that stores the END values that we're tweening to and the CSSPropTween's xs1, xs2, etc. have the starting values. We store that object as data. That way, we can simply pass that object to the plugin and use the CSSPropTween as the target. + * - setRatio: Only used for type:2 tweens that require custom functionality. In this case, we call the CSSPropTween's setRatio() method and pass the ratio each time the tween updates. This isn't quite as efficient as doing things directly in the CSSPlugin's setRatio() method, but it's very convenient and flexible. + * @param {!Object} t Target object whose property will be tweened. Often a DOM element, but not always. It could be anything. + * @param {string} p Property to tween (name). For example, to tween element.width, p would be "width". + * @param {number} s Starting numeric value + * @param {number} c Change in numeric value over the course of the entire tween. For example, if element.width starts at 5 and should end at 100, c would be 95. + * @param {CSSPropTween=} next The next CSSPropTween in the linked list. If one is defined, we will define its _prev as the new instance, and the new instance's _next will be pointed at it. + * @param {number=} type The type of CSSPropTween where -1 = a non-tweening value, 0 = a standard simple tween, 1 = a complex value (like one that has multiple numbers in a comma- or space-delimited string like border:"1px solid red"), and 2 = one that uses a custom setRatio function that does all of the work of applying the values on each update. + * @param {string=} n Name of the property that should be used for overwriting purposes which is typically the same as p but not always. For example, we may need to create a subtween for the 2nd part of a "clip:rect(...)" tween in which case "p" might be xs1 but "n" is still "clip" + * @param {boolean=} r If true, the value(s) should be rounded + * @param {number=} pr Priority in the linked list order. Higher priority CSSPropTweens will be updated before lower priority ones. The default priority is 0. + * @param {string=} b Beginning value. We store this to ensure that it is EXACTLY what it was when the tween began without any risk of interpretation issues. + * @param {string=} e Ending value. We store this to ensure that it is EXACTLY what the user defined at the end of the tween without any risk of interpretation issues. + */ + CSSPropTween = _internals.CSSPropTween = function(t, p, s, c, next, type, n, r, pr, b, e) { + this.t = t; //target + this.p = p; //property + this.s = s; //starting value + this.c = c; //change value + this.n = n || p; //name that this CSSPropTween should be associated to (usually the same as p, but not always - n is what overwriting looks at) + if (!(t instanceof CSSPropTween)) { + _overwriteProps.push(this.n); + } + this.r = r; //round (boolean) + this.type = type || 0; //0 = normal tween, -1 = non-tweening (in which case xs0 will be applied to the target's property, like tp.t[tp.p] = tp.xs0), 1 = complex-value SpecialProp, 2 = custom setRatio() that does all the work + if (pr) { + this.pr = pr; + _hasPriority = true; + } + this.b = (b === undefined) ? s : b; + this.e = (e === undefined) ? s + c : e; + if (next) { + this._next = next; + next._prev = this; + } + }, + + _addNonTweeningNumericPT = function(target, prop, start, end, next, overwriteProp) { //cleans up some code redundancies and helps minification. Just a fast way to add a NUMERIC non-tweening CSSPropTween + var pt = new CSSPropTween(target, prop, start, end - start, next, -1, overwriteProp); + pt.b = start; + pt.e = pt.xs0 = end; + return pt; + }, + + /** + * Takes a target, the beginning value and ending value (as strings) and parses them into a CSSPropTween (possibly with child CSSPropTweens) that accommodates multiple numbers, colors, comma-delimited values, etc. For example: + * sp.parseComplex(element, "boxShadow", "5px 10px 20px rgb(255,102,51)", "0px 0px 0px red", true, "0px 0px 0px rgb(0,0,0,0)", pt); + * It will walk through the beginning and ending values (which should be in the same format with the same number and type of values) and figure out which parts are numbers, what strings separate the numeric/tweenable values, and then create the CSSPropTweens accordingly. If a plugin is defined, no child CSSPropTweens will be created. Instead, the ending values will be stored in the "data" property of the returned CSSPropTween like: {s:-5, xn1:-10, xn2:-20, xn3:255, xn4:0, xn5:0} so that it can be fed to any other plugin and it'll be plain numeric tweens but the recomposition of the complex value will be handled inside CSSPlugin's setRatio(). + * If a setRatio is defined, the type of the CSSPropTween will be set to 2 and recomposition of the values will be the responsibility of that method. + * + * @param {!Object} t Target whose property will be tweened + * @param {!string} p Property that will be tweened (its name, like "left" or "backgroundColor" or "boxShadow") + * @param {string} b Beginning value + * @param {string} e Ending value + * @param {boolean} clrs If true, the value could contain a color value like "rgb(255,0,0)" or "#F00" or "red". The default is false, so no colors will be recognized (a performance optimization) + * @param {(string|number|Object)} dflt The default beginning value that should be used if no valid beginning value is defined or if the number of values inside the complex beginning and ending values don't match + * @param {?CSSPropTween} pt CSSPropTween instance that is the current head of the linked list (we'll prepend to this). + * @param {number=} pr Priority in the linked list order. Higher priority properties will be updated before lower priority ones. The default priority is 0. + * @param {TweenPlugin=} plugin If a plugin should handle the tweening of extra properties, pass the plugin instance here. If one is defined, then NO subtweens will be created for any extra properties (the properties will be created - just not additional CSSPropTween instances to tween them) because the plugin is expected to do so. However, the end values WILL be populated in the "data" property, like {s:100, xn1:50, xn2:300} + * @param {function(number)=} setRatio If values should be set in a custom function instead of being pieced together in a type:1 (complex-value) CSSPropTween, define that custom function here. + * @return {CSSPropTween} The first CSSPropTween in the linked list which includes the new one(s) added by the parseComplex() call. + */ + _parseComplex = CSSPlugin.parseComplex = function(t, p, b, e, clrs, dflt, pt, pr, plugin, setRatio) { + //DEBUG: _log("parseComplex: "+p+", b: "+b+", e: "+e); + b = b || dflt || ""; + pt = new CSSPropTween(t, p, 0, 0, pt, (setRatio ? 2 : 1), null, false, pr, b, e); + e += ""; //ensures it's a string + var ba = b.split(", ").join(",").split(" "), //beginning array + ea = e.split(", ").join(",").split(" "), //ending array + l = ba.length, + autoRound = (_autoRound !== false), + i, xi, ni, bv, ev, bnums, enums, bn, hasAlpha, temp, cv, str, useHSL; + if (e.indexOf(",") !== -1 || b.indexOf(",") !== -1) { + ba = ba.join(" ").replace(_commasOutsideParenExp, ", ").split(" "); + ea = ea.join(" ").replace(_commasOutsideParenExp, ", ").split(" "); + l = ba.length; + } + if (l !== ea.length) { + //DEBUG: _log("mismatched formatting detected on " + p + " (" + b + " vs " + e + ")"); + ba = (dflt || "").split(" "); + l = ba.length; + } + pt.plugin = plugin; + pt.setRatio = setRatio; + _colorExp.lastIndex = 0; + for (i = 0; i < l; i++) { + bv = ba[i]; + ev = ea[i]; + bn = parseFloat(bv); + //if the value begins with a number (most common). It's fine if it has a suffix like px + if (bn || bn === 0) { + pt.appendXtra("", bn, _parseChange(ev, bn), ev.replace(_relNumExp, ""), (autoRound && ev.indexOf("px") !== -1), true); + + //if the value is a color + } else if (clrs && _colorExp.test(bv)) { + str = ev.charAt(ev.length - 1) === "," ? ")," : ")"; //if there's a comma at the end, retain it. + useHSL = (ev.indexOf("hsl") !== -1 && _supportsOpacity); + bv = _parseColor(bv, useHSL); + ev = _parseColor(ev, useHSL); + hasAlpha = (bv.length + ev.length > 6); + if (hasAlpha && !_supportsOpacity && ev[3] === 0) { //older versions of IE don't support rgba(), so if the destination alpha is 0, just use "transparent" for the end color + pt["xs" + pt.l] += pt.l ? " transparent" : "transparent"; + pt.e = pt.e.split(ea[i]).join("transparent"); + } else { + if (!_supportsOpacity) { //old versions of IE don't support rgba(). + hasAlpha = false; + } + if (useHSL) { + pt.appendXtra((hasAlpha ? "hsla(" : "hsl("), bv[0], _parseChange(ev[0], bv[0]), ",", false, true) + .appendXtra("", bv[1], _parseChange(ev[1], bv[1]), "%,", false) + .appendXtra("", bv[2], _parseChange(ev[2], bv[2]), (hasAlpha ? "%," : "%" + str), false); + } else { + pt.appendXtra((hasAlpha ? "rgba(" : "rgb("), bv[0], ev[0] - bv[0], ",", true, true) + .appendXtra("", bv[1], ev[1] - bv[1], ",", true) + .appendXtra("", bv[2], ev[2] - bv[2], (hasAlpha ? "," : str), true); + } + + if (hasAlpha) { + bv = (bv.length < 4) ? 1 : bv[3]; + pt.appendXtra("", bv, ((ev.length < 4) ? 1 : ev[3]) - bv, str, false); + } + } + _colorExp.lastIndex = 0; //otherwise the test() on the RegExp could move the lastIndex and taint future results. + + } else { + bnums = bv.match(_numExp); //gets each group of numbers in the beginning value string and drops them into an array + + //if no number is found, treat it as a non-tweening value and just append the string to the current xs. + if (!bnums) { + pt["xs" + pt.l] += pt.l ? " " + bv : bv; + + //loop through all the numbers that are found and construct the extra values on the pt. + } else { + enums = ev.match(_relNumExp); //get each group of numbers in the end value string and drop them into an array. We allow relative values too, like +=50 or -=.5 + if (!enums || enums.length !== bnums.length) { + //DEBUG: _log("mismatched formatting detected on " + p + " (" + b + " vs " + e + ")"); + return pt; + } + ni = 0; + for (xi = 0; xi < bnums.length; xi++) { + cv = bnums[xi]; + temp = bv.indexOf(cv, ni); + pt.appendXtra(bv.substr(ni, temp - ni), Number(cv), _parseChange(enums[xi], cv), "", (autoRound && bv.substr(temp + cv.length, 2) === "px"), (xi === 0)); + ni = temp + cv.length; + } + pt["xs" + pt.l] += bv.substr(ni); + } + } + } + //if there are relative values ("+=" or "-=" prefix), we need to adjust the ending value to eliminate the prefixes and combine the values properly. + if (e.indexOf("=") !== -1) if (pt.data) { + str = pt.xs0 + pt.data.s; + for (i = 1; i < pt.l; i++) { + str += pt["xs" + i] + pt.data["xn" + i]; + } + pt.e = str + pt["xs" + i]; + } + if (!pt.l) { + pt.type = -1; + pt.xs0 = pt.e; + } + return pt.xfirst || pt; + }, + i = 9; + + + p = CSSPropTween.prototype; + p.l = p.pr = 0; //length (number of extra properties like xn1, xn2, xn3, etc. + while (--i > 0) { + p["xn" + i] = 0; + p["xs" + i] = ""; + } + p.xs0 = ""; + p._next = p._prev = p.xfirst = p.data = p.plugin = p.setRatio = p.rxp = null; + + + /** + * Appends and extra tweening value to a CSSPropTween and automatically manages any prefix and suffix strings. The first extra value is stored in the s and c of the main CSSPropTween instance, but thereafter any extras are stored in the xn1, xn2, xn3, etc. The prefixes and suffixes are stored in the xs0, xs1, xs2, etc. properties. For example, if I walk through a clip value like "rect(10px, 5px, 0px, 20px)", the values would be stored like this: + * xs0:"rect(", s:10, xs1:"px, ", xn1:5, xs2:"px, ", xn2:0, xs3:"px, ", xn3:20, xn4:"px)" + * And they'd all get joined together when the CSSPlugin renders (in the setRatio() method). + * @param {string=} pfx Prefix (if any) + * @param {!number} s Starting value + * @param {!number} c Change in numeric value over the course of the entire tween. For example, if the start is 5 and the end is 100, the change would be 95. + * @param {string=} sfx Suffix (if any) + * @param {boolean=} r Round (if true). + * @param {boolean=} pad If true, this extra value should be separated by the previous one by a space. If there is no previous extra and pad is true, it will automatically drop the space. + * @return {CSSPropTween} returns itself so that multiple methods can be chained together. + */ + p.appendXtra = function(pfx, s, c, sfx, r, pad) { + var pt = this, + l = pt.l; + pt["xs" + l] += (pad && l) ? " " + pfx : pfx || ""; + if (!c) if (l !== 0 && !pt.plugin) { //typically we'll combine non-changing values right into the xs to optimize performance, but we don't combine them when there's a plugin that will be tweening the values because it may depend on the values being split apart, like for a bezier, if a value doesn't change between the first and second iteration but then it does on the 3rd, we'll run into trouble because there's no xn slot for that value! + pt["xs" + l] += s + (sfx || ""); + return pt; + } + pt.l++; + pt.type = pt.setRatio ? 2 : 1; + pt["xs" + pt.l] = sfx || ""; + if (l > 0) { + pt.data["xn" + l] = s + c; + pt.rxp["xn" + l] = r; //round extra property (we need to tap into this in the _parseToProxy() method) + pt["xn" + l] = s; + if (!pt.plugin) { + pt.xfirst = new CSSPropTween(pt, "xn" + l, s, c, pt.xfirst || pt, 0, pt.n, r, pt.pr); + pt.xfirst.xs0 = 0; //just to ensure that the property stays numeric which helps modern browsers speed up processing. Remember, in the setRatio() method, we do pt.t[pt.p] = val + pt.xs0 so if pt.xs0 is "" (the default), it'll cast the end value as a string. When a property is a number sometimes and a string sometimes, it prevents the compiler from locking in the data type, slowing things down slightly. + } + return pt; + } + pt.data = {s:s + c}; + pt.rxp = {}; + pt.s = s; + pt.c = c; + pt.r = r; + return pt; + }; + + /** + * @constructor A SpecialProp is basically a css property that needs to be treated in a non-standard way, like if it may contain a complex value like boxShadow:"5px 10px 15px rgb(255, 102, 51)" or if it is associated with another plugin like ThrowPropsPlugin or BezierPlugin. Every SpecialProp is associated with a particular property name like "boxShadow" or "throwProps" or "bezier" and it will intercept those values in the vars object that's passed to the CSSPlugin and handle them accordingly. + * @param {!string} p Property name (like "boxShadow" or "throwProps") + * @param {Object=} options An object containing any of the following configuration options: + * - defaultValue: the default value + * - parser: A function that should be called when the associated property name is found in the vars. This function should return a CSSPropTween instance and it should ensure that it is properly inserted into the linked list. It will receive 4 paramters: 1) The target, 2) The value defined in the vars, 3) The CSSPlugin instance (whose _firstPT should be used for the linked list), and 4) A computed style object if one was calculated (this is a speed optimization that allows retrieval of starting values quicker) + * - formatter: a function that formats any value received for this special property (for example, boxShadow could take "5px 5px red" and format it to "5px 5px 0px 0px red" so that both the beginning and ending values have a common order and quantity of values.) + * - prefix: if true, we'll determine whether or not this property requires a vendor prefix (like Webkit or Moz or ms or O) + * - color: set this to true if the value for this SpecialProp may contain color-related values like rgb(), rgba(), etc. + * - priority: priority in the linked list order. Higher priority SpecialProps will be updated before lower priority ones. The default priority is 0. + * - multi: if true, the formatter should accommodate a comma-delimited list of values, like boxShadow could have multiple boxShadows listed out. + * - collapsible: if true, the formatter should treat the value like it's a top/right/bottom/left value that could be collapsed, like "5px" would apply to all, "5px, 10px" would use 5px for top/bottom and 10px for right/left, etc. + * - keyword: a special keyword that can [optionally] be found inside the value (like "inset" for boxShadow). This allows us to validate beginning/ending values to make sure they match (if the keyword is found in one, it'll be added to the other for consistency by default). + */ + var SpecialProp = function(p, options) { + options = options || {}; + this.p = options.prefix ? _checkPropPrefix(p) || p : p; + _specialProps[p] = _specialProps[this.p] = this; + this.format = options.formatter || _getFormatter(options.defaultValue, options.color, options.collapsible, options.multi); + if (options.parser) { + this.parse = options.parser; + } + this.clrs = options.color; + this.multi = options.multi; + this.keyword = options.keyword; + this.dflt = options.defaultValue; + this.pr = options.priority || 0; + }, + + //shortcut for creating a new SpecialProp that can accept multiple properties as a comma-delimited list (helps minification). dflt can be an array for multiple values (we don't do a comma-delimited list because the default value may contain commas, like rect(0px,0px,0px,0px)). We attach this method to the SpecialProp class/object instead of using a private _createSpecialProp() method so that we can tap into it externally if necessary, like from another plugin. + _registerComplexSpecialProp = _internals._registerComplexSpecialProp = function(p, options, defaults) { + if (typeof(options) !== "object") { + options = {parser:defaults}; //to make backwards compatible with older versions of BezierPlugin and ThrowPropsPlugin + } + var a = p.split(","), + d = options.defaultValue, + i, temp; + defaults = defaults || [d]; + for (i = 0; i < a.length; i++) { + options.prefix = (i === 0 && options.prefix); + options.defaultValue = defaults[i] || d; + temp = new SpecialProp(a[i], options); + } + }, + + //creates a placeholder special prop for a plugin so that the property gets caught the first time a tween of it is attempted, and at that time it makes the plugin register itself, thus taking over for all future tweens of that property. This allows us to not mandate that things load in a particular order and it also allows us to log() an error that informs the user when they attempt to tween an external plugin-related property without loading its .js file. + _registerPluginProp = function(p) { + if (!_specialProps[p]) { + var pluginName = p.charAt(0).toUpperCase() + p.substr(1) + "Plugin"; + _registerComplexSpecialProp(p, {parser:function(t, e, p, cssp, pt, plugin, vars) { + var pluginClass = _globals.com.greensock.plugins[pluginName]; + if (!pluginClass) { + _log("Error: " + pluginName + " js file not loaded."); + return pt; + } + pluginClass._cssRegister(); + return _specialProps[p].parse(t, e, p, cssp, pt, plugin, vars); + }}); + } + }; + + + p = SpecialProp.prototype; + + /** + * Alias for _parseComplex() that automatically plugs in certain values for this SpecialProp, like its property name, whether or not colors should be sensed, the default value, and priority. It also looks for any keyword that the SpecialProp defines (like "inset" for boxShadow) and ensures that the beginning and ending values have the same number of values for SpecialProps where multi is true (like boxShadow and textShadow can have a comma-delimited list) + * @param {!Object} t target element + * @param {(string|number|object)} b beginning value + * @param {(string|number|object)} e ending (destination) value + * @param {CSSPropTween=} pt next CSSPropTween in the linked list + * @param {TweenPlugin=} plugin If another plugin will be tweening the complex value, that TweenPlugin instance goes here. + * @param {function=} setRatio If a custom setRatio() method should be used to handle this complex value, that goes here. + * @return {CSSPropTween=} First CSSPropTween in the linked list + */ + p.parseComplex = function(t, b, e, pt, plugin, setRatio) { + var kwd = this.keyword, + i, ba, ea, l, bi, ei; + //if this SpecialProp's value can contain a comma-delimited list of values (like boxShadow or textShadow), we must parse them in a special way, and look for a keyword (like "inset" for boxShadow) and ensure that the beginning and ending BOTH have it if the end defines it as such. We also must ensure that there are an equal number of values specified (we can't tween 1 boxShadow to 3 for example) + if (this.multi) if (_commasOutsideParenExp.test(e) || _commasOutsideParenExp.test(b)) { + ba = b.replace(_commasOutsideParenExp, "|").split("|"); + ea = e.replace(_commasOutsideParenExp, "|").split("|"); + } else if (kwd) { + ba = [b]; + ea = [e]; + } + if (ea) { + l = (ea.length > ba.length) ? ea.length : ba.length; + for (i = 0; i < l; i++) { + b = ba[i] = ba[i] || this.dflt; + e = ea[i] = ea[i] || this.dflt; + if (kwd) { + bi = b.indexOf(kwd); + ei = e.indexOf(kwd); + if (bi !== ei) { + if (ei === -1) { //if the keyword isn't in the end value, remove it from the beginning one. + ba[i] = ba[i].split(kwd).join(""); + } else if (bi === -1) { //if the keyword isn't in the beginning, add it. + ba[i] += " " + kwd; + } + } + } + } + b = ba.join(", "); + e = ea.join(", "); + } + return _parseComplex(t, this.p, b, e, this.clrs, this.dflt, pt, this.pr, plugin, setRatio); + }; + + /** + * Accepts a target and end value and spits back a CSSPropTween that has been inserted into the CSSPlugin's linked list and conforms with all the conventions we use internally, like type:-1, 0, 1, or 2, setting up any extra property tweens, priority, etc. For example, if we have a boxShadow SpecialProp and call: + * this._firstPT = sp.parse(element, "5px 10px 20px rgb(2550,102,51)", "boxShadow", this); + * It should figure out the starting value of the element's boxShadow, compare it to the provided end value and create all the necessary CSSPropTweens of the appropriate types to tween the boxShadow. The CSSPropTween that gets spit back should already be inserted into the linked list (the 4th parameter is the current head, so prepend to that). + * @param {!Object} t Target object whose property is being tweened + * @param {Object} e End value as provided in the vars object (typically a string, but not always - like a throwProps would be an object). + * @param {!string} p Property name + * @param {!CSSPlugin} cssp The CSSPlugin instance that should be associated with this tween. + * @param {?CSSPropTween} pt The CSSPropTween that is the current head of the linked list (we'll prepend to it) + * @param {TweenPlugin=} plugin If a plugin will be used to tween the parsed value, this is the plugin instance. + * @param {Object=} vars Original vars object that contains the data for parsing. + * @return {CSSPropTween} The first CSSPropTween in the linked list which includes the new one(s) added by the parse() call. + */ + p.parse = function(t, e, p, cssp, pt, plugin, vars) { + return this.parseComplex(t.style, this.format(_getStyle(t, this.p, _cs, false, this.dflt)), this.format(e), pt, plugin); + }; + + /** + * Registers a special property that should be intercepted from any "css" objects defined in tweens. This allows you to handle them however you want without CSSPlugin doing it for you. The 2nd parameter should be a function that accepts 3 parameters: + * 1) Target object whose property should be tweened (typically a DOM element) + * 2) The end/destination value (could be a string, number, object, or whatever you want) + * 3) The tween instance (you probably don't need to worry about this, but it can be useful for looking up information like the duration) + * + * Then, your function should return a function which will be called each time the tween gets rendered, passing a numeric "ratio" parameter to your function that indicates the change factor (usually between 0 and 1). For example: + * + * CSSPlugin.registerSpecialProp("myCustomProp", function(target, value, tween) { + * var start = target.style.width; + * return function(ratio) { + * target.style.width = (start + value * ratio) + "px"; + * console.log("set width to " + target.style.width); + * } + * }, 0); + * + * Then, when I do this tween, it will trigger my special property: + * + * TweenLite.to(element, 1, {css:{myCustomProp:100}}); + * + * In the example, of course, we're just changing the width, but you can do anything you want. + * + * @param {!string} name Property name (or comma-delimited list of property names) that should be intercepted and handled by your function. For example, if I define "myCustomProp", then it would handle that portion of the following tween: TweenLite.to(element, 1, {css:{myCustomProp:100}}) + * @param {!function(Object, Object, Object, string):function(number)} onInitTween The function that will be called when a tween of this special property is performed. The function will receive 4 parameters: 1) Target object that should be tweened, 2) Value that was passed to the tween, 3) The tween instance itself (rarely used), and 4) The property name that's being tweened. Your function should return a function that should be called on every update of the tween. That function will receive a single parameter that is a "change factor" value (typically between 0 and 1) indicating the amount of change as a ratio. You can use this to determine how to set the values appropriately in your function. + * @param {number=} priority Priority that helps the engine determine the order in which to set the properties (default: 0). Higher priority properties will be updated before lower priority ones. + */ + CSSPlugin.registerSpecialProp = function(name, onInitTween, priority) { + _registerComplexSpecialProp(name, {parser:function(t, e, p, cssp, pt, plugin, vars) { + var rv = new CSSPropTween(t, p, 0, 0, pt, 2, p, false, priority); + rv.plugin = plugin; + rv.setRatio = onInitTween(t, e, cssp._tween, p); + return rv; + }, priority:priority}); + }; + + + + + + + //transform-related methods and properties + CSSPlugin.useSVGTransformAttr = _isSafari || _isFirefox; //Safari and Firefox both have some rendering bugs when applying CSS transforms to SVG elements, so default to using the "transform" attribute instead (users can override this). + var _transformProps = ("scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent").split(","), + _transformProp = _checkPropPrefix("transform"), //the Javascript (camelCase) transform property, like msTransform, WebkitTransform, MozTransform, or OTransform. + _transformPropCSS = _prefixCSS + "transform", + _transformOriginProp = _checkPropPrefix("transformOrigin"), + _supports3D = (_checkPropPrefix("perspective") !== null), + Transform = _internals.Transform = function() { + this.perspective = parseFloat(CSSPlugin.defaultTransformPerspective) || 0; + this.force3D = (CSSPlugin.defaultForce3D === false || !_supports3D) ? false : CSSPlugin.defaultForce3D || "auto"; + }, + _SVGElement = window.SVGElement, + _useSVGTransformAttr, + //Some browsers (like Firefox and IE) don't honor transform-origin properly in SVG elements, so we need to manually adjust the matrix accordingly. We feature detect here rather than always doing the conversion for certain browsers because they may fix the problem at some point in the future. + + _createSVG = function(type, container, attributes) { + var element = _doc.createElementNS("http://www.w3.org/2000/svg", type), + reg = /([a-z])([A-Z])/g, + p; + for (p in attributes) { + element.setAttributeNS(null, p.replace(reg, "$1-$2").toLowerCase(), attributes[p]); + } + container.appendChild(element); + return element; + }, + _docElement = _doc.documentElement, + _forceSVGTransformAttr = (function() { + //IE and Android stock don't support CSS transforms on SVG elements, so we must write them to the "transform" attribute. We populate this variable in the _parseTransform() method, and only if/when we come across an SVG element + var force = _ieVers || (/Android/i.test(_agent) && !window.chrome), + svg, rect, width; + if (_doc.createElementNS && !force) { //IE8 and earlier doesn't support SVG anyway + svg = _createSVG("svg", _docElement); + rect = _createSVG("rect", svg, {width:100, height:50, x:100}); + width = rect.getBoundingClientRect().width; + rect.style[_transformOriginProp] = "50% 50%"; + rect.style[_transformProp] = "scaleX(0.5)"; + force = (width === rect.getBoundingClientRect().width && !(_isFirefox && _supports3D)); //note: Firefox fails the test even though it does support CSS transforms in 3D. Since we can't push 3D stuff into the transform attribute, we force Firefox to pass the test here (as long as it does truly support 3D). + _docElement.removeChild(svg); + } + return force; + })(), + _parseSVGOrigin = function(e, local, decoratee, absolute, smoothOrigin) { + var tm = e._gsTransform, + m = _getMatrix(e, true), + v, x, y, xOrigin, yOrigin, a, b, c, d, tx, ty, determinant, xOriginOld, yOriginOld; + if (tm) { + xOriginOld = tm.xOrigin; //record the original values before we alter them. + yOriginOld = tm.yOrigin; + } + if (!absolute || (v = absolute.split(" ")).length < 2) { + b = e.getBBox(); + local = _parsePosition(local).split(" "); + v = [(local[0].indexOf("%") !== -1 ? parseFloat(local[0]) / 100 * b.width : parseFloat(local[0])) + b.x, + (local[1].indexOf("%") !== -1 ? parseFloat(local[1]) / 100 * b.height : parseFloat(local[1])) + b.y]; + } + decoratee.xOrigin = xOrigin = parseFloat(v[0]); + decoratee.yOrigin = yOrigin = parseFloat(v[1]); + if (absolute && m !== _identity2DMatrix) { //if svgOrigin is being set, we must invert the matrix and determine where the absolute point is, factoring in the current transforms. Otherwise, the svgOrigin would be based on the element's non-transformed position on the canvas. + a = m[0]; + b = m[1]; + c = m[2]; + d = m[3]; + tx = m[4]; + ty = m[5]; + determinant = (a * d - b * c); + x = xOrigin * (d / determinant) + yOrigin * (-c / determinant) + ((c * ty - d * tx) / determinant); + y = xOrigin * (-b / determinant) + yOrigin * (a / determinant) - ((a * ty - b * tx) / determinant); + xOrigin = decoratee.xOrigin = v[0] = x; + yOrigin = decoratee.yOrigin = v[1] = y; + } + if (tm) { //avoid jump when transformOrigin is changed - adjust the x/y values accordingly + if (smoothOrigin || (smoothOrigin !== false && CSSPlugin.defaultSmoothOrigin !== false)) { + x = xOrigin - xOriginOld; + y = yOrigin - yOriginOld; + //originally, we simply adjusted the x and y values, but that would cause problems if, for example, you created a rotational tween part-way through an x/y tween. Managing the offset in a separate variable gives us ultimate flexibility. + //tm.x -= x - (x * m[0] + y * m[2]); + //tm.y -= y - (x * m[1] + y * m[3]); + tm.xOffset += (x * m[0] + y * m[2]) - x; + tm.yOffset += (x * m[1] + y * m[3]) - y; + } else { + tm.xOffset = tm.yOffset = 0; + } + } + e.setAttribute("data-svg-origin", v.join(" ")); + }, + _isSVG = function(e) { + return !!(_SVGElement && typeof(e.getBBox) === "function" && e.getCTM && (!e.parentNode || (e.parentNode.getBBox && e.parentNode.getCTM))); + }, + _identity2DMatrix = [1,0,0,1,0,0], + _getMatrix = function(e, force2D) { + var tm = e._gsTransform || new Transform(), + rnd = 100000, + isDefault, s, m, n, dec; + if (_transformProp) { + s = _getStyle(e, _transformPropCSS, null, true); + } else if (e.currentStyle) { + //for older versions of IE, we need to interpret the filter portion that is in the format: progid:DXImageTransform.Microsoft.Matrix(M11=6.123233995736766e-17, M12=-1, M21=1, M22=6.123233995736766e-17, sizingMethod='auto expand') Notice that we need to swap b and c compared to a normal matrix. + s = e.currentStyle.filter.match(_ieGetMatrixExp); + s = (s && s.length === 4) ? [s[0].substr(4), Number(s[2].substr(4)), Number(s[1].substr(4)), s[3].substr(4), (tm.x || 0), (tm.y || 0)].join(",") : ""; + } + isDefault = (!s || s === "none" || s === "matrix(1, 0, 0, 1, 0, 0)"); + if (tm.svg || (e.getBBox && _isSVG(e))) { + if (isDefault && (e.style[_transformProp] + "").indexOf("matrix") !== -1) { //some browsers (like Chrome 40) don't correctly report transforms that are applied inline on an SVG element (they don't get included in the computed style), so we double-check here and accept matrix values + s = e.style[_transformProp]; + isDefault = 0; + } + m = e.getAttribute("transform"); + if (isDefault && m) { + if (m.indexOf("matrix") !== -1) { //just in case there's a "transform" value specified as an attribute instead of CSS style. Accept either a matrix() or simple translate() value though. + s = m; + isDefault = 0; + } else if (m.indexOf("translate") !== -1) { + s = "matrix(1,0,0,1," + m.match(/(?:\-|\b)[\d\-\.e]+\b/gi).join(",") + ")"; + isDefault = 0; + } + } + } + if (isDefault) { + return _identity2DMatrix; + } + //split the matrix values out into an array (m for matrix) + m = (s || "").match(/(?:\-|\b)[\d\-\.e]+\b/gi) || []; + i = m.length; + while (--i > -1) { + n = Number(m[i]); + m[i] = (dec = n - (n |= 0)) ? ((dec * rnd + (dec < 0 ? -0.5 : 0.5)) | 0) / rnd + n : n; //convert strings to Numbers and round to 5 decimal places to avoid issues with tiny numbers. Roughly 20x faster than Number.toFixed(). We also must make sure to round before dividing so that values like 0.9999999999 become 1 to avoid glitches in browser rendering and interpretation of flipped/rotated 3D matrices. And don't just multiply the number by rnd, floor it, and then divide by rnd because the bitwise operations max out at a 32-bit signed integer, thus it could get clipped at a relatively low value (like 22,000.00000 for example). + } + return (force2D && m.length > 6) ? [m[0], m[1], m[4], m[5], m[12], m[13]] : m; + }, + + /** + * Parses the transform values for an element, returning an object with x, y, z, scaleX, scaleY, scaleZ, rotation, rotationX, rotationY, skewX, and skewY properties. Note: by default (for performance reasons), all skewing is combined into skewX and rotation but skewY still has a place in the transform object so that we can record how much of the skew is attributed to skewX vs skewY. Remember, a skewY of 10 looks the same as a rotation of 10 and skewX of -10. + * @param {!Object} t target element + * @param {Object=} cs computed style object (optional) + * @param {boolean=} rec if true, the transform values will be recorded to the target element's _gsTransform object, like target._gsTransform = {x:0, y:0, z:0, scaleX:1...} + * @param {boolean=} parse if true, we'll ignore any _gsTransform values that already exist on the element, and force a reparsing of the css (calculated style) + * @return {object} object containing all of the transform properties/values like {x:0, y:0, z:0, scaleX:1...} + */ + _getTransform = _internals.getTransform = function(t, cs, rec, parse) { + if (t._gsTransform && rec && !parse) { + return t._gsTransform; //if the element already has a _gsTransform, use that. Note: some browsers don't accurately return the calculated style for the transform (particularly for SVG), so it's almost always safest to just use the values we've already applied rather than re-parsing things. + } + var tm = rec ? t._gsTransform || new Transform() : new Transform(), + invX = (tm.scaleX < 0), //in order to interpret things properly, we need to know if the user applied a negative scaleX previously so that we can adjust the rotation and skewX accordingly. Otherwise, if we always interpret a flipped matrix as affecting scaleY and the user only wants to tween the scaleX on multiple sequential tweens, it would keep the negative scaleY without that being the user's intent. + min = 0.00002, + rnd = 100000, + zOrigin = _supports3D ? parseFloat(_getStyle(t, _transformOriginProp, cs, false, "0 0 0").split(" ")[2]) || tm.zOrigin || 0 : 0, + defaultTransformPerspective = parseFloat(CSSPlugin.defaultTransformPerspective) || 0, + m, i, scaleX, scaleY, rotation, skewX; + + tm.svg = !!(t.getBBox && _isSVG(t)); + if (tm.svg) { + _parseSVGOrigin(t, _getStyle(t, _transformOriginProp, _cs, false, "50% 50%") + "", tm, t.getAttribute("data-svg-origin")); + _useSVGTransformAttr = CSSPlugin.useSVGTransformAttr || _forceSVGTransformAttr; + } + m = _getMatrix(t); + if (m !== _identity2DMatrix) { + + if (m.length === 16) { + //we'll only look at these position-related 6 variables first because if x/y/z all match, it's relatively safe to assume we don't need to re-parse everything which risks losing important rotational information (like rotationX:180 plus rotationY:180 would look the same as rotation:180 - there's no way to know for sure which direction was taken based solely on the matrix3d() values) + var a11 = m[0], a21 = m[1], a31 = m[2], a41 = m[3], + a12 = m[4], a22 = m[5], a32 = m[6], a42 = m[7], + a13 = m[8], a23 = m[9], a33 = m[10], + a14 = m[12], a24 = m[13], a34 = m[14], + a43 = m[11], + angle = Math.atan2(a32, a33), + t1, t2, t3, t4, cos, sin; + + //we manually compensate for non-zero z component of transformOrigin to work around bugs in Safari + if (tm.zOrigin) { + a34 = -tm.zOrigin; + a14 = a13*a34-m[12]; + a24 = a23*a34-m[13]; + a34 = a33*a34+tm.zOrigin-m[14]; + } + tm.rotationX = angle * _RAD2DEG; + //rotationX + if (angle) { + cos = Math.cos(-angle); + sin = Math.sin(-angle); + t1 = a12*cos+a13*sin; + t2 = a22*cos+a23*sin; + t3 = a32*cos+a33*sin; + a13 = a12*-sin+a13*cos; + a23 = a22*-sin+a23*cos; + a33 = a32*-sin+a33*cos; + a43 = a42*-sin+a43*cos; + a12 = t1; + a22 = t2; + a32 = t3; + } + //rotationY + angle = Math.atan2(a13, a33); + tm.rotationY = angle * _RAD2DEG; + if (angle) { + cos = Math.cos(-angle); + sin = Math.sin(-angle); + t1 = a11*cos-a13*sin; + t2 = a21*cos-a23*sin; + t3 = a31*cos-a33*sin; + a23 = a21*sin+a23*cos; + a33 = a31*sin+a33*cos; + a43 = a41*sin+a43*cos; + a11 = t1; + a21 = t2; + a31 = t3; + } + //rotationZ + angle = Math.atan2(a21, a11); + tm.rotation = angle * _RAD2DEG; + if (angle) { + cos = Math.cos(-angle); + sin = Math.sin(-angle); + a11 = a11*cos+a12*sin; + t2 = a21*cos+a22*sin; + a22 = a21*-sin+a22*cos; + a32 = a31*-sin+a32*cos; + a21 = t2; + } + + if (tm.rotationX && Math.abs(tm.rotationX) + Math.abs(tm.rotation) > 359.9) { //when rotationY is set, it will often be parsed as 180 degrees different than it should be, and rotationX and rotation both being 180 (it looks the same), so we adjust for that here. + tm.rotationX = tm.rotation = 0; + tm.rotationY += 180; + } + + tm.scaleX = ((Math.sqrt(a11 * a11 + a21 * a21) * rnd + 0.5) | 0) / rnd; + tm.scaleY = ((Math.sqrt(a22 * a22 + a23 * a23) * rnd + 0.5) | 0) / rnd; + tm.scaleZ = ((Math.sqrt(a32 * a32 + a33 * a33) * rnd + 0.5) | 0) / rnd; + tm.skewX = 0; + tm.perspective = a43 ? 1 / ((a43 < 0) ? -a43 : a43) : 0; + tm.x = a14; + tm.y = a24; + tm.z = a34; + if (tm.svg) { + tm.x -= tm.xOrigin - (tm.xOrigin * a11 - tm.yOrigin * a12); + tm.y -= tm.yOrigin - (tm.yOrigin * a21 - tm.xOrigin * a22); + } + + } else if ((!_supports3D || parse || !m.length || tm.x !== m[4] || tm.y !== m[5] || (!tm.rotationX && !tm.rotationY)) && !(tm.x !== undefined && _getStyle(t, "display", cs) === "none")) { //sometimes a 6-element matrix is returned even when we performed 3D transforms, like if rotationX and rotationY are 180. In cases like this, we still need to honor the 3D transforms. If we just rely on the 2D info, it could affect how the data is interpreted, like scaleY might get set to -1 or rotation could get offset by 180 degrees. For example, do a TweenLite.to(element, 1, {css:{rotationX:180, rotationY:180}}) and then later, TweenLite.to(element, 1, {css:{rotationX:0}}) and without this conditional logic in place, it'd jump to a state of being unrotated when the 2nd tween starts. Then again, we need to honor the fact that the user COULD alter the transforms outside of CSSPlugin, like by manually applying new css, so we try to sense that by looking at x and y because if those changed, we know the changes were made outside CSSPlugin and we force a reinterpretation of the matrix values. Also, in Webkit browsers, if the element's "display" is "none", its calculated style value will always return empty, so if we've already recorded the values in the _gsTransform object, we'll just rely on those. + var k = (m.length >= 6), + a = k ? m[0] : 1, + b = m[1] || 0, + c = m[2] || 0, + d = k ? m[3] : 1; + tm.x = m[4] || 0; + tm.y = m[5] || 0; + scaleX = Math.sqrt(a * a + b * b); + scaleY = Math.sqrt(d * d + c * c); + rotation = (a || b) ? Math.atan2(b, a) * _RAD2DEG : tm.rotation || 0; //note: if scaleX is 0, we cannot accurately measure rotation. Same for skewX with a scaleY of 0. Therefore, we default to the previously recorded value (or zero if that doesn't exist). + skewX = (c || d) ? Math.atan2(c, d) * _RAD2DEG + rotation : tm.skewX || 0; + if (Math.abs(skewX) > 90 && Math.abs(skewX) < 270) { + if (invX) { + scaleX *= -1; + skewX += (rotation <= 0) ? 180 : -180; + rotation += (rotation <= 0) ? 180 : -180; + } else { + scaleY *= -1; + skewX += (skewX <= 0) ? 180 : -180; + } + } + tm.scaleX = scaleX; + tm.scaleY = scaleY; + tm.rotation = rotation; + tm.skewX = skewX; + if (_supports3D) { + tm.rotationX = tm.rotationY = tm.z = 0; + tm.perspective = defaultTransformPerspective; + tm.scaleZ = 1; + } + if (tm.svg) { + tm.x -= tm.xOrigin - (tm.xOrigin * a + tm.yOrigin * c); + tm.y -= tm.yOrigin - (tm.xOrigin * b + tm.yOrigin * d); + } + } + tm.zOrigin = zOrigin; + //some browsers have a hard time with very small values like 2.4492935982947064e-16 (notice the "e-" towards the end) and would render the object slightly off. So we round to 0 in these cases. The conditional logic here is faster than calling Math.abs(). Also, browsers tend to render a SLIGHTLY rotated object in a fuzzy way, so we need to snap to exactly 0 when appropriate. + for (i in tm) { + if (tm[i] < min) if (tm[i] > -min) { + tm[i] = 0; + } + } + } + //DEBUG: _log("parsed rotation of " + t.getAttribute("id")+": "+(tm.rotationX)+", "+(tm.rotationY)+", "+(tm.rotation)+", scale: "+tm.scaleX+", "+tm.scaleY+", "+tm.scaleZ+", position: "+tm.x+", "+tm.y+", "+tm.z+", perspective: "+tm.perspective+ ", origin: "+ tm.xOrigin+ ","+ tm.yOrigin); + if (rec) { + t._gsTransform = tm; //record to the object's _gsTransform which we use so that tweens can control individual properties independently (we need all the properties to accurately recompose the matrix in the setRatio() method) + if (tm.svg) { //if we're supposed to apply transforms to the SVG element's "transform" attribute, make sure there aren't any CSS transforms applied or they'll override the attribute ones. Also clear the transform attribute if we're using CSS, just to be clean. + if (_useSVGTransformAttr && t.style[_transformProp]) { + TweenLite.delayedCall(0.001, function(){ //if we apply this right away (before anything has rendered), we risk there being no transforms for a brief moment and it also interferes with adjusting the transformOrigin in a tween with immediateRender:true (it'd try reading the matrix and it wouldn't have the appropriate data in place because we just removed it). + _removeProp(t.style, _transformProp); + }); + } else if (!_useSVGTransformAttr && t.getAttribute("transform")) { + TweenLite.delayedCall(0.001, function(){ + t.removeAttribute("transform"); + }); + } + } + } + return tm; + }, + + //for setting 2D transforms in IE6, IE7, and IE8 (must use a "filter" to emulate the behavior of modern day browser transforms) + _setIETransformRatio = function(v) { + var t = this.data, //refers to the element's _gsTransform object + ang = -t.rotation * _DEG2RAD, + skew = ang + t.skewX * _DEG2RAD, + rnd = 100000, + a = ((Math.cos(ang) * t.scaleX * rnd) | 0) / rnd, + b = ((Math.sin(ang) * t.scaleX * rnd) | 0) / rnd, + c = ((Math.sin(skew) * -t.scaleY * rnd) | 0) / rnd, + d = ((Math.cos(skew) * t.scaleY * rnd) | 0) / rnd, + style = this.t.style, + cs = this.t.currentStyle, + filters, val; + if (!cs) { + return; + } + val = b; //just for swapping the variables an inverting them (reused "val" to avoid creating another variable in memory). IE's filter matrix uses a non-standard matrix configuration (angle goes the opposite way, and b and c are reversed and inverted) + b = -c; + c = -val; + filters = cs.filter; + style.filter = ""; //remove filters so that we can accurately measure offsetWidth/offsetHeight + var w = this.t.offsetWidth, + h = this.t.offsetHeight, + clip = (cs.position !== "absolute"), + m = "progid:DXImageTransform.Microsoft.Matrix(M11=" + a + ", M12=" + b + ", M21=" + c + ", M22=" + d, + ox = t.x + (w * t.xPercent / 100), + oy = t.y + (h * t.yPercent / 100), + dx, dy; + + //if transformOrigin is being used, adjust the offset x and y + if (t.ox != null) { + dx = ((t.oxp) ? w * t.ox * 0.01 : t.ox) - w / 2; + dy = ((t.oyp) ? h * t.oy * 0.01 : t.oy) - h / 2; + ox += dx - (dx * a + dy * b); + oy += dy - (dx * c + dy * d); + } + + if (!clip) { + m += ", sizingMethod='auto expand')"; + } else { + dx = (w / 2); + dy = (h / 2); + //translate to ensure that transformations occur around the correct origin (default is center). + m += ", Dx=" + (dx - (dx * a + dy * b) + ox) + ", Dy=" + (dy - (dx * c + dy * d) + oy) + ")"; + } + if (filters.indexOf("DXImageTransform.Microsoft.Matrix(") !== -1) { + style.filter = filters.replace(_ieSetMatrixExp, m); + } else { + style.filter = m + " " + filters; //we must always put the transform/matrix FIRST (before alpha(opacity=xx)) to avoid an IE bug that slices part of the object when rotation is applied with alpha. + } + + //at the end or beginning of the tween, if the matrix is normal (1, 0, 0, 1) and opacity is 100 (or doesn't exist), remove the filter to improve browser performance. + if (v === 0 || v === 1) if (a === 1) if (b === 0) if (c === 0) if (d === 1) if (!clip || m.indexOf("Dx=0, Dy=0") !== -1) if (!_opacityExp.test(filters) || parseFloat(RegExp.$1) === 100) if (filters.indexOf("gradient(" && filters.indexOf("Alpha")) === -1) { + style.removeAttribute("filter"); + } + + //we must set the margins AFTER applying the filter in order to avoid some bugs in IE8 that could (in rare scenarios) cause them to be ignored intermittently (vibration). + if (!clip) { + var mult = (_ieVers < 8) ? 1 : -1, //in Internet Explorer 7 and before, the box model is broken, causing the browser to treat the width/height of the actual rotated filtered image as the width/height of the box itself, but Microsoft corrected that in IE8. We must use a negative offset in IE8 on the right/bottom + marg, prop, dif; + dx = t.ieOffsetX || 0; + dy = t.ieOffsetY || 0; + t.ieOffsetX = Math.round((w - ((a < 0 ? -a : a) * w + (b < 0 ? -b : b) * h)) / 2 + ox); + t.ieOffsetY = Math.round((h - ((d < 0 ? -d : d) * h + (c < 0 ? -c : c) * w)) / 2 + oy); + for (i = 0; i < 4; i++) { + prop = _margins[i]; + marg = cs[prop]; + //we need to get the current margin in case it is being tweened separately (we want to respect that tween's changes) + val = (marg.indexOf("px") !== -1) ? parseFloat(marg) : _convertToPixels(this.t, prop, parseFloat(marg), marg.replace(_suffixExp, "")) || 0; + if (val !== t[prop]) { + dif = (i < 2) ? -t.ieOffsetX : -t.ieOffsetY; //if another tween is controlling a margin, we cannot only apply the difference in the ieOffsets, so we essentially zero-out the dx and dy here in that case. We record the margin(s) later so that we can keep comparing them, making this code very flexible. + } else { + dif = (i < 2) ? dx - t.ieOffsetX : dy - t.ieOffsetY; + } + style[prop] = (t[prop] = Math.round( val - dif * ((i === 0 || i === 2) ? 1 : mult) )) + "px"; + } + } + }, + + /* translates a super small decimal to a string WITHOUT scientific notation + _safeDecimal = function(n) { + var s = (n < 0 ? -n : n) + "", + a = s.split("e-"); + return (n < 0 ? "-0." : "0.") + new Array(parseInt(a[1], 10) || 0).join("0") + a[0].split(".").join(""); + }, + */ + + _setTransformRatio = _internals.set3DTransformRatio = _internals.setTransformRatio = function(v) { + var t = this.data, //refers to the element's _gsTransform object + style = this.t.style, + angle = t.rotation, + rotationX = t.rotationX, + rotationY = t.rotationY, + sx = t.scaleX, + sy = t.scaleY, + sz = t.scaleZ, + x = t.x, + y = t.y, + z = t.z, + isSVG = t.svg, + perspective = t.perspective, + force3D = t.force3D, + a11, a12, a13, a21, a22, a23, a31, a32, a33, a41, a42, a43, + zOrigin, min, cos, sin, t1, t2, transform, comma, zero, skew, rnd; + //check to see if we should render as 2D (and SVGs must use 2D when _useSVGTransformAttr is true) + if (((((v === 1 || v === 0) && force3D === "auto" && (this.tween._totalTime === this.tween._totalDuration || !this.tween._totalTime)) || !force3D) && !z && !perspective && !rotationY && !rotationX) || (_useSVGTransformAttr && isSVG) || !_supports3D) { //on the final render (which could be 0 for a from tween), if there are no 3D aspects, render in 2D to free up memory and improve performance especially on mobile devices. Check the tween's totalTime/totalDuration too in order to make sure it doesn't happen between repeats if it's a repeating tween. + + //2D + if (angle || t.skewX || isSVG) { + angle *= _DEG2RAD; + skew = t.skewX * _DEG2RAD; + rnd = 100000; + a11 = Math.cos(angle) * sx; + a21 = Math.sin(angle) * sx; + a12 = Math.sin(angle - skew) * -sy; + a22 = Math.cos(angle - skew) * sy; + if (skew && t.skewType === "simple") { //by default, we compensate skewing on the other axis to make it look more natural, but you can set the skewType to "simple" to use the uncompensated skewing that CSS does + t1 = Math.tan(skew); + t1 = Math.sqrt(1 + t1 * t1); + a12 *= t1; + a22 *= t1; + if (t.skewY) { + a11 *= t1; + a21 *= t1; + } + } + if (isSVG) { + x += t.xOrigin - (t.xOrigin * a11 + t.yOrigin * a12) + t.xOffset; + y += t.yOrigin - (t.xOrigin * a21 + t.yOrigin * a22) + t.yOffset; + if (_useSVGTransformAttr && (t.xPercent || t.yPercent)) { //The SVG spec doesn't support percentage-based translation in the "transform" attribute, so we merge it into the matrix to simulate it. + min = this.t.getBBox(); + x += t.xPercent * 0.01 * min.width; + y += t.yPercent * 0.01 * min.height; + } + min = 0.000001; + if (x < min) if (x > -min) { + x = 0; + } + if (y < min) if (y > -min) { + y = 0; + } + } + transform = (((a11 * rnd) | 0) / rnd) + "," + (((a21 * rnd) | 0) / rnd) + "," + (((a12 * rnd) | 0) / rnd) + "," + (((a22 * rnd) | 0) / rnd) + "," + x + "," + y + ")"; + if (isSVG && _useSVGTransformAttr) { + this.t.setAttribute("transform", "matrix(" + transform); + } else { + //some browsers have a hard time with very small values like 2.4492935982947064e-16 (notice the "e-" towards the end) and would render the object slightly off. So we round to 5 decimal places. + style[_transformProp] = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) matrix(" : "matrix(") + transform; + } + } else { + style[_transformProp] = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) matrix(" : "matrix(") + sx + ",0,0," + sy + "," + x + "," + y + ")"; + } + return; + + } + if (_isFirefox) { //Firefox has a bug (at least in v25) that causes it to render the transparent part of 32-bit PNG images as black when displayed inside an iframe and the 3D scale is very small and doesn't change sufficiently enough between renders (like if you use a Power4.easeInOut to scale from 0 to 1 where the beginning values only change a tiny amount to begin the tween before accelerating). In this case, we force the scale to be 0.00002 instead which is visually the same but works around the Firefox issue. + min = 0.0001; + if (sx < min && sx > -min) { + sx = sz = 0.00002; + } + if (sy < min && sy > -min) { + sy = sz = 0.00002; + } + if (perspective && !t.z && !t.rotationX && !t.rotationY) { //Firefox has a bug that causes elements to have an odd super-thin, broken/dotted black border on elements that have a perspective set but aren't utilizing 3D space (no rotationX, rotationY, or z). + perspective = 0; + } + } + if (angle || t.skewX) { + angle *= _DEG2RAD; + cos = a11 = Math.cos(angle); + sin = a21 = Math.sin(angle); + if (t.skewX) { + angle -= t.skewX * _DEG2RAD; + cos = Math.cos(angle); + sin = Math.sin(angle); + if (t.skewType === "simple") { //by default, we compensate skewing on the other axis to make it look more natural, but you can set the skewType to "simple" to use the uncompensated skewing that CSS does + t1 = Math.tan(t.skewX * _DEG2RAD); + t1 = Math.sqrt(1 + t1 * t1); + cos *= t1; + sin *= t1; + if (t.skewY) { + a11 *= t1; + a21 *= t1; + } + } + } + a12 = -sin; + a22 = cos; + + } else if (!rotationY && !rotationX && sz === 1 && !perspective && !isSVG) { //if we're only translating and/or 2D scaling, this is faster... + style[_transformProp] = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) translate3d(" : "translate3d(") + x + "px," + y + "px," + z +"px)" + ((sx !== 1 || sy !== 1) ? " scale(" + sx + "," + sy + ")" : ""); + return; + } else { + a11 = a22 = 1; + a12 = a21 = 0; + } + // KEY INDEX AFFECTS + // a11 0 rotation, rotationY, scaleX + // a21 1 rotation, rotationY, scaleX + // a31 2 rotationY, scaleX + // a41 3 rotationY, scaleX + // a12 4 rotation, skewX, rotationX, scaleY + // a22 5 rotation, skewX, rotationX, scaleY + // a32 6 rotationX, scaleY + // a42 7 rotationX, scaleY + // a13 8 rotationY, rotationX, scaleZ + // a23 9 rotationY, rotationX, scaleZ + // a33 10 rotationY, rotationX, scaleZ + // a43 11 rotationY, rotationX, perspective, scaleZ + // a14 12 x, zOrigin, svgOrigin + // a24 13 y, zOrigin, svgOrigin + // a34 14 z, zOrigin + // a44 15 + // rotation: Math.atan2(a21, a11) + // rotationY: Math.atan2(a13, a33) (or Math.atan2(a13, a11)) + // rotationX: Math.atan2(a32, a33) + a33 = 1; + a13 = a23 = a31 = a32 = a41 = a42 = 0; + a43 = (perspective) ? -1 / perspective : 0; + zOrigin = t.zOrigin; + min = 0.000001; //threshold below which browsers use scientific notation which won't work. + comma = ","; + zero = "0"; + angle = rotationY * _DEG2RAD; + if (angle) { + cos = Math.cos(angle); + sin = Math.sin(angle); + a31 = -sin; + a41 = a43*-sin; + a13 = a11*sin; + a23 = a21*sin; + a33 = cos; + a43 *= cos; + a11 *= cos; + a21 *= cos; + } + angle = rotationX * _DEG2RAD; + if (angle) { + cos = Math.cos(angle); + sin = Math.sin(angle); + t1 = a12*cos+a13*sin; + t2 = a22*cos+a23*sin; + a32 = a33*sin; + a42 = a43*sin; + a13 = a12*-sin+a13*cos; + a23 = a22*-sin+a23*cos; + a33 = a33*cos; + a43 = a43*cos; + a12 = t1; + a22 = t2; + } + if (sz !== 1) { + a13*=sz; + a23*=sz; + a33*=sz; + a43*=sz; + } + if (sy !== 1) { + a12*=sy; + a22*=sy; + a32*=sy; + a42*=sy; + } + if (sx !== 1) { + a11*=sx; + a21*=sx; + a31*=sx; + a41*=sx; + } + + if (zOrigin || isSVG) { + if (zOrigin) { + x += a13*-zOrigin; + y += a23*-zOrigin; + z += a33*-zOrigin+zOrigin; + } + if (isSVG) { //due to bugs in some browsers, we need to manage the transform-origin of SVG manually + x += t.xOrigin - (t.xOrigin * a11 + t.yOrigin * a12) + t.xOffset; + y += t.yOrigin - (t.xOrigin * a21 + t.yOrigin * a22) + t.yOffset; + } + if (x < min && x > -min) { + x = zero; + } + if (y < min && y > -min) { + y = zero; + } + if (z < min && z > -min) { + z = 0; //don't use string because we calculate perspective later and need the number. + } + } + + //optimized way of concatenating all the values into a string. If we do it all in one shot, it's slower because of the way browsers have to create temp strings and the way it affects memory. If we do it piece-by-piece with +=, it's a bit slower too. We found that doing it in these sized chunks works best overall: + transform = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) matrix3d(" : "matrix3d("); + transform += ((a11 < min && a11 > -min) ? zero : a11) + comma + ((a21 < min && a21 > -min) ? zero : a21) + comma + ((a31 < min && a31 > -min) ? zero : a31); + transform += comma + ((a41 < min && a41 > -min) ? zero : a41) + comma + ((a12 < min && a12 > -min) ? zero : a12) + comma + ((a22 < min && a22 > -min) ? zero : a22); + if (rotationX || rotationY) { //performance optimization (often there's no rotationX or rotationY, so we can skip these calculations) + transform += comma + ((a32 < min && a32 > -min) ? zero : a32) + comma + ((a42 < min && a42 > -min) ? zero : a42) + comma + ((a13 < min && a13 > -min) ? zero : a13); + transform += comma + ((a23 < min && a23 > -min) ? zero : a23) + comma + ((a33 < min && a33 > -min) ? zero : a33) + comma + ((a43 < min && a43 > -min) ? zero : a43) + comma; + } else { + transform += ",0,0,0,0,1,0,"; + } + transform += x + comma + y + comma + z + comma + (perspective ? (1 + (-z / perspective)) : 1) + ")"; + + style[_transformProp] = transform; + }; + + p = Transform.prototype; + p.x = p.y = p.z = p.skewX = p.skewY = p.rotation = p.rotationX = p.rotationY = p.zOrigin = p.xPercent = p.yPercent = p.xOffset = p.yOffset = 0; + p.scaleX = p.scaleY = p.scaleZ = 1; + + _registerComplexSpecialProp("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin", {parser:function(t, e, p, cssp, pt, plugin, vars) { + if (cssp._lastParsedTransform === vars) { return pt; } //only need to parse the transform once, and only if the browser supports it. + cssp._lastParsedTransform = vars; + var originalGSTransform = t._gsTransform, + style = t.style, + min = 0.000001, + i = _transformProps.length, + v = vars, + endRotations = {}, + transformOriginString = "transformOrigin", + m1, m2, skewY, copy, orig, has3D, hasChange, dr, x, y; + if (vars.display) { //if the user is setting display during this tween, it may not be instantiated yet but we must force it here in order to get accurate readings. If display is "none", some browsers refuse to report the transform properties correctly. + copy = _getStyle(t, "display"); + style.display = "block"; + m1 = _getTransform(t, _cs, true, vars.parseTransform); + style.display = copy; + } else { + m1 = _getTransform(t, _cs, true, vars.parseTransform); + } + cssp._transform = m1; + if (typeof(v.transform) === "string" && _transformProp) { //for values like transform:"rotate(60deg) scale(0.5, 0.8)" + copy = _tempDiv.style; //don't use the original target because it might be SVG in which case some browsers don't report computed style correctly. + copy[_transformProp] = v.transform; + copy.display = "block"; //if display is "none", the browser often refuses to report the transform properties correctly. + copy.position = "absolute"; + _doc.body.appendChild(_tempDiv); + m2 = _getTransform(_tempDiv, null, false); + _doc.body.removeChild(_tempDiv); + if (!m2.perspective) { + m2.perspective = m1.perspective; //tweening to no perspective gives very unintuitive results - just keep the same perspective in that case. + } + if (v.xPercent != null) { + m2.xPercent = _parseVal(v.xPercent, m1.xPercent); + } + if (v.yPercent != null) { + m2.yPercent = _parseVal(v.yPercent, m1.yPercent); + } + } else if (typeof(v) === "object") { //for values like scaleX, scaleY, rotation, x, y, skewX, and skewY or transform:{...} (object) + m2 = {scaleX:_parseVal((v.scaleX != null) ? v.scaleX : v.scale, m1.scaleX), + scaleY:_parseVal((v.scaleY != null) ? v.scaleY : v.scale, m1.scaleY), + scaleZ:_parseVal(v.scaleZ, m1.scaleZ), + x:_parseVal(v.x, m1.x), + y:_parseVal(v.y, m1.y), + z:_parseVal(v.z, m1.z), + xPercent:_parseVal(v.xPercent, m1.xPercent), + yPercent:_parseVal(v.yPercent, m1.yPercent), + perspective:_parseVal(v.transformPerspective, m1.perspective)}; + dr = v.directionalRotation; + if (dr != null) { + if (typeof(dr) === "object") { + for (copy in dr) { + v[copy] = dr[copy]; + } + } else { + v.rotation = dr; + } + } + if (typeof(v.x) === "string" && v.x.indexOf("%") !== -1) { + m2.x = 0; + m2.xPercent = _parseVal(v.x, m1.xPercent); + } + if (typeof(v.y) === "string" && v.y.indexOf("%") !== -1) { + m2.y = 0; + m2.yPercent = _parseVal(v.y, m1.yPercent); + } + + m2.rotation = _parseAngle(("rotation" in v) ? v.rotation : ("shortRotation" in v) ? v.shortRotation + "_short" : ("rotationZ" in v) ? v.rotationZ : m1.rotation, m1.rotation, "rotation", endRotations); + if (_supports3D) { + m2.rotationX = _parseAngle(("rotationX" in v) ? v.rotationX : ("shortRotationX" in v) ? v.shortRotationX + "_short" : m1.rotationX || 0, m1.rotationX, "rotationX", endRotations); + m2.rotationY = _parseAngle(("rotationY" in v) ? v.rotationY : ("shortRotationY" in v) ? v.shortRotationY + "_short" : m1.rotationY || 0, m1.rotationY, "rotationY", endRotations); + } + m2.skewX = (v.skewX == null) ? m1.skewX : _parseAngle(v.skewX, m1.skewX); + + //note: for performance reasons, we combine all skewing into the skewX and rotation values, ignoring skewY but we must still record it so that we can discern how much of the overall skew is attributed to skewX vs. skewY. Otherwise, if the skewY would always act relative (tween skewY to 10deg, for example, multiple times and if we always combine things into skewX, we can't remember that skewY was 10 from last time). Remember, a skewY of 10 degrees looks the same as a rotation of 10 degrees plus a skewX of -10 degrees. + m2.skewY = (v.skewY == null) ? m1.skewY : _parseAngle(v.skewY, m1.skewY); + if ((skewY = m2.skewY - m1.skewY)) { + m2.skewX += skewY; + m2.rotation += skewY; + } + } + if (_supports3D && v.force3D != null) { + m1.force3D = v.force3D; + hasChange = true; + } + + m1.skewType = v.skewType || m1.skewType || CSSPlugin.defaultSkewType; + + has3D = (m1.force3D || m1.z || m1.rotationX || m1.rotationY || m2.z || m2.rotationX || m2.rotationY || m2.perspective); + if (!has3D && v.scale != null) { + m2.scaleZ = 1; //no need to tween scaleZ. + } + + while (--i > -1) { + p = _transformProps[i]; + orig = m2[p] - m1[p]; + if (orig > min || orig < -min || v[p] != null || _forcePT[p] != null) { + hasChange = true; + pt = new CSSPropTween(m1, p, m1[p], orig, pt); + if (p in endRotations) { + pt.e = endRotations[p]; //directional rotations typically have compensated values during the tween, but we need to make sure they end at exactly what the user requested + } + pt.xs0 = 0; //ensures the value stays numeric in setRatio() + pt.plugin = plugin; + cssp._overwriteProps.push(pt.n); + } + } + + orig = v.transformOrigin; + if (m1.svg && (orig || v.svgOrigin)) { + x = m1.xOffset; //when we change the origin, in order to prevent things from jumping we adjust the x/y so we must record those here so that we can create PropTweens for them and flip them at the same time as the origin + y = m1.yOffset; + _parseSVGOrigin(t, _parsePosition(orig), m2, v.svgOrigin, v.smoothOrigin); + pt = _addNonTweeningNumericPT(m1, "xOrigin", (originalGSTransform ? m1 : m2).xOrigin, m2.xOrigin, pt, transformOriginString); //note: if there wasn't a transformOrigin defined yet, just start with the destination one; it's wasteful otherwise, and it causes problems with fromTo() tweens. For example, TweenLite.to("#wheel", 3, {rotation:180, transformOrigin:"50% 50%", delay:1}); TweenLite.fromTo("#wheel", 3, {scale:0.5, transformOrigin:"50% 50%"}, {scale:1, delay:2}); would cause a jump when the from values revert at the beginning of the 2nd tween. + pt = _addNonTweeningNumericPT(m1, "yOrigin", (originalGSTransform ? m1 : m2).yOrigin, m2.yOrigin, pt, transformOriginString); + if (x !== m1.xOffset || y !== m1.yOffset) { + pt = _addNonTweeningNumericPT(m1, "xOffset", (originalGSTransform ? x : m1.xOffset), m1.xOffset, pt, transformOriginString); + pt = _addNonTweeningNumericPT(m1, "yOffset", (originalGSTransform ? y : m1.yOffset), m1.yOffset, pt, transformOriginString); + } + orig = _useSVGTransformAttr ? null : "0px 0px"; //certain browsers (like firefox) completely botch transform-origin, so we must remove it to prevent it from contaminating transforms. We manage it ourselves with xOrigin and yOrigin + } + if (orig || (_supports3D && has3D && m1.zOrigin)) { //if anything 3D is happening and there's a transformOrigin with a z component that's non-zero, we must ensure that the transformOrigin's z-component is set to 0 so that we can manually do those calculations to get around Safari bugs. Even if the user didn't specifically define a "transformOrigin" in this particular tween (maybe they did it via css directly). + if (_transformProp) { + hasChange = true; + p = _transformOriginProp; + orig = (orig || _getStyle(t, p, _cs, false, "50% 50%")) + ""; //cast as string to avoid errors + pt = new CSSPropTween(style, p, 0, 0, pt, -1, transformOriginString); + pt.b = style[p]; + pt.plugin = plugin; + if (_supports3D) { + copy = m1.zOrigin; + orig = orig.split(" "); + m1.zOrigin = ((orig.length > 2 && !(copy !== 0 && orig[2] === "0px")) ? parseFloat(orig[2]) : copy) || 0; //Safari doesn't handle the z part of transformOrigin correctly, so we'll manually handle it in the _set3DTransformRatio() method. + pt.xs0 = pt.e = orig[0] + " " + (orig[1] || "50%") + " 0px"; //we must define a z value of 0px specifically otherwise iOS 5 Safari will stick with the old one (if one was defined)! + pt = new CSSPropTween(m1, "zOrigin", 0, 0, pt, -1, pt.n); //we must create a CSSPropTween for the _gsTransform.zOrigin so that it gets reset properly at the beginning if the tween runs backward (as opposed to just setting m1.zOrigin here) + pt.b = copy; + pt.xs0 = pt.e = m1.zOrigin; + } else { + pt.xs0 = pt.e = orig; + } + + //for older versions of IE (6-8), we need to manually calculate things inside the setRatio() function. We record origin x and y (ox and oy) and whether or not the values are percentages (oxp and oyp). + } else { + _parsePosition(orig + "", m1); + } + } + if (hasChange) { + cssp._transformType = (!(m1.svg && _useSVGTransformAttr) && (has3D || this._transformType === 3)) ? 3 : 2; //quicker than calling cssp._enableTransforms(); + } + return pt; + }, prefix:true}); + + _registerComplexSpecialProp("boxShadow", {defaultValue:"0px 0px 0px 0px #999", prefix:true, color:true, multi:true, keyword:"inset"}); + + _registerComplexSpecialProp("borderRadius", {defaultValue:"0px", parser:function(t, e, p, cssp, pt, plugin) { + e = this.format(e); + var props = ["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"], + style = t.style, + ea1, i, es2, bs2, bs, es, bn, en, w, h, esfx, bsfx, rel, hn, vn, em; + w = parseFloat(t.offsetWidth); + h = parseFloat(t.offsetHeight); + ea1 = e.split(" "); + for (i = 0; i < props.length; i++) { //if we're dealing with percentages, we must convert things separately for the horizontal and vertical axis! + if (this.p.indexOf("border")) { //older browsers used a prefix + props[i] = _checkPropPrefix(props[i]); + } + bs = bs2 = _getStyle(t, props[i], _cs, false, "0px"); + if (bs.indexOf(" ") !== -1) { + bs2 = bs.split(" "); + bs = bs2[0]; + bs2 = bs2[1]; + } + es = es2 = ea1[i]; + bn = parseFloat(bs); + bsfx = bs.substr((bn + "").length); + rel = (es.charAt(1) === "="); + if (rel) { + en = parseInt(es.charAt(0)+"1", 10); + es = es.substr(2); + en *= parseFloat(es); + esfx = es.substr((en + "").length - (en < 0 ? 1 : 0)) || ""; + } else { + en = parseFloat(es); + esfx = es.substr((en + "").length); + } + if (esfx === "") { + esfx = _suffixMap[p] || bsfx; + } + if (esfx !== bsfx) { + hn = _convertToPixels(t, "borderLeft", bn, bsfx); //horizontal number (we use a bogus "borderLeft" property just because the _convertToPixels() method searches for the keywords "Left", "Right", "Top", and "Bottom" to determine of it's a horizontal or vertical property, and we need "border" in the name so that it knows it should measure relative to the element itself, not its parent. + vn = _convertToPixels(t, "borderTop", bn, bsfx); //vertical number + if (esfx === "%") { + bs = (hn / w * 100) + "%"; + bs2 = (vn / h * 100) + "%"; + } else if (esfx === "em") { + em = _convertToPixels(t, "borderLeft", 1, "em"); + bs = (hn / em) + "em"; + bs2 = (vn / em) + "em"; + } else { + bs = hn + "px"; + bs2 = vn + "px"; + } + if (rel) { + es = (parseFloat(bs) + en) + esfx; + es2 = (parseFloat(bs2) + en) + esfx; + } + } + pt = _parseComplex(style, props[i], bs + " " + bs2, es + " " + es2, false, "0px", pt); + } + return pt; + }, prefix:true, formatter:_getFormatter("0px 0px 0px 0px", false, true)}); + _registerComplexSpecialProp("backgroundPosition", {defaultValue:"0 0", parser:function(t, e, p, cssp, pt, plugin) { + var bp = "background-position", + cs = (_cs || _getComputedStyle(t, null)), + bs = this.format( ((cs) ? _ieVers ? cs.getPropertyValue(bp + "-x") + " " + cs.getPropertyValue(bp + "-y") : cs.getPropertyValue(bp) : t.currentStyle.backgroundPositionX + " " + t.currentStyle.backgroundPositionY) || "0 0"), //Internet Explorer doesn't report background-position correctly - we must query background-position-x and background-position-y and combine them (even in IE10). Before IE9, we must do the same with the currentStyle object and use camelCase + es = this.format(e), + ba, ea, i, pct, overlap, src; + if ((bs.indexOf("%") !== -1) !== (es.indexOf("%") !== -1)) { + src = _getStyle(t, "backgroundImage").replace(_urlExp, ""); + if (src && src !== "none") { + ba = bs.split(" "); + ea = es.split(" "); + _tempImg.setAttribute("src", src); //set the temp IMG's src to the background-image so that we can measure its width/height + i = 2; + while (--i > -1) { + bs = ba[i]; + pct = (bs.indexOf("%") !== -1); + if (pct !== (ea[i].indexOf("%") !== -1)) { + overlap = (i === 0) ? t.offsetWidth - _tempImg.width : t.offsetHeight - _tempImg.height; + ba[i] = pct ? (parseFloat(bs) / 100 * overlap) + "px" : (parseFloat(bs) / overlap * 100) + "%"; + } + } + bs = ba.join(" "); + } + } + return this.parseComplex(t.style, bs, es, pt, plugin); + }, formatter:_parsePosition}); + _registerComplexSpecialProp("backgroundSize", {defaultValue:"0 0", formatter:_parsePosition}); + _registerComplexSpecialProp("perspective", {defaultValue:"0px", prefix:true}); + _registerComplexSpecialProp("perspectiveOrigin", {defaultValue:"50% 50%", prefix:true}); + _registerComplexSpecialProp("transformStyle", {prefix:true}); + _registerComplexSpecialProp("backfaceVisibility", {prefix:true}); + _registerComplexSpecialProp("userSelect", {prefix:true}); + _registerComplexSpecialProp("margin", {parser:_getEdgeParser("marginTop,marginRight,marginBottom,marginLeft")}); + _registerComplexSpecialProp("padding", {parser:_getEdgeParser("paddingTop,paddingRight,paddingBottom,paddingLeft")}); + _registerComplexSpecialProp("clip", {defaultValue:"rect(0px,0px,0px,0px)", parser:function(t, e, p, cssp, pt, plugin){ + var b, cs, delim; + if (_ieVers < 9) { //IE8 and earlier don't report a "clip" value in the currentStyle - instead, the values are split apart into clipTop, clipRight, clipBottom, and clipLeft. Also, in IE7 and earlier, the values inside rect() are space-delimited, not comma-delimited. + cs = t.currentStyle; + delim = _ieVers < 8 ? " " : ","; + b = "rect(" + cs.clipTop + delim + cs.clipRight + delim + cs.clipBottom + delim + cs.clipLeft + ")"; + e = this.format(e).split(",").join(delim); + } else { + b = this.format(_getStyle(t, this.p, _cs, false, this.dflt)); + e = this.format(e); + } + return this.parseComplex(t.style, b, e, pt, plugin); + }}); + _registerComplexSpecialProp("textShadow", {defaultValue:"0px 0px 0px #999", color:true, multi:true}); + _registerComplexSpecialProp("autoRound,strictUnits", {parser:function(t, e, p, cssp, pt) {return pt;}}); //just so that we can ignore these properties (not tween them) + _registerComplexSpecialProp("border", {defaultValue:"0px solid #000", parser:function(t, e, p, cssp, pt, plugin) { + return this.parseComplex(t.style, this.format(_getStyle(t, "borderTopWidth", _cs, false, "0px") + " " + _getStyle(t, "borderTopStyle", _cs, false, "solid") + " " + _getStyle(t, "borderTopColor", _cs, false, "#000")), this.format(e), pt, plugin); + }, color:true, formatter:function(v) { + var a = v.split(" "); + return a[0] + " " + (a[1] || "solid") + " " + (v.match(_colorExp) || ["#000"])[0]; + }}); + _registerComplexSpecialProp("borderWidth", {parser:_getEdgeParser("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}); //Firefox doesn't pick up on borderWidth set in style sheets (only inline). + _registerComplexSpecialProp("float,cssFloat,styleFloat", {parser:function(t, e, p, cssp, pt, plugin) { + var s = t.style, + prop = ("cssFloat" in s) ? "cssFloat" : "styleFloat"; + return new CSSPropTween(s, prop, 0, 0, pt, -1, p, false, 0, s[prop], e); + }}); + + //opacity-related + var _setIEOpacityRatio = function(v) { + var t = this.t, //refers to the element's style property + filters = t.filter || _getStyle(this.data, "filter") || "", + val = (this.s + this.c * v) | 0, + skip; + if (val === 100) { //for older versions of IE that need to use a filter to apply opacity, we should remove the filter if opacity hits 1 in order to improve performance, but make sure there isn't a transform (matrix) or gradient in the filters. + if (filters.indexOf("atrix(") === -1 && filters.indexOf("radient(") === -1 && filters.indexOf("oader(") === -1) { + t.removeAttribute("filter"); + skip = (!_getStyle(this.data, "filter")); //if a class is applied that has an alpha filter, it will take effect (we don't want that), so re-apply our alpha filter in that case. We must first remove it and then check. + } else { + t.filter = filters.replace(_alphaFilterExp, ""); + skip = true; + } + } + if (!skip) { + if (this.xn1) { + t.filter = filters = filters || ("alpha(opacity=" + val + ")"); //works around bug in IE7/8 that prevents changes to "visibility" from being applied properly if the filter is changed to a different alpha on the same frame. + } + if (filters.indexOf("pacity") === -1) { //only used if browser doesn't support the standard opacity style property (IE 7 and 8). We omit the "O" to avoid case-sensitivity issues + if (val !== 0 || !this.xn1) { //bugs in IE7/8 won't render the filter properly if opacity is ADDED on the same frame/render as "visibility" changes (this.xn1 is 1 if this tween is an "autoAlpha" tween) + t.filter = filters + " alpha(opacity=" + val + ")"; //we round the value because otherwise, bugs in IE7/8 can prevent "visibility" changes from being applied properly. + } + } else { + t.filter = filters.replace(_opacityExp, "opacity=" + val); + } + } + }; + _registerComplexSpecialProp("opacity,alpha,autoAlpha", {defaultValue:"1", parser:function(t, e, p, cssp, pt, plugin) { + var b = parseFloat(_getStyle(t, "opacity", _cs, false, "1")), + style = t.style, + isAutoAlpha = (p === "autoAlpha"); + if (typeof(e) === "string" && e.charAt(1) === "=") { + e = ((e.charAt(0) === "-") ? -1 : 1) * parseFloat(e.substr(2)) + b; + } + if (isAutoAlpha && b === 1 && _getStyle(t, "visibility", _cs) === "hidden" && e !== 0) { //if visibility is initially set to "hidden", we should interpret that as intent to make opacity 0 (a convenience) + b = 0; + } + if (_supportsOpacity) { + pt = new CSSPropTween(style, "opacity", b, e - b, pt); + } else { + pt = new CSSPropTween(style, "opacity", b * 100, (e - b) * 100, pt); + pt.xn1 = isAutoAlpha ? 1 : 0; //we need to record whether or not this is an autoAlpha so that in the setRatio(), we know to duplicate the setting of the alpha in order to work around a bug in IE7 and IE8 that prevents changes to "visibility" from taking effect if the filter is changed to a different alpha(opacity) at the same time. Setting it to the SAME value first, then the new value works around the IE7/8 bug. + style.zoom = 1; //helps correct an IE issue. + pt.type = 2; + pt.b = "alpha(opacity=" + pt.s + ")"; + pt.e = "alpha(opacity=" + (pt.s + pt.c) + ")"; + pt.data = t; + pt.plugin = plugin; + pt.setRatio = _setIEOpacityRatio; + } + if (isAutoAlpha) { //we have to create the "visibility" PropTween after the opacity one in the linked list so that they run in the order that works properly in IE8 and earlier + pt = new CSSPropTween(style, "visibility", 0, 0, pt, -1, null, false, 0, ((b !== 0) ? "inherit" : "hidden"), ((e === 0) ? "hidden" : "inherit")); + pt.xs0 = "inherit"; + cssp._overwriteProps.push(pt.n); + cssp._overwriteProps.push(p); + } + return pt; + }}); + + + var _removeProp = function(s, p) { + if (p) { + if (s.removeProperty) { + if (p.substr(0,2) === "ms" || p.substr(0,6) === "webkit") { //Microsoft and some Webkit browsers don't conform to the standard of capitalizing the first prefix character, so we adjust so that when we prefix the caps with a dash, it's correct (otherwise it'd be "ms-transform" instead of "-ms-transform" for IE9, for example) + p = "-" + p; + } + s.removeProperty(p.replace(_capsExp, "-$1").toLowerCase()); + } else { //note: old versions of IE use "removeAttribute()" instead of "removeProperty()" + s.removeAttribute(p); + } + } + }, + _setClassNameRatio = function(v) { + this.t._gsClassPT = this; + if (v === 1 || v === 0) { + this.t.setAttribute("class", (v === 0) ? this.b : this.e); + var mpt = this.data, //first MiniPropTween + s = this.t.style; + while (mpt) { + if (!mpt.v) { + _removeProp(s, mpt.p); + } else { + s[mpt.p] = mpt.v; + } + mpt = mpt._next; + } + if (v === 1 && this.t._gsClassPT === this) { + this.t._gsClassPT = null; + } + } else if (this.t.getAttribute("class") !== this.e) { + this.t.setAttribute("class", this.e); + } + }; + _registerComplexSpecialProp("className", {parser:function(t, e, p, cssp, pt, plugin, vars) { + var b = t.getAttribute("class") || "", //don't use t.className because it doesn't work consistently on SVG elements; getAttribute("class") and setAttribute("class", value") is more reliable. + cssText = t.style.cssText, + difData, bs, cnpt, cnptLookup, mpt; + pt = cssp._classNamePT = new CSSPropTween(t, p, 0, 0, pt, 2); + pt.setRatio = _setClassNameRatio; + pt.pr = -11; + _hasPriority = true; + pt.b = b; + bs = _getAllStyles(t, _cs); + //if there's a className tween already operating on the target, force it to its end so that the necessary inline styles are removed and the class name is applied before we determine the end state (we don't want inline styles interfering that were there just for class-specific values) + cnpt = t._gsClassPT; + if (cnpt) { + cnptLookup = {}; + mpt = cnpt.data; //first MiniPropTween which stores the inline styles - we need to force these so that the inline styles don't contaminate things. Otherwise, there's a small chance that a tween could start and the inline values match the destination values and they never get cleaned. + while (mpt) { + cnptLookup[mpt.p] = 1; + mpt = mpt._next; + } + cnpt.setRatio(1); + } + t._gsClassPT = pt; + pt.e = (e.charAt(1) !== "=") ? e : b.replace(new RegExp("\\s*\\b" + e.substr(2) + "\\b"), "") + ((e.charAt(0) === "+") ? " " + e.substr(2) : ""); + t.setAttribute("class", pt.e); + difData = _cssDif(t, bs, _getAllStyles(t), vars, cnptLookup); + t.setAttribute("class", b); + pt.data = difData.firstMPT; + t.style.cssText = cssText; //we recorded cssText before we swapped classes and ran _getAllStyles() because in cases when a className tween is overwritten, we remove all the related tweening properties from that class change (otherwise class-specific stuff can't override properties we've directly set on the target's style object due to specificity). + pt = pt.xfirst = cssp.parse(t, difData.difs, pt, plugin); //we record the CSSPropTween as the xfirst so that we can handle overwriting propertly (if "className" gets overwritten, we must kill all the properties associated with the className part of the tween, so we can loop through from xfirst to the pt itself) + return pt; + }}); + + + var _setClearPropsRatio = function(v) { + if (v === 1 || v === 0) if (this.data._totalTime === this.data._totalDuration && this.data.data !== "isFromStart") { //this.data refers to the tween. Only clear at the END of the tween (remember, from() tweens make the ratio go from 1 to 0, so we can't just check that and if the tween is the zero-duration one that's created internally to render the starting values in a from() tween, ignore that because otherwise, for example, from(...{height:100, clearProps:"height", delay:1}) would wipe the height at the beginning of the tween and after 1 second, it'd kick back in). + var s = this.t.style, + transformParse = _specialProps.transform.parse, + a, p, i, clearTransform, transform; + if (this.e === "all") { + s.cssText = ""; + clearTransform = true; + } else { + a = this.e.split(" ").join("").split(","); + i = a.length; + while (--i > -1) { + p = a[i]; + if (_specialProps[p]) { + if (_specialProps[p].parse === transformParse) { + clearTransform = true; + } else { + p = (p === "transformOrigin") ? _transformOriginProp : _specialProps[p].p; //ensures that special properties use the proper browser-specific property name, like "scaleX" might be "-webkit-transform" or "boxShadow" might be "-moz-box-shadow" + } + } + _removeProp(s, p); + } + } + if (clearTransform) { + _removeProp(s, _transformProp); + transform = this.t._gsTransform; + if (transform) { + if (transform.svg) { + this.t.removeAttribute("data-svg-origin"); + } + delete this.t._gsTransform; + } + } + + } + }; + _registerComplexSpecialProp("clearProps", {parser:function(t, e, p, cssp, pt) { + pt = new CSSPropTween(t, p, 0, 0, pt, 2); + pt.setRatio = _setClearPropsRatio; + pt.e = e; + pt.pr = -10; + pt.data = cssp._tween; + _hasPriority = true; + return pt; + }}); + + p = "bezier,throwProps,physicsProps,physics2D".split(","); + i = p.length; + while (i--) { + _registerPluginProp(p[i]); + } + + + + + + + + + p = CSSPlugin.prototype; + p._firstPT = p._lastParsedTransform = p._transform = null; + + //gets called when the tween renders for the first time. This kicks everything off, recording start/end values, etc. + p._onInitTween = function(target, vars, tween) { + if (!target.nodeType) { //css is only for dom elements + return false; + } + this._target = target; + this._tween = tween; + this._vars = vars; + _autoRound = vars.autoRound; + _hasPriority = false; + _suffixMap = vars.suffixMap || CSSPlugin.suffixMap; + _cs = _getComputedStyle(target, ""); + _overwriteProps = this._overwriteProps; + var style = target.style, + v, pt, pt2, first, last, next, zIndex, tpt, threeD; + if (_reqSafariFix) if (style.zIndex === "") { + v = _getStyle(target, "zIndex", _cs); + if (v === "auto" || v === "") { + //corrects a bug in [non-Android] Safari that prevents it from repainting elements in their new positions if they don't have a zIndex set. We also can't just apply this inside _parseTransform() because anything that's moved in any way (like using "left" or "top" instead of transforms like "x" and "y") can be affected, so it is best to ensure that anything that's tweening has a z-index. Setting "WebkitPerspective" to a non-zero value worked too except that on iOS Safari things would flicker randomly. Plus zIndex is less memory-intensive. + this._addLazySet(style, "zIndex", 0); + } + } + + if (typeof(vars) === "string") { + first = style.cssText; + v = _getAllStyles(target, _cs); + style.cssText = first + ";" + vars; + v = _cssDif(target, v, _getAllStyles(target)).difs; + if (!_supportsOpacity && _opacityValExp.test(vars)) { + v.opacity = parseFloat( RegExp.$1 ); + } + vars = v; + style.cssText = first; + } + + if (vars.className) { //className tweens will combine any differences they find in the css with the vars that are passed in, so {className:"myClass", scale:0.5, left:20} would work. + this._firstPT = pt = _specialProps.className.parse(target, vars.className, "className", this, null, null, vars); + } else { + this._firstPT = pt = this.parse(target, vars, null); + } + + if (this._transformType) { + threeD = (this._transformType === 3); + if (!_transformProp) { + style.zoom = 1; //helps correct an IE issue. + } else if (_isSafari) { + _reqSafariFix = true; + //if zIndex isn't set, iOS Safari doesn't repaint things correctly sometimes (seemingly at random). + if (style.zIndex === "") { + zIndex = _getStyle(target, "zIndex", _cs); + if (zIndex === "auto" || zIndex === "") { + this._addLazySet(style, "zIndex", 0); + } + } + //Setting WebkitBackfaceVisibility corrects 3 bugs: + // 1) [non-Android] Safari skips rendering changes to "top" and "left" that are made on the same frame/render as a transform update. + // 2) iOS Safari sometimes neglects to repaint elements in their new positions. Setting "WebkitPerspective" to a non-zero value worked too except that on iOS Safari things would flicker randomly. + // 3) Safari sometimes displayed odd artifacts when tweening the transform (or WebkitTransform) property, like ghosts of the edges of the element remained. Definitely a browser bug. + //Note: we allow the user to override the auto-setting by defining WebkitBackfaceVisibility in the vars of the tween. + if (_isSafariLT6) { + this._addLazySet(style, "WebkitBackfaceVisibility", this._vars.WebkitBackfaceVisibility || (threeD ? "visible" : "hidden")); + } + } + pt2 = pt; + while (pt2 && pt2._next) { + pt2 = pt2._next; + } + tpt = new CSSPropTween(target, "transform", 0, 0, null, 2); + this._linkCSSP(tpt, null, pt2); + tpt.setRatio = _transformProp ? _setTransformRatio : _setIETransformRatio; + tpt.data = this._transform || _getTransform(target, _cs, true); + tpt.tween = tween; + tpt.pr = -1; //ensures that the transforms get applied after the components are updated. + _overwriteProps.pop(); //we don't want to force the overwrite of all "transform" tweens of the target - we only care about individual transform properties like scaleX, rotation, etc. The CSSPropTween constructor automatically adds the property to _overwriteProps which is why we need to pop() here. + } + + if (_hasPriority) { + //reorders the linked list in order of pr (priority) + while (pt) { + next = pt._next; + pt2 = first; + while (pt2 && pt2.pr > pt.pr) { + pt2 = pt2._next; + } + if ((pt._prev = pt2 ? pt2._prev : last)) { + pt._prev._next = pt; + } else { + first = pt; + } + if ((pt._next = pt2)) { + pt2._prev = pt; + } else { + last = pt; + } + pt = next; + } + this._firstPT = first; + } + return true; + }; + + + p.parse = function(target, vars, pt, plugin) { + var style = target.style, + p, sp, bn, en, bs, es, bsfx, esfx, isStr, rel; + for (p in vars) { + es = vars[p]; //ending value string + sp = _specialProps[p]; //SpecialProp lookup. + if (sp) { + pt = sp.parse(target, es, p, this, pt, plugin, vars); + + } else { + bs = _getStyle(target, p, _cs) + ""; + isStr = (typeof(es) === "string"); + if (p === "color" || p === "fill" || p === "stroke" || p.indexOf("Color") !== -1 || (isStr && _rgbhslExp.test(es))) { //Opera uses background: to define color sometimes in addition to backgroundColor: + if (!isStr) { + es = _parseColor(es); + es = ((es.length > 3) ? "rgba(" : "rgb(") + es.join(",") + ")"; + } + pt = _parseComplex(style, p, bs, es, true, "transparent", pt, 0, plugin); + + } else if (isStr && (es.indexOf(" ") !== -1 || es.indexOf(",") !== -1)) { + pt = _parseComplex(style, p, bs, es, true, null, pt, 0, plugin); + + } else { + bn = parseFloat(bs); + bsfx = (bn || bn === 0) ? bs.substr((bn + "").length) : ""; //remember, bs could be non-numeric like "normal" for fontWeight, so we should default to a blank suffix in that case. + + if (bs === "" || bs === "auto") { + if (p === "width" || p === "height") { + bn = _getDimension(target, p, _cs); + bsfx = "px"; + } else if (p === "left" || p === "top") { + bn = _calculateOffset(target, p, _cs); + bsfx = "px"; + } else { + bn = (p !== "opacity") ? 0 : 1; + bsfx = ""; + } + } + + rel = (isStr && es.charAt(1) === "="); + if (rel) { + en = parseInt(es.charAt(0) + "1", 10); + es = es.substr(2); + en *= parseFloat(es); + esfx = es.replace(_suffixExp, ""); + } else { + en = parseFloat(es); + esfx = isStr ? es.replace(_suffixExp, "") : ""; + } + + if (esfx === "") { + esfx = (p in _suffixMap) ? _suffixMap[p] : bsfx; //populate the end suffix, prioritizing the map, then if none is found, use the beginning suffix. + } + + es = (en || en === 0) ? (rel ? en + bn : en) + esfx : vars[p]; //ensures that any += or -= prefixes are taken care of. Record the end value before normalizing the suffix because we always want to end the tween on exactly what they intended even if it doesn't match the beginning value's suffix. + + //if the beginning/ending suffixes don't match, normalize them... + if (bsfx !== esfx) if (esfx !== "") if (en || en === 0) if (bn) { //note: if the beginning value (bn) is 0, we don't need to convert units! + bn = _convertToPixels(target, p, bn, bsfx); + if (esfx === "%") { + bn /= _convertToPixels(target, p, 100, "%") / 100; + if (vars.strictUnits !== true) { //some browsers report only "px" values instead of allowing "%" with getComputedStyle(), so we assume that if we're tweening to a %, we should start there too unless strictUnits:true is defined. This approach is particularly useful for responsive designs that use from() tweens. + bs = bn + "%"; + } + + } else if (esfx === "em" || esfx === "rem") { + bn /= _convertToPixels(target, p, 1, esfx); + + //otherwise convert to pixels. + } else if (esfx !== "px") { + en = _convertToPixels(target, p, en, esfx); + esfx = "px"; //we don't use bsfx after this, so we don't need to set it to px too. + } + if (rel) if (en || en === 0) { + es = (en + bn) + esfx; //the changes we made affect relative calculations, so adjust the end value here. + } + } + + if (rel) { + en += bn; + } + + if ((bn || bn === 0) && (en || en === 0)) { //faster than isNaN(). Also, previously we required en !== bn but that doesn't really gain much performance and it prevents _parseToProxy() from working properly if beginning and ending values match but need to get tweened by an external plugin anyway. For example, a bezier tween where the target starts at left:0 and has these points: [{left:50},{left:0}] wouldn't work properly because when parsing the last point, it'd match the first (current) one and a non-tweening CSSPropTween would be recorded when we actually need a normal tween (type:0) so that things get updated during the tween properly. + pt = new CSSPropTween(style, p, bn, en - bn, pt, 0, p, (_autoRound !== false && (esfx === "px" || p === "zIndex")), 0, bs, es); + pt.xs0 = esfx; + //DEBUG: _log("tween "+p+" from "+pt.b+" ("+bn+esfx+") to "+pt.e+" with suffix: "+pt.xs0); + } else if (style[p] === undefined || !es && (es + "" === "NaN" || es == null)) { + _log("invalid " + p + " tween value: " + vars[p]); + } else { + pt = new CSSPropTween(style, p, en || bn || 0, 0, pt, -1, p, false, 0, bs, es); + pt.xs0 = (es === "none" && (p === "display" || p.indexOf("Style") !== -1)) ? bs : es; //intermediate value should typically be set immediately (end value) except for "display" or things like borderTopStyle, borderBottomStyle, etc. which should use the beginning value during the tween. + //DEBUG: _log("non-tweening value "+p+": "+pt.xs0); + } + } + } + if (plugin) if (pt && !pt.plugin) { + pt.plugin = plugin; + } + } + return pt; + }; + + + //gets called every time the tween updates, passing the new ratio (typically a value between 0 and 1, but not always (for example, if an Elastic.easeOut is used, the value can jump above 1 mid-tween). It will always start and 0 and end at 1. + p.setRatio = function(v) { + var pt = this._firstPT, + min = 0.000001, + val, str, i; + //at the end of the tween, we set the values to exactly what we received in order to make sure non-tweening values (like "position" or "float" or whatever) are set and so that if the beginning/ending suffixes (units) didn't match and we normalized to px, the value that the user passed in is used here. We check to see if the tween is at its beginning in case it's a from() tween in which case the ratio will actually go from 1 to 0 over the course of the tween (backwards). + if (v === 1 && (this._tween._time === this._tween._duration || this._tween._time === 0)) { + while (pt) { + if (pt.type !== 2) { + if (pt.r && pt.type !== -1) { + val = Math.round(pt.s + pt.c); + if (!pt.type) { + pt.t[pt.p] = val + pt.xs0; + } else if (pt.type === 1) { //complex value (one that typically has multiple numbers inside a string, like "rect(5px,10px,20px,25px)" + i = pt.l; + str = pt.xs0 + val + pt.xs1; + for (i = 1; i < pt.l; i++) { + str += pt["xn"+i] + pt["xs"+(i+1)]; + } + pt.t[pt.p] = str; + } + } else { + pt.t[pt.p] = pt.e; + } + } else { + pt.setRatio(v); + } + pt = pt._next; + } + + } else if (v || !(this._tween._time === this._tween._duration || this._tween._time === 0) || this._tween._rawPrevTime === -0.000001) { + while (pt) { + val = pt.c * v + pt.s; + if (pt.r) { + val = Math.round(val); + } else if (val < min) if (val > -min) { + val = 0; + } + if (!pt.type) { + pt.t[pt.p] = val + pt.xs0; + } else if (pt.type === 1) { //complex value (one that typically has multiple numbers inside a string, like "rect(5px,10px,20px,25px)" + i = pt.l; + if (i === 2) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2; + } else if (i === 3) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2 + pt.xn2 + pt.xs3; + } else if (i === 4) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2 + pt.xn2 + pt.xs3 + pt.xn3 + pt.xs4; + } else if (i === 5) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2 + pt.xn2 + pt.xs3 + pt.xn3 + pt.xs4 + pt.xn4 + pt.xs5; + } else { + str = pt.xs0 + val + pt.xs1; + for (i = 1; i < pt.l; i++) { + str += pt["xn"+i] + pt["xs"+(i+1)]; + } + pt.t[pt.p] = str; + } + + } else if (pt.type === -1) { //non-tweening value + pt.t[pt.p] = pt.xs0; + + } else if (pt.setRatio) { //custom setRatio() for things like SpecialProps, external plugins, etc. + pt.setRatio(v); + } + pt = pt._next; + } + + //if the tween is reversed all the way back to the beginning, we need to restore the original values which may have different units (like % instead of px or em or whatever). + } else { + while (pt) { + if (pt.type !== 2) { + pt.t[pt.p] = pt.b; + } else { + pt.setRatio(v); + } + pt = pt._next; + } + } + }; + + /** + * @private + * Forces rendering of the target's transforms (rotation, scale, etc.) whenever the CSSPlugin's setRatio() is called. + * Basically, this tells the CSSPlugin to create a CSSPropTween (type 2) after instantiation that runs last in the linked + * list and calls the appropriate (3D or 2D) rendering function. We separate this into its own method so that we can call + * it from other plugins like BezierPlugin if, for example, it needs to apply an autoRotation and this CSSPlugin + * doesn't have any transform-related properties of its own. You can call this method as many times as you + * want and it won't create duplicate CSSPropTweens. + * + * @param {boolean} threeD if true, it should apply 3D tweens (otherwise, just 2D ones are fine and typically faster) + */ + p._enableTransforms = function(threeD) { + this._transform = this._transform || _getTransform(this._target, _cs, true); //ensures that the element has a _gsTransform property with the appropriate values. + this._transformType = (!(this._transform.svg && _useSVGTransformAttr) && (threeD || this._transformType === 3)) ? 3 : 2; + }; + + var lazySet = function(v) { + this.t[this.p] = this.e; + this.data._linkCSSP(this, this._next, null, true); //we purposefully keep this._next even though it'd make sense to null it, but this is a performance optimization, as this happens during the while (pt) {} loop in setRatio() at the bottom of which it sets pt = pt._next, so if we null it, the linked list will be broken in that loop. + }; + /** @private Gives us a way to set a value on the first render (and only the first render). **/ + p._addLazySet = function(t, p, v) { + var pt = this._firstPT = new CSSPropTween(t, p, 0, 0, this._firstPT, 2); + pt.e = v; + pt.setRatio = lazySet; + pt.data = this; + }; + + /** @private **/ + p._linkCSSP = function(pt, next, prev, remove) { + if (pt) { + if (next) { + next._prev = pt; + } + if (pt._next) { + pt._next._prev = pt._prev; + } + if (pt._prev) { + pt._prev._next = pt._next; + } else if (this._firstPT === pt) { + this._firstPT = pt._next; + remove = true; //just to prevent resetting this._firstPT 5 lines down in case pt._next is null. (optimized for speed) + } + if (prev) { + prev._next = pt; + } else if (!remove && this._firstPT === null) { + this._firstPT = pt; + } + pt._next = next; + pt._prev = prev; + } + return pt; + }; + + //we need to make sure that if alpha or autoAlpha is killed, opacity is too. And autoAlpha affects the "visibility" property. + p._kill = function(lookup) { + var copy = lookup, + pt, p, xfirst; + if (lookup.autoAlpha || lookup.alpha) { + copy = {}; + for (p in lookup) { //copy the lookup so that we're not changing the original which may be passed elsewhere. + copy[p] = lookup[p]; + } + copy.opacity = 1; + if (copy.autoAlpha) { + copy.visibility = 1; + } + } + if (lookup.className && (pt = this._classNamePT)) { //for className tweens, we need to kill any associated CSSPropTweens too; a linked list starts at the className's "xfirst". + xfirst = pt.xfirst; + if (xfirst && xfirst._prev) { + this._linkCSSP(xfirst._prev, pt._next, xfirst._prev._prev); //break off the prev + } else if (xfirst === this._firstPT) { + this._firstPT = pt._next; + } + if (pt._next) { + this._linkCSSP(pt._next, pt._next._next, xfirst._prev); + } + this._classNamePT = null; + } + return TweenPlugin.prototype._kill.call(this, copy); + }; + + + + //used by cascadeTo() for gathering all the style properties of each child element into an array for comparison. + var _getChildStyles = function(e, props, targets) { + var children, i, child, type; + if (e.slice) { + i = e.length; + while (--i > -1) { + _getChildStyles(e[i], props, targets); + } + return; + } + children = e.childNodes; + i = children.length; + while (--i > -1) { + child = children[i]; + type = child.type; + if (child.style) { + props.push(_getAllStyles(child)); + if (targets) { + targets.push(child); + } + } + if ((type === 1 || type === 9 || type === 11) && child.childNodes.length) { + _getChildStyles(child, props, targets); + } + } + }; + + /** + * Typically only useful for className tweens that may affect child elements, this method creates a TweenLite + * and then compares the style properties of all the target's child elements at the tween's start and end, and + * if any are different, it also creates tweens for those and returns an array containing ALL of the resulting + * tweens (so that you can easily add() them to a TimelineLite, for example). The reason this functionality is + * wrapped into a separate static method of CSSPlugin instead of being integrated into all regular className tweens + * is because it creates entirely new tweens that may have completely different targets than the original tween, + * so if they were all lumped into the original tween instance, it would be inconsistent with the rest of the API + * and it would create other problems. For example: + * - If I create a tween of elementA, that tween instance may suddenly change its target to include 50 other elements (unintuitive if I specifically defined the target I wanted) + * - We can't just create new independent tweens because otherwise, what happens if the original/parent tween is reversed or pause or dropped into a TimelineLite for tight control? You'd expect that tween's behavior to affect all the others. + * - Analyzing every style property of every child before and after the tween is an expensive operation when there are many children, so this behavior shouldn't be imposed on all className tweens by default, especially since it's probably rare that this extra functionality is needed. + * + * @param {Object} target object to be tweened + * @param {number} Duration in seconds (or frames for frames-based tweens) + * @param {Object} Object containing the end values, like {className:"newClass", ease:Linear.easeNone} + * @return {Array} An array of TweenLite instances + */ + CSSPlugin.cascadeTo = function(target, duration, vars) { + var tween = TweenLite.to(target, duration, vars), + results = [tween], + b = [], + e = [], + targets = [], + _reservedProps = TweenLite._internals.reservedProps, + i, difs, p, from; + target = tween._targets || tween.target; + _getChildStyles(target, b, targets); + tween.render(duration, true, true); + _getChildStyles(target, e); + tween.render(0, true, true); + tween._enabled(true); + i = targets.length; + while (--i > -1) { + difs = _cssDif(targets[i], b[i], e[i]); + if (difs.firstMPT) { + difs = difs.difs; + for (p in vars) { + if (_reservedProps[p]) { + difs[p] = vars[p]; + } + } + from = {}; + for (p in difs) { + from[p] = b[i][p]; + } + results.push(TweenLite.fromTo(targets[i], duration, from, difs)); + } + } + return results; + }; + + TweenPlugin.activate([CSSPlugin]); + return CSSPlugin; + + }, true); + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * RoundPropsPlugin + * ---------------------------------------------------------------- + */ + (function() { + + var RoundPropsPlugin = _gsScope._gsDefine.plugin({ + propName: "roundProps", + version: "1.5", + priority: -1, + API: 2, + + //called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, value, tween) { + this._tween = tween; + return true; + } + + }), + _roundLinkedList = function(node) { + while (node) { + if (!node.f && !node.blob) { + node.r = 1; + } + node = node._next; + } + }, + p = RoundPropsPlugin.prototype; + + p._onInitAllProps = function() { + var tween = this._tween, + rp = (tween.vars.roundProps.join) ? tween.vars.roundProps : tween.vars.roundProps.split(","), + i = rp.length, + lookup = {}, + rpt = tween._propLookup.roundProps, + prop, pt, next; + while (--i > -1) { + lookup[rp[i]] = 1; + } + i = rp.length; + while (--i > -1) { + prop = rp[i]; + pt = tween._firstPT; + while (pt) { + next = pt._next; //record here, because it may get removed + if (pt.pg) { + pt.t._roundProps(lookup, true); + } else if (pt.n === prop) { + if (pt.f === 2 && pt.t) { //a blob (text containing multiple numeric values) + _roundLinkedList(pt.t._firstPT); + } else { + this._add(pt.t, prop, pt.s, pt.c); + //remove from linked list + if (next) { + next._prev = pt._prev; + } + if (pt._prev) { + pt._prev._next = next; + } else if (tween._firstPT === pt) { + tween._firstPT = next; + } + pt._next = pt._prev = null; + tween._propLookup[prop] = rpt; + } + } + pt = next; + } + } + return false; + }; + + p._add = function(target, p, s, c) { + this._addTween(target, p, s, s + c, p, true); + this._overwriteProps.push(p); + }; + + }()); + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * AttrPlugin + * ---------------------------------------------------------------- + */ + + (function() { + + _gsScope._gsDefine.plugin({ + propName: "attr", + API: 2, + version: "0.5.0", + + //called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, value, tween) { + var p; + if (typeof(target.setAttribute) !== "function") { + return false; + } + for (p in value) { + this._addTween(target, "setAttribute", target.getAttribute(p) + "", value[p] + "", p, false, p); + this._overwriteProps.push(p); + } + return true; + } + + }); + + }()); + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * DirectionalRotationPlugin + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine.plugin({ + propName: "directionalRotation", + version: "0.2.1", + API: 2, + + //called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, value, tween) { + if (typeof(value) !== "object") { + value = {rotation:value}; + } + this.finals = {}; + var cap = (value.useRadians === true) ? Math.PI * 2 : 360, + min = 0.000001, + p, v, start, end, dif, split; + for (p in value) { + if (p !== "useRadians") { + split = (value[p] + "").split("_"); + v = split[0]; + start = parseFloat( (typeof(target[p]) !== "function") ? target[p] : target[ ((p.indexOf("set") || typeof(target["get" + p.substr(3)]) !== "function") ? p : "get" + p.substr(3)) ]() ); + end = this.finals[p] = (typeof(v) === "string" && v.charAt(1) === "=") ? start + parseInt(v.charAt(0) + "1", 10) * Number(v.substr(2)) : Number(v) || 0; + dif = end - start; + if (split.length) { + v = split.join("_"); + if (v.indexOf("short") !== -1) { + dif = dif % cap; + if (dif !== dif % (cap / 2)) { + dif = (dif < 0) ? dif + cap : dif - cap; + } + } + if (v.indexOf("_cw") !== -1 && dif < 0) { + dif = ((dif + cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } else if (v.indexOf("ccw") !== -1 && dif > 0) { + dif = ((dif - cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } + } + if (dif > min || dif < -min) { + this._addTween(target, p, start, start + dif, p); + this._overwriteProps.push(p); + } + } + } + return true; + }, + + //called each time the values should be updated, and the ratio gets passed as the only parameter (typically it's a value between 0 and 1, but it can exceed those when using an ease like Elastic.easeOut or Back.easeOut, etc.) + set: function(ratio) { + var pt; + if (ratio !== 1) { + this._super.setRatio.call(this, ratio); + } else { + pt = this._firstPT; + while (pt) { + if (pt.f) { + pt.t[pt.p](this.finals[pt.p]); + } else { + pt.t[pt.p] = this.finals[pt.p]; + } + pt = pt._next; + } + } + } + + })._autoCSS = true; + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * EasePack + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("easing.Back", ["easing.Ease"], function(Ease) { + + var w = (_gsScope.GreenSockGlobals || _gsScope), + gs = w.com.greensock, + _2PI = Math.PI * 2, + _HALF_PI = Math.PI / 2, + _class = gs._class, + _create = function(n, f) { + var C = _class("easing." + n, function(){}, true), + p = C.prototype = new Ease(); + p.constructor = C; + p.getRatio = f; + return C; + }, + _easeReg = Ease.register || function(){}, //put an empty function in place just as a safety measure in case someone loads an OLD version of TweenLite.js where Ease.register doesn't exist. + _wrap = function(name, EaseOut, EaseIn, EaseInOut, aliases) { + var C = _class("easing."+name, { + easeOut:new EaseOut(), + easeIn:new EaseIn(), + easeInOut:new EaseInOut() + }, true); + _easeReg(C, name); + return C; + }, + EasePoint = function(time, value, next) { + this.t = time; + this.v = value; + if (next) { + this.next = next; + next.prev = this; + this.c = next.v - value; + this.gap = next.t - time; + } + }, + + //Back + _createBack = function(n, f) { + var C = _class("easing." + n, function(overshoot) { + this._p1 = (overshoot || overshoot === 0) ? overshoot : 1.70158; + this._p2 = this._p1 * 1.525; + }, true), + p = C.prototype = new Ease(); + p.constructor = C; + p.getRatio = f; + p.config = function(overshoot) { + return new C(overshoot); + }; + return C; + }, + + Back = _wrap("Back", + _createBack("BackOut", function(p) { + return ((p = p - 1) * p * ((this._p1 + 1) * p + this._p1) + 1); + }), + _createBack("BackIn", function(p) { + return p * p * ((this._p1 + 1) * p - this._p1); + }), + _createBack("BackInOut", function(p) { + return ((p *= 2) < 1) ? 0.5 * p * p * ((this._p2 + 1) * p - this._p2) : 0.5 * ((p -= 2) * p * ((this._p2 + 1) * p + this._p2) + 2); + }) + ), + + + //SlowMo + SlowMo = _class("easing.SlowMo", function(linearRatio, power, yoyoMode) { + power = (power || power === 0) ? power : 0.7; + if (linearRatio == null) { + linearRatio = 0.7; + } else if (linearRatio > 1) { + linearRatio = 1; + } + this._p = (linearRatio !== 1) ? power : 0; + this._p1 = (1 - linearRatio) / 2; + this._p2 = linearRatio; + this._p3 = this._p1 + this._p2; + this._calcEnd = (yoyoMode === true); + }, true), + p = SlowMo.prototype = new Ease(), + SteppedEase, RoughEase, _createElastic; + + p.constructor = SlowMo; + p.getRatio = function(p) { + var r = p + (0.5 - p) * this._p; + if (p < this._p1) { + return this._calcEnd ? 1 - ((p = 1 - (p / this._p1)) * p) : r - ((p = 1 - (p / this._p1)) * p * p * p * r); + } else if (p > this._p3) { + return this._calcEnd ? 1 - (p = (p - this._p3) / this._p1) * p : r + ((p - r) * (p = (p - this._p3) / this._p1) * p * p * p); + } + return this._calcEnd ? 1 : r; + }; + SlowMo.ease = new SlowMo(0.7, 0.7); + + p.config = SlowMo.config = function(linearRatio, power, yoyoMode) { + return new SlowMo(linearRatio, power, yoyoMode); + }; + + + //SteppedEase + SteppedEase = _class("easing.SteppedEase", function(steps) { + steps = steps || 1; + this._p1 = 1 / steps; + this._p2 = steps + 1; + }, true); + p = SteppedEase.prototype = new Ease(); + p.constructor = SteppedEase; + p.getRatio = function(p) { + if (p < 0) { + p = 0; + } else if (p >= 1) { + p = 0.999999999; + } + return ((this._p2 * p) >> 0) * this._p1; + }; + p.config = SteppedEase.config = function(steps) { + return new SteppedEase(steps); + }; + + + //RoughEase + RoughEase = _class("easing.RoughEase", function(vars) { + vars = vars || {}; + var taper = vars.taper || "none", + a = [], + cnt = 0, + points = (vars.points || 20) | 0, + i = points, + randomize = (vars.randomize !== false), + clamp = (vars.clamp === true), + template = (vars.template instanceof Ease) ? vars.template : null, + strength = (typeof(vars.strength) === "number") ? vars.strength * 0.4 : 0.4, + x, y, bump, invX, obj, pnt; + while (--i > -1) { + x = randomize ? Math.random() : (1 / points) * i; + y = template ? template.getRatio(x) : x; + if (taper === "none") { + bump = strength; + } else if (taper === "out") { + invX = 1 - x; + bump = invX * invX * strength; + } else if (taper === "in") { + bump = x * x * strength; + } else if (x < 0.5) { //"both" (start) + invX = x * 2; + bump = invX * invX * 0.5 * strength; + } else { //"both" (end) + invX = (1 - x) * 2; + bump = invX * invX * 0.5 * strength; + } + if (randomize) { + y += (Math.random() * bump) - (bump * 0.5); + } else if (i % 2) { + y += bump * 0.5; + } else { + y -= bump * 0.5; + } + if (clamp) { + if (y > 1) { + y = 1; + } else if (y < 0) { + y = 0; + } + } + a[cnt++] = {x:x, y:y}; + } + a.sort(function(a, b) { + return a.x - b.x; + }); + + pnt = new EasePoint(1, 1, null); + i = points; + while (--i > -1) { + obj = a[i]; + pnt = new EasePoint(obj.x, obj.y, pnt); + } + + this._prev = new EasePoint(0, 0, (pnt.t !== 0) ? pnt : pnt.next); + }, true); + p = RoughEase.prototype = new Ease(); + p.constructor = RoughEase; + p.getRatio = function(p) { + var pnt = this._prev; + if (p > pnt.t) { + while (pnt.next && p >= pnt.t) { + pnt = pnt.next; + } + pnt = pnt.prev; + } else { + while (pnt.prev && p <= pnt.t) { + pnt = pnt.prev; + } + } + this._prev = pnt; + return (pnt.v + ((p - pnt.t) / pnt.gap) * pnt.c); + }; + p.config = function(vars) { + return new RoughEase(vars); + }; + RoughEase.ease = new RoughEase(); + + + //Bounce + _wrap("Bounce", + _create("BounceOut", function(p) { + if (p < 1 / 2.75) { + return 7.5625 * p * p; + } else if (p < 2 / 2.75) { + return 7.5625 * (p -= 1.5 / 2.75) * p + 0.75; + } else if (p < 2.5 / 2.75) { + return 7.5625 * (p -= 2.25 / 2.75) * p + 0.9375; + } + return 7.5625 * (p -= 2.625 / 2.75) * p + 0.984375; + }), + _create("BounceIn", function(p) { + if ((p = 1 - p) < 1 / 2.75) { + return 1 - (7.5625 * p * p); + } else if (p < 2 / 2.75) { + return 1 - (7.5625 * (p -= 1.5 / 2.75) * p + 0.75); + } else if (p < 2.5 / 2.75) { + return 1 - (7.5625 * (p -= 2.25 / 2.75) * p + 0.9375); + } + return 1 - (7.5625 * (p -= 2.625 / 2.75) * p + 0.984375); + }), + _create("BounceInOut", function(p) { + var invert = (p < 0.5); + if (invert) { + p = 1 - (p * 2); + } else { + p = (p * 2) - 1; + } + if (p < 1 / 2.75) { + p = 7.5625 * p * p; + } else if (p < 2 / 2.75) { + p = 7.5625 * (p -= 1.5 / 2.75) * p + 0.75; + } else if (p < 2.5 / 2.75) { + p = 7.5625 * (p -= 2.25 / 2.75) * p + 0.9375; + } else { + p = 7.5625 * (p -= 2.625 / 2.75) * p + 0.984375; + } + return invert ? (1 - p) * 0.5 : p * 0.5 + 0.5; + }) + ); + + + //CIRC + _wrap("Circ", + _create("CircOut", function(p) { + return Math.sqrt(1 - (p = p - 1) * p); + }), + _create("CircIn", function(p) { + return -(Math.sqrt(1 - (p * p)) - 1); + }), + _create("CircInOut", function(p) { + return ((p*=2) < 1) ? -0.5 * (Math.sqrt(1 - p * p) - 1) : 0.5 * (Math.sqrt(1 - (p -= 2) * p) + 1); + }) + ); + + + //Elastic + _createElastic = function(n, f, def) { + var C = _class("easing." + n, function(amplitude, period) { + this._p1 = (amplitude >= 1) ? amplitude : 1; //note: if amplitude is < 1, we simply adjust the period for a more natural feel. Otherwise the math doesn't work right and the curve starts at 1. + this._p2 = (period || def) / (amplitude < 1 ? amplitude : 1); + this._p3 = this._p2 / _2PI * (Math.asin(1 / this._p1) || 0); + this._p2 = _2PI / this._p2; //precalculate to optimize + }, true), + p = C.prototype = new Ease(); + p.constructor = C; + p.getRatio = f; + p.config = function(amplitude, period) { + return new C(amplitude, period); + }; + return C; + }; + _wrap("Elastic", + _createElastic("ElasticOut", function(p) { + return this._p1 * Math.pow(2, -10 * p) * Math.sin( (p - this._p3) * this._p2 ) + 1; + }, 0.3), + _createElastic("ElasticIn", function(p) { + return -(this._p1 * Math.pow(2, 10 * (p -= 1)) * Math.sin( (p - this._p3) * this._p2 )); + }, 0.3), + _createElastic("ElasticInOut", function(p) { + return ((p *= 2) < 1) ? -0.5 * (this._p1 * Math.pow(2, 10 * (p -= 1)) * Math.sin( (p - this._p3) * this._p2)) : this._p1 * Math.pow(2, -10 *(p -= 1)) * Math.sin( (p - this._p3) * this._p2 ) * 0.5 + 1; + }, 0.45) + ); + + + //Expo + _wrap("Expo", + _create("ExpoOut", function(p) { + return 1 - Math.pow(2, -10 * p); + }), + _create("ExpoIn", function(p) { + return Math.pow(2, 10 * (p - 1)) - 0.001; + }), + _create("ExpoInOut", function(p) { + return ((p *= 2) < 1) ? 0.5 * Math.pow(2, 10 * (p - 1)) : 0.5 * (2 - Math.pow(2, -10 * (p - 1))); + }) + ); + + + //Sine + _wrap("Sine", + _create("SineOut", function(p) { + return Math.sin(p * _HALF_PI); + }), + _create("SineIn", function(p) { + return -Math.cos(p * _HALF_PI) + 1; + }), + _create("SineInOut", function(p) { + return -0.5 * (Math.cos(Math.PI * p) - 1); + }) + ); + + _class("easing.EaseLookup", { + find:function(s) { + return Ease.map[s]; + } + }, true); + + //register the non-standard eases + _easeReg(w.SlowMo, "SlowMo", "ease,"); + _easeReg(RoughEase, "RoughEase", "ease,"); + _easeReg(SteppedEase, "SteppedEase", "ease,"); + + return Back; + + }, true); + + +}); + +if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case TweenLite was already loaded separately. + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * Base classes like TweenLite, SimpleTimeline, Ease, Ticker, etc. + * ---------------------------------------------------------------- + */ +(function(window, moduleName) { + + "use strict"; + var _globals = window.GreenSockGlobals = window.GreenSockGlobals || window; + if (_globals.TweenLite) { + return; //in case the core set of classes is already loaded, don't instantiate twice. + } + var _namespace = function(ns) { + var a = ns.split("."), + p = _globals, i; + for (i = 0; i < a.length; i++) { + p[a[i]] = p = p[a[i]] || {}; + } + return p; + }, + gs = _namespace("com.greensock"), + _tinyNum = 0.0000000001, + _slice = function(a) { //don't use Array.prototype.slice.call(target, 0) because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + var b = [], + l = a.length, + i; + for (i = 0; i !== l; b.push(a[i++])) {} + return b; + }, + _emptyFunc = function() {}, + _isArray = (function() { //works around issues in iframe environments where the Array global isn't shared, thus if the object originates in a different window/iframe, "(obj instanceof Array)" will evaluate false. We added some speed optimizations to avoid Object.prototype.toString.call() unless it's absolutely necessary because it's VERY slow (like 20x slower) + var toString = Object.prototype.toString, + array = toString.call([]); + return function(obj) { + return obj != null && (obj instanceof Array || (typeof(obj) === "object" && !!obj.push && toString.call(obj) === array)); + }; + }()), + a, i, p, _ticker, _tickerActive, + _defLookup = {}, + + /** + * @constructor + * Defines a GreenSock class, optionally with an array of dependencies that must be instantiated first and passed into the definition. + * This allows users to load GreenSock JS files in any order even if they have interdependencies (like CSSPlugin extends TweenPlugin which is + * inside TweenLite.js, but if CSSPlugin is loaded first, it should wait to run its code until TweenLite.js loads and instantiates TweenPlugin + * and then pass TweenPlugin to CSSPlugin's definition). This is all done automatically and internally. + * + * Every definition will be added to a "com.greensock" global object (typically window, but if a window.GreenSockGlobals object is found, + * it will go there as of v1.7). For example, TweenLite will be found at window.com.greensock.TweenLite and since it's a global class that should be available anywhere, + * it is ALSO referenced at window.TweenLite. However some classes aren't considered global, like the base com.greensock.core.Animation class, so + * those will only be at the package like window.com.greensock.core.Animation. Again, if you define a GreenSockGlobals object on the window, everything + * gets tucked neatly inside there instead of on the window directly. This allows you to do advanced things like load multiple versions of GreenSock + * files and put them into distinct objects (imagine a banner ad uses a newer version but the main site uses an older one). In that case, you could + * sandbox the banner one like: + * + * + * + * + * + * + * + * @param {!string} ns The namespace of the class definition, leaving off "com.greensock." as that's assumed. For example, "TweenLite" or "plugins.CSSPlugin" or "easing.Back". + * @param {!Array.} dependencies An array of dependencies (described as their namespaces minus "com.greensock." prefix). For example ["TweenLite","plugins.TweenPlugin","core.Animation"] + * @param {!function():Object} func The function that should be called and passed the resolved dependencies which will return the actual class for this definition. + * @param {boolean=} global If true, the class will be added to the global scope (typically window unless you define a window.GreenSockGlobals object) + */ + Definition = function(ns, dependencies, func, global) { + this.sc = (_defLookup[ns]) ? _defLookup[ns].sc : []; //subclasses + _defLookup[ns] = this; + this.gsClass = null; + this.func = func; + var _classes = []; + this.check = function(init) { + var i = dependencies.length, + missing = i, + cur, a, n, cl, hasModule; + while (--i > -1) { + if ((cur = _defLookup[dependencies[i]] || new Definition(dependencies[i], [])).gsClass) { + _classes[i] = cur.gsClass; + missing--; + } else if (init) { + cur.sc.push(this); + } + } + if (missing === 0 && func) { + a = ("com.greensock." + ns).split("."); + n = a.pop(); + cl = _namespace(a.join("."))[n] = this.gsClass = func.apply(func, _classes); + + //exports to multiple environments + if (global) { + _globals[n] = cl; //provides a way to avoid global namespace pollution. By default, the main classes like TweenLite, Power1, Strong, etc. are added to window unless a GreenSockGlobals is defined. So if you want to have things added to a custom object instead, just do something like window.GreenSockGlobals = {} before loading any GreenSock files. You can even set up an alias like window.GreenSockGlobals = windows.gs = {} so that you can access everything like gs.TweenLite. Also remember that ALL classes are added to the window.com.greensock object (in their respective packages, like com.greensock.easing.Power1, com.greensock.TweenLite, etc.) + hasModule = (typeof(module) !== "undefined" && module.exports); + if (!hasModule && typeof(define) === "function" && define.amd){ //AMD + define((window.GreenSockAMDPath ? window.GreenSockAMDPath + "/" : "") + ns.split(".").pop(), [], function() { return cl; }); + } else if (ns === moduleName && hasModule){ //node + module.exports = cl; + } + } + for (i = 0; i < this.sc.length; i++) { + this.sc[i].check(); + } + } + }; + this.check(true); + }, + + //used to create Definition instances (which basically registers a class that has dependencies). + _gsDefine = window._gsDefine = function(ns, dependencies, func, global) { + return new Definition(ns, dependencies, func, global); + }, + + //a quick way to create a class that doesn't have any dependencies. Returns the class, but first registers it in the GreenSock namespace so that other classes can grab it (other classes might be dependent on the class). + _class = gs._class = function(ns, func, global) { + func = func || function() {}; + _gsDefine(ns, [], function(){ return func; }, global); + return func; + }; + + _gsDefine.globals = _globals; + + + +/* + * ---------------------------------------------------------------- + * Ease + * ---------------------------------------------------------------- + */ + var _baseParams = [0, 0, 1, 1], + _blankArray = [], + Ease = _class("easing.Ease", function(func, extraParams, type, power) { + this._func = func; + this._type = type || 0; + this._power = power || 0; + this._params = extraParams ? _baseParams.concat(extraParams) : _baseParams; + }, true), + _easeMap = Ease.map = {}, + _easeReg = Ease.register = function(ease, names, types, create) { + var na = names.split(","), + i = na.length, + ta = (types || "easeIn,easeOut,easeInOut").split(","), + e, name, j, type; + while (--i > -1) { + name = na[i]; + e = create ? _class("easing."+name, null, true) : gs.easing[name] || {}; + j = ta.length; + while (--j > -1) { + type = ta[j]; + _easeMap[name + "." + type] = _easeMap[type + name] = e[type] = ease.getRatio ? ease : ease[type] || new ease(); + } + } + }; + + p = Ease.prototype; + p._calcEnd = false; + p.getRatio = function(p) { + if (this._func) { + this._params[0] = p; + return this._func.apply(null, this._params); + } + var t = this._type, + pw = this._power, + r = (t === 1) ? 1 - p : (t === 2) ? p : (p < 0.5) ? p * 2 : (1 - p) * 2; + if (pw === 1) { + r *= r; + } else if (pw === 2) { + r *= r * r; + } else if (pw === 3) { + r *= r * r * r; + } else if (pw === 4) { + r *= r * r * r * r; + } + return (t === 1) ? 1 - r : (t === 2) ? r : (p < 0.5) ? r / 2 : 1 - (r / 2); + }; + + //create all the standard eases like Linear, Quad, Cubic, Quart, Quint, Strong, Power0, Power1, Power2, Power3, and Power4 (each with easeIn, easeOut, and easeInOut) + a = ["Linear","Quad","Cubic","Quart","Quint,Strong"]; + i = a.length; + while (--i > -1) { + p = a[i]+",Power"+i; + _easeReg(new Ease(null,null,1,i), p, "easeOut", true); + _easeReg(new Ease(null,null,2,i), p, "easeIn" + ((i === 0) ? ",easeNone" : "")); + _easeReg(new Ease(null,null,3,i), p, "easeInOut"); + } + _easeMap.linear = gs.easing.Linear.easeIn; + _easeMap.swing = gs.easing.Quad.easeInOut; //for jQuery folks + + +/* + * ---------------------------------------------------------------- + * EventDispatcher + * ---------------------------------------------------------------- + */ + var EventDispatcher = _class("events.EventDispatcher", function(target) { + this._listeners = {}; + this._eventTarget = target || this; + }); + p = EventDispatcher.prototype; + + p.addEventListener = function(type, callback, scope, useParam, priority) { + priority = priority || 0; + var list = this._listeners[type], + index = 0, + listener, i; + if (list == null) { + this._listeners[type] = list = []; + } + i = list.length; + while (--i > -1) { + listener = list[i]; + if (listener.c === callback && listener.s === scope) { + list.splice(i, 1); + } else if (index === 0 && listener.pr < priority) { + index = i + 1; + } + } + list.splice(index, 0, {c:callback, s:scope, up:useParam, pr:priority}); + if (this === _ticker && !_tickerActive) { + _ticker.wake(); + } + }; + + p.removeEventListener = function(type, callback) { + var list = this._listeners[type], i; + if (list) { + i = list.length; + while (--i > -1) { + if (list[i].c === callback) { + list.splice(i, 1); + return; + } + } + } + }; + + p.dispatchEvent = function(type) { + var list = this._listeners[type], + i, t, listener; + if (list) { + i = list.length; + t = this._eventTarget; + while (--i > -1) { + listener = list[i]; + if (listener) { + if (listener.up) { + listener.c.call(listener.s || t, {type:type, target:t}); + } else { + listener.c.call(listener.s || t); + } + } + } + } + }; + + +/* + * ---------------------------------------------------------------- + * Ticker + * ---------------------------------------------------------------- + */ + var _reqAnimFrame = window.requestAnimationFrame, + _cancelAnimFrame = window.cancelAnimationFrame, + _getTime = Date.now || function() {return new Date().getTime();}, + _lastUpdate = _getTime(); + + //now try to determine the requestAnimationFrame and cancelAnimationFrame functions and if none are found, we'll use a setTimeout()/clearTimeout() polyfill. + a = ["ms","moz","webkit","o"]; + i = a.length; + while (--i > -1 && !_reqAnimFrame) { + _reqAnimFrame = window[a[i] + "RequestAnimationFrame"]; + _cancelAnimFrame = window[a[i] + "CancelAnimationFrame"] || window[a[i] + "CancelRequestAnimationFrame"]; + } + + _class("Ticker", function(fps, useRAF) { + var _self = this, + _startTime = _getTime(), + _useRAF = (useRAF !== false && _reqAnimFrame), + _lagThreshold = 500, + _adjustedLag = 33, + _tickWord = "tick", //helps reduce gc burden + _fps, _req, _id, _gap, _nextTime, + _tick = function(manual) { + var elapsed = _getTime() - _lastUpdate, + overlap, dispatch; + if (elapsed > _lagThreshold) { + _startTime += elapsed - _adjustedLag; + } + _lastUpdate += elapsed; + _self.time = (_lastUpdate - _startTime) / 1000; + overlap = _self.time - _nextTime; + if (!_fps || overlap > 0 || manual === true) { + _self.frame++; + _nextTime += overlap + (overlap >= _gap ? 0.004 : _gap - overlap); + dispatch = true; + } + if (manual !== true) { //make sure the request is made before we dispatch the "tick" event so that timing is maintained. Otherwise, if processing the "tick" requires a bunch of time (like 15ms) and we're using a setTimeout() that's based on 16.7ms, it'd technically take 31.7ms between frames otherwise. + _id = _req(_tick); + } + if (dispatch) { + _self.dispatchEvent(_tickWord); + } + }; + + EventDispatcher.call(_self); + _self.time = _self.frame = 0; + _self.tick = function() { + _tick(true); + }; + + _self.lagSmoothing = function(threshold, adjustedLag) { + _lagThreshold = threshold || (1 / _tinyNum); //zero should be interpreted as basically unlimited + _adjustedLag = Math.min(adjustedLag, _lagThreshold, 0); + }; + + _self.sleep = function() { + if (_id == null) { + return; + } + if (!_useRAF || !_cancelAnimFrame) { + clearTimeout(_id); + } else { + _cancelAnimFrame(_id); + } + _req = _emptyFunc; + _id = null; + if (_self === _ticker) { + _tickerActive = false; + } + }; + + _self.wake = function() { + if (_id !== null) { + _self.sleep(); + } else if (_self.frame > 10) { //don't trigger lagSmoothing if we're just waking up, and make sure that at least 10 frames have elapsed because of the iOS bug that we work around below with the 1.5-second setTimout(). + _lastUpdate = _getTime() - _lagThreshold + 5; + } + _req = (_fps === 0) ? _emptyFunc : (!_useRAF || !_reqAnimFrame) ? function(f) { return setTimeout(f, ((_nextTime - _self.time) * 1000 + 1) | 0); } : _reqAnimFrame; + if (_self === _ticker) { + _tickerActive = true; + } + _tick(2); + }; + + _self.fps = function(value) { + if (!arguments.length) { + return _fps; + } + _fps = value; + _gap = 1 / (_fps || 60); + _nextTime = this.time + _gap; + _self.wake(); + }; + + _self.useRAF = function(value) { + if (!arguments.length) { + return _useRAF; + } + _self.sleep(); + _useRAF = value; + _self.fps(_fps); + }; + _self.fps(fps); + + //a bug in iOS 6 Safari occasionally prevents the requestAnimationFrame from working initially, so we use a 1.5-second timeout that automatically falls back to setTimeout() if it senses this condition. + setTimeout(function() { + if (_useRAF && _self.frame < 5) { + _self.useRAF(false); + } + }, 1500); + }); + + p = gs.Ticker.prototype = new gs.events.EventDispatcher(); + p.constructor = gs.Ticker; + + +/* + * ---------------------------------------------------------------- + * Animation + * ---------------------------------------------------------------- + */ + var Animation = _class("core.Animation", function(duration, vars) { + this.vars = vars = vars || {}; + this._duration = this._totalDuration = duration || 0; + this._delay = Number(vars.delay) || 0; + this._timeScale = 1; + this._active = (vars.immediateRender === true); + this.data = vars.data; + this._reversed = (vars.reversed === true); + + if (!_rootTimeline) { + return; + } + if (!_tickerActive) { //some browsers (like iOS 6 Safari) shut down JavaScript execution when the tab is disabled and they [occasionally] neglect to start up requestAnimationFrame again when returning - this code ensures that the engine starts up again properly. + _ticker.wake(); + } + + var tl = this.vars.useFrames ? _rootFramesTimeline : _rootTimeline; + tl.add(this, tl._time); + + if (this.vars.paused) { + this.paused(true); + } + }); + + _ticker = Animation.ticker = new gs.Ticker(); + p = Animation.prototype; + p._dirty = p._gc = p._initted = p._paused = false; + p._totalTime = p._time = 0; + p._rawPrevTime = -1; + p._next = p._last = p._onUpdate = p._timeline = p.timeline = null; + p._paused = false; + + + //some browsers (like iOS) occasionally drop the requestAnimationFrame event when the user switches to a different tab and then comes back again, so we use a 2-second setTimeout() to sense if/when that condition occurs and then wake() the ticker. + var _checkTimeout = function() { + if (_tickerActive && _getTime() - _lastUpdate > 2000) { + _ticker.wake(); + } + setTimeout(_checkTimeout, 2000); + }; + _checkTimeout(); + + + p.play = function(from, suppressEvents) { + if (from != null) { + this.seek(from, suppressEvents); + } + return this.reversed(false).paused(false); + }; + + p.pause = function(atTime, suppressEvents) { + if (atTime != null) { + this.seek(atTime, suppressEvents); + } + return this.paused(true); + }; + + p.resume = function(from, suppressEvents) { + if (from != null) { + this.seek(from, suppressEvents); + } + return this.paused(false); + }; + + p.seek = function(time, suppressEvents) { + return this.totalTime(Number(time), suppressEvents !== false); + }; + + p.restart = function(includeDelay, suppressEvents) { + return this.reversed(false).paused(false).totalTime(includeDelay ? -this._delay : 0, (suppressEvents !== false), true); + }; + + p.reverse = function(from, suppressEvents) { + if (from != null) { + this.seek((from || this.totalDuration()), suppressEvents); + } + return this.reversed(true).paused(false); + }; + + p.render = function(time, suppressEvents, force) { + //stub - we override this method in subclasses. + }; + + p.invalidate = function() { + this._time = this._totalTime = 0; + this._initted = this._gc = false; + this._rawPrevTime = -1; + if (this._gc || !this.timeline) { + this._enabled(true); + } + return this; + }; + + p.isActive = function() { + var tl = this._timeline, //the 2 root timelines won't have a _timeline; they're always active. + startTime = this._startTime, + rawTime; + return (!tl || (!this._gc && !this._paused && tl.isActive() && (rawTime = tl.rawTime()) >= startTime && rawTime < startTime + this.totalDuration() / this._timeScale)); + }; + + p._enabled = function (enabled, ignoreTimeline) { + if (!_tickerActive) { + _ticker.wake(); + } + this._gc = !enabled; + this._active = this.isActive(); + if (ignoreTimeline !== true) { + if (enabled && !this.timeline) { + this._timeline.add(this, this._startTime - this._delay); + } else if (!enabled && this.timeline) { + this._timeline._remove(this, true); + } + } + return false; + }; + + + p._kill = function(vars, target) { + return this._enabled(false, false); + }; + + p.kill = function(vars, target) { + this._kill(vars, target); + return this; + }; + + p._uncache = function(includeSelf) { + var tween = includeSelf ? this : this.timeline; + while (tween) { + tween._dirty = true; + tween = tween.timeline; + } + return this; + }; + + p._swapSelfInParams = function(params) { + var i = params.length, + copy = params.concat(); + while (--i > -1) { + if (params[i] === "{self}") { + copy[i] = this; + } + } + return copy; + }; + + p._callback = function(type) { + var v = this.vars; + v[type].apply(v[type + "Scope"] || v.callbackScope || this, v[type + "Params"] || _blankArray); + }; + +//----Animation getters/setters -------------------------------------------------------- + + p.eventCallback = function(type, callback, params, scope) { + if ((type || "").substr(0,2) === "on") { + var v = this.vars; + if (arguments.length === 1) { + return v[type]; + } + if (callback == null) { + delete v[type]; + } else { + v[type] = callback; + v[type + "Params"] = (_isArray(params) && params.join("").indexOf("{self}") !== -1) ? this._swapSelfInParams(params) : params; + v[type + "Scope"] = scope; + } + if (type === "onUpdate") { + this._onUpdate = callback; + } + } + return this; + }; + + p.delay = function(value) { + if (!arguments.length) { + return this._delay; + } + if (this._timeline.smoothChildTiming) { + this.startTime( this._startTime + value - this._delay ); + } + this._delay = value; + return this; + }; + + p.duration = function(value) { + if (!arguments.length) { + this._dirty = false; + return this._duration; + } + this._duration = this._totalDuration = value; + this._uncache(true); //true in case it's a TweenMax or TimelineMax that has a repeat - we'll need to refresh the totalDuration. + if (this._timeline.smoothChildTiming) if (this._time > 0) if (this._time < this._duration) if (value !== 0) { + this.totalTime(this._totalTime * (value / this._duration), true); + } + return this; + }; + + p.totalDuration = function(value) { + this._dirty = false; + return (!arguments.length) ? this._totalDuration : this.duration(value); + }; + + p.time = function(value, suppressEvents) { + if (!arguments.length) { + return this._time; + } + if (this._dirty) { + this.totalDuration(); + } + return this.totalTime((value > this._duration) ? this._duration : value, suppressEvents); + }; + + p.totalTime = function(time, suppressEvents, uncapped) { + if (!_tickerActive) { + _ticker.wake(); + } + if (!arguments.length) { + return this._totalTime; + } + if (this._timeline) { + if (time < 0 && !uncapped) { + time += this.totalDuration(); + } + if (this._timeline.smoothChildTiming) { + if (this._dirty) { + this.totalDuration(); + } + var totalDuration = this._totalDuration, + tl = this._timeline; + if (time > totalDuration && !uncapped) { + time = totalDuration; + } + this._startTime = (this._paused ? this._pauseTime : tl._time) - ((!this._reversed ? time : totalDuration - time) / this._timeScale); + if (!tl._dirty) { //for performance improvement. If the parent's cache is already dirty, it already took care of marking the ancestors as dirty too, so skip the function call here. + this._uncache(false); + } + //in case any of the ancestor timelines had completed but should now be enabled, we should reset their totalTime() which will also ensure that they're lined up properly and enabled. Skip for animations that are on the root (wasteful). Example: a TimelineLite.exportRoot() is performed when there's a paused tween on the root, the export will not complete until that tween is unpaused, but imagine a child gets restarted later, after all [unpaused] tweens have completed. The startTime of that child would get pushed out, but one of the ancestors may have completed. + if (tl._timeline) { + while (tl._timeline) { + if (tl._timeline._time !== (tl._startTime + tl._totalTime) / tl._timeScale) { + tl.totalTime(tl._totalTime, true); + } + tl = tl._timeline; + } + } + } + if (this._gc) { + this._enabled(true, false); + } + if (this._totalTime !== time || this._duration === 0) { + if (_lazyTweens.length) { + _lazyRender(); + } + this.render(time, suppressEvents, false); + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when someone calls seek() or time() or progress(), they expect an immediate render. + _lazyRender(); + } + } + } + return this; + }; + + p.progress = p.totalProgress = function(value, suppressEvents) { + var duration = this.duration(); + return (!arguments.length) ? (duration ? this._time / duration : this.ratio) : this.totalTime(duration * value, suppressEvents); + }; + + p.startTime = function(value) { + if (!arguments.length) { + return this._startTime; + } + if (value !== this._startTime) { + this._startTime = value; + if (this.timeline) if (this.timeline._sortChildren) { + this.timeline.add(this, value - this._delay); //ensures that any necessary re-sequencing of Animations in the timeline occurs to make sure the rendering order is correct. + } + } + return this; + }; + + p.endTime = function(includeRepeats) { + return this._startTime + ((includeRepeats != false) ? this.totalDuration() : this.duration()) / this._timeScale; + }; + + p.timeScale = function(value) { + if (!arguments.length) { + return this._timeScale; + } + value = value || _tinyNum; //can't allow zero because it'll throw the math off + if (this._timeline && this._timeline.smoothChildTiming) { + var pauseTime = this._pauseTime, + t = (pauseTime || pauseTime === 0) ? pauseTime : this._timeline.totalTime(); + this._startTime = t - ((t - this._startTime) * this._timeScale / value); + } + this._timeScale = value; + return this._uncache(false); + }; + + p.reversed = function(value) { + if (!arguments.length) { + return this._reversed; + } + if (value != this._reversed) { + this._reversed = value; + this.totalTime(((this._timeline && !this._timeline.smoothChildTiming) ? this.totalDuration() - this._totalTime : this._totalTime), true); + } + return this; + }; + + p.paused = function(value) { + if (!arguments.length) { + return this._paused; + } + var tl = this._timeline, + raw, elapsed; + if (value != this._paused) if (tl) { + if (!_tickerActive && !value) { + _ticker.wake(); + } + raw = tl.rawTime(); + elapsed = raw - this._pauseTime; + if (!value && tl.smoothChildTiming) { + this._startTime += elapsed; + this._uncache(false); + } + this._pauseTime = value ? raw : null; + this._paused = value; + this._active = this.isActive(); + if (!value && elapsed !== 0 && this._initted && this.duration()) { + raw = tl.smoothChildTiming ? this._totalTime : (raw - this._startTime) / this._timeScale; + this.render(raw, (raw === this._totalTime), true); //in case the target's properties changed via some other tween or manual update by the user, we should force a render. + } + } + if (this._gc && !value) { + this._enabled(true, false); + } + return this; + }; + + +/* + * ---------------------------------------------------------------- + * SimpleTimeline + * ---------------------------------------------------------------- + */ + var SimpleTimeline = _class("core.SimpleTimeline", function(vars) { + Animation.call(this, 0, vars); + this.autoRemoveChildren = this.smoothChildTiming = true; + }); + + p = SimpleTimeline.prototype = new Animation(); + p.constructor = SimpleTimeline; + p.kill()._gc = false; + p._first = p._last = p._recent = null; + p._sortChildren = false; + + p.add = p.insert = function(child, position, align, stagger) { + var prevTween, st; + child._startTime = Number(position || 0) + child._delay; + if (child._paused) if (this !== child._timeline) { //we only adjust the _pauseTime if it wasn't in this timeline already. Remember, sometimes a tween will be inserted again into the same timeline when its startTime is changed so that the tweens in the TimelineLite/Max are re-ordered properly in the linked list (so everything renders in the proper order). + child._pauseTime = child._startTime + ((this.rawTime() - child._startTime) / child._timeScale); + } + if (child.timeline) { + child.timeline._remove(child, true); //removes from existing timeline so that it can be properly added to this one. + } + child.timeline = child._timeline = this; + if (child._gc) { + child._enabled(true, true); + } + prevTween = this._last; + if (this._sortChildren) { + st = child._startTime; + while (prevTween && prevTween._startTime > st) { + prevTween = prevTween._prev; + } + } + if (prevTween) { + child._next = prevTween._next; + prevTween._next = child; + } else { + child._next = this._first; + this._first = child; + } + if (child._next) { + child._next._prev = child; + } else { + this._last = child; + } + child._prev = prevTween; + this._recent = child; + if (this._timeline) { + this._uncache(true); + } + return this; + }; + + p._remove = function(tween, skipDisable) { + if (tween.timeline === this) { + if (!skipDisable) { + tween._enabled(false, true); + } + + if (tween._prev) { + tween._prev._next = tween._next; + } else if (this._first === tween) { + this._first = tween._next; + } + if (tween._next) { + tween._next._prev = tween._prev; + } else if (this._last === tween) { + this._last = tween._prev; + } + tween._next = tween._prev = tween.timeline = null; + if (tween === this._recent) { + this._recent = this._last; + } + + if (this._timeline) { + this._uncache(true); + } + } + return this; + }; + + p.render = function(time, suppressEvents, force) { + var tween = this._first, + next; + this._totalTime = this._time = this._rawPrevTime = time; + while (tween) { + next = tween._next; //record it here because the value could change after rendering... + if (tween._active || (time >= tween._startTime && !tween._paused)) { + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + }; + + p.rawTime = function() { + if (!_tickerActive) { + _ticker.wake(); + } + return this._totalTime; + }; + +/* + * ---------------------------------------------------------------- + * TweenLite + * ---------------------------------------------------------------- + */ + var TweenLite = _class("TweenLite", function(target, duration, vars) { + Animation.call(this, duration, vars); + this.render = TweenLite.prototype.render; //speed optimization (avoid prototype lookup on this "hot" method) + + if (target == null) { + throw "Cannot tween a null target."; + } + + this.target = target = (typeof(target) !== "string") ? target : TweenLite.selector(target) || target; + + var isSelector = (target.jquery || (target.length && target !== window && target[0] && (target[0] === window || (target[0].nodeType && target[0].style && !target.nodeType)))), + overwrite = this.vars.overwrite, + i, targ, targets; + + this._overwrite = overwrite = (overwrite == null) ? _overwriteLookup[TweenLite.defaultOverwrite] : (typeof(overwrite) === "number") ? overwrite >> 0 : _overwriteLookup[overwrite]; + + if ((isSelector || target instanceof Array || (target.push && _isArray(target))) && typeof(target[0]) !== "number") { + this._targets = targets = _slice(target); //don't use Array.prototype.slice.call(target, 0) because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + this._propLookup = []; + this._siblings = []; + for (i = 0; i < targets.length; i++) { + targ = targets[i]; + if (!targ) { + targets.splice(i--, 1); + continue; + } else if (typeof(targ) === "string") { + targ = targets[i--] = TweenLite.selector(targ); //in case it's an array of strings + if (typeof(targ) === "string") { + targets.splice(i+1, 1); //to avoid an endless loop (can't imagine why the selector would return a string, but just in case) + } + continue; + } else if (targ.length && targ !== window && targ[0] && (targ[0] === window || (targ[0].nodeType && targ[0].style && !targ.nodeType))) { //in case the user is passing in an array of selector objects (like jQuery objects), we need to check one more level and pull things out if necessary. Also note that + + + + + + + + + +
            + + + +
          • +
            +

            +
            + + + + +

            Q

            +

            +
            +

            +
            +
            +

            A

            +

            + + [수정하기] +
            +
          • + + +
          + +
          + + + +
          + + + + +
          + + + +
          + 게시물 검색 + +
          + + + + + + + + +
          +
          + + +
          + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna2/style.css b/web/html/theme/AT_WEB01/img/skin/board/qna2/style.css new file mode 100644 index 0000000..dc2b09f --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/qna2/style.css @@ -0,0 +1,385 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#e6f8ff !important;border-bottom:1px solid #c3dfe8;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w a.btn_cancel {padding-top:0;padding-bottom:0} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} + +/* QNA */ +@import url('http://fonts.googleapis.com/earlyaccess/notosanskr.css'); +ul, li, p { list-style:none; padding:0; margin:0; } +.listWrap { font-family:'Noto Sans KR', sans-serif; margin-bottom:20px; } +.listWrap .qa_li { position:relative; display:block; padding:0; border-bottom:1px solid #ededed; cursor:pointer; } +.listWrap .qa_li:first-child { border-top:1px solid #a6a6a6; } +.listWrap .qa_li .ca_name { margin-bottom:14px; font-weight:400; color:#999; font-size:18px; } +.listWrap .qa_li .tit { color:#222; font-size:24px; transition:color 0.3s ease-out; } +.listWrap .qa_li:hover .tit { color:#0a7ac8; } +.qa_li .question { position:relative; display:block; padding:25px 100px 25px 120px; background:url('./img/q.png') 40px center no-repeat; } +.qa_li .question .iconDiv { position:absolute; right:40px; top:50%; -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -o-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); } +.qa_li .answer { position:relative; display:none; padding:40px 120px; font-size:16px; color:#222; line-height:28px; background:#f6f6f6 url('./img/a.png') 40px 40px no-repeat; border-top:1px solid #e4e4e4; } +.modA { position:absolute; right:30px; bottom:30px; color:#e82b2b; } \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna2/view.skin.php b/web/html/theme/AT_WEB01/img/skin/board/qna2/view.skin.php new file mode 100644 index 0000000..bd59612 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/qna2/view.skin.php @@ -0,0 +1,299 @@ +', 0); +?> + + + + + +
          +
          +

          + + + + + +

          +
          + +
          +

          페이지 정보

          + 작성자 + 댓글 + 조회 + 작성일 + +
          + +
          +

          본문

          + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "\n"; + } + ?> + + +
          + + + +

          + + + + +
          + + + 추천 + + + + + + 비추천 + + + +
          + +
          + 추천 + 비추천 +
          + + +
          + +
          + 스크랩 + + +
          + + + + + +
          +

          첨부파일

          +
            + +
          • + + + + + () + 회 다운로드 | DATE : +
          • + +
          +
          + + + + + + + + + + +
          + + + + + + + +
            +
          • 이전글
          • +
          • 다음글
          • +
          + + +
          + + + + + +
          + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna2/view_comment.skin.php b/web/html/theme/AT_WEB01/img/skin/board/qna2/view_comment.skin.php new file mode 100644 index 0000000..a372ff0 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/qna2/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
          +

          댓글목록

          + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
          style="margin-left:px;border-top-color:#e0e0e0"> +
          +

          님의 댓글의 댓글

          + + + 아이피 + () + + 작성일 + + +
          + + +
          +

          + 비밀글 + +

          + + + +
          + + + + " id="secret_comment_"> + + +
          + +

          등록된 댓글이 없습니다.

          + +
          + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna2/write.skin.php b/web/html/theme/AT_WEB01/img/skin/board/qna2/write.skin.php new file mode 100644 index 0000000..94d1645 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/qna2/write.skin.php @@ -0,0 +1,195 @@ +', 0); +?> + +
          +
          +

          + + +
          + + + + + + + + + + + + + +
          + + +
          + + +
          + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
          + + +
          + + +
          + + +
          + + +
          + + + + + +
          + 임시 저장된 글 목록 +
            +
            +
            + +
            + +
            + +
            + +
            + + +

            이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

            + + + + +
            글자
            + +
            + +
            + + +
            + +
            + + + +
            + 취소 + +
            +
            + + +
            +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/board/qna2/write_update.skin.php b/web/html/theme/AT_WEB01/img/skin/board/qna2/write_update.skin.php new file mode 100644 index 0000000..c704f03 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/board/qna2/write_update.skin.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/connect/basic/connect.skin.php b/web/html/theme/AT_WEB01/img/skin/connect/basic/connect.skin.php new file mode 100644 index 0000000..a2fb327 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/connect/basic/connect.skin.php @@ -0,0 +1,9 @@ +', 0); +?> + + diff --git a/web/html/theme/AT_WEB01/img/skin/connect/basic/current_connect.skin.php b/web/html/theme/AT_WEB01/img/skin/connect/basic/current_connect.skin.php new file mode 100644 index 0000000..bf43d3b --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/connect/basic/current_connect.skin.php @@ -0,0 +1,39 @@ +', 0); +?> + + +
            + +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/connect/basic/style.css b/web/html/theme/AT_WEB01/img/skin/connect/basic/style.css new file mode 100644 index 0000000..a13cd43 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/connect/basic/style.css @@ -0,0 +1,14 @@ +@charset "utf-8"; + +#current_connect ul{margin:0 -10px 0;padding:0;list-style:none;zoom:1} +#current_connect ul:after{display:block;visibility:hidden;clear:both;content:""} +#current_connect li{position:relative;min-height:1px;padding-left:10px;*padding-left:0;padding-right:10px;*padding-right:0;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0} +#current_connect li{width:25%} +#current_connect li.box_clear{clear:both} +#current_connect li .inner{position:relative;border:1px solid #d8d8d8;background:#fff;margin-bottom:10px;text-align:center} +#current_connect .crt_name {margin:20px 20px 15px;display:block;min-height:88px} +#current_connect .crt_name img{ border-radius:50%;margin: 0 0 5px;max-width:100%;height:auto} +#current_connect .crt_lct{display:block;text-align:center;border-top:1px solid #ddd;padding:10px 5px;line-height:1.4em} +#current_connect .crt_lct a{color:#3ca1ff} +#current_connect .crt_num{position:absolute;top:10px;left:10px;color:#777;font-weight:bold} +#current_connect li.empty_li{width:100%;padding:200px 0 ;border:0;color:#666} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/content/basic/content.skin.php b/web/html/theme/AT_WEB01/img/skin/content/basic/content.skin.php new file mode 100644 index 0000000..5fd7fce --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/content/basic/content.skin.php @@ -0,0 +1,17 @@ +', 0); +?> + +
            +
            +

            +
            + +
            + +
            + +
            \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/content/basic/style.css b/web/html/theme/AT_WEB01/img/skin/content/basic/style.css new file mode 100644 index 0000000..225b60f --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/content/basic/style.css @@ -0,0 +1,9 @@ +@charset "utf-8"; + +/* 내용관리 */ +#ctt {margin:10px 0;padding:20px;background:#fff} +.ctt_admin {text-align:right} +#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ctt_con {padding:10px 0;line-height:1.6em} +#ctt_himg img, #ctt_timg img, #ctt_con img {max-width:100%;height:auto} +.ctt_img {text-align:center} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/faq/basic/list.skin.php b/web/html/theme/AT_WEB01/img/skin/faq/basic/list.skin.php new file mode 100644 index 0000000..e0c1b4f --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/faq/basic/list.skin.php @@ -0,0 +1,142 @@ +', 0); + +if ($admin_href) + echo '
            FAQ 수정
            '; +?> + + +'; + +// 상단 HTML +echo '
            '.conv_content($fm['fm_head_html'], 1).'
            '; +?> + +
            + FAQ 검색 + +
            + FAQ 검색 + + + + +
            +
            + + + + + + +
            + +
            +

            목록

            +
              + $v){ + if(empty($v)) + continue; + ?> +
            1. +

              Q

              +
              + A + +
              +
              +
            2. + +
            +
            + 검색된 게시물이 없습니다.

            '; + } else { + echo '
            등록된 FAQ가 없습니다.'; + if($is_admin) + echo '
            FAQ를 새로 등록하시려면 FAQ관리 메뉴를 이용하십시오.'; + echo '
            '; + } + } + ?> +
            + + + +'.conv_content($fm['fm_tail_html'], 1).''; + +if ($timg_src) + echo '
            '; +?> + + + + +FAQ 수정'; +?> + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/faq/basic/style.css b/web/html/theme/AT_WEB01/img/skin/faq/basic/style.css new file mode 100644 index 0000000..3c3ce0b --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/faq/basic/style.css @@ -0,0 +1,27 @@ +@charset "utf-8"; +#bo_cate {margin:15px 0 10px} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {;zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;} +#bo_cate a {display:block;border:1px solid #dadada;background:#fff;margin:0 0 5px 0;line-height:30px;padding:0 10px;border-radius:3px} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#f3f3f3} +#bo_cate #bo_cate_on {z-index:2;border:1px solid #253dbe;color:#253dbe;font-weight:bold} + +#faq_wrap {margin:10px 0 30px} +#faq_wrap h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.faq_admin {text-align:right} +#faq_wrap ol {margin:0;padding:0;list-style:none} +#faq_wrap li{border:1px solid #ddd;background:#fff;margin:5px 0;} +#faq_wrap li h3{min-height:50px;line-height:30px;padding:10px;padding-left:50px;position:relative} +#faq_wrap li h3 .tit_bg{display:inline-block;position:absolute;top:10px;left:10px;text-align:center;background:#333;color:#fff;border-radius:50%;width:30px;height:30px} +#faq_con .con_inner{display:none;border-top:1px solid #ddd;padding:15px;padding-left:50px;position:relative;background: #f7f7f7;} +#faq_con .con_inner .tit_bg{display:inline-block;position:absolute;top:10px;left:10px;text-align:center;background:#777;color:#fff;border-radius:50%;width:30px;line-height:30px;height:30px} +#faq_con .con_inner .closer_btn{height:25px;font-size:0.92em;display:inline-block;padding:0 5px;border-radius:5px;} +#faq_con .con_closer{text-align:right} + +#faq_sch {text-align:center;border:1px solid #ccc;background:#fff;;padding:30px;margin:10px 0} +#faq_sch form{display:inline-block;position:relative} +#faq_sch .sch_tit{font-size:20px;font-weight:bold;display:inline-block;margin-right:10px;vertical-align:middle} +#faq_sch .frm_input{border-color:#646982;border-radius:0;width:300px} +#faq_sch .btn_submit{padding:0 10px;height:40px;color:#000;font-size:1.083em;font-weight:bold;color:#fff;background:#253dbe;} diff --git a/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/css/style.css b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/css/style.css new file mode 100644 index 0000000..21df92e --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/css/style.css @@ -0,0 +1,17 @@ +@charset "utf-8"; + +#groupmenu{width: 100%; max-width: 1200px; margin: 0 auto; border-top: 1px solid #cfcfcf; border-left: 1px solid #cfcfcf;} +#groupmenu .table{width: 100%; height: 100%;} +#groupmenu .table .tbody{width: 100%; height: 100%;} +.group_name{display: none;} +.group_board{float: left; width: 50%;} +.group_board .group_list{display: block; width: 100%;} +#groupmenu #nav1{width: 100%;} +#groupmenu #nav1 ul{padding:0; width: 100%;} +#groupmenu #nav1 ul li{width: 100%;} +#groupmenu #nav1 ul li a{width: 100%; line-height: 50px; text-align: center; color: #333;} + + +#groupmenu #nav1 li{border-bottom: 1px solid #cfcfcf; border-right: 1px solid #cfcfcf;} +#groupmenu #nav1 li.on{border-bottom: 2px solid #c80e21;} +#groupmenu #nav1 li.on a{color: #c80e21; font-weight: bold;} diff --git a/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/groupmenu.skin.php b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/groupmenu.skin.php new file mode 100644 index 0000000..cdbc7e7 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/groupmenu.skin.php @@ -0,0 +1,29 @@ + + + + + +
            +
            +
            +
            + +
            +
            + +
            +
            + +
            +
            +
            +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/_dot.gif b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/_dot.gif new file mode 100644 index 0000000..c091f93 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/_dot.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/category.gif b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/category.gif new file mode 100644 index 0000000..af1479d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/category.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/category2.gif b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/category2.gif new file mode 100644 index 0000000..d0db1a9 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/category2.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/dot.gif b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/dot.gif new file mode 100644 index 0000000..8124e9c Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/dot.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/side_menu_tail.gif b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/side_menu_tail.gif new file mode 100644 index 0000000..16f43f1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/side_menu_tail.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/side_menu_title.gif b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/side_menu_title.gif new file mode 100644 index 0000000..57f5e2b Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/groupmenu/groupmenu/img/side_menu_title.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_hot.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_img.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_link.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_lock.png b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_more.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_more.gif new file mode 100644 index 0000000..7cdf200 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_more.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_movie.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_new.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_reply.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_reply.gif new file mode 100644 index 0000000..91c1359 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_sound.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_view.png b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/more-btn.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/more-btn.gif new file mode 100644 index 0000000..fa4c873 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/more-btn.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/img/more_bg.gif b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/more_bg.gif new file mode 100644 index 0000000..19aab13 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/latest/basic/img/more_bg.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/latest.skin.php b/web/html/theme/AT_WEB01/img/skin/latest/basic/latest.skin.php new file mode 100644 index 0000000..775e90d --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/latest/basic/latest.skin.php @@ -0,0 +1,55 @@ +', 0); +?> + +
            + + + + +
            diff --git a/web/html/theme/AT_WEB01/img/skin/latest/basic/style.css b/web/html/theme/AT_WEB01/img/skin/latest/basic/style.css new file mode 100644 index 0000000..efe1e87 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/latest/basic/style.css @@ -0,0 +1,26 @@ +@charset "utf-8"; +/* 새글 스킨 (latest) */ + +.lat {position:relative;margin-bottom:20px;overflow:hidden;border: 1px solid #c6cacc;background:#fff} +.lat .lat_title {display:block;padding:0 20px;line-height:45px;font-size:1.083em;border-bottom:1px solid #e2e2e2;color:#253dbe;background:#fcfcfc} +.lat .lat_title a{color:#253dbe;display:inline-block;position:relative} +.lat .lat_title a:after{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#253dbe;content:''} +.lat ul{padding:15px 20px} +.lat li {position:relative;line-height:18px;padding:3px 0;padding-right:50px;padding-left:10px} +.lat li:before{position: absolute;top: 12px;left: 0px;width: 4px;height: 4px;background: #aaa;content: '';border-radius: 50%;} +.lat li a:hover{color:#a22121} +.lat li .fa-heart{color:#ff0000;} +.lat li .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} +.lat li .new_icon{display:inline-block;width: 16px;line-height:16px;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;} +.lat li .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;} +.lat li .fa-caret-right{color:#bbb} +.lat .lt_date{position:absolute;top:3px;right:0;color:#888} +.lat .empty_li{line-height:145px ;color:#666;text-align:center;padding:0;} +.lat .empty_li:before{background:none;padding:0} + +.lat .lt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.4);} +.lat .lt_more {position:absolute;top:11px;right:10px;display:block;width:25px;line-height:25px;color:#aaa;border-radius:3px;text-align:center;} +.lat .lt_more:hover{color:#777} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/latest/notice/latest.skin.php b/web/html/theme/AT_WEB01/img/skin/latest/notice/latest.skin.php new file mode 100644 index 0000000..cad2288 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/latest/notice/latest.skin.php @@ -0,0 +1,53 @@ +', 0); +add_javascript('', 10); +?> + +
            +

            + + +
            + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/latest/notice/style.css b/web/html/theme/AT_WEB01/img/skin/latest/notice/style.css new file mode 100644 index 0000000..6456238 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/latest/notice/style.css @@ -0,0 +1,16 @@ +@charset "utf-8"; +/* 새글 스킨 (latest) */ +.notice {position:relative;padding:15px 50px;border-bottom:1px solid #d0d6e4} +.notice li{text-overflow: ellipsis;overflow: hidden;white-space: nowrap;} +.notice li a:hover{color:#a22121} +.notice li .lock_icon{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce;vertical-align:top} +.notice li .new_icon{display:inline-block;line-height:16px;width:16px;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;margin-right:3px;border-radius:2px;vertical-align:top} +.notice .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;white-space: nowrap;margin-left:5px; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.4)} + +.notice h2{position:absolute;top:50%;left:10px;margin-top:-15px;left:5;line-height:30px} +.notice h2 a{display:inline-block;width:30px;line-height:30px;border-radius:25px;background:#4158d1;color:#fff;text-align:center;color:#fff} +.notice .bx-next{position:absolute;top:50%;right:10px;;width:26px;height:26px;line-height:24px;text-align:center;background:#fff;border:1px solid #d1d1d1;margin-top:-12px} +.notice .bx-prev{position:absolute;top:50%;right:35px;width:26px;height:26px;line-height:24px;text-align:center;background:#fff;border:1px solid #d1d1d1;margin-top:-12px} diff --git a/web/html/theme/AT_WEB01/img/skin/latest/pic_basic/latest.skin.php b/web/html/theme/AT_WEB01/img/skin/latest/pic_basic/latest.skin.php new file mode 100644 index 0000000..9c5b4b6 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/latest/pic_basic/latest.skin.php @@ -0,0 +1,73 @@ +', 0); +$thumb_width = 210; +$thumb_height = 150; +?> + + + + +
            +

            + + + + 더보기 + +
            diff --git a/web/html/theme/AT_WEB01/img/skin/latest/pic_basic/style.css b/web/html/theme/AT_WEB01/img/skin/latest/pic_basic/style.css new file mode 100644 index 0000000..0c34e94 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/latest/pic_basic/style.css @@ -0,0 +1,24 @@ +@charset "utf-8"; +/* 새글 스킨 (latest) */ +.pic_lt{position:relative;margin-bottom:20px;overflow:hidden;border: 1px solid #c6cacc;background:#fff} +.pic_lt .lat_title {display:block;background:#fcfcfc;padding:0 20px;line-height:45px;font-size:1.083em;border-bottom:1px solid #e2e2e2;color:#253dbe;} +.pic_lt .lat_title a{color:#253dbe;display:inline-block;position:relative} +.pic_lt .lat_title a:after{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#253dbe;content:''} +.pic_lt .lt_more {position:absolute;top:11px;right:10px;display:block;width:25px;line-height:25px;color:#aaa;border-radius:3px;text-align:center;} +.pic_lt .lt_more:hover{color:#777} +.pic_lt ul:after {display:block;visibility:hidden;clear:both;content:""} +.pic_lt ul{padding:20px 15px } +.pic_lt li{float:left;width:20%;padding:0 10px} +.pic_lt li .lt_img{margin:5px 0;display:block} +.pic_lt li .lt_img img{width:100%;height:auto} +.pic_lt li a:hover{color:#a22121} +.pic_lt li .fa-heart{color:#ff0000;} +.pic_lt li .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} +.pic_lt li .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;} +.pic_lt li .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;} +.pic_lt li .fa-caret-right{color:#bbb} +.pic_lt .lt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;white-space: nowrap; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.4);} +.pic_lt .lt_date{display:block;margin-top:5px;color: #888;} diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/formmail.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/formmail.skin.php new file mode 100644 index 0000000..d92fa9f --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/formmail.skin.php @@ -0,0 +1,99 @@ +', 0); +?> + + +
            +

            님께 메일보내기

            + +
            + + + + + + + +
            +

            메일쓰기

            +
              + +
            • + + +
            • +
            • + + +
            • + +
            • + + +
            • +
            • + 형식 + + + +
            • +
            • + + +
            • +
            • +
              + + +
              +
              첨부 파일은 누락될 수 있으므로 메일을 보낸 후 파일이 첨부 되었는지 반드시 확인해 주시기 바랍니다.
              + +
            • +
            • +
              + + +
              +
            • +
            • + 자동등록방지 + +
            • +
            +
            + + +
            +
            + + +
            +
            + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/img/zip_ico_up.gif b/web/html/theme/AT_WEB01/img/skin/member/basic/img/zip_ico_up.gif new file mode 100644 index 0000000..a1eff70 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/member/basic/img/zip_ico_up.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/login.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/login.skin.php new file mode 100644 index 0000000..941ba1d --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/login.skin.php @@ -0,0 +1,58 @@ +', 0); +?> + + +
            +

            + +
            + + +
            + 회원로그인 + + + + + + + +
            + + + + + +
            + + +
            + + + diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/login_check.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/login_check.skin.php new file mode 100644 index 0000000..1b18291 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/login_check.skin.php @@ -0,0 +1,5 @@ + diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/member_confirm.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/member_confirm.skin.php new file mode 100644 index 0000000..d3d46c5 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/member_confirm.skin.php @@ -0,0 +1,45 @@ +', 0); +?> + + +
            +

            + +

            + 비밀번호를 한번 더 입력해주세요. + + 비밀번호를 입력하시면 회원탈퇴가 완료됩니다. + + 회원님의 정보를 안전하게 보호하기 위해 비밀번호를 한번 더 확인합니다. + +

            + +
            + + + +
            + 회원아이디 + + + + +
            + +
            + +
            + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/memo.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/memo.skin.php new file mode 100644 index 0000000..76495fb --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/memo.skin.php @@ -0,0 +1,47 @@ +', 0); +?> + + +
            +

            +
            + +
            + + 전체 쪽지
            +
            +
            +
            + +
              + +
            • + + - 삭제 +
            • + + 자료가 없습니다.'; } ?> +
            +
            + + + + +

            + 쪽지 보관일수는 최장 일 입니다. +

            + +
            + +
            +
            +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/memo_form.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/memo_form.skin.php new file mode 100644 index 0000000..aca082c --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/memo_form.skin.php @@ -0,0 +1,60 @@ +', 0); +?> + + +
            +

            쪽지 보내기

            +
            + + +
            +
            +

            쪽지쓰기

            +
              +
            • + + + + 여러 회원에게 보낼때는 컴마(,)로 구분하세요. + +
              쪽지 보낼때 회원당 점의 포인트를 차감합니다. + +
            • +
            • + + +
            • +
            • + 자동등록방지 + + + +
            • +
            +
            + +
            + + +
            +
            + +
            + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/memo_view.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/memo_view.skin.php new file mode 100644 index 0000000..aeb31ec --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/memo_view.skin.php @@ -0,0 +1,63 @@ +', 0); +?> + + +
            +

            +
            + + + + +
            +
            +

            쪽지 내용

            +
            +
              +
            • + 사람 + +
            • +
            • + 시간 + +
            • +
            +

            + +

            +
            + + +
            + + 이전쪽지 + + + 다음쪽지 + + + 목록 + + 답장 +
            +
            +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/password.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/password.skin.php new file mode 100644 index 0000000..f786d9d --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/password.skin.php @@ -0,0 +1,46 @@ +', 0); +?> + + +
            +

            +

            + + 작성자만 글을 수정할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 수정할 수 있습니다. + + 작성자만 글을 삭제할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 삭제할 수 있습니다. + + 비밀글 기능으로 보호된 글입니다. + 작성자와 관리자만 열람하실 수 있습니다.
            본인이라면 비밀번호를 입력하세요. + +

            + +
            + + + + + + + + +
            + + + +
            +
            + +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/password_lost.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/password_lost.skin.php new file mode 100644 index 0000000..755cbd8 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/password_lost.skin.php @@ -0,0 +1,48 @@ +', 0); +?> + + +
            +

            회원정보 찾기

            +
            +
            +
            +

            + 회원가입 시 등록하신 이메일 주소를 입력해 주세요.
            + 해당 이메일로 아이디와 비밀번호 정보를 보내드립니다. +

            + + +
            + + + +
            + + + +
            + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/point.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/point.skin.php new file mode 100644 index 0000000..0680d47 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/point.skin.php @@ -0,0 +1,79 @@ +', 0); +?> + +
            +

            + +
            + +
              +
            • + 보유포인트 + +
            • + 0) { + $point1 = '+' .number_format($row['po_point']); + $sum_point1 += $row['po_point']; + } else { + $point2 = number_format($row['po_point']); + $sum_point2 += $row['po_point']; + } + + $po_content = $row['po_content']; + + $expr = ''; + if($row['po_expired'] == 1) + $expr = ' txt_expired'; + ?> +
            • +
              + + + +
              + + + + 만료 + + +
            • + 자료가 없습니다.'; + else { + if ($sum_point1 > 0) + $sum_point1 = "+" . number_format($sum_point1); + $sum_point2 = number_format($sum_point2); + } + ?> + +
            • + 소계 + + +
            • +
            + +
            + + + + +
            \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/profile.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/profile.skin.php new file mode 100644 index 0000000..9bec4c9 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/profile.skin.php @@ -0,0 +1,52 @@ +', 0); +?> + + +
            +

            님의 프로필

            +
            + + + + +
            +
            + + + + + + + + + + + + + + + + + + + + + + +
            회원권한 포인트
            회원가입일= $mb['mb_level']) ? substr($mb['mb_datetime'],0,10) ." (".number_format($mb_reg_after)." 일)" : "알 수 없음"; ?> 최종접속일= $mb['mb_level']) ? $mb['mb_today_login'] : "알 수 없음"; ?>
            홈페이지
            + + +
            +

            인사말

            +

            +
            +
            +
            + +
            +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/register.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/register.skin.php new file mode 100644 index 0000000..2ef6db2 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/register.skin.php @@ -0,0 +1,103 @@ +', 0); +?> + + +
            + + + +
            + +

            회원가입약관 및 개인정보처리방침안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.

            +
            + + + +
            +
            +

            회원가입약관

            + +
            + + +
            +
            + +
            +

            개인정보처리방침안내

            +
            + + + + + + + + + + + + + + + + + + + + + +
            개인정보처리방침안내
            목적항목보유기간
            이용자 식별 및 본인여부 확인아이디, 이름, 비밀번호회원 탈퇴 시까지
            고객서비스 이용에 관한 통지,
            CS대응을 위한 이용자 식별
            연락처 (이메일, 휴대전화번호)회원 탈퇴 시까지
            +
            + +
            + + +
            +
            + +
            + +
            + +
            + + +
            + diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/register_form.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/register_form.skin.php new file mode 100644 index 0000000..29dd468 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/register_form.skin.php @@ -0,0 +1,461 @@ +', 0); +?> + + + + + + + + +
            + + + + + + + + date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면 ?> + + + +
            +
            +

            사이트 이용정보 입력

            +
              +
            • + + class="frm_input half_input " minlength="3" maxlength="20" placeholder="아이디"> + + 영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요. +
            • +
            • + + class="frm_input half_input " minlength="3" maxlength="20" placeholder="비밀번호"> + + + class="frm_input half_input right_input " minlength="3" maxlength="20" placeholder="비밀번호 확인"> +
            • +
            +
            + +
            +

            개인정보 입력

            + +
              +
            • + + class="frm_input half_input " size="10" placeholder="이름"> + 아이핀 본인확인'.PHP_EOL; + if($config['cf_cert_hp']) + echo ''.PHP_EOL; + + echo ''.PHP_EOL; + } + ?> + + +
              + 본인확인성인인증 완료 +
              + + + 아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다. + + + +
            • + +
            • + + + + + + + 공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)
              + 닉네임을 바꾸시면 앞으로 일 이내에는 변경 할 수 없습니다. +
              + +
            • + + +
            • + + + + + + + + + + + +
            • + + +
            • + + class="frm_input full_input " size="70" maxlength="255" placeholder="홈페이지"> +
            • + + +
            • + + + + class="frm_input half_input " maxlength="20" placeholder="전화번호"> + + + + + + class="frm_input right_input half_input " maxlength="20" placeholder="휴대폰번호"> + + + + +
            • + + + +
            • + 필수 + + class="frm_input " size="5" maxlength="6" placeholder="우편번호"> +
              + class="frm_input frm_address full_input " size="50" placeholder="기본주소"> +
              + + +
              + + + + +
            • + +
            +
            + +
            +

            기타 개인설정

            +
              + +
            • + + +
            • + + + +
            • + + +
            • + + + = $config['cf_icon_level']) { ?> +
            • + + + + + 이미지 크기는 가로 픽셀, 세로 픽셀 이하로 해주세요.
              + gif, jpg, png파일만 가능하며 용량 바이트 이하만 등록됩니다. +
              + + + 회원아이콘 + + + + +
            • + + + = $config['cf_icon_level'] && $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height']) { ?> +
            • + + + + + 이미지 크기는 가로 픽셀, 세로 픽셀 이하로 해주세요.
              + gif, jpg, png파일만 가능하며 용량 바이트 이하만 등록됩니다. +
              + + + 회원이미지 + + + + +
            • + + +
            • + + > + 정보 메일을 받겠습니다. + +
            • + + +
            • + + + > + 휴대폰 문자메세지를 받겠습니다. + +
            • + + + +
            • + + + id="reg_mb_open"> + 다른분들이 나의 정보를 볼 수 있도록 합니다. + + 정보공개를 바꾸시면 앞으로 일 이내에는 변경이 안됩니다. + +
            • + +
            • + 정보공개 + + + 정보공개는 수정후 일 이내, 까지는 변경이 안됩니다.
              + 이렇게 하는 이유는 잦은 정보공개 수정으로 인하여 쪽지를 보낸 후 받지 않는 경우를 막기 위해서 입니다. +
              + +
            • + + + + + +
            • + + +
            • + + +
            • + 자동등록방지 + +
            • +
            +
            + +
            +
            + 취소 + +
            +
            + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/register_result.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/register_result.skin.php new file mode 100644 index 0000000..3077689 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/register_result.skin.php @@ -0,0 +1,44 @@ +', 0); +?> + + +
            +

            회원가입이 완료되었습니다.

            +

            + 님의 회원가입을 진심으로 축하합니다.
            +

            + + +

            + 회원 가입 시 입력하신 이메일 주소로 인증메일이 발송되었습니다.
            + 발송된 인증메일을 확인하신 후 인증처리를 하시면 사이트를 원활하게 이용하실 수 있습니다. +

            +
            + 아이디 +
            + 이메일 주소 + +
            +

            + 이메일 주소를 잘못 입력하셨다면, 사이트 관리자에게 문의해주시기 바랍니다. +

            + + +

            + 회원님의 비밀번호는 아무도 알 수 없는 암호화 코드로 저장되므로 안심하셔도 좋습니다.
            + 아이디, 비밀번호 분실시에는 회원가입시 입력하신 이메일 주소를 이용하여 찾을 수 있습니다. +

            + +

            + 회원 탈퇴는 언제든지 가능하며 일정기간이 지난 후, 회원님의 정보는 삭제하고 있습니다.
            + 감사합니다. +

            + + 메인으로 + +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/scrap.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/scrap.skin.php new file mode 100644 index 0000000..bf2ecd9 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/scrap.skin.php @@ -0,0 +1,33 @@ +', 0); +?> + + +
            +

            + +
            +
              + +
            • + + + + 삭제 +
            • + + + 자료가 없습니다."; ?> +
            +
            + + + +
            + +
            +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/scrap_popin.skin.php b/web/html/theme/AT_WEB01/img/skin/member/basic/scrap_popin.skin.php new file mode 100644 index 0000000..5e7bb98 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/scrap_popin.skin.php @@ -0,0 +1,40 @@ +', 0); +?> + + +
            +

            스크랩하기

            +
            + + +
            + +
            +

            제목 확인 및 댓글 쓰기

            +
              +
            • + 제목 + +
            • +
            • + + +
            • +
            +
            + +

            + 스크랩을 하시면서 감사 혹은 격려의 댓글을 남기실 수 있습니다. +

            + +
            + +
            +
            +
            +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/member/basic/style.css b/web/html/theme/AT_WEB01/img/skin/member/basic/style.css new file mode 100644 index 0000000..ab6c5e9 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/member/basic/style.css @@ -0,0 +1,263 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 버튼 */ +.mbskin a.btn01 {} +.mbskin a.btn01:focus, .mbskin .btn01:hover {} +.mbskin a.btn02 {} +.mbskin a.btn02:focus, .mbskin .btn02:hover {} +.mbskin .btn_confirm {} /* 서식단계 진행 */ +.mbskin .btn_submit {} +.mbskin button.btn_submit {} +.mbskin fieldset .btn_submit {} +.mbskin .btn_cancel {} +.mbskin button.btn_cancel {} +.mbskin .btn_cancel:focus, .mbskin .btn_cancel:hover {} +.mbskin a.btn_frmline, .mbskin button.btn_frmline {} /* 우편번호검색버튼 등 */ +.mbskin button.btn_frmline {} +.mbskin .win_btn {} /* 새창용 */ +.mbskin .win_btn button {} +.mbskin .win_btn input {} +.mbskin .win_btn a {} +.mbskin .win_btn a:focus, .mbskin .win_btn a:hover {} + +/* 게시판용 버튼 */ +.mbskin a.btn_b01 {} +.mbskin a.btn_b01:focus, .mbskin .btn_b01:hover {} +.mbskin a.btn_b02 {} +.mbskin a.btn_b02:focus, .mbskin .btn_b02:hover {} +.mbskin a.btn_admin {} /* 관리자 전용 버튼 */ +.mbskin a.btn_admin:focus, .mbskin a.btn_admin:hover {} + +/* 기본박스 */ +.mbskin{position: relative;margin:100px auto 0;border:1px solid #ddd;width:400px;background:#fff;text-align:center; +} +.mbskin:before,.mbskin:after{ +content:""; +position:absolute;z-index:-1;top:2%;bottom:0;left:10px;right:10px; +-webkit-box-shadow:0 0 20px rgba(0,0,0,0.8); + -moz-box-shadow:0 0 20px rgba(0,0,0,0.8); + box-shadow:0 0 20px rgba(0,0,0,0.8); +-moz-border-radius:100px / 10px; + border-radius:100px / 10px;} +.mbskin:after{right:10px;left:auto; + -webkit-transform:skew(8deg) rotate(3deg); + -moz-transform:skew(8deg) rotate(3deg); + -ms-transform:skew(8deg) rotate(3deg); + -o-transform:skew(8deg) rotate(3deg); + transform:skew(8deg) rotate(3deg);} +.mbskin .frm_input{width:100%} +.mbskin .btn_submit{width:100%;margin:10px 0 0;height:45px;font-weight:bold;font-size:1.25em} +.mbskin h1{margin: 60px 0 30px;font-size: 2em;} + + +/* 기본테이블 */ + +.mbskin .tbl_head01 {} +.mbskin .tbl_head01 caption {} +.mbskin .tbl_head01 thead th {} +.mbskin .tbl_head01 thead a {} +.mbskin .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.mbskin .tbl_head01 tfoot th {} +.mbskin .tbl_head01 tfoot td {} +.mbskin .tbl_head01 tbody th {} +.mbskin .tbl_head01 td {} +.mbskin .tbl_head01 a {} +.mbskin td.empty_table {} + +/* 폼 테이블 */ +.mbskin table {} +.mbskin caption {} +.mbskin .frm_info {} +.mbskin .frm_file {} + +.mbskin .tbl_frm01 {} +.mbskin .tbl_frm01 th {width:85px;} +.mbskin .tbl_frm01 td {} +.mbskin .tbl_frm01 textarea, .mb_skin tbl_frm01 .frm_input {} +.mbskin .tbl_frm01 textarea {} +/* +.mbskin .tbl_frm01 #captcha {} +.mbskin .tbl_frm01 #captcha input {} +*/ +.mbskin .tbl_frm01 a {} + +/* 필수입력 */ +.mbskin .required, .mbskin textarea.required {} + +/* 테이블 항목별 정의 */ +.mbskin .td_board {} +.mbskin .td_chk {} +.mbskin .td_date {} +.mbskin .td_datetime {} +.mbskin .td_group {} +.mbskin .td_mb_id {} +.mbskin .td_mng {} +.mbskin .td_name {} +.mbskin .td_nick {} +.mbskin .td_num {} +.mbskin .td_numbig {} + +.mbskin .txt_active {} +.mbskin .txt_expired {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 회원가입 약관 */ +#fregister p{text-align:center;color: #c7254e;background: #f9f2f4;padding:10px;border:1px solid #ecc7d2;margin:0 0 5px} +#fregister section {;margin:10px auto 30px;border:1px solid #dbdbdb;position:relative;border-radius:3px 3px 0 0 ; +-webkit-box-shadow: 0 1px 3px #eee; +-moz-box-shadow: 0 1px 3px #eee; +box-shadow: 0 1px 3px #eee; +} +#fregister_chkall{text-align:right} +#fregister h2 {text-align:left;padding:15px 20px;border-bottom:1px solid #dbdbdb;background:#f8f8f8} +#fregister textarea {display:block;padding:20px;width:100%;height:150px;background:#fff;border:0;line-height:1.6em} +#fregister .fregister_agree {position:absolute;top:0;right:0;;padding:15px} +#fregister_private div{padding:20px;background:#fff} +#fregister_private table{width:100%;border-collapse:collapse} +#fregister_private table caption {position:absolute;font-size:0;line-height:0;overflow:hidden} +#fregister_private table th{background:#646982;width:33.33%;color:#fff;padding:10px;border:1px solid #555971} +#fregister_private table td{border:1px solid #ddd;padding:10px;} +#fregister .btn_confirm{text-align:center;} +#fregister .btn_confirm .btn_submit{height:50px;padding:0 40px;font-weight:bold;font-size:1.083em} + +/* 회원가입 입력 */ +#register_form{background:#fff;padding:20px;margin-bottom:20px} +#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center} +#fregisterform .frm_address {margin:5px 0 0} +#fregisterform #mb_addr3 {display:inline-block;margin:5px 0 0;vertical-align:middle} +#fregisterform #mb_addr_jibeon {display:block;margin:5px 0 0} +#fregisterform .btn_confirm{text-align:center} +#fregisterform .btn_confirm .btn_submit{height:45px;;padding:0 30px;font-weight:bold;font-size:1.083em} +#fregisterform .btn_confirm .btn_cancel{line-height:45px;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em} +#fregisterform .frm_info{display:block;color:#3497d9;font-size:0.92em} +#fregisterform .form_01 div{margin: 0 0 50px} +#fregisterform .captcha{display:block;margin:5px 0 0} +#fregisterform .reg_mb_img_file img{max-width:100%;height:auto} + + +/* 회원가입 완료 */ +#reg_result {padding:100px 0 40px;text-align:center;background:#fff} +#reg_result h2{font-size:2em;margin:0 0 20px} +#reg_result h2 strong{color:#ed6478} +#reg_result #result_email {margin:20px 0;padding:10px 50px;border-top:1px solid #e9e9e9;border-bottom:1px solid #dde4e9;background:#fff;line-height:2em} +#reg_result #result_email span {display:inline-block;width:150px} +#reg_result #result_email strong {color:#e8180c;font-size:1.2em} +#reg_result p {line-height:1.8em} +#reg_result .btn_confirm {margin:50px 0} +#reg_result .reg_result_p{font-size:1.25em;margin:0 0 10px;} +#reg_result .reg_result_p strong{color:#3497d9} +#reg_result .btn_submit{padding: 0 30px;font-weight:bold;height:40px;line-height:40px;display:inline-block;margin:30px 0 0 ;font-size:1.083em} + +/* 아이디/비밀번호 찾기 */ +#find_info #mb_hp_label {display:inline-block;margin-left:10px} +#find_info p {line-height:1.5em} +#find_info #mb_email{margin:10px 0;} + +/* 로그인 */ +#mb_login {} +#login_fs{padding:0 50px} +#mb_login #login_fs .frm_input{margin:0 0 10px} +#mb_login #login_fs .btn_submit {margin:0 0 20px} +#mb_login #login_info{background:#f6f6f6;padding:25px 10px;border-top:1px solid #e8e8e8;margin:40px 0 0 } +#mb_login #login_info:after {display:block;visibility:hidden;clear:both;content:""} +#mb_login #login_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#mb_login #login_info a{display:inline-block;width:50%;float:left} +#login_password_lost{border-right:1px solid #ddd} + +#mb_login_notmb{margin:30px auto;padding:20px 30px } +#mb_login_notmb h2{font-size:1.25em;margin:20px 0 10px} +#guest_privacy{border:1px solid #ccc;text-align:left;line-height:1.6em;color:#666;background:#fafafa;padding:10px;height:150px;margin:10px 0;overflow-y:auto} +#mb_login_notmb .btn_submit{display:block;text-align:center;line-height:45px} + +#mb_login_od_wr{margin:30px auto;padding:20px 30px } +#mb_login_od_wr h2{font-size:1.25em;margin:20px 0 10px} +#mb_login_od_wr .frm_input{margin:10px 0 0 } +#mb_login_od_wr p{background:#f3f3f3;margin:20px 0 0 ;padding:15px 20px;line-height:1.5em} + +/* 쪽지 */ +#memo_list .memo_name,#memo_list .memo_name .sv_wrap{font-weight:bold} +#memo_list .memo_datetime{float:right;font-size:0.92em;color:#777;font-style:italic} +#memo_list .memo_del{margin-left: 5px; color: #49857c;font-size: 15px;} + +#memo_view_contents {margin:10px 0;border:1px solid #ddd;} +#memo_view_contents h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#memo_view_ul {margin:0;border-bottom:1px solid #eee;list-style:none;background:#f3f3f3;} +#memo_view_ul:after {display:block;visibility:hidden;clear:both;content:""} +.memo_view_li {position:relative;padding:10px;float:left;width:50%;} +.memo_view_name strong,.memo_view_name .sv_wrap{font-weight:bold !important} +.memo_view_subj{display: inline-block;height: 20px;line-height: 18px;border: 1px solid #3497d9;color: #3497d9;padding: 0 5px;border-radius: 15px;font-size: 11px;} +.memo_view_li .profile_img img{border-radius:50%} +.memo_view_date{text-align:right;color:#555;font-style:italic} +.memo_view_date strong{font-weight:normal} +#memo_view .btn_b02{float:right} +#memo_view .btn_b02.reply_btn{margin-left:4px} +#memo_view p {padding:10px;border-top:1px solid #ddd;min-height:150px;height:auto !important;height:150px;background:#fff;line-height:1.8em} + +#memo_write textarea {height:100px} + +/* 스크랩 */ +#scrap .scrap_tit{font-weight:bold;display:block;font-size:1.083em;margin-bottom:5px;line-height:1.3em} +#scrap .scrap_cate{ display:block;color:#3598db ;font-size:0.92em;float:left} +#scrap .scrap_datetime{;color:#777;font-style:italic;float:right} +#scrap .scrap_del{position:absolute;top:5px;right:10px;font-size:18px;color:#49857c} +#scrap .scrap_del:hover{color:#98ca69} +#scrap_do table {margin:0 0 10px;width:100%} +#scrap_do textarea {height:100px} +#scrap_do .scrap_tit{background:#f3f3f3;padding:10px 15px;font-size:1.083em;font-weight:bold} +#scrap_do label{display:block;margin:0 0 5px;font-size:0.92em} +/*포인트*/ +#point .point_top{line-height:15px;margin:0 0 5px} +#point .point_top:after {display:block;visibility:hidden;clear:both;content:""} +#point .point_tit{font-weight:bold;float:left;font-size:1.083em;display:block;} +#point .point_num{font-size:1.25em;color:#00c4ac;font-weight:bold;float:right;} +#point .point_date1{float:left;color:#555;font-style:italic} +#point .point_date{float:right;color:#555;font-style:italic} +#point .txt_expired {color:#aaa;} +#point .point_all{background:#ae99da;border:0;border-bottom:2px solid #9781c5;color:#fff;font-weight:bold;font-size:1.083em} +#point .point_all span,#point .point_status span{float:right;} +#point .point_status{background:#737373;border:0;color:#fff;font-weight:bold;font-size:1.083em} +#point .point_status span{margin-left:10px} + +/* 회원 비밀번호 확인 */ +#mb_confirm {} +#mb_confirm h1 {margin:60px 0 30px;font-size:2em} +#mb_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565} +#mb_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px} +#mb_confirm fieldset {;padding:50px;text-align:left} +#mb_confirm fieldset .frm_input {background-color:#fff !important} +#mb_confirm label {letter-spacing:-0.1em} +#mb_confirm_id {display:block;margin:5px 0 10px;font-weight:bold} +#mb_confirm .confirm_id{font-size:0.92em;color:#666} + +/* 비밀글 비밀번호 확인 */ +#pw_confirm h1 {margin:60px 20px 30px;font-size:2em} +#pw_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565} +#pw_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px} +#pw_confirm fieldset {;padding:50px;text-align:center} +#pw_confirm fieldset .frm_input {background-color:#fff !important} +#pw_confirm label {letter-spacing:-0.1em} +#pw_confirm_id {display:inline-block;margin-right:20px;font-weight:bold} +#mb_confirm_id{} + +/* 폼메일 */ +#formmail textarea {height:100px} +#formmail .formmail_flie{position:relative} +#formmail .formmail_flie .file_wr {border: 1px solid #ccc;background: #fff;color: #000;vertical-align: middle;border-radius: 3px;padding: 5px;height: 40px;margin: 0;} +#formmail .lb_icon {position: absolute;top: 1px;left: 1px;border-radius: 3px 0 0 3px;height: 38px;line-height: 38px;width: 40px;background: #eee;text-align: center;color: #888;} +#formmail .frm_file {padding-left: 50px;} +#formmail .frm_info{color: #3497d9;font-size: 0.92em;} + +/* 자기소개 */ +#profile h1 a{color:#fff} +#profile table {margin-bottom:0} +#profile table th{text-align:left;padding:10px;width:100px} +#profile section {color: #2d4c7b;background: #eff9f9;padding: 10px;border: 1px solid #bfd4dc;margin: 10px 0;} +#profile h2 {margin:0 0 5px} +#profile .profile_name{text-align:center;font-weight:bold} +#profile .my_profile_img{display:block;margin:20px 0 5px;} +#profile .my_profile_img img{border-radius:50%;border:1px solid #aaa} +#profile .profile_img img{border-radius:50%} +#profile .profile_name .sv_wrap{font-weight:bold;text-align:left} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/new/basic/new.skin.php b/web/html/theme/AT_WEB01/img/skin/new/basic/new.skin.php new file mode 100644 index 0000000..b5ea910 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/new/basic/new.skin.php @@ -0,0 +1,144 @@ +', 0); +?> + + +
            + 상세검색 +
            + + + + + + +

            회원 아이디만 검색 가능

            +
            + +
            + + + +
            + + + + + + + + +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
            + + + 그룹게시판제목이름일시
            + + + + +
            게시물이 없습니다.
            +
            + + +
            + +
            + +
            + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/new/basic/style.css b/web/html/theme/AT_WEB01/img/skin/new/basic/style.css new file mode 100644 index 0000000..5823010 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/new/basic/style.css @@ -0,0 +1,12 @@ +@charset "utf-8"; + +/* 최근게시물 스킨 (new) */ +#new_sch {margin-bottom:15px;text-align:center;padding: 20px;border: 1px solid #e8e8e8;background: #fbfbfb;} +#new_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#new_sch p {padding:5px 0 0;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +#new_sch .frm_input{border-color:#646982;border-radius:0} +#new_sch select{border:1px solid #646982;height:40px;padding:0 5px} +#new_sch .btn_submit{padding: 0 10px;height: 40px;font-size: 1.083em;font-weight: bold;color: #fff;background: #253dbe;} +#fnewlist .new_tit{font-weight:bold} +#fnewlist .profile_img img{border-radius:50%} +#fnewlist .td_date{font-style:italic} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/outlogin/basic/img/info_edit.png b/web/html/theme/AT_WEB01/img/skin/outlogin/basic/img/info_edit.png new file mode 100644 index 0000000..ce5eae3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/outlogin/basic/img/info_edit.png differ diff --git a/web/html/theme/AT_WEB01/img/skin/outlogin/basic/outlogin.skin.1.php b/web/html/theme/AT_WEB01/img/skin/outlogin/basic/outlogin.skin.1.php new file mode 100644 index 0000000..c4467fc --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/outlogin/basic/outlogin.skin.1.php @@ -0,0 +1,63 @@ +', 0); +?> + + +
            +

            회원로그인

            +
            +
            +
            + + + + + + +
            +
            +
            + + +
            + +
            + + +
            +
            +
            + + + diff --git a/web/html/theme/AT_WEB01/img/skin/outlogin/basic/outlogin.skin.2.php b/web/html/theme/AT_WEB01/img/skin/outlogin/basic/outlogin.skin.2.php new file mode 100644 index 0000000..e9d47a4 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/outlogin/basic/outlogin.skin.2.php @@ -0,0 +1,51 @@ +', 0); +?> + + +
            +
            +

            나의 회원정보

            + + + 정보수정 + + + 로그아웃 + 관리자 +
            + + +
            + + + diff --git a/web/html/theme/AT_WEB01/img/skin/outlogin/basic/style.css b/web/html/theme/AT_WEB01/img/skin/outlogin/basic/style.css new file mode 100644 index 0000000..f9f01b8 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/outlogin/basic/style.css @@ -0,0 +1,48 @@ +@charset "utf-8"; + +/* 아웃로그인 스킨 */ +.ol {position:relative;margin:20px;} +.ol h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} + +.ol a.btn_admin {display:inline-block;padding:0 10px;height:25px;text-decoration:none;line-height:25px;vertical-align:middle} /* 관리자 전용 버튼 */ +.ol a.btn_admin:focus, .ol a.btn_admin:hover {text-decoration:none} + +#ol_before {} +#ol_before:after {display:block;visibility:hidden;clear:both;content:""} +#ol_before .ol_wr{position:relative;border:1px solid #b7bece;margin-bottom:5px} +#ol_id {display:block;width:185px;border:1px solid #fff;padding:0 10px;height:32px} +#ol_pw {display:block;width:185px;border:1px solid #fff;padding:0 10px;border-top:1px solid #ededed;height:32px} +#ol_submit {position:absolute;top:0;right:0;width:76px;height:64px;background:#fff;border-left:1px solid #ccc;color:#000;font-weight:bold;font-size:1.167em} +#ol_svc {float:right;line-height:20px} +#ol_svc a{display:inline-block;color:#555;margin:0 5px} +#ol_auto {float:left;line-height:20px} +#ol_auto label {color:#555} +#ol_auto input {width:13px;height:13px} +.ol_auto_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#ol_after {background:#fff;border: 1px solid #d2d9e6; border-bottom: 1px solid #c1ccda; +-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +box-shadow:0 1px 2px rgba(0,0,0,0.1)} +#ol_after_hd {position:relative;margin:0 0 10px;padding:10px;padding-left:80px;height:72px;} +#ol_after_hd strong{display:block;margin:5px 0} +#ol_after_hd .profile_img{position:absolute;top:15px;left:15px;display:inline-block;} +#ol_after_hd .profile_img img{border:1px solid #bbb;border-radius:50%;width:50px;height:50px} +#ol_after_hd .profile_img a{display:block;position:absolute;bottom:-5px;right:-5px;background: #fff;text-align:center;font-size:17px;width:30px;line-height:30px;border-radius:50%;color:#777; +-webkit-box-shadow: -2px -2px 5px rgba(0,0,0,0.1); +-moz-box-shadow: -2px -2px 5px rgba(0,0,0,0.1); +box-shadow: -2px -2px 5px rgba(0,0,0,0.1);} +#ol_after_hd .btn_admin {} +#ol_after_hd .btn_b04{line-height:23px;padding:0 5px} +#ol_after_private {background:#f7f7f7;border-top: 1px solid #e8e8e8;zoom:1} +#ol_after_private:after {display:block;visibility:hidden;clear:both;content:""} +#ol_after_private li {margin-bottom:1px;position:relative;float:left;width:33.333%;text-align:center} +#ol_after_private a {display:block;color:#444;line-height:20px;height:60px;border-left:1px solid #e8e8e8;padding:10px 0;} +#ol_after_private li:first-child a{border-left:0} +#ol_after_private a strong {display:inline-block;max-width:87px;overflow:hidden;white-space:nowrap;text-overflow:clip;background:#7587a2;color:#fff;padding:0 8px;border-radius:15px;font-size:0.92em;box-shadow:inset 2px 1px 3px rgba(0,0,0,0.2)} +#ol_after_private a strong.scrap{padding:0 14px} +#ol_after_private a:hover strong{background:#4b8bff} +#ol_after_private li a:hover{color:#4b8bff;background:#f1f1f1} +#ol_after_memo {;margin-right:1px} +#ol_after_pt {margin-right:1px} + diff --git a/web/html/theme/AT_WEB01/img/skin/poll/basic/poll.skin.php b/web/html/theme/AT_WEB01/img/skin/poll/basic/poll.skin.php new file mode 100644 index 0000000..cd565ce --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/poll/basic/poll.skin.php @@ -0,0 +1,69 @@ +', 0); +?> + + +
            + + +
            +
            +

            설문조사

            + 설문관리 +
            + +
            +
            + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/poll/basic/poll_result.skin.php b/web/html/theme/AT_WEB01/img/skin/poll/basic/poll_result.skin.php new file mode 100644 index 0000000..aa5cf95 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/poll/basic/poll_result.skin.php @@ -0,0 +1,120 @@ +', 0); +?> + + +
            +

            +
            + + 전체 +
            +

            결과

            + +
              + +
            1. + + % +
              + +
              +
            2. + +
            +
            + + + + +
            +

            이 설문에 대한 기타의견

            + + +
            +
            +

            님의 의견

            + + 삭제"; } ?> +
            +

            + +

            + +
            + + + = $po['po_level']) { ?> +
            + + + + +

            + +
            +
              + +
            • + + +
            • +
            • + +
            • + +
            • + + +
            • +
            • + +
            • + +
            +
            + + +
            + + +
            + + + + + + + +
            + +
            +
            +
            + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/poll/basic/style.css b/web/html/theme/AT_WEB01/img/skin/poll/basic/style.css new file mode 100644 index 0000000..5b3d048 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/poll/basic/style.css @@ -0,0 +1,101 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +#poll a.btn_admin {} /* 관리자 전용 버튼 */ +#poll a.btn_admin:focus, #poll a.btn_admin:hover {} + +#poll_result .tbl_frm table {} +#poll_result .tbl_frm .frm_info {} +#poll_result .tbl_frm .frm_address {} +#poll_result .tbl_frm .frm_file {} +#poll_result .tbl_frm caption {} + +#poll_result .tbl_frm01 {} +#poll_result .tbl_frm01 th {} +#poll_result .tbl_frm01 td {} +#poll_result .tbl_frm01 textarea, #poll_result tbl_frm01 .frm_input {} +#poll_result .tbl_frm01 textarea {} +/* +#poll_result .tbl_frm01 #captcha {} +#poll_result .tbl_frm01 #captcha input {} +*/ +#poll_result .tbl_frm01 a {} + +/* 필수입력 */ +#poll_result .required, #poll_result textarea.required {} + +#poll_result .btn_confirm {} /* 서식단계 진행 */ +#poll_result .btn_submit {} +#poll_result button.btn_submit {} +#poll_result .win_btn {} /* 새창용 */ +#poll_result .win_btn button {} +#poll_result .win_btn input {} +#poll_result .win_btn a {} +#poll_result .win_btn a:focus, #poll_result .win_btn a:hover {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 설문조사 스킨 */ +#poll {border: 1px solid #d2d9e6; border-bottom: 1px solid #c1ccda;background:#fff;margin:50px 20px 20px;position:relative; +-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +box-shadow:0 1px 2px rgba(0,0,0,0.1)} +#poll h2 {font-size:1.167em;text-align:center;padding-top:25px;color:#1d9d74;position:relative} +#poll h2 i{position:absolute;top:-22px;left:50%;width:44px;line-height:44px;margin-left:-22px;border-radius:25px;background:#1d9d74;color:#fff} +#poll header .btn_admin {text-align:center;position:absolute;top:10px;right:10px;height:25px;line-height:25px;padding:0 5px;border-radius:3px} +#poll ul {padding: 10px 15px;list-style:none} +#poll li {padding:5px 0} +#poll .poll_con{} +#poll .poll_con p{font-weight:bold;padding: 10px 15px;background: #f1f9f7;border:1px solid #e0f1e9;color: #457163;margin:10px 10px 0} +#poll_btn{background:#f7f7f7;padding:10px;text-align:center} +#poll_btn:after {display:block;visibility:hidden;clear:both;content:""} +#poll_btn .btn_poll{display:inline-block;height:30px;line-height:28px;padding: 0 10px} +#poll_btn .btn_result{;display:inline-block;height:30px;line-height:30px;padding: 0 10px;font-weight:bold} + + +/* 설문조사 결과 (새창) */ +#poll_result {} +#poll_result section {margin:0 0 20px;padding:25px;border:1px solid #dbdbdb;background:#fff; +-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.1)); + -moz-box-shadow: 0 0 5px rgba(55,55,5,0.1)); + box-shadow: 0 0 5px rgba(55,55,5,0.1); } +#poll_result .tbl_wrap {margin:0} +#poll_result h2 {} +#poll_result a {} +#poll_result .sv_member, +#poll_result .sv_guest {font-weight:bold} +#poll_result .poll_all{float:right;display:inline-block;margin:0 0 10px;line-height: 30px;font-size: 0.92em;color: #4e546f;background: #d4d4d4;padding: 0 10px;border-radius: 5px;} +#poll_result_list {margin:0 auto 20px;clear:both} +#poll_result_list h2 {margin:0;font-size:1.25em;padding: 0 0 15px;margin:0 0 15px;border-bottom:1px solid #ddd;text-align:center;} +#poll_result_list dt {margin-right:5%;color:#e8180d;text-align:right} +#poll_result_list ol {margin:0;padding:0} +#poll_result_list li {margin:20px 0;position:relative;list-style-position:inside} +#poll_result_list .poll_percent{position:absolute;top:0;right:0;color:#415b72;font-weight:bold} +.poll_result_graph {position:relative;margin-right:5%;margin:5px 0 ;height:15px;background:#f4f4f4;border-radius:10px 10px} +.poll_result_graph span {position:absolute;top:0;left:0;height:15px;background:#ae99da;border-radius:10px 10px;white-space: nowrap;} +.poll_result_graph span .poll_cnt {display:none;position:absolute;top:18px;right:0;font-size:0.92em;text-align:right;background:#333;color:#fff;padding:0 7px;line-height:22px;border-radius:3px} +.poll_result_graph span:hover .poll_cnt {display:block} +.poll_result_graph span .poll_cnt:before{content: "";position: absolute;top: -6px;left: 50%;margin-left:-4px;width: 0;height: 0;border-style: solid;border-width: 0 4px 6px 4px;border-color: transparent transparent #333 transparent;} +#poll_result_cmt {} +#poll_result_cmt h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#poll_result_cmt h3 {margin:0;font-size:1.25em;padding: 0 0 15px;margin:0 0 15px;border-bottom:1px solid #ddd;text-align:center;} +#poll_result_cmt article {margin:15px 0 ;position:relative;} +#poll_result_cmt h1 {position:absolute;margin:0;padding:0;border:0;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#poll_result_cmt header{margin:0 0 5px} +#poll_result_cmt .poll_datetime{display:inline-block;position:absolute;top:0;right:0;font-size:0.92em;color:#777;font-style:italic} +#poll_result_cmt .profile_img img{border-radius:50%} +#poll_result_cmt p {padding:10px;background:#f6f6f6;border-radius:5px;line-height:1.5em} +#poll_result_cmt fieldset {margin-bottom:0;text-align:left} +#poll_result_cmt fieldset p {margin:0 0 15px;padding:3px 0 0px;text-align:left} +#poll_result_cmt footer {text-align:right} +#poll_result_cmt .btn_submit {padding:0 20px;float:right} + +.poll_cmt_del a {display:inline-block;margin-left:5px;color:#49857c;font-size:15px;} +.poll_cmt_del a:hover{color:#98ca69} +#poll_result_oth {padding:0 0 30px} +#poll_result_oth h2 {padding:0 0 10px} +#poll_result_oth ul {margin:0;padding:0;list-style:none;border:1px solid #ddd;background:#fff;border-top:0} +#poll_result_oth ul li{border-top:1px solid #ddd; position:relative;line-height:20px} +#poll_result_oth a {display:block;padding: 10px} +#poll_result_oth li span{position:absolute;bottom:10px;right:15px;color:#777;font-size:0.92em;font-style:italic} diff --git a/web/html/theme/AT_WEB01/img/skin/popular/basic/popular.skin.php b/web/html/theme/AT_WEB01/img/skin/popular/basic/popular.skin.php new file mode 100644 index 0000000..d1e8b0b --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/popular/basic/popular.skin.php @@ -0,0 +1,27 @@ +', 0); +?> + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/popular/basic/style.css b/web/html/theme/AT_WEB01/img/skin/popular/basic/style.css new file mode 100644 index 0000000..30c7e1f --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/popular/basic/style.css @@ -0,0 +1,10 @@ +@charset "utf-8"; +/* 인기검색어 */ +#popular {margin:8px 0 0;position:relative} +#popular h2{display:inline-block;font-size:0.92em;color:#4b8bff;background:#fff;line-height:20px;padding:0 5px;border:1px solid #dcdcde;vertical-align:top} +#popular .popular_inner{position:absolute;left:70px;top:2px;height:18px;overflow:hidden} +#popular ul{display:inline-block} +#popular ul:after {display:block;visibility:hidden;clear:both;content:""} +#popular li{height:18px;line-height:18px;border-left:1px solid #c3c3c3;padding:0 10px;float:left} +#popular li:first-child{border-left:0} +#popular li a:hover{color:#a22121;text-decoration:underline} diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/img/btn_close.gif b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_answer.gif b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_answer.gif new file mode 100644 index 0000000..91c1359 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_answer.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_file.gif new file mode 100644 index 0000000..cca47f5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_hot.gif b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_hot.gif new file mode 100644 index 0000000..c95b839 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_img.gif b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_img.gif new file mode 100644 index 0000000..fefa10d Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_link.gif b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_link.gif new file mode 100644 index 0000000..0f3cb1a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_mobile.gif new file mode 100644 index 0000000..ad934d2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_movie.gif b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_new.gif b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_secret.gif new file mode 100644 index 0000000..c04899f Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_sound.gif b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/skin/qa/basic/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/list.skin.php b/web/html/theme/AT_WEB01/img/skin/qa/basic/list.skin.php new file mode 100644 index 0000000..3933474 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/qa/basic/list.skin.php @@ -0,0 +1,176 @@ +', 0); +?> + +
            + + + +
            +
            + Total + 페이지 +
            + + + + +
            + + + + + + + + +
            + + + + +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; } ?> + +
            목록
            + + + 번호제목글쓴이등록일상태
            + + + + + + + " ; ?> + + 답변완료' : ' 답변대기'); ?>
            게시물이 없습니다.
            +
            + +
            + +
            +
            + + + +
            + 게시물 검색 + +
            + + + + +
            +
            + +
            + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/style.css b/web/html/theme/AT_WEB01/img/skin/qa/basic/style.css new file mode 100644 index 0000000..9359ae3 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/qa/basic/style.css @@ -0,0 +1,339 @@ +@charset "utf-8"; +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w h2{position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:80px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:40px;;text-align:center} +#bo_list .td_num2 {width:50px;;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list .td_stat,#bo_v_rel .td_stat{width:100px;text-align:center} + +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list .txt_done,#bo_v_rel .txt_done{display:inline-block;height:30px;line-height:30px;padding:0 10px;border-radius:15px;color:#fff;font-size:0.92em;background:#ff63ab} +#bo_list .txt_done i,#bo_v_rel .txt_done i{font-size:13px} +#bo_list .txt_rdy,#bo_v_rel .txt_rdy{display:inline-block;height:30px;line-height:28px;padding:0 10px;border-radius:15px;color:#ff63ab;font-size:0.92em;border:1px solid #ff63ab} +#bo_list .txt_rdy i,#bo_v_rel .txt_rdy i{font-size:13px}#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +/* 게시판 목록 */ +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} + + +.td_subject img {margin-left:5px} + + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 5px} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f5f6fa} +.bo_notice td a {font-weight:bold} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;font-weight:bold;color:#000} +.td_subject .fa-download{width:16px;height:16px;line-height:16px;background:#ecaa30;color:#fff;text-align:center;font-size:10px;border-radius:2px} + +.bo_current {color:#e8180c} +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold;color:#ed6478;} +#bo_list .bo_tit .fa-heart{color:#fe4560} +#bo_list .bo_tit .fa-lock{color:#000} +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrp {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute;top:24px;right:117px;padding:8px;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;overflow-y:scroll} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:right} +#autosave_pop button {margin:0;padding:0;border:0;background:transparent} +#autosave_pop ul {margin:10px 0;padding:0;border-top:1px solid #e9e9e9;list-style:none} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #e9e9e9;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right} +.autosave_close {cursor:pointer} +.autosave_content {display:none} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding-bottom:20px} +#bo_v_table {position:absolute;top:0;right:15px;margin:0;padding:0 5px;height:25px;background:#565e60;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v header{background:#eee;border:1px solid #d4d4d4;border-bottom:0;} +#bo_v_title {font-size:1.083em;padding:10px 10px 5px} +#bo_v_title .bo_v_cate{display: inline-block;height: 20px;line-height: 18px;border: 1px solid #3497d9;color: #3497d9;padding: 0 5px;border-radius: 15px;font-size:11px} +#bo_v_info {padding:5px 10px 10px ;background:#eee;border:1px solid #d4d4d4;color:#555;border-top:0;position:relative;font-size:0.92em} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 7px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .bo_date{position:absolute;top:10px;right:10px;font-style:italic} +#bo_v_info .profile_img img{border-radius:50%;} + + +#bo_v_file {margin:10px 0 0;background:#f3f3f3} +#bo_v_file h2 {margin:0;padding:0;height:0;overflow:hidden} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {} +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_link ul {margin:0;padding:0;list-style:none} +#bo_v_link li {padding:0 10px;border-bottom:1px solid #eee;background:#f5f6fa} +#bo_v_link a {display:inline-block;padding:8px 0 7px;width:100%;color:#000;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {display:inline-block;margin:0 0 3px 16px} + +#bo_v_contact {border-bottom:1px solid #ddd} +#bo_v_contact h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_contact dl {margin:0;padding:0;list-style:none;zoom:1} +#bo_v_contact dl:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_contact dt, #bo_v_contact dd {float:left;margin:0;border-bottom:1px solid #eee;background:#f5f6fa;} +#bo_v_contact dt {clear:both;padding:8px 0 8px 30px;width:100px;font-weight:bold} +#bo_v_contact dd {padding:8px 0;width:598px} + +#bo_v_top {padding:10px 0;zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {margin:0;padding:0;height:0;overflow:hidden} +#bo_v_top ul {margin:0;padding:0;list-style:none} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {margin:0;padding:0;list-style:none} + +.bo_v_nb {float:left} +.bo_v_nb li {float:left;margin-right:5px} +.bo_v_com {float:right} +.bo_v_com li {float:left;margin-left:5px} + +#bo_v_atc {min-height:100px;background:#fff;height:auto !important;height:100px;padding:15px ;border:1px solid #d4d4d4;border-top:0;;} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {margin:0 0 10px;width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin-bottom:30px;width:100%;line-height:1.7em;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act a {margin-right:5px;vertical-align:top} +#bo_v_act span {display:inline-block;margin-right:5px;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:2.15em;vertical-align:top} +#bo_v_act strong {color:#ff3061} +#bo_v_act_good, +#bo_v_act_nogood {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_sns {margin:0 0 20px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;margin:0 5px 0 0} + +#bo_v_addq {margin:0 0 30px;text-align:right} + +#bo_v_ans {margin:0 0 30px;border:1px solid #d4d4d4;background:#fff;position:relative;} +#bo_v_ans h2 {font-size:1.083em;padding:10px 90px 5px 10px;background:#eee} +#bo_v_ans h2 span{display:inline-block;font-size:11px;background:#555;border-radius:5px;height:22px;line-height:22px;;padding:0 5px;color:#fff;font-weight:normal} +#bo_v_ans #ans_datetime {padding:0 10px 10px;font-size:0.92em;;background:#eee;;color:#666;font-style:italic} +#bo_v_ans #ans_con {margin:0 0 10px;padding:15px;line-height:1.8em} +#bo_v_ans #ans_con img{max-width:100%;height:auto} +#bo_v_ans #ans_add {text-align:right;padding:15px;} +#ans_msg {padding:40px 0;background:#f2f5f9;text-align:center} +#bo_v_ans .add_qa{position:absolute;top:10px;right:10px;background:#f57b8a;color:#fff} +#bo_v_ans .add_qa:hover{background:#ed6478} + +#bo_v_rel {margin:0 0 30px;padding:30px 0 0;} +#bo_v_rel h2 {margin:0 0 10px;font-size:1.2em} + +#bo_v_ans_form h2{margin:10px 0 0;font-size:1.167em } +#bo_v_ans_form .btn_submit{height: 50px;padding: 0 20px;border-radius: 3px;font-weight: bold;font-size: 1.083em;} + +/* 게시판 댓글 */ +#bo_vc {padding:20px 20px 10px;border-top:1px solid #cfded8;border-bottom:1px solid #cfded8;background:#f5f6fa} +#bo_vc h2 {margin-bottom:10px} +#bo_vc article {padding:0 0 10px;border-top:1px dotted #ccc} +#bo_vc header {position:relative;padding:15px 0 5px} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .sv_wrap {margin-right:15px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {display:inline-block;margin:0 15px 0 5px} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc a {color:#000;text-decoration:none} +#bo_vc p {padding:0 0 5px;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc_empty {margin:0;padding:20px !important;text-align:center} +#bo_vc fieldset {margin:0 0 10px;padding:0} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc footer {zoom:1} +#bo_vc footer:after {display:block;visibility:hidden;clear:both;content:""} + +.bo_vc_act {float:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {float:left;margin-left:5px} + +#bo_vc_w {position:relative;margin:0 0 10px;padding:0 0 20px;border-bottom:1px solid #cfded8} +#bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc_w #char_cnt {display:block;margin:0 0 5px} + +#bo_vc_sns {margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 20px 0 0} +#bo_vc_sns input {margin:0 0 0 5px} + +#bo_vc form {padding:0} + +/*글쓰기*/ +#bo_w li{;position:relative;} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5%} +.qa_content_wrap.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w #qa_category{border:1px solid #3497d9;height:40px;border-radius:3px} +#bo_w .bo_w_mail{float:left;width:49%} +#bo_w .bo_w_hp{float:right;width:49%} +#bo_w .bo_w_sbj{clear:both} +#bo_w .frm_info{color: #3497d9;margin:0 0 5px;display:inline-block;font-size: 0.92em;} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/view.answer.skin.php b/web/html/theme/AT_WEB01/img/skin/qa/basic/view.answer.skin.php new file mode 100644 index 0000000..3316426 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/qa/basic/view.answer.skin.php @@ -0,0 +1,25 @@ + + +
            +

            답변

            + 추가질문 + +
            + +
            + +
            + +
            + +
            + + 답변수정 + + + 답변삭제 + +
            +
            \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/view.answerform.skin.php b/web/html/theme/AT_WEB01/img/skin/qa/basic/view.answerform.skin.php new file mode 100644 index 0000000..fcb50f0 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/qa/basic/view.answerform.skin.php @@ -0,0 +1,123 @@ + + +
            + +

            답변등록

            + +
            + + + + + + '; + } else { + $option .= "\n".''."\n".''; + } + + echo $option_hidden; + ?> + +
            +
              + +
            • + 옵션 + +
            • + +
            • + + +
            • +
            • + + + + +
            • +
            +
            + +
            + +
            +
            + + + +

            고객님의 문의에 대한 답변을 준비 중입니다.

            + +
            \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/view.skin.php b/web/html/theme/AT_WEB01/img/skin/qa/basic/view.skin.php new file mode 100644 index 0000000..7a97148 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/qa/basic/view.skin.php @@ -0,0 +1,183 @@ +', 0); +?> + + + + + +
            +
            +

            + '.$view['category'].' '; // 분류 출력 끝 + ?> + +

            +
            + +
            +

            페이지 정보

            + 작성자 + 작성일 + + + 이메일 + + + + 휴대폰 + + + +
            + + + +
            +

            본문

            + + \n"; + + for ($i=0; $i<$view['img_count']; $i++) { + //echo $view['img_file'][$i]; + echo get_view_thumbnail($view['img_file'][$i], $qaconfig['qa_image_width']); + } + + echo "\n"; + } + ?> + + +
            + + + + + + + + + +
            +

            첨부파일

            + +
            + + + +
            + + + + + + + + + + +
            +

            연관질문

            + +
            + + + + + + + + + + + + + + + + + +
            제목등록일상태
            + + + + + + 답변완료' : ' 답변대기'); ?>
            +
            +
            + + + + +
            + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/qa/basic/write.skin.php b/web/html/theme/AT_WEB01/img/skin/qa/basic/write.skin.php new file mode 100644 index 0000000..2852498 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/qa/basic/write.skin.php @@ -0,0 +1,179 @@ +', 0); +?> + +
            +

            1:1문의 작성

            + +
            + + + + + + '; + } else { + $option .= "\n".''."\n".''; + } + + echo $option_hidden; + ?> + +
            +
              + +
            • + + + +
            • + + + + +
            • + + class="frm_input full_input email" size="50" maxlength="100" placeholder="이메일"> + > + + +
            • + + + +
            • + + class="frm_input full_input" size="30" placeholder="휴대폰"> + + > + +
            • + + +
            • + + + + +
            • + +
            • + + + +
            • + + +
            • + 옵션 + +
            • + + +
            • +
              + + + + + +
              +
            • + +
            • +
              + + + + + +
              +
            • +
            +
            + +
            + 목록 + + +
            +
            + + +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/search/basic/search.skin.php b/web/html/theme/AT_WEB01/img/skin/search/basic/search.skin.php new file mode 100644 index 0000000..94bc0f7 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/search/basic/search.skin.php @@ -0,0 +1,148 @@ +', 0); +?> + + +
            + +
            + 상세검색 + + + + + + + + + + + + + + + id="sop_or" name="sop"> + + id="sop_and" name="sop"> + + +
            +
            + +
            + + +
            +

            전체검색 결과

            +
            +
            게시판
            +
            +
            게시물
            +
            +
            +

            / 페이지 열람 중

            +
            + + + + + +
            검색된 자료가 하나도 없습니다.
            + + +
            + +
            + +

            게시판 내 결과

            +
              + 댓글 '; + $comment_href = '#c_'.$list[$idx][$i]['wr_id']; + } + else + { + $comment_def = ''; + $comment_href = ''; + } + ?> + +
            • +
              + + 새창 +
              +

              +
              + + +
              +
            • + +
            + + +
            + +
            + + + +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/skin/search/basic/style.css b/web/html/theme/AT_WEB01/img/skin/search/basic/style.css new file mode 100644 index 0000000..94d01dc --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/search/basic/style.css @@ -0,0 +1,53 @@ +@charset "utf-8"; +/* 전체검색결과 스킨 */ +#sch_res_detail {background:#fff;padding:30px;border:1px solid #ccc;text-align:center;margin:0 0 10px} +#sch_res_detail legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#sch_res_detail select{border:1px solid #646982;height:40px;padding:0 5px} +#sch_res_detail .frm_input{border:1px solid #646982;border-radius:0;} +#sch_res_detail .sch_wr{position:relative;display:inline-block} +#sch_res_detail .btn_submit{padding:0 10px;height:40px;color:#000;font-size:1.083em;font-weight:bold;color:#fff;background:#253dbe} +#sch_res_detail .sch_rd{display:block;margin:5px 0 0;font-size:0.92em;color:#666} + +#sch_res_ov {text-align:center;zoom:1} +#sch_res_ov:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_ov h2 {text-align:center;margin:30px 0 10px;font-size:1.5em;} +#sch_res_ov h2 strong{color:#00c4ac;} +#sch_res_ov dl {display:inline-block;line-height: 30px;font-size: 0.92em;color: #4e546f;background: #d4d4d4;padding: 0 10px;border-radius: 5px;} +#sch_res_ov dl:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_ov dt {float:left} +#sch_res_ov dd {float:left;margin:0 10px 0 5px} +#sch_res_ov dd .sch_word{color:#000} +#sch_res_ov p {margin:0;padding:0;line-height:1em;color:#777;font-size:0.92em} + + +#sch_res_board {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#sch_res_board h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sch_res_board ul {zoom:1} +#sch_res_board ul:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_board li {display:inline-block;padding:2px;} +#sch_res_board a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#sch_res_board a:focus, #sch_res_board a:hover {text-decoration:none;background:#d2d6dc;} +#sch_res_board .cnt_cmt {font-weight:normal !important;display:inline-block;background:#c4dce0;margin-left:3px;color:#3497d9;border-radius:15px;height:18px;padding:0 5px;line-height:18px;font-size:0.92em} +#sch_res_board .sch_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +#sch_res_board .sch_on:hover{;background:#3497d9;color:#fff;} + + + + +.sch_res_list {margin:0 0 10px;padding:10px 0 15px} +.sch_res_list h2 {margin:0 0 10px;font-size:1.2em} +.sch_res_list ul {margin:0;padding:0;list-style:none;border-top:1px solid #000} +.sch_res_list li {;border-bottom:1px solid #e0e0e0;background:#fff;position:relative} +.sch_res_list .sch_tit{display:block;background:#f4f4f4;padding:10px 70px 10px 10px} +.sch_res_list .pop_a{position:absolute;top:10px;right:10px;color:#666;} +.sch_res_title {display:inline-block;margin:0 0 5px} +.sch_res_list p {padding:10px;color:#666;line-height:1.5em} +.sch_res_list .sch_info{padding:10px;color:#777} +.sch_res_list .sch_info:after {display:block;visibility:hidden;clear:both;content:""} +.sch_res_list .profile_img img{border-radius:50%} +.sch_res_list .sch_datetime{float:right;} +.sch_more {text-align:right;margin:10px 0 30px} +.sch_more a{display:inline-block;color:#f2664f} diff --git a/web/html/theme/AT_WEB01/img/skin/visit/basic/style.css b/web/html/theme/AT_WEB01/img/skin/visit/basic/style.css new file mode 100644 index 0000000..039875a --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/visit/basic/style.css @@ -0,0 +1,15 @@ +@charset "utf-8"; +/* 방문자 집계 */ +#visit {border: 1px solid #d2d9e6; border-bottom: 1px solid #c1ccda;margin:40px 20px 20px;background:#fff;position:relative; +-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +box-shadow:0 1px 2px rgba(0,0,0,0.1)} +#visit .btn_admin{position:absolute;top:10px;right:10px;height:25px;line-height:25px;padding:0 5px;border-radius:3px} +#visit h2 {font-size:1.167em;text-align:center;padding-bottom:15px;padding-top:25px;color:#16b3d6;position:relative} +#visit h2 i{position:absolute;top:-22px;left:50%;width:44px;line-height:44px;margin-left:-22px;border-radius:25px;background:#16b3d6;color:#fff} +#visit dl {border-top:1px solid #e9e9e9;padding:10px 15px;border-radius:5px} +#visit dl:after {display:block;visibility:hidden;clear:both;content:""} +#visit dt {float:left;width:20%;padding:0 5px;line-height:23px;height:23px;color:#555} +#visit dt span{display:inline-block;width:5px;height:5px;border-radius:50%;vertical-align: middle;} +#visit dd {float:left;;width:30%;padding:0 5px;;text-align:right;text-align:right;font-weight:bold;line-height:23px;height:23px;font-size:0.92em} +#visit dd strong{display:inline-block;padding:0 5px;border-radius:20px;line-height:15px;color:#fff;} diff --git a/web/html/theme/AT_WEB01/img/skin/visit/basic/visit.skin.php b/web/html/theme/AT_WEB01/img/skin/visit/basic/visit.skin.php new file mode 100644 index 0000000..872fd8d --- /dev/null +++ b/web/html/theme/AT_WEB01/img/skin/visit/basic/visit.skin.php @@ -0,0 +1,25 @@ +', 0); +?> + + +
            +

            접속자집계

            +
            +
            오늘
            +
            +
            어제
            +
            +
            최대
            +
            +
            전체
            +
            +
            + 상세보기 +
            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img/sub/about.jpg b/web/html/theme/AT_WEB01/img/sub/about.jpg new file mode 100644 index 0000000..0dcda16 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/about.jpg differ diff --git a/web/html/theme/AT_WEB01/img/sub/hexagon1.png b/web/html/theme/AT_WEB01/img/sub/hexagon1.png new file mode 100644 index 0000000..2bacfce Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/hexagon1.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/hexagon2.png b/web/html/theme/AT_WEB01/img/sub/hexagon2.png new file mode 100644 index 0000000..5e81f07 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/hexagon2.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/hexagon3.png b/web/html/theme/AT_WEB01/img/sub/hexagon3.png new file mode 100644 index 0000000..a11e589 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/hexagon3.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/moz_black.svg b/web/html/theme/AT_WEB01/img/sub/moz_black.svg new file mode 100644 index 0000000..521a1c2 --- /dev/null +++ b/web/html/theme/AT_WEB01/img/sub/moz_black.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img/sub/professional.png b/web/html/theme/AT_WEB01/img/sub/professional.png new file mode 100644 index 0000000..303f18c Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/professional.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/professional.psd b/web/html/theme/AT_WEB01/img/sub/professional.psd new file mode 100644 index 0000000..e8b2f07 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/professional.psd differ diff --git a/web/html/theme/AT_WEB01/img/sub/sub1_con3img.png b/web/html/theme/AT_WEB01/img/sub/sub1_con3img.png new file mode 100644 index 0000000..e2c52be Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/sub1_con3img.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/sub1_nextbtn.png b/web/html/theme/AT_WEB01/img/sub/sub1_nextbtn.png new file mode 100644 index 0000000..ca33ab1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/sub1_nextbtn.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/sub1_prevbtn.png b/web/html/theme/AT_WEB01/img/sub/sub1_prevbtn.png new file mode 100644 index 0000000..d87f274 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/sub1_prevbtn.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/sub_banner_img.png b/web/html/theme/AT_WEB01/img/sub/sub_banner_img.png new file mode 100644 index 0000000..d5530d3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/sub_banner_img.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/subbg_img1.png b/web/html/theme/AT_WEB01/img/sub/subbg_img1.png new file mode 100644 index 0000000..413c138 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/subbg_img1.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/subicon1.png b/web/html/theme/AT_WEB01/img/sub/subicon1.png new file mode 100644 index 0000000..c7403b0 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/subicon1.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/subicon2.png b/web/html/theme/AT_WEB01/img/sub/subicon2.png new file mode 100644 index 0000000..9b05f7a Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/subicon2.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/subicon3.png b/web/html/theme/AT_WEB01/img/sub/subicon3.png new file mode 100644 index 0000000..6068392 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/subicon3.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/subicon4.png b/web/html/theme/AT_WEB01/img/sub/subicon4.png new file mode 100644 index 0000000..e22cf91 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/subicon4.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/vision_icon1.png b/web/html/theme/AT_WEB01/img/sub/vision_icon1.png new file mode 100644 index 0000000..8376791 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/vision_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/vision_icon2.png b/web/html/theme/AT_WEB01/img/sub/vision_icon2.png new file mode 100644 index 0000000..aa60c92 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/vision_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/vision_icon3.png b/web/html/theme/AT_WEB01/img/sub/vision_icon3.png new file mode 100644 index 0000000..6dee250 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/vision_icon3.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/year13.png b/web/html/theme/AT_WEB01/img/sub/year13.png new file mode 100644 index 0000000..e7d8235 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/year13.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/year14.png b/web/html/theme/AT_WEB01/img/sub/year14.png new file mode 100644 index 0000000..e17c119 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/year14.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/year15.png b/web/html/theme/AT_WEB01/img/sub/year15.png new file mode 100644 index 0000000..6a37cbc Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/year15.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/year16.png b/web/html/theme/AT_WEB01/img/sub/year16.png new file mode 100644 index 0000000..6e77ac8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/year16.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/year17.png b/web/html/theme/AT_WEB01/img/sub/year17.png new file mode 100644 index 0000000..47a0e39 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/year17.png differ diff --git a/web/html/theme/AT_WEB01/img/sub/year18.png b/web/html/theme/AT_WEB01/img/sub/year18.png new file mode 100644 index 0000000..af1a5dd Binary files /dev/null and b/web/html/theme/AT_WEB01/img/sub/year18.png differ diff --git a/web/html/theme/AT_WEB01/img/wrest.gif b/web/html/theme/AT_WEB01/img/wrest.gif new file mode 100644 index 0000000..a5ecfb3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img/wrest.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/btn_end.gif b/web/html/theme/AT_WEB01/img_sample/btn_end.gif new file mode 100644 index 0000000..e7d6105 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/btn_end.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/btn_first.gif b/web/html/theme/AT_WEB01/img_sample/btn_first.gif new file mode 100644 index 0000000..82aeea5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/btn_first.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/btn_next.gif b/web/html/theme/AT_WEB01/img_sample/btn_next.gif new file mode 100644 index 0000000..eb714a3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/btn_next.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/btn_prev.gif b/web/html/theme/AT_WEB01/img_sample/btn_prev.gif new file mode 100644 index 0000000..cdc8374 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/btn_prev.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/bullet.gif b/web/html/theme/AT_WEB01/img_sample/bullet.gif new file mode 100644 index 0000000..a7cd0fc Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/bullet.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section1_img1.png b/web/html/theme/AT_WEB01/img_sample/business/area_section1_img1.png new file mode 100644 index 0000000..5dc8da0 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section1_img1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section1_img2.png b/web/html/theme/AT_WEB01/img_sample/business/area_section1_img2.png new file mode 100644 index 0000000..e51be19 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section1_img2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon1.png b/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon1.png new file mode 100644 index 0000000..2e2fe42 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon2.png b/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon2.png new file mode 100644 index 0000000..5d8d016 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon3.png b/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon3.png new file mode 100644 index 0000000..23256ee Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon3.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon4.png b/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon4.png new file mode 100644 index 0000000..d32e7a0 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section2_icon4.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon1.png b/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon1.png new file mode 100644 index 0000000..c658012 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon2.png b/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon2.png new file mode 100644 index 0000000..c265aa0 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon3.png b/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon3.png new file mode 100644 index 0000000..4551702 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon3.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon4.png b/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon4.png new file mode 100644 index 0000000..c6e8b02 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section3_icon4.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section3_img1.png b/web/html/theme/AT_WEB01/img_sample/business/area_section3_img1.png new file mode 100644 index 0000000..a510bec Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section3_img1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/area_section3_img2.png b/web/html/theme/AT_WEB01/img_sample/business/area_section3_img2.png new file mode 100644 index 0000000..585a828 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/area_section3_img2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/banner.png b/web/html/theme/AT_WEB01/img_sample/business/banner.png new file mode 100644 index 0000000..402b84d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/banner.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/section1_img1.png b/web/html/theme/AT_WEB01/img_sample/business/section1_img1.png new file mode 100644 index 0000000..98303e8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/section1_img1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/section2_img1.png b/web/html/theme/AT_WEB01/img_sample/business/section2_img1.png new file mode 100644 index 0000000..bcb44a8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/section2_img1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/section2_img2.png b/web/html/theme/AT_WEB01/img_sample/business/section2_img2.png new file mode 100644 index 0000000..db50526 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/section2_img2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/section2_img3.png b/web/html/theme/AT_WEB01/img_sample/business/section2_img3.png new file mode 100644 index 0000000..b93b97d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/section2_img3.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/section2_img4.png b/web/html/theme/AT_WEB01/img_sample/business/section2_img4.png new file mode 100644 index 0000000..bb5574f Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/section2_img4.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/section2_img5.png b/web/html/theme/AT_WEB01/img_sample/business/section2_img5.png new file mode 100644 index 0000000..a821178 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/section2_img5.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/section2_img6.png b/web/html/theme/AT_WEB01/img_sample/business/section2_img6.png new file mode 100644 index 0000000..7c7d004 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/section2_img6.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/business/section3_img1.png b/web/html/theme/AT_WEB01/img_sample/business/section3_img1.png new file mode 100644 index 0000000..8429212 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/business/section3_img1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/close_btn.gif b/web/html/theme/AT_WEB01/img_sample/close_btn.gif new file mode 100644 index 0000000..8007ef3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/close_btn.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/common/ft_sns1.png b/web/html/theme/AT_WEB01/img_sample/common/ft_sns1.png new file mode 100644 index 0000000..5839517 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/common/ft_sns1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/common/ft_sns2.png b/web/html/theme/AT_WEB01/img_sample/common/ft_sns2.png new file mode 100644 index 0000000..5be7736 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/common/ft_sns2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/common/ft_sns3.png b/web/html/theme/AT_WEB01/img_sample/common/ft_sns3.png new file mode 100644 index 0000000..3334735 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/common/ft_sns3.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/common/ft_sns4.png b/web/html/theme/AT_WEB01/img_sample/common/ft_sns4.png new file mode 100644 index 0000000..1e5ee60 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/common/ft_sns4.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/common/logo.png b/web/html/theme/AT_WEB01/img_sample/common/logo.png new file mode 100644 index 0000000..ffc2d88 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/common/logo.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/common/logo_white.png b/web/html/theme/AT_WEB01/img_sample/common/logo_white.png new file mode 100644 index 0000000..08d4fb3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/common/logo_white.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/board-bg.jpg b/web/html/theme/AT_WEB01/img_sample/company/board-bg.jpg new file mode 100644 index 0000000..108ee36 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/board-bg.jpg differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/directions_banner.png b/web/html/theme/AT_WEB01/img_sample/company/directions_banner.png new file mode 100644 index 0000000..658698b Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/directions_banner.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/directions_icon01.png b/web/html/theme/AT_WEB01/img_sample/company/directions_icon01.png new file mode 100644 index 0000000..b1b6c10 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/directions_icon01.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/history_icon1.png b/web/html/theme/AT_WEB01/img_sample/company/history_icon1.png new file mode 100644 index 0000000..7ce52b3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/history_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/history_icon2.png b/web/html/theme/AT_WEB01/img_sample/company/history_icon2.png new file mode 100644 index 0000000..1f7ee7b Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/history_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/intro-img.jpg b/web/html/theme/AT_WEB01/img_sample/company/intro-img.jpg new file mode 100644 index 0000000..57acbe5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/intro-img.jpg differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/intro-map.jpg b/web/html/theme/AT_WEB01/img_sample/company/intro-map.jpg new file mode 100644 index 0000000..6ef1bf9 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/intro-map.jpg differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/intro-top.jpg b/web/html/theme/AT_WEB01/img_sample/company/intro-top.jpg new file mode 100644 index 0000000..8cda67d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/intro-top.jpg differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/intro_bg.jpg b/web/html/theme/AT_WEB01/img_sample/company/intro_bg.jpg new file mode 100644 index 0000000..fa3934c Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/intro_bg.jpg differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/news-bg.jpg b/web/html/theme/AT_WEB01/img_sample/company/news-bg.jpg new file mode 100644 index 0000000..1a30076 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/news-bg.jpg differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/prd-bg-1.jpg b/web/html/theme/AT_WEB01/img_sample/company/prd-bg-1.jpg new file mode 100644 index 0000000..ea1db52 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/prd-bg-1.jpg differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/prd-bg-3.jpg b/web/html/theme/AT_WEB01/img_sample/company/prd-bg-3.jpg new file mode 100644 index 0000000..745ea70 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/prd-bg-3.jpg differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/service-bg-1.jpg b/web/html/theme/AT_WEB01/img_sample/company/service-bg-1.jpg new file mode 100644 index 0000000..8e59ded Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/service-bg-1.jpg differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/service-bg-2.jpg b/web/html/theme/AT_WEB01/img_sample/company/service-bg-2.jpg new file mode 100644 index 0000000..d6c2f2a Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/service-bg-2.jpg differ diff --git a/web/html/theme/AT_WEB01/img_sample/company/sub2-bg-1.jpg b/web/html/theme/AT_WEB01/img_sample/company/sub2-bg-1.jpg new file mode 100644 index 0000000..9b568c2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/company/sub2-bg-1.jpg differ diff --git a/web/html/theme/AT_WEB01/img_sample/customer/banner.png b/web/html/theme/AT_WEB01/img_sample/customer/banner.png new file mode 100644 index 0000000..7ce061c Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/customer/banner.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/errors.txt b/web/html/theme/AT_WEB01/img_sample/errors.txt new file mode 100644 index 0000000..2953ae3 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/errors.txt @@ -0,0 +1 @@ +[Wed Apr 03 2019 14:09:52 GMT+0900 (대한민국 표준시)] Layer "메일 : mincompany@atsign.co.kr | 사업자등록번호 : 417-09-82969 ": Expected end of input but "|" found. diff --git a/web/html/theme/AT_WEB01/img_sample/gnb_bg.gif b/web/html/theme/AT_WEB01/img_sample/gnb_bg.gif new file mode 100644 index 0000000..4e1d1ae Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/gnb_bg.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/gnb_bg00.gif b/web/html/theme/AT_WEB01/img_sample/gnb_bg00.gif new file mode 100644 index 0000000..fd24f34 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/gnb_bg00.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/gnb_bg2.gif b/web/html/theme/AT_WEB01/img_sample/gnb_bg2.gif new file mode 100644 index 0000000..fe636b9 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/gnb_bg2.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/ingprojectimg.png b/web/html/theme/AT_WEB01/img_sample/ingprojectimg.png new file mode 100644 index 0000000..2f0070f Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/ingprojectimg.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/line_white.png b/web/html/theme/AT_WEB01/img_sample/line_white.png new file mode 100644 index 0000000..64c12f6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/line_white.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/about_icon1.png b/web/html/theme/AT_WEB01/img_sample/main/about_icon1.png new file mode 100644 index 0000000..2ebc584 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/about_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/about_icon2.png b/web/html/theme/AT_WEB01/img_sample/main/about_icon2.png new file mode 100644 index 0000000..ffba9e6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/about_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/about_icon3.png b/web/html/theme/AT_WEB01/img_sample/main/about_icon3.png new file mode 100644 index 0000000..9cd8a7a Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/about_icon3.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/banner1.png b/web/html/theme/AT_WEB01/img_sample/main/banner1.png new file mode 100644 index 0000000..7b9156f Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/banner1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/banner_logo.png b/web/html/theme/AT_WEB01/img_sample/main/banner_logo.png new file mode 100644 index 0000000..08d4fb3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/banner_logo.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/bg_img1.png b/web/html/theme/AT_WEB01/img_sample/main/bg_img1.png new file mode 100644 index 0000000..946957a Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/bg_img1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/bg_img2.png b/web/html/theme/AT_WEB01/img_sample/main/bg_img2.png new file mode 100644 index 0000000..6299e74 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/bg_img2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/consert_bg.png b/web/html/theme/AT_WEB01/img_sample/main/consert_bg.png new file mode 100644 index 0000000..64c12f6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/consert_bg.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/coreCom_icon1.png b/web/html/theme/AT_WEB01/img_sample/main/coreCom_icon1.png new file mode 100644 index 0000000..5bf1803 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/coreCom_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/coreCom_icon2.png b/web/html/theme/AT_WEB01/img_sample/main/coreCom_icon2.png new file mode 100644 index 0000000..10d32c0 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/coreCom_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/coreCom_icon3.png b/web/html/theme/AT_WEB01/img_sample/main/coreCom_icon3.png new file mode 100644 index 0000000..b8b122b Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/coreCom_icon3.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/port_bg.png b/web/html/theme/AT_WEB01/img_sample/main/port_bg.png new file mode 100644 index 0000000..9ae8a77 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/port_bg.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/port_next.png b/web/html/theme/AT_WEB01/img_sample/main/port_next.png new file mode 100644 index 0000000..1302870 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/port_next.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/port_prev.png b/web/html/theme/AT_WEB01/img_sample/main/port_prev.png new file mode 100644 index 0000000..354e05d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/port_prev.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/square_bracket1.png b/web/html/theme/AT_WEB01/img_sample/main/square_bracket1.png new file mode 100644 index 0000000..260bc7b Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/square_bracket1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/main/square_bracket2.png b/web/html/theme/AT_WEB01/img_sample/main/square_bracket2.png new file mode 100644 index 0000000..d19e62a Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/main/square_bracket2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/mobile/btn_close.png b/web/html/theme/AT_WEB01/img_sample/mobile/btn_close.png new file mode 100644 index 0000000..22f13fa Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/mobile/btn_close.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/mobile/gnb_bg.png b/web/html/theme/AT_WEB01/img_sample/mobile/gnb_bg.png new file mode 100644 index 0000000..ab10537 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/mobile/gnb_bg.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/mobile/gnb_bg2.png b/web/html/theme/AT_WEB01/img_sample/mobile/gnb_bg2.png new file mode 100644 index 0000000..5828f41 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/mobile/gnb_bg2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/more-btn.gif b/web/html/theme/AT_WEB01/img_sample/more-btn.gif new file mode 100644 index 0000000..fa4c873 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/more-btn.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/no_profile.gif b/web/html/theme/AT_WEB01/img_sample/no_profile.gif new file mode 100644 index 0000000..4494757 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/no_profile.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/product/img1.png b/web/html/theme/AT_WEB01/img_sample/product/img1.png new file mode 100644 index 0000000..6dddae5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/product/img1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/product/img2.png b/web/html/theme/AT_WEB01/img_sample/product/img2.png new file mode 100644 index 0000000..6dddae5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/product/img2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/product/img3.png b/web/html/theme/AT_WEB01/img_sample/product/img3.png new file mode 100644 index 0000000..6dddae5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/product/img3.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/product/port1.png b/web/html/theme/AT_WEB01/img_sample/product/port1.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/product/port1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/product/port2.png b/web/html/theme/AT_WEB01/img_sample/product/port2.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/product/port2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/product/port3.png b/web/html/theme/AT_WEB01/img_sample/product/port3.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/product/port3.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/product/port4.png b/web/html/theme/AT_WEB01/img_sample/product/port4.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/product/port4.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/product/port5.png b/web/html/theme/AT_WEB01/img_sample/product/port5.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/product/port5.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/product/port6.png b/web/html/theme/AT_WEB01/img_sample/product/port6.png new file mode 100644 index 0000000..263ccc2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/product/port6.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/require.png b/web/html/theme/AT_WEB01/img_sample/require.png new file mode 100644 index 0000000..c03e1eb Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/require.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/btn_close.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/btn_next2.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/btn_prev2.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/close_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/cmt_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_bad.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_comment.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_good.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_hot.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_img.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_link.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_lock.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_movie.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_new.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_reply.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_share.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_sound.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_view.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/sch_bg.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/sch_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/list.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/list.skin.php new file mode 100644 index 0000000..c27aad7 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/list.skin.php @@ -0,0 +1,313 @@ +', 0); +?> + + + +
            +
            + + + +
            +
            + 전체 + +
            + + + + +
            + + + + + + +
            + 전체 + + + + +
            + + + + + + +
            + + + + + + + + + + +
            + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
            목록
            + + + 번호제목글쓴이추천 비추천 날짜
            + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
            + + + + + + + + '; } + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> + 댓글+ +
            + +
            게시물이 없습니다.
            +
            + + +
            + + + +
            + + +
            + + + +
            + +
            + + +
            + +
            +
            + + 게시물 검색 + +
            + + + + + + + + +
            + +
            + +
            + + + + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/style.css new file mode 100644 index 0000000..985c2f7 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/style.css @@ -0,0 +1,370 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#e6f8ff !important;border-bottom:1px solid #c3dfe8;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/view.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/view.skin.php new file mode 100644 index 0000000..5d79c05 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/view.skin.php @@ -0,0 +1,299 @@ +', 0); +?> + + + + + +
            +
            +

            + + + + + +

            +
            + +
            +

            페이지 정보

            + 작성자 + 댓글 + 조회 + 작성일 + +
            + +
            +

            본문

            + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "\n"; + } + ?> + + +
            + + + +

            + + + + +
            + + + 추천 + + + + + + 비추천 + + + +
            + +
            + 추천 + 비추천 +
            + + +
            + +
            + 스크랩 + + +
            + + + + + +
            +

            첨부파일

            +
              + +
            • + + + + + () + 회 다운로드 | DATE : +
            • + +
            +
            + + + + + + + + + + +
            + + + + + + + +
              +
            • 이전글
            • +
            • 다음글
            • +
            + + +
            + + + + + +
            + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/view_comment.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/view_comment.skin.php new file mode 100644 index 0000000..7c122c5 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
            +

            댓글목록

            + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
            style="margin-left:px;border-top-color:#e0e0e0"> +
            +

            님의 댓글의 댓글

            + + + 아이피 + () + + 작성일 + + +
            + + +
            +

            + 비밀글 + +

            + + + +
            + + + + " id="secret_comment_"> + + +
            + +

            등록된 댓글이 없습니다.

            + +
            + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic/write.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/write.skin.php new file mode 100644 index 0000000..974fbff --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/basic/write.skin.php @@ -0,0 +1,261 @@ +', 0); +?> + +
            +
            +

            + + +
            + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
            + + +
            + + +
            + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
            + + +
            + + +
            + + + +
            + 옵션 + +
            + + +
            + + +
            + + + + + +
            + 임시 저장된 글 목록 +
              +
              +
              + +
              + +
              + +
              + +
              + + +

              이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

              + + + + +
              글자
              + +
              + +
              + + + + + + +
              +
              + + +
              + + + + + + + + + + +
              + + + + +
              + +
              + + + +
              + 취소 + +
              +
              + + +
              +
              + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/btn_close.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/btn_next2.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/btn_prev2.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/close_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/cmt_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_bad.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_comment.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_file.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_good.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_hot.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_img.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_link.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_lock.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_movie.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_new.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_reply.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_secret.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_share.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_sound.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_view.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/sch_bg.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/sch_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/list.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/list.skin.php new file mode 100644 index 0000000..c27aad7 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/list.skin.php @@ -0,0 +1,313 @@ +', 0); +?> + + + +
              +
              + + + +
              +
              + 전체 + +
              + + + + +
              + + + + + + +
              + 전체 + + + + +
              + + + + + + +
              + + + + + + + + + + +
              + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
              목록
              + + + 번호제목글쓴이추천 비추천 날짜
              + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
              + + + + + + + + '; } + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> + 댓글+ +
              + +
              게시물이 없습니다.
              +
              + + +
              + + + +
              + + +
              + + + +
              + +
              + + +
              + +
              +
              + + 게시물 검색 + +
              + + + + + + + + +
              + +
              + +
              + + + + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/style.css b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/style.css new file mode 100644 index 0000000..985c2f7 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/style.css @@ -0,0 +1,370 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#e6f8ff !important;border-bottom:1px solid #c3dfe8;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/view.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/view.skin.php new file mode 100644 index 0000000..5d79c05 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/view.skin.php @@ -0,0 +1,299 @@ +', 0); +?> + + + + + +
              +
              +

              + + + + + +

              +
              + +
              +

              페이지 정보

              + 작성자 + 댓글 + 조회 + 작성일 + +
              + +
              +

              본문

              + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "\n"; + } + ?> + + +
              + + + +

              + + + + +
              + + + 추천 + + + + + + 비추천 + + + +
              + +
              + 추천 + 비추천 +
              + + +
              + +
              + 스크랩 + + +
              + + + + + +
              +

              첨부파일

              +
                + +
              • + + + + + () + 회 다운로드 | DATE : +
              • + +
              +
              + + + + + + + + + + +
              + + + + + + + +
                +
              • 이전글
              • +
              • 다음글
              • +
              + + +
              + + + + + +
              + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/view_comment.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/view_comment.skin.php new file mode 100644 index 0000000..7c122c5 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
              +

              댓글목록

              + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
              style="margin-left:px;border-top-color:#e0e0e0"> +
              +

              님의 댓글의 댓글

              + + + 아이피 + () + + 작성일 + + +
              + + +
              +

              + 비밀글 + +

              + + + +
              + + + + " id="secret_comment_"> + + +
              + +

              등록된 댓글이 없습니다.

              + +
              + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/write.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/write.skin.php new file mode 100644 index 0000000..974fbff --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/basic2/write.skin.php @@ -0,0 +1,261 @@ +', 0); +?> + +
              +
              +

              + + +
              + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
              + + +
              + + +
              + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
              + + +
              + + +
              + + + +
              + 옵션 + +
              + + +
              + + +
              + + + + + +
              + 임시 저장된 글 목록 +
                +
                +
                + +
                + +
                + +
                + +
                + + +

                이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                + + + + +
                글자
                + +
                + +
                + + + + + + +
                +
                + + +
                + + + + + + + + + + +
                + + + + +
                + +
                + + + +
                + 취소 + +
                +
                + + +
                +
                + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/btn_close.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/btn_next2.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/btn_prev2.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/close_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/cmt_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/facebook.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/facebook.png new file mode 100644 index 0000000..aa73c86 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/facebook.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/gplus.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/gplus.png new file mode 100644 index 0000000..45bdf43 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/gplus.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_bad.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_comment.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_file.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_good.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_hot.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_hot.gif new file mode 100644 index 0000000..4e8d7ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_img.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_img.gif new file mode 100644 index 0000000..fefa10d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_link.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_lock.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_mobile.gif new file mode 100644 index 0000000..ad934d2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_movie.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_new.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_reply.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_secret.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_share.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_sound.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_view.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/sch_bg.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/sch_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/twitter.png b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/twitter.png new file mode 100644 index 0000000..a5452f2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/img/twitter.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/list.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/list.skin.php new file mode 100644 index 0000000..fc56ac4 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/list.skin.php @@ -0,0 +1,300 @@ +', 0); +?> + +
                +


                +
                +

                PRODUCT

                +
                +

                골뱅이스토어는 최선의 서비스를 제공합니다.

                +
                + +
                +
                +

                갤러리형

                +
                + + +
                +
                + + + + +
                + + +
                +
                + 전체 + +
                + + + + +
                + + +
                + + + + + + + + + + +
                + + +
                + + + + + + + + + +
                +
                + +
                + 게시물 검색 + +
                + + + + + + + + + +
                +
                + + +
                + + + +
                + +
                +
                + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/style.css b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/style.css new file mode 100644 index 0000000..6340549 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/style.css @@ -0,0 +1,383 @@ +@charset "utf-8"; +/* SIR 지운아빠 */ + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_gall a.btn_b01 {} +#bo_gall a.btn_b01:focus, #bo_gall a.btn_b01:hover {} +#bo_gall a.btn_b02 {} +#bo_gall a.btn_b02:focus, #bo_gall a.btn_b02:hover {} +#bo_gall a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_gall a.btn_admin:focus, #bo_gall .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} + +.td_subject img {margin-left:3px} + +/* 갤러리 목록 */ +#bo_gall h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} +#bo_gall #gall_ul {margin:10px -10px 0;padding:0;list-style:none;zoom:1} +#bo_gall #gall_ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_gall .gall_box {position:relative;margin:0 0 30px 0;border:1px solid #ccc;background:#fff;border-radius:0 0 2px 2px} +#bo_gall .gall_li .gall_chk{position:absolute;top:0;left:0;padding:5px;} + +.gall_row .col-gn-0,.gall_row .col-gn-1,.gall_row .col-gn-2,.gall_row .col-gn-3,.gall_row .col-gn-4,.gall_row .col-gn-5,.gall_row .col-gn-6,.gall_row .col-gn-7,.gall_row .col-gn-8,.gall_row .col-gn-9,.gall_row .col-gn-10{position:relative;min-height:1px;padding-left:10px;*padding-left:0;padding-right:10px;*padding-right:0;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0;} +.gall_row .col-gn-0,.latest_row .col-gn-1{width:100%} +.gall_row .col-gn-2{width:50%} +.gall_row .col-gn-3{width:33.33333333%} +.gall_row .col-gn-4{width:25%} +.gall_row .col-gn-5{width:20%} +.gall_row .col-gn-6{width:16.66666667%} +.gall_row .col-gn-7{width:14.28571428%} +.gall_row .col-gn-8{width:12.5%} +.gall_row .col-gn-9{width:11.11111111%} +.gall_row .col-gn-10{width:10%} + +.gall_row .box_clear{clear:both} + +#bo_gall .gall_now .gall_text_href a {color:#ff3061} + +#bo_gall .gall_href a:link, #bo_gall .gall_href a:focus, #bo_gall .gall_href a:hover {text-decoration:none} +#bo_gall .gall_img{border-bottom:1px solid #eee;text-align:center} +#bo_gall .gall_img a,#bo_gall .gall_img .no_image,#bo_gall .gall_img .is_notice{display:block} +#bo_gall .gall_img img{max-width:100%;height:auto !important} +#bo_gall .gall_img span{display:inline-block;background:#eee;text-align:center;line-height:150px;text-transform:uppercase;font-weight:bold;font-size:1.25em;color:#777} + +#bo_gall .gall_text_href {margin:10px} +#bo_gall .gall_text_href a {font-weight:bold} +#bo_gall .gall_text_href img {margin:0 0 0 4px} +#bo_gall .bo_tit{display:block;font-weight:bold;color:#000;font-size:1.083em} +#bo_gall .bo_tit .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} +#bo_gall .profile_img img{border-radius:50%} +#bo_gall .gall_name{margin:10px} + +#bo_gall .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_gall .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_gall .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px} +#bo_gall .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_gall .bo_tit .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_gall .bo_tit .fa-lock{display: inline-block;line-height: 16px;color: #999;text-align: center;vertical-align:middle;} + + +#bo_gall .gall_info{line-height:1.5em;padding:10px;font-size:0.92em;background:#f6f6f6;line-height:20px} +#bo_gall .gall_info strong{ display:inline-block;margin:0 0 0 10px } +#bo_gall .gall_info i{font-size:12px} +#bo_gall .gall_info .gall_date{position:absolute;bottom:10px;right:10px;font-style:italic;display:inline-block;color:#777;} +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f5f6fa} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon{display:inline-block;background:#ed6478;padding:0 3px;line-height:20px;font-weight:normal;font-size:0.92em;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display:inline-block;margin:0 3px 0 0;font-size:0.92em;color:#3598db !important;font-weight:bold} /* 글제목줄 분류스타일 */ +.bo_current {color:#e8180c} +#bo_list .profile_img {display:inline-block;margin-right:5px} +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold;color:#ed6478;font-size:0.86em} + +#bo_sch {float:left;border:1px solid #ccc;border-radius:3px;margin:0 0 20px;background:#fff} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:url('./img/sch_btn.png') no-repeat 50% 50%;border:0;width:40px;text-indent:-999px;overflow:hidden} + +#bo_gall li.empty_list {padding:85px 0;text-align:center} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202);} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px;cursor:pointer} +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/view.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/view.skin.php new file mode 100644 index 0000000..b1319a1 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/view.skin.php @@ -0,0 +1,299 @@ +', 0); +?> + + + + + +
                +
                +

                + + + + + +

                +
                + +
                +

                페이지 정보

                + 작성자 + 댓글 + 조회 + 작성일 + +
                + +
                +

                본문

                + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "\n"; + } + ?> + + +
                + + + +

                + + + + +
                + + + 추천 + + + + + + 비추천 + + + +
                + +
                + 추천 + 비추천 +
                + + +
                + +
                + 스크랩 + + +
                + + + + + +
                +

                첨부파일

                +
                  + +
                • + + + + + () + 회 다운로드 | DATE : +
                • + +
                +
                + + + + + + + + + + +
                + + + + + + + +
                  +
                • 이전글
                • +
                • 다음글
                • +
                + + +
                + + + + + +
                + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/view_comment.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/view_comment.skin.php new file mode 100644 index 0000000..7c122c5 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
                +

                댓글목록

                + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                style="margin-left:px;border-top-color:#e0e0e0"> +
                +

                님의 댓글의 댓글

                + + + 아이피 + () + + 작성일 + + +
                + + +
                +

                + 비밀글 + +

                + + + +
                + + + + " id="secret_comment_"> + + +
                + +

                등록된 댓글이 없습니다.

                + +
                + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/write.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/write.skin.php new file mode 100644 index 0000000..78f0a0f --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/gallery/write.skin.php @@ -0,0 +1,261 @@ +', 0); +?> + +
                +

                + + +
                + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
                + + +
                + + + +
                + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                + + +
                + + +
                + + + +
                + 옵션 + +
                + + +
                + + +
                + + + + + +
                + 임시 저장된 글 목록 +
                  +
                  +
                  + +
                  + +
                  + +
                  + +
                  + + +

                  이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                  + + + + +
                  글자
                  + +
                  + +
                  + + + + + + + +
                  +
                  + + +
                  + + + + + + + + + + +
                  + + + + +
                  + +
                  + + + +
                  + 취소 + +
                  +
                  + + +
                  + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/btn_close.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/btn_next2.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/btn_prev2.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/close_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/cmt_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_bad.png b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_comment.png b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_file.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_good.png b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_hot.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_img.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_link.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_lock.png b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_movie.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_new.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_reply.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_secret.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_share.png b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_sound.gif b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_view.png b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/sch_bg.png b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/sch_btn.png b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/list.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/list.skin.php new file mode 100644 index 0000000..75dbc23 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/list.skin.php @@ -0,0 +1,266 @@ +', 0); +?> + + + + + +
                  +
                  + +
                  +
                  + 전체 +
                  + + + + +
                  + + + + + + + + +
                  + + + + + + + + + + +
                  + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + '; } ?> + +
                  목록
                  + + + 제목작성자작성일
                  + + + + + 공지사항 + + + 답변완료 + + 문의접수 + + + + + + +
                  + + + + + + + + '; } + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> +
                  + +
                  게시물이 없습니다.
                  +
                  + + +
                  + + + +
                  + + +
                  + + +
                  +
                  + +
                  +
                  + +
                  + 게시물 검색 + +
                  + + + + + + + + +
                  +
                  + + +
                  + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/style.css b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/style.css new file mode 100644 index 0000000..43ab4d9 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/style.css @@ -0,0 +1,392 @@ +@charset "utf-8"; +/* Skin by WEBsiting.co.kr */ + + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {color: #353535;} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;} +#bo_list .td_datetime {width:100px;text-align:center;color: #959595;} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:150px;text-align:center;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;;text-align:center} +#bo_list .td_num2 {width:140px;;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +/*#bo_list tbody tr:hover {border-left:2px solid #253dbe}*/ + +.qnaIco{display:inline-block;margin-right:5px; border-radius:0; width:85px; height:24px; line-height:22px; color:#747474; font-size: 13px; text-align:center;} +.qnaIco1{} +.qnaIco2{border: 1px solid #afafaf;} +.qnaIco3{} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td { background: #f5f5f5 !important;border-bottom:1px solid #dfdfdf;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.td_subject .bo_tit{padding-left: 20px;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px;font-weight: normal;} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px; background:#fff} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0 } + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul ;padding:0;list-style:none} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {;padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px;padding: 20px;} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;font-size: 16px;color: #646464;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +#answerView{background:#fff; padding:0 20px 20px 20px; margin-bottom: 50px;} +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} + + + + .brd-view {width: 100%;border-top: 1px solid #dfdfdf; border-spacing: 0; border-collapse: collapse;} + .brd-view .sv_member{color: #767676;} + .brd-view tr{} + .brd-view th{width: 130px;padding-left: 20px; line-height: 45px; height:45px;border-bottom: 1px solid #dfdfdf; text-align: left;color: #353535;font-size: 14px;} + .brd-view td{border-bottom: 1px solid #dfdfdf; font-size: 14px; color: #767676;} + + + .brd-bn {position: relative; width: 100%; height: 250px;background: url(/theme/basic/img/sub/brd-bn.jpg) no-repeat;} + + .brd-bn-wrap {color: rgba(255,255,255,0.9);text-align: center;padding-top: 70px;} + .brd-bn-wrap .brd-bn-tit {font-size: 34px;margin-bottom: 10px;} + .brd-bn-wrap .brd-bn-desc {font-size: 16px;letter-spacing: -1px;} + .brd-inner{width: 1200px; margin: 0 auto; padding:0 20px;} + .brd-con-tit {font-size: 26px; margin: 30px 0 0; } \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/view.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/view.skin.php new file mode 100644 index 0000000..3cdd89a --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/view.skin.php @@ -0,0 +1,326 @@ +', 0); +?> + + + + + + + +
                  +
                  + + +
                  + + 공지사항 + + + 답변완료 + 답변 건의 답변이 등록 되었습니다. + + 문의접수 + + + + + + +
                  + + + + + + + +
                  제목
                  작성자
                  작성일
                  + + + +
                  +

                  본문

                  + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
                  \n"; + } + ?> + + +
                  + + + +

                  + + + + +
                  + + + 추천 + + + + + + 비추천 + + + +
                  + +
                  + 추천 + 비추천 +
                  + + + + +
                  + 스크랩 + + +
                  + + + + + +
                  +

                  첨부파일

                  + +
                  + + + + + + + + + + +
                  + + + + + + + + + + +
                  + + + + + + +
                  + +
                  + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/view_comment.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/view_comment.skin.php new file mode 100644 index 0000000..c970a9b --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/view_comment.skin.php @@ -0,0 +1,327 @@ + + + + + +
                  +

                  답변목록

                  + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 답변 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                  style="margin-left:px;border-top-color:#e0e0e0"> +
                  +

                  님의 답변의 답변

                  + + + 아이피 + + + 작성일 + + +
                  + + +
                  +

                  + 비밀글 + +

                  + + + +
                  + + + + " id="secret_comment_"> + + +
                  + +

                  등록된 답변이 없습니다.

                  + +
                  + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna/write.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/write.skin.php new file mode 100644 index 0000000..3e05a2c --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/qna/write.skin.php @@ -0,0 +1,260 @@ +', 0); +?> +
                  +
                  +

                  + + +
                  + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
                  + + +
                  + + +
                  + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                  + + +
                  + + +
                  + + + +
                  + 옵션 + +
                  + + +
                  + + +
                  + + + + + +
                  + 임시 저장된 글 목록 +
                    +
                    +
                    + +
                    + +
                    + +
                    + +
                    + + +

                    이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                    + + + + +
                    글자
                    + +
                    + +
                    + + + + + + +
                    +
                    + + +
                    + + + + + + + + + + +
                    + + + + +
                    + +
                    + + + +
                    + 취소 + +
                    +
                    + + +
                    +
                    + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/@eaDir/TweenMax.js@SynoEAStream b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/@eaDir/TweenMax.js@SynoEAStream new file mode 100644 index 0000000..a2a9f41 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/@eaDir/TweenMax.js@SynoEAStream differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/TweenMax.js b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/TweenMax.js new file mode 100644 index 0000000..962d739 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/TweenMax.js @@ -0,0 +1,7572 @@ +/*! + * VERSION: 1.18.0 + * DATE: 2015-09-05 + * UPDATES AND DOCS AT: http://greensock.com + * + * Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin + * + * @license Copyright (c) 2008-2015, GreenSock. All rights reserved. + * This work is subject to the terms at http://greensock.com/standard-license or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + **/ +var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(global) !== "undefined") ? global : this || window; //helps ensure compatibility with AMD/RequireJS and CommonJS/Node +(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push( function() { + + "use strict"; + + _gsScope._gsDefine("TweenMax", ["core.Animation","core.SimpleTimeline","TweenLite"], function(Animation, SimpleTimeline, TweenLite) { + + var _slice = function(a) { //don't use [].slice because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + var b = [], + l = a.length, + i; + for (i = 0; i !== l; b.push(a[i++])); + return b; + }, + _applyCycle = function(vars, targets, i) { + var alt = vars.cycle, + p, val; + for (p in alt) { + val = alt[p]; + vars[p] = (typeof(val) === "function") ? val.call(targets[i], i) : val[i % val.length]; + } + delete vars.cycle; + }, + TweenMax = function(target, duration, vars) { + TweenLite.call(this, target, duration, vars); + this._cycle = 0; + this._yoyo = (this.vars.yoyo === true); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._dirty = true; //ensures that if there is any repeat, the totalDuration will get recalculated to accurately report it. + this.render = TweenMax.prototype.render; //speed optimization (avoid prototype lookup on this "hot" method) + }, + _tinyNum = 0.0000000001, + TweenLiteInternals = TweenLite._internals, + _isSelector = TweenLiteInternals.isSelector, + _isArray = TweenLiteInternals.isArray, + p = TweenMax.prototype = TweenLite.to({}, 0.1, {}), + _blankArray = []; + + TweenMax.version = "1.18.0"; + p.constructor = TweenMax; + p.kill()._gc = false; + TweenMax.killTweensOf = TweenMax.killDelayedCallsTo = TweenLite.killTweensOf; + TweenMax.getTweensOf = TweenLite.getTweensOf; + TweenMax.lagSmoothing = TweenLite.lagSmoothing; + TweenMax.ticker = TweenLite.ticker; + TweenMax.render = TweenLite.render; + + p.invalidate = function() { + this._yoyo = (this.vars.yoyo === true); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._uncache(true); + return TweenLite.prototype.invalidate.call(this); + }; + + p.updateTo = function(vars, resetDuration) { + var curRatio = this.ratio, + immediate = this.vars.immediateRender || vars.immediateRender, + p; + if (resetDuration && this._startTime < this._timeline._time) { + this._startTime = this._timeline._time; + this._uncache(false); + if (this._gc) { + this._enabled(true, false); + } else { + this._timeline.insert(this, this._startTime - this._delay); //ensures that any necessary re-sequencing of Animations in the timeline occurs to make sure the rendering order is correct. + } + } + for (p in vars) { + this.vars[p] = vars[p]; + } + if (this._initted || immediate) { + if (resetDuration) { + this._initted = false; + if (immediate) { + this.render(0, true, true); + } + } else { + if (this._gc) { + this._enabled(true, false); + } + if (this._notifyPluginsOfEnabled && this._firstPT) { + TweenLite._onPluginEvent("_onDisable", this); //in case a plugin like MotionBlur must perform some cleanup tasks + } + if (this._time / this._duration > 0.998) { //if the tween has finished (or come extremely close to finishing), we just need to rewind it to 0 and then render it again at the end which forces it to re-initialize (parsing the new vars). We allow tweens that are close to finishing (but haven't quite finished) to work this way too because otherwise, the values are so small when determining where to project the starting values that binary math issues creep in and can make the tween appear to render incorrectly when run backwards. + var prevTime = this._time; + this.render(0, true, false); + this._initted = false; + this.render(prevTime, true, false); + } else if (this._time > 0 || immediate) { + this._initted = false; + this._init(); + var inv = 1 / (1 - curRatio), + pt = this._firstPT, endValue; + while (pt) { + endValue = pt.s + pt.c; + pt.c *= inv; + pt.s = endValue - pt.c; + pt = pt._next; + } + } + } + } + return this; + }; + + p.render = function(time, suppressEvents, force) { + if (!this._initted) if (this._duration === 0 && this.vars.repeat) { //zero duration tweens that render immediately have render() called from TweenLite's constructor, before TweenMax's constructor has finished setting _repeat, _repeatDelay, and _yoyo which are critical in determining totalDuration() so we need to call invalidate() which is a low-kb way to get those set properly. + this.invalidate(); + } + var totalDur = (!this._dirty) ? this._totalDuration : this.totalDuration(), + prevTime = this._time, + prevTotalTime = this._totalTime, + prevCycle = this._cycle, + duration = this._duration, + prevRawPrevTime = this._rawPrevTime, + isComplete, callback, pt, cycleDuration, r, type, pow, rawPrevTime; + if (time >= totalDur) { + this._totalTime = totalDur; + this._cycle = this._repeat; + if (this._yoyo && (this._cycle & 1) !== 0) { + this._time = 0; + this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0; + } else { + this._time = duration; + this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1; + } + if (!this._reversed) { + isComplete = true; + callback = "onComplete"; + force = (force || this._timeline.autoRemoveChildren); //otherwise, if the animation is unpaused/activated after it's already finished, it doesn't get removed from the parent timeline. + } + if (duration === 0) if (this._initted || !this.vars.lazy || force) { //zero-duration tweens are tricky because we must discern the momentum/direction of time in order to determine whether the starting values should be rendered or the ending values. If the "playhead" of its timeline goes past the zero-duration tween in the forward direction or lands directly on it, the end values should be rendered, but if the timeline's "playhead" moves past it in the backward direction (from a postitive time to a negative time), the starting values must be rendered. + if (this._startTime === this._timeline._duration) { //if a zero-duration tween is at the VERY end of a timeline and that timeline renders at its end, it will typically add a tiny bit of cushion to the render time to prevent rounding errors from getting in the way of tweens rendering their VERY end. If we then reverse() that timeline, the zero-duration tween will trigger its onReverseComplete even though technically the playhead didn't pass over it again. It's a very specific edge case we must accommodate. + time = 0; + } + if (time === 0 || prevRawPrevTime < 0 || prevRawPrevTime === _tinyNum) if (prevRawPrevTime !== time) { + force = true; + if (prevRawPrevTime > _tinyNum) { + callback = "onReverseComplete"; + } + } + this._rawPrevTime = rawPrevTime = (!suppressEvents || time || prevRawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + } + + } else if (time < 0.0000001) { //to work around occasional floating point math artifacts, round super small values to 0. + this._totalTime = this._time = this._cycle = 0; + this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0; + if (prevTotalTime !== 0 || (duration === 0 && prevRawPrevTime > 0)) { + callback = "onReverseComplete"; + isComplete = this._reversed; + } + if (time < 0) { + this._active = false; + if (duration === 0) if (this._initted || !this.vars.lazy || force) { //zero-duration tweens are tricky because we must discern the momentum/direction of time in order to determine whether the starting values should be rendered or the ending values. If the "playhead" of its timeline goes past the zero-duration tween in the forward direction or lands directly on it, the end values should be rendered, but if the timeline's "playhead" moves past it in the backward direction (from a postitive time to a negative time), the starting values must be rendered. + if (prevRawPrevTime >= 0) { + force = true; + } + this._rawPrevTime = rawPrevTime = (!suppressEvents || time || prevRawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + } + } + if (!this._initted) { //if we render the very beginning (time == 0) of a fromTo(), we must force the render (normal tweens wouldn't need to render at a time of 0 when the prevTime was also 0). This is also mandatory to make sure overwriting kicks in immediately. + force = true; + } + } else { + this._totalTime = this._time = time; + + if (this._repeat !== 0) { + cycleDuration = duration + this._repeatDelay; + this._cycle = (this._totalTime / cycleDuration) >> 0; //originally _totalTime % cycleDuration but floating point errors caused problems, so I normalized it. (4 % 0.8 should be 0 but Flash reports it as 0.79999999!) + if (this._cycle !== 0) if (this._cycle === this._totalTime / cycleDuration) { + this._cycle--; //otherwise when rendered exactly at the end time, it will act as though it is repeating (at the beginning) + } + this._time = this._totalTime - (this._cycle * cycleDuration); + if (this._yoyo) if ((this._cycle & 1) !== 0) { + this._time = duration - this._time; + } + if (this._time > duration) { + this._time = duration; + } else if (this._time < 0) { + this._time = 0; + } + } + + if (this._easeType) { + r = this._time / duration; + type = this._easeType; + pow = this._easePower; + if (type === 1 || (type === 3 && r >= 0.5)) { + r = 1 - r; + } + if (type === 3) { + r *= 2; + } + if (pow === 1) { + r *= r; + } else if (pow === 2) { + r *= r * r; + } else if (pow === 3) { + r *= r * r * r; + } else if (pow === 4) { + r *= r * r * r * r; + } + + if (type === 1) { + this.ratio = 1 - r; + } else if (type === 2) { + this.ratio = r; + } else if (this._time / duration < 0.5) { + this.ratio = r / 2; + } else { + this.ratio = 1 - (r / 2); + } + + } else { + this.ratio = this._ease.getRatio(this._time / duration); + } + + } + + if (prevTime === this._time && !force && prevCycle === this._cycle) { + if (prevTotalTime !== this._totalTime) if (this._onUpdate) if (!suppressEvents) { //so that onUpdate fires even during the repeatDelay - as long as the totalTime changed, we should trigger onUpdate. + this._callback("onUpdate"); + } + return; + } else if (!this._initted) { + this._init(); + if (!this._initted || this._gc) { //immediateRender tweens typically won't initialize until the playhead advances (_time is greater than 0) in order to ensure that overwriting occurs properly. Also, if all of the tweening properties have been overwritten (which would cause _gc to be true, as set in _init()), we shouldn't continue otherwise an onStart callback could be called for example. + return; + } else if (!force && this._firstPT && ((this.vars.lazy !== false && this._duration) || (this.vars.lazy && !this._duration))) { //we stick it in the queue for rendering at the very end of the tick - this is a performance optimization because browsers invalidate styles and force a recalculation if you read, write, and then read style data (so it's better to read/read/read/write/write/write than read/write/read/write/read/write). The down side, of course, is that usually you WANT things to render immediately because you may have code running right after that which depends on the change. Like imagine running TweenLite.set(...) and then immediately after that, creating a nother tween that animates the same property to another value; the starting values of that 2nd tween wouldn't be accurate if lazy is true. + this._time = prevTime; + this._totalTime = prevTotalTime; + this._rawPrevTime = prevRawPrevTime; + this._cycle = prevCycle; + TweenLiteInternals.lazyTweens.push(this); + this._lazy = [time, suppressEvents]; + return; + } + //_ease is initially set to defaultEase, so now that init() has run, _ease is set properly and we need to recalculate the ratio. Overall this is faster than using conditional logic earlier in the method to avoid having to set ratio twice because we only init() once but renderTime() gets called VERY frequently. + if (this._time && !isComplete) { + this.ratio = this._ease.getRatio(this._time / duration); + } else if (isComplete && this._ease._calcEnd) { + this.ratio = this._ease.getRatio((this._time === 0) ? 0 : 1); + } + } + if (this._lazy !== false) { + this._lazy = false; + } + + if (!this._active) if (!this._paused && this._time !== prevTime && time >= 0) { + this._active = true; //so that if the user renders a tween (as opposed to the timeline rendering it), the timeline is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the tween already finished but the user manually re-renders it as halfway done. + } + if (prevTotalTime === 0) { + if (this._initted === 2 && time > 0) { + //this.invalidate(); + this._init(); //will just apply overwriting since _initted of (2) means it was a from() tween that had immediateRender:true + } + if (this._startAt) { + if (time >= 0) { + this._startAt.render(time, suppressEvents, force); + } else if (!callback) { + callback = "_dummyGS"; //if no callback is defined, use a dummy value just so that the condition at the end evaluates as true because _startAt should render AFTER the normal render loop when the time is negative. We could handle this in a more intuitive way, of course, but the render loop is the MOST important thing to optimize, so this technique allows us to avoid adding extra conditional logic in a high-frequency area. + } + } + if (this.vars.onStart) if (this._totalTime !== 0 || duration === 0) if (!suppressEvents) { + this._callback("onStart"); + } + } + + pt = this._firstPT; + while (pt) { + if (pt.f) { + pt.t[pt.p](pt.c * this.ratio + pt.s); + } else { + pt.t[pt.p] = pt.c * this.ratio + pt.s; + } + pt = pt._next; + } + + if (this._onUpdate) { + if (time < 0) if (this._startAt && this._startTime) { //if the tween is positioned at the VERY beginning (_startTime 0) of its parent timeline, it's illegal for the playhead to go back further, so we should not render the recorded startAt values. + this._startAt.render(time, suppressEvents, force); //note: for performance reasons, we tuck this conditional logic inside less traveled areas (most tweens don't have an onUpdate). We'd just have it at the end before the onComplete, but the values should be updated before any onUpdate is called, so we ALSO put it here and then if it's not called, we do so later near the onComplete. + } + if (!suppressEvents) if (this._totalTime !== prevTotalTime || isComplete) { + this._callback("onUpdate"); + } + } + if (this._cycle !== prevCycle) if (!suppressEvents) if (!this._gc) if (this.vars.onRepeat) { + this._callback("onRepeat"); + } + if (callback) if (!this._gc || force) { //check gc because there's a chance that kill() could be called in an onUpdate + if (time < 0 && this._startAt && !this._onUpdate && this._startTime) { //if the tween is positioned at the VERY beginning (_startTime 0) of its parent timeline, it's illegal for the playhead to go back further, so we should not render the recorded startAt values. + this._startAt.render(time, suppressEvents, force); + } + if (isComplete) { + if (this._timeline.autoRemoveChildren) { + this._enabled(false, false); + } + this._active = false; + } + if (!suppressEvents && this.vars[callback]) { + this._callback(callback); + } + if (duration === 0 && this._rawPrevTime === _tinyNum && rawPrevTime !== _tinyNum) { //the onComplete or onReverseComplete could trigger movement of the playhead and for zero-duration tweens (which must discern direction) that land directly back on their start time, we don't want to fire again on the next render. Think of several addPause()'s in a timeline that forces the playhead to a certain spot, but what if it's already paused and another tween is tweening the "time" of the timeline? Each time it moves [forward] past that spot, it would move back, and since suppressEvents is true, it'd reset _rawPrevTime to _tinyNum so that when it begins again, the callback would fire (so ultimately it could bounce back and forth during that tween). Again, this is a very uncommon scenario, but possible nonetheless. + this._rawPrevTime = 0; + } + } + }; + +//---- STATIC FUNCTIONS ----------------------------------------------------------------------------------------------------------- + + TweenMax.to = function(target, duration, vars) { + return new TweenMax(target, duration, vars); + }; + + TweenMax.from = function(target, duration, vars) { + vars.runBackwards = true; + vars.immediateRender = (vars.immediateRender != false); + return new TweenMax(target, duration, vars); + }; + + TweenMax.fromTo = function(target, duration, fromVars, toVars) { + toVars.startAt = fromVars; + toVars.immediateRender = (toVars.immediateRender != false && fromVars.immediateRender != false); + return new TweenMax(target, duration, toVars); + }; + + TweenMax.staggerTo = TweenMax.allTo = function(targets, duration, vars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + stagger = stagger || 0; + var delay = vars.delay || 0, + a = [], + finalComplete = function() { + if (vars.onComplete) { + vars.onComplete.apply(vars.onCompleteScope || this, arguments); + } + onCompleteAll.apply(onCompleteAllScope || vars.callbackScope || this, onCompleteAllParams || _blankArray); + }, + cycle = vars.cycle, + fromCycle = (vars.startAt && vars.startAt.cycle), + l, copy, i, p; + if (!_isArray(targets)) { + if (typeof(targets) === "string") { + targets = TweenLite.selector(targets) || targets; + } + if (_isSelector(targets)) { + targets = _slice(targets); + } + } + targets = targets || []; + if (stagger < 0) { + targets = _slice(targets); + targets.reverse(); + stagger *= -1; + } + l = targets.length - 1; + for (i = 0; i <= l; i++) { + copy = {}; + for (p in vars) { + copy[p] = vars[p]; + } + if (cycle) { + _applyCycle(copy, targets, i); + } + if (fromCycle) { + fromCycle = copy.startAt = {}; + for (p in vars.startAt) { + fromCycle[p] = vars.startAt[p]; + } + _applyCycle(copy.startAt, targets, i); + } + copy.delay = delay; + if (i === l && onCompleteAll) { + copy.onComplete = finalComplete; + } + a[i] = new TweenMax(targets[i], duration, copy); + delay += stagger; + } + return a; + }; + + TweenMax.staggerFrom = TweenMax.allFrom = function(targets, duration, vars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + vars.runBackwards = true; + vars.immediateRender = (vars.immediateRender != false); + return TweenMax.staggerTo(targets, duration, vars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + TweenMax.staggerFromTo = TweenMax.allFromTo = function(targets, duration, fromVars, toVars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + toVars.startAt = fromVars; + toVars.immediateRender = (toVars.immediateRender != false && fromVars.immediateRender != false); + return TweenMax.staggerTo(targets, duration, toVars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + TweenMax.delayedCall = function(delay, callback, params, scope, useFrames) { + return new TweenMax(callback, 0, {delay:delay, onComplete:callback, onCompleteParams:params, callbackScope:scope, onReverseComplete:callback, onReverseCompleteParams:params, immediateRender:false, useFrames:useFrames, overwrite:0}); + }; + + TweenMax.set = function(target, vars) { + return new TweenMax(target, 0, vars); + }; + + TweenMax.isTweening = function(target) { + return (TweenLite.getTweensOf(target, true).length > 0); + }; + + var _getChildrenOf = function(timeline, includeTimelines) { + var a = [], + cnt = 0, + tween = timeline._first; + while (tween) { + if (tween instanceof TweenLite) { + a[cnt++] = tween; + } else { + if (includeTimelines) { + a[cnt++] = tween; + } + a = a.concat(_getChildrenOf(tween, includeTimelines)); + cnt = a.length; + } + tween = tween._next; + } + return a; + }, + getAllTweens = TweenMax.getAllTweens = function(includeTimelines) { + return _getChildrenOf(Animation._rootTimeline, includeTimelines).concat( _getChildrenOf(Animation._rootFramesTimeline, includeTimelines) ); + }; + + TweenMax.killAll = function(complete, tweens, delayedCalls, timelines) { + if (tweens == null) { + tweens = true; + } + if (delayedCalls == null) { + delayedCalls = true; + } + var a = getAllTweens((timelines != false)), + l = a.length, + allTrue = (tweens && delayedCalls && timelines), + isDC, tween, i; + for (i = 0; i < l; i++) { + tween = a[i]; + if (allTrue || (tween instanceof SimpleTimeline) || ((isDC = (tween.target === tween.vars.onComplete)) && delayedCalls) || (tweens && !isDC)) { + if (complete) { + tween.totalTime(tween._reversed ? 0 : tween.totalDuration()); + } else { + tween._enabled(false, false); + } + } + } + }; + + TweenMax.killChildTweensOf = function(parent, complete) { + if (parent == null) { + return; + } + var tl = TweenLiteInternals.tweenLookup, + a, curParent, p, i, l; + if (typeof(parent) === "string") { + parent = TweenLite.selector(parent) || parent; + } + if (_isSelector(parent)) { + parent = _slice(parent); + } + if (_isArray(parent)) { + i = parent.length; + while (--i > -1) { + TweenMax.killChildTweensOf(parent[i], complete); + } + return; + } + a = []; + for (p in tl) { + curParent = tl[p].target.parentNode; + while (curParent) { + if (curParent === parent) { + a = a.concat(tl[p].tweens); + } + curParent = curParent.parentNode; + } + } + l = a.length; + for (i = 0; i < l; i++) { + if (complete) { + a[i].totalTime(a[i].totalDuration()); + } + a[i]._enabled(false, false); + } + }; + + var _changePause = function(pause, tweens, delayedCalls, timelines) { + tweens = (tweens !== false); + delayedCalls = (delayedCalls !== false); + timelines = (timelines !== false); + var a = getAllTweens(timelines), + allTrue = (tweens && delayedCalls && timelines), + i = a.length, + isDC, tween; + while (--i > -1) { + tween = a[i]; + if (allTrue || (tween instanceof SimpleTimeline) || ((isDC = (tween.target === tween.vars.onComplete)) && delayedCalls) || (tweens && !isDC)) { + tween.paused(pause); + } + } + }; + + TweenMax.pauseAll = function(tweens, delayedCalls, timelines) { + _changePause(true, tweens, delayedCalls, timelines); + }; + + TweenMax.resumeAll = function(tweens, delayedCalls, timelines) { + _changePause(false, tweens, delayedCalls, timelines); + }; + + TweenMax.globalTimeScale = function(value) { + var tl = Animation._rootTimeline, + t = TweenLite.ticker.time; + if (!arguments.length) { + return tl._timeScale; + } + value = value || _tinyNum; //can't allow zero because it'll throw the math off + tl._startTime = t - ((t - tl._startTime) * tl._timeScale / value); + tl = Animation._rootFramesTimeline; + t = TweenLite.ticker.frame; + tl._startTime = t - ((t - tl._startTime) * tl._timeScale / value); + tl._timeScale = Animation._rootTimeline._timeScale = value; + return value; + }; + + +//---- GETTERS / SETTERS ---------------------------------------------------------------------------------------------------------- + + p.progress = function(value) { + return (!arguments.length) ? this._time / this.duration() : this.totalTime( this.duration() * ((this._yoyo && (this._cycle & 1) !== 0) ? 1 - value : value) + (this._cycle * (this._duration + this._repeatDelay)), false); + }; + + p.totalProgress = function(value) { + return (!arguments.length) ? this._totalTime / this.totalDuration() : this.totalTime( this.totalDuration() * value, false); + }; + + p.time = function(value, suppressEvents) { + if (!arguments.length) { + return this._time; + } + if (this._dirty) { + this.totalDuration(); + } + if (value > this._duration) { + value = this._duration; + } + if (this._yoyo && (this._cycle & 1) !== 0) { + value = (this._duration - value) + (this._cycle * (this._duration + this._repeatDelay)); + } else if (this._repeat !== 0) { + value += this._cycle * (this._duration + this._repeatDelay); + } + return this.totalTime(value, suppressEvents); + }; + + p.duration = function(value) { + if (!arguments.length) { + return this._duration; //don't set _dirty = false because there could be repeats that haven't been factored into the _totalDuration yet. Otherwise, if you create a repeated TweenMax and then immediately check its duration(), it would cache the value and the totalDuration would not be correct, thus repeats wouldn't take effect. + } + return Animation.prototype.duration.call(this, value); + }; + + p.totalDuration = function(value) { + if (!arguments.length) { + if (this._dirty) { + //instead of Infinity, we use 999999999999 so that we can accommodate reverses + this._totalDuration = (this._repeat === -1) ? 999999999999 : this._duration * (this._repeat + 1) + (this._repeatDelay * this._repeat); + this._dirty = false; + } + return this._totalDuration; + } + return (this._repeat === -1) ? this : this.duration( (value - (this._repeat * this._repeatDelay)) / (this._repeat + 1) ); + }; + + p.repeat = function(value) { + if (!arguments.length) { + return this._repeat; + } + this._repeat = value; + return this._uncache(true); + }; + + p.repeatDelay = function(value) { + if (!arguments.length) { + return this._repeatDelay; + } + this._repeatDelay = value; + return this._uncache(true); + }; + + p.yoyo = function(value) { + if (!arguments.length) { + return this._yoyo; + } + this._yoyo = value; + return this; + }; + + + return TweenMax; + + }, true); + + + + + + + + +/* + * ---------------------------------------------------------------- + * TimelineLite + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("TimelineLite", ["core.Animation","core.SimpleTimeline","TweenLite"], function(Animation, SimpleTimeline, TweenLite) { + + var TimelineLite = function(vars) { + SimpleTimeline.call(this, vars); + this._labels = {}; + this.autoRemoveChildren = (this.vars.autoRemoveChildren === true); + this.smoothChildTiming = (this.vars.smoothChildTiming === true); + this._sortChildren = true; + this._onUpdate = this.vars.onUpdate; + var v = this.vars, + val, p; + for (p in v) { + val = v[p]; + if (_isArray(val)) if (val.join("").indexOf("{self}") !== -1) { + v[p] = this._swapSelfInParams(val); + } + } + if (_isArray(v.tweens)) { + this.add(v.tweens, 0, v.align, v.stagger); + } + }, + _tinyNum = 0.0000000001, + TweenLiteInternals = TweenLite._internals, + _internals = TimelineLite._internals = {}, + _isSelector = TweenLiteInternals.isSelector, + _isArray = TweenLiteInternals.isArray, + _lazyTweens = TweenLiteInternals.lazyTweens, + _lazyRender = TweenLiteInternals.lazyRender, + _globals = _gsScope._gsDefine.globals, + _copy = function(vars) { + var copy = {}, p; + for (p in vars) { + copy[p] = vars[p]; + } + return copy; + }, + _applyCycle = function(vars, targets, i) { + var alt = vars.cycle, + p, val; + for (p in alt) { + val = alt[p]; + vars[p] = (typeof(val) === "function") ? val.call(targets[i], i) : val[i % val.length]; + } + delete vars.cycle; + }, + _pauseCallback = _internals.pauseCallback = function() {}, + _slice = function(a) { //don't use [].slice because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + var b = [], + l = a.length, + i; + for (i = 0; i !== l; b.push(a[i++])); + return b; + }, + p = TimelineLite.prototype = new SimpleTimeline(); + + TimelineLite.version = "1.18.0"; + p.constructor = TimelineLite; + p.kill()._gc = p._forcingPlayhead = p._hasPause = false; + + /* might use later... + //translates a local time inside an animation to the corresponding time on the root/global timeline, factoring in all nesting and timeScales. + function localToGlobal(time, animation) { + while (animation) { + time = (time / animation._timeScale) + animation._startTime; + animation = animation.timeline; + } + return time; + } + + //translates the supplied time on the root/global timeline into the corresponding local time inside a particular animation, factoring in all nesting and timeScales + function globalToLocal(time, animation) { + var scale = 1; + time -= localToGlobal(0, animation); + while (animation) { + scale *= animation._timeScale; + animation = animation.timeline; + } + return time * scale; + } + */ + + p.to = function(target, duration, vars, position) { + var Engine = (vars.repeat && _globals.TweenMax) || TweenLite; + return duration ? this.add( new Engine(target, duration, vars), position) : this.set(target, vars, position); + }; + + p.from = function(target, duration, vars, position) { + return this.add( ((vars.repeat && _globals.TweenMax) || TweenLite).from(target, duration, vars), position); + }; + + p.fromTo = function(target, duration, fromVars, toVars, position) { + var Engine = (toVars.repeat && _globals.TweenMax) || TweenLite; + return duration ? this.add( Engine.fromTo(target, duration, fromVars, toVars), position) : this.set(target, toVars, position); + }; + + p.staggerTo = function(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + var tl = new TimelineLite({onComplete:onCompleteAll, onCompleteParams:onCompleteAllParams, callbackScope:onCompleteAllScope, smoothChildTiming:this.smoothChildTiming}), + cycle = vars.cycle, + copy, i; + if (typeof(targets) === "string") { + targets = TweenLite.selector(targets) || targets; + } + targets = targets || []; + if (_isSelector(targets)) { //senses if the targets object is a selector. If it is, we should translate it into an array. + targets = _slice(targets); + } + stagger = stagger || 0; + if (stagger < 0) { + targets = _slice(targets); + targets.reverse(); + stagger *= -1; + } + for (i = 0; i < targets.length; i++) { + copy = _copy(vars); + if (copy.startAt) { + copy.startAt = _copy(copy.startAt); + if (copy.startAt.cycle) { + _applyCycle(copy.startAt, targets, i); + } + } + if (cycle) { + _applyCycle(copy, targets, i); + } + tl.to(targets[i], duration, copy, i * stagger); + } + return this.add(tl, position); + }; + + p.staggerFrom = function(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + vars.immediateRender = (vars.immediateRender != false); + vars.runBackwards = true; + return this.staggerTo(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + p.staggerFromTo = function(targets, duration, fromVars, toVars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + toVars.startAt = fromVars; + toVars.immediateRender = (toVars.immediateRender != false && fromVars.immediateRender != false); + return this.staggerTo(targets, duration, toVars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + p.call = function(callback, params, scope, position) { + return this.add( TweenLite.delayedCall(0, callback, params, scope), position); + }; + + p.set = function(target, vars, position) { + position = this._parseTimeOrLabel(position, 0, true); + if (vars.immediateRender == null) { + vars.immediateRender = (position === this._time && !this._paused); + } + return this.add( new TweenLite(target, 0, vars), position); + }; + + TimelineLite.exportRoot = function(vars, ignoreDelayedCalls) { + vars = vars || {}; + if (vars.smoothChildTiming == null) { + vars.smoothChildTiming = true; + } + var tl = new TimelineLite(vars), + root = tl._timeline, + tween, next; + if (ignoreDelayedCalls == null) { + ignoreDelayedCalls = true; + } + root._remove(tl, true); + tl._startTime = 0; + tl._rawPrevTime = tl._time = tl._totalTime = root._time; + tween = root._first; + while (tween) { + next = tween._next; + if (!ignoreDelayedCalls || !(tween instanceof TweenLite && tween.target === tween.vars.onComplete)) { + tl.add(tween, tween._startTime - tween._delay); + } + tween = next; + } + root.add(tl, 0); + return tl; + }; + + p.add = function(value, position, align, stagger) { + var curTime, l, i, child, tl, beforeRawTime; + if (typeof(position) !== "number") { + position = this._parseTimeOrLabel(position, 0, true, value); + } + if (!(value instanceof Animation)) { + if ((value instanceof Array) || (value && value.push && _isArray(value))) { + align = align || "normal"; + stagger = stagger || 0; + curTime = position; + l = value.length; + for (i = 0; i < l; i++) { + if (_isArray(child = value[i])) { + child = new TimelineLite({tweens:child}); + } + this.add(child, curTime); + if (typeof(child) !== "string" && typeof(child) !== "function") { + if (align === "sequence") { + curTime = child._startTime + (child.totalDuration() / child._timeScale); + } else if (align === "start") { + child._startTime -= child.delay(); + } + } + curTime += stagger; + } + return this._uncache(true); + } else if (typeof(value) === "string") { + return this.addLabel(value, position); + } else if (typeof(value) === "function") { + value = TweenLite.delayedCall(0, value); + } else { + throw("Cannot add " + value + " into the timeline; it is not a tween, timeline, function, or string."); + } + } + + SimpleTimeline.prototype.add.call(this, value, position); + + //if the timeline has already ended but the inserted tween/timeline extends the duration, we should enable this timeline again so that it renders properly. We should also align the playhead with the parent timeline's when appropriate. + if (this._gc || this._time === this._duration) if (!this._paused) if (this._duration < this.duration()) { + //in case any of the ancestors had completed but should now be enabled... + tl = this; + beforeRawTime = (tl.rawTime() > value._startTime); //if the tween is placed on the timeline so that it starts BEFORE the current rawTime, we should align the playhead (move the timeline). This is because sometimes users will create a timeline, let it finish, and much later append a tween and expect it to run instead of jumping to its end state. While technically one could argue that it should jump to its end state, that's not what users intuitively expect. + while (tl._timeline) { + if (beforeRawTime && tl._timeline.smoothChildTiming) { + tl.totalTime(tl._totalTime, true); //moves the timeline (shifts its startTime) if necessary, and also enables it. + } else if (tl._gc) { + tl._enabled(true, false); + } + tl = tl._timeline; + } + } + + return this; + }; + + p.remove = function(value) { + if (value instanceof Animation) { + this._remove(value, false); + var tl = value._timeline = value.vars.useFrames ? Animation._rootFramesTimeline : Animation._rootTimeline; //now that it's removed, default it to the root timeline so that if it gets played again, it doesn't jump back into this timeline. + value._startTime = (value._paused ? value._pauseTime : tl._time) - ((!value._reversed ? value._totalTime : value.totalDuration() - value._totalTime) / value._timeScale); //ensure that if it gets played again, the timing is correct. + return this; + } else if (value instanceof Array || (value && value.push && _isArray(value))) { + var i = value.length; + while (--i > -1) { + this.remove(value[i]); + } + return this; + } else if (typeof(value) === "string") { + return this.removeLabel(value); + } + return this.kill(null, value); + }; + + p._remove = function(tween, skipDisable) { + SimpleTimeline.prototype._remove.call(this, tween, skipDisable); + var last = this._last; + if (!last) { + this._time = this._totalTime = this._duration = this._totalDuration = 0; + } else if (this._time > last._startTime + last._totalDuration / last._timeScale) { + this._time = this.duration(); + this._totalTime = this._totalDuration; + } + return this; + }; + + p.append = function(value, offsetOrLabel) { + return this.add(value, this._parseTimeOrLabel(null, offsetOrLabel, true, value)); + }; + + p.insert = p.insertMultiple = function(value, position, align, stagger) { + return this.add(value, position || 0, align, stagger); + }; + + p.appendMultiple = function(tweens, offsetOrLabel, align, stagger) { + return this.add(tweens, this._parseTimeOrLabel(null, offsetOrLabel, true, tweens), align, stagger); + }; + + p.addLabel = function(label, position) { + this._labels[label] = this._parseTimeOrLabel(position); + return this; + }; + + p.addPause = function(position, callback, params, scope) { + var t = TweenLite.delayedCall(0, _pauseCallback, params, scope || this); + t.vars.onComplete = t.vars.onReverseComplete = callback; + t.data = "isPause"; + this._hasPause = true; + return this.add(t, position); + }; + + p.removeLabel = function(label) { + delete this._labels[label]; + return this; + }; + + p.getLabelTime = function(label) { + return (this._labels[label] != null) ? this._labels[label] : -1; + }; + + p._parseTimeOrLabel = function(timeOrLabel, offsetOrLabel, appendIfAbsent, ignore) { + var i; + //if we're about to add a tween/timeline (or an array of them) that's already a child of this timeline, we should remove it first so that it doesn't contaminate the duration(). + if (ignore instanceof Animation && ignore.timeline === this) { + this.remove(ignore); + } else if (ignore && ((ignore instanceof Array) || (ignore.push && _isArray(ignore)))) { + i = ignore.length; + while (--i > -1) { + if (ignore[i] instanceof Animation && ignore[i].timeline === this) { + this.remove(ignore[i]); + } + } + } + if (typeof(offsetOrLabel) === "string") { + return this._parseTimeOrLabel(offsetOrLabel, (appendIfAbsent && typeof(timeOrLabel) === "number" && this._labels[offsetOrLabel] == null) ? timeOrLabel - this.duration() : 0, appendIfAbsent); + } + offsetOrLabel = offsetOrLabel || 0; + if (typeof(timeOrLabel) === "string" && (isNaN(timeOrLabel) || this._labels[timeOrLabel] != null)) { //if the string is a number like "1", check to see if there's a label with that name, otherwise interpret it as a number (absolute value). + i = timeOrLabel.indexOf("="); + if (i === -1) { + if (this._labels[timeOrLabel] == null) { + return appendIfAbsent ? (this._labels[timeOrLabel] = this.duration() + offsetOrLabel) : offsetOrLabel; + } + return this._labels[timeOrLabel] + offsetOrLabel; + } + offsetOrLabel = parseInt(timeOrLabel.charAt(i-1) + "1", 10) * Number(timeOrLabel.substr(i+1)); + timeOrLabel = (i > 1) ? this._parseTimeOrLabel(timeOrLabel.substr(0, i-1), 0, appendIfAbsent) : this.duration(); + } else if (timeOrLabel == null) { + timeOrLabel = this.duration(); + } + return Number(timeOrLabel) + offsetOrLabel; + }; + + p.seek = function(position, suppressEvents) { + return this.totalTime((typeof(position) === "number") ? position : this._parseTimeOrLabel(position), (suppressEvents !== false)); + }; + + p.stop = function() { + return this.paused(true); + }; + + p.gotoAndPlay = function(position, suppressEvents) { + return this.play(position, suppressEvents); + }; + + p.gotoAndStop = function(position, suppressEvents) { + return this.pause(position, suppressEvents); + }; + + p.render = function(time, suppressEvents, force) { + if (this._gc) { + this._enabled(true, false); + } + var totalDur = (!this._dirty) ? this._totalDuration : this.totalDuration(), + prevTime = this._time, + prevStart = this._startTime, + prevTimeScale = this._timeScale, + prevPaused = this._paused, + tween, isComplete, next, callback, internalForce, pauseTween; + if (time >= totalDur) { + this._totalTime = this._time = totalDur; + if (!this._reversed) if (!this._hasPausedChild()) { + isComplete = true; + callback = "onComplete"; + internalForce = !!this._timeline.autoRemoveChildren; //otherwise, if the animation is unpaused/activated after it's already finished, it doesn't get removed from the parent timeline. + if (this._duration === 0) if (time === 0 || this._rawPrevTime < 0 || this._rawPrevTime === _tinyNum) if (this._rawPrevTime !== time && this._first) { + internalForce = true; + if (this._rawPrevTime > _tinyNum) { + callback = "onReverseComplete"; + } + } + } + this._rawPrevTime = (this._duration || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + time = totalDur + 0.0001; //to avoid occasional floating point rounding errors - sometimes child tweens/timelines were not being fully completed (their progress might be 0.999999999999998 instead of 1 because when _time - tween._startTime is performed, floating point errors would return a value that was SLIGHTLY off). Try (999999999999.7 - 999999999999) * 1 = 0.699951171875 instead of 0.7. + + } else if (time < 0.0000001) { //to work around occasional floating point math artifacts, round super small values to 0. + this._totalTime = this._time = 0; + if (prevTime !== 0 || (this._duration === 0 && this._rawPrevTime !== _tinyNum && (this._rawPrevTime > 0 || (time < 0 && this._rawPrevTime >= 0)))) { + callback = "onReverseComplete"; + isComplete = this._reversed; + } + if (time < 0) { + this._active = false; + if (this._timeline.autoRemoveChildren && this._reversed) { //ensures proper GC if a timeline is resumed after it's finished reversing. + internalForce = isComplete = true; + callback = "onReverseComplete"; + } else if (this._rawPrevTime >= 0 && this._first) { //when going back beyond the start, force a render so that zero-duration tweens that sit at the very beginning render their start values properly. Otherwise, if the parent timeline's playhead lands exactly at this timeline's startTime, and then moves backwards, the zero-duration tweens at the beginning would still be at their end state. + internalForce = true; + } + this._rawPrevTime = time; + } else { + this._rawPrevTime = (this._duration || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + if (time === 0 && isComplete) { //if there's a zero-duration tween at the very beginning of a timeline and the playhead lands EXACTLY at time 0, that tween will correctly render its end values, but we need to keep the timeline alive for one more render so that the beginning values render properly as the parent's playhead keeps moving beyond the begining. Imagine obj.x starts at 0 and then we do tl.set(obj, {x:100}).to(obj, 1, {x:200}) and then later we tl.reverse()...the goal is to have obj.x revert to 0. If the playhead happens to land on exactly 0, without this chunk of code, it'd complete the timeline and remove it from the rendering queue (not good). + tween = this._first; + while (tween && tween._startTime === 0) { + if (!tween._duration) { + isComplete = false; + } + tween = tween._next; + } + } + time = 0; //to avoid occasional floating point rounding errors (could cause problems especially with zero-duration tweens at the very beginning of the timeline) + if (!this._initted) { + internalForce = true; + } + } + + } else { + + if (this._hasPause && !this._forcingPlayhead && !suppressEvents) { + if (time >= prevTime) { + tween = this._first; + while (tween && tween._startTime <= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && !tween.ratio && !(tween._startTime === 0 && this._rawPrevTime === 0)) { + pauseTween = tween; + } + tween = tween._next; + } + } else { + tween = this._last; + while (tween && tween._startTime >= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && tween._rawPrevTime > 0) { + pauseTween = tween; + } + tween = tween._prev; + } + } + if (pauseTween) { + this._time = time = pauseTween._startTime; + this._totalTime = time + (this._cycle * (this._totalDuration + this._repeatDelay)); + } + } + + this._totalTime = this._time = this._rawPrevTime = time; + } + if ((this._time === prevTime || !this._first) && !force && !internalForce && !pauseTween) { + return; + } else if (!this._initted) { + this._initted = true; + } + + if (!this._active) if (!this._paused && this._time !== prevTime && time > 0) { + this._active = true; //so that if the user renders the timeline (as opposed to the parent timeline rendering it), it is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the timeline already finished but the user manually re-renders it as halfway done, for example. + } + + if (prevTime === 0) if (this.vars.onStart) if (this._time !== 0) if (!suppressEvents) { + this._callback("onStart"); + } + + if (this._time >= prevTime) { + tween = this._first; + while (tween) { + next = tween._next; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= this._time && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } else { + tween = this._last; + while (tween) { + next = tween._prev; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= prevTime && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + pauseTween = tween._prev; //the linked list is organized by _startTime, thus it's possible that a tween could start BEFORE the pause and end after it, in which case it would be positioned before the pause tween in the linked list, but we should render it before we pause() the timeline and cease rendering. This is only a concern when going in reverse. + while (pauseTween && pauseTween.endTime() > this._time) { + pauseTween.render( (pauseTween._reversed ? pauseTween.totalDuration() - ((time - pauseTween._startTime) * pauseTween._timeScale) : (time - pauseTween._startTime) * pauseTween._timeScale), suppressEvents, force); + pauseTween = pauseTween._prev; + } + pauseTween = null; + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } + + if (this._onUpdate) if (!suppressEvents) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onUpdate on a timeline that reports/checks tweened values. + _lazyRender(); + } + this._callback("onUpdate"); + } + + if (callback) if (!this._gc) if (prevStart === this._startTime || prevTimeScale !== this._timeScale) if (this._time === 0 || totalDur >= this.totalDuration()) { //if one of the tweens that was rendered altered this timeline's startTime (like if an onComplete reversed the timeline), it probably isn't complete. If it is, don't worry, because whatever call altered the startTime would complete if it was necessary at the new time. The only exception is the timeScale property. Also check _gc because there's a chance that kill() could be called in an onUpdate + if (isComplete) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onComplete on a timeline that reports/checks tweened values. + _lazyRender(); + } + if (this._timeline.autoRemoveChildren) { + this._enabled(false, false); + } + this._active = false; + } + if (!suppressEvents && this.vars[callback]) { + this._callback(callback); + } + } + }; + + p._hasPausedChild = function() { + var tween = this._first; + while (tween) { + if (tween._paused || ((tween instanceof TimelineLite) && tween._hasPausedChild())) { + return true; + } + tween = tween._next; + } + return false; + }; + + p.getChildren = function(nested, tweens, timelines, ignoreBeforeTime) { + ignoreBeforeTime = ignoreBeforeTime || -9999999999; + var a = [], + tween = this._first, + cnt = 0; + while (tween) { + if (tween._startTime < ignoreBeforeTime) { + //do nothing + } else if (tween instanceof TweenLite) { + if (tweens !== false) { + a[cnt++] = tween; + } + } else { + if (timelines !== false) { + a[cnt++] = tween; + } + if (nested !== false) { + a = a.concat(tween.getChildren(true, tweens, timelines)); + cnt = a.length; + } + } + tween = tween._next; + } + return a; + }; + + p.getTweensOf = function(target, nested) { + var disabled = this._gc, + a = [], + cnt = 0, + tweens, i; + if (disabled) { + this._enabled(true, true); //getTweensOf() filters out disabled tweens, and we have to mark them as _gc = true when the timeline completes in order to allow clean garbage collection, so temporarily re-enable the timeline here. + } + tweens = TweenLite.getTweensOf(target); + i = tweens.length; + while (--i > -1) { + if (tweens[i].timeline === this || (nested && this._contains(tweens[i]))) { + a[cnt++] = tweens[i]; + } + } + if (disabled) { + this._enabled(false, true); + } + return a; + }; + + p.recent = function() { + return this._recent; + }; + + p._contains = function(tween) { + var tl = tween.timeline; + while (tl) { + if (tl === this) { + return true; + } + tl = tl.timeline; + } + return false; + }; + + p.shiftChildren = function(amount, adjustLabels, ignoreBeforeTime) { + ignoreBeforeTime = ignoreBeforeTime || 0; + var tween = this._first, + labels = this._labels, + p; + while (tween) { + if (tween._startTime >= ignoreBeforeTime) { + tween._startTime += amount; + } + tween = tween._next; + } + if (adjustLabels) { + for (p in labels) { + if (labels[p] >= ignoreBeforeTime) { + labels[p] += amount; + } + } + } + return this._uncache(true); + }; + + p._kill = function(vars, target) { + if (!vars && !target) { + return this._enabled(false, false); + } + var tweens = (!target) ? this.getChildren(true, true, false) : this.getTweensOf(target), + i = tweens.length, + changed = false; + while (--i > -1) { + if (tweens[i]._kill(vars, target)) { + changed = true; + } + } + return changed; + }; + + p.clear = function(labels) { + var tweens = this.getChildren(false, true, true), + i = tweens.length; + this._time = this._totalTime = 0; + while (--i > -1) { + tweens[i]._enabled(false, false); + } + if (labels !== false) { + this._labels = {}; + } + return this._uncache(true); + }; + + p.invalidate = function() { + var tween = this._first; + while (tween) { + tween.invalidate(); + tween = tween._next; + } + return Animation.prototype.invalidate.call(this);; + }; + + p._enabled = function(enabled, ignoreTimeline) { + if (enabled === this._gc) { + var tween = this._first; + while (tween) { + tween._enabled(enabled, true); + tween = tween._next; + } + } + return SimpleTimeline.prototype._enabled.call(this, enabled, ignoreTimeline); + }; + + p.totalTime = function(time, suppressEvents, uncapped) { + this._forcingPlayhead = true; + var val = Animation.prototype.totalTime.apply(this, arguments); + this._forcingPlayhead = false; + return val; + }; + + p.duration = function(value) { + if (!arguments.length) { + if (this._dirty) { + this.totalDuration(); //just triggers recalculation + } + return this._duration; + } + if (this.duration() !== 0 && value !== 0) { + this.timeScale(this._duration / value); + } + return this; + }; + + p.totalDuration = function(value) { + if (!arguments.length) { + if (this._dirty) { + var max = 0, + tween = this._last, + prevStart = 999999999999, + prev, end; + while (tween) { + prev = tween._prev; //record it here in case the tween changes position in the sequence... + if (tween._dirty) { + tween.totalDuration(); //could change the tween._startTime, so make sure the tween's cache is clean before analyzing it. + } + if (tween._startTime > prevStart && this._sortChildren && !tween._paused) { //in case one of the tweens shifted out of order, it needs to be re-inserted into the correct position in the sequence + this.add(tween, tween._startTime - tween._delay); + } else { + prevStart = tween._startTime; + } + if (tween._startTime < 0 && !tween._paused) { //children aren't allowed to have negative startTimes unless smoothChildTiming is true, so adjust here if one is found. + max -= tween._startTime; + if (this._timeline.smoothChildTiming) { + this._startTime += tween._startTime / this._timeScale; + } + this.shiftChildren(-tween._startTime, false, -9999999999); + prevStart = 0; + } + end = tween._startTime + (tween._totalDuration / tween._timeScale); + if (end > max) { + max = end; + } + tween = prev; + } + this._duration = this._totalDuration = max; + this._dirty = false; + } + return this._totalDuration; + } + if (this.totalDuration() !== 0) if (value !== 0) { + this.timeScale(this._totalDuration / value); + } + return this; + }; + + p.paused = function(value) { + if (!value) { //if there's a pause directly at the spot from where we're unpausing, skip it. + var tween = this._first, + time = this._time; + while (tween) { + if (tween._startTime === time && tween.data === "isPause") { + tween._rawPrevTime = 0; //remember, _rawPrevTime is how zero-duration tweens/callbacks sense directionality and determine whether or not to fire. If _rawPrevTime is the same as _startTime on the next render, it won't fire. + } + tween = tween._next; + } + } + return Animation.prototype.paused.apply(this, arguments); + }; + + p.usesFrames = function() { + var tl = this._timeline; + while (tl._timeline) { + tl = tl._timeline; + } + return (tl === Animation._rootFramesTimeline); + }; + + p.rawTime = function() { + return this._paused ? this._totalTime : (this._timeline.rawTime() - this._startTime) * this._timeScale; + }; + + return TimelineLite; + + }, true); + + + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * TimelineMax + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("TimelineMax", ["TimelineLite","TweenLite","easing.Ease"], function(TimelineLite, TweenLite, Ease) { + + var TimelineMax = function(vars) { + TimelineLite.call(this, vars); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._cycle = 0; + this._yoyo = (this.vars.yoyo === true); + this._dirty = true; + }, + _tinyNum = 0.0000000001, + TweenLiteInternals = TweenLite._internals, + _lazyTweens = TweenLiteInternals.lazyTweens, + _lazyRender = TweenLiteInternals.lazyRender, + _easeNone = new Ease(null, null, 1, 0), + p = TimelineMax.prototype = new TimelineLite(); + + p.constructor = TimelineMax; + p.kill()._gc = false; + TimelineMax.version = "1.18.0"; + + p.invalidate = function() { + this._yoyo = (this.vars.yoyo === true); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._uncache(true); + return TimelineLite.prototype.invalidate.call(this); + }; + + p.addCallback = function(callback, position, params, scope) { + return this.add( TweenLite.delayedCall(0, callback, params, scope), position); + }; + + p.removeCallback = function(callback, position) { + if (callback) { + if (position == null) { + this._kill(null, callback); + } else { + var a = this.getTweensOf(callback, false), + i = a.length, + time = this._parseTimeOrLabel(position); + while (--i > -1) { + if (a[i]._startTime === time) { + a[i]._enabled(false, false); + } + } + } + } + return this; + }; + + p.removePause = function(position) { + return this.removeCallback(TimelineLite._internals.pauseCallback, position); + }; + + p.tweenTo = function(position, vars) { + vars = vars || {}; + var copy = {ease:_easeNone, useFrames:this.usesFrames(), immediateRender:false}, + duration, p, t; + for (p in vars) { + copy[p] = vars[p]; + } + copy.time = this._parseTimeOrLabel(position); + duration = (Math.abs(Number(copy.time) - this._time) / this._timeScale) || 0.001; + t = new TweenLite(this, duration, copy); + copy.onStart = function() { + t.target.paused(true); + if (t.vars.time !== t.target.time() && duration === t.duration()) { //don't make the duration zero - if it's supposed to be zero, don't worry because it's already initting the tween and will complete immediately, effectively making the duration zero anyway. If we make duration zero, the tween won't run at all. + t.duration( Math.abs( t.vars.time - t.target.time()) / t.target._timeScale ); + } + if (vars.onStart) { //in case the user had an onStart in the vars - we don't want to overwrite it. + t._callback("onStart"); + } + }; + return t; + }; + + p.tweenFromTo = function(fromPosition, toPosition, vars) { + vars = vars || {}; + fromPosition = this._parseTimeOrLabel(fromPosition); + vars.startAt = {onComplete:this.seek, onCompleteParams:[fromPosition], callbackScope:this}; + vars.immediateRender = (vars.immediateRender !== false); + var t = this.tweenTo(toPosition, vars); + return t.duration((Math.abs( t.vars.time - fromPosition) / this._timeScale) || 0.001); + }; + + p.render = function(time, suppressEvents, force) { + if (this._gc) { + this._enabled(true, false); + } + var totalDur = (!this._dirty) ? this._totalDuration : this.totalDuration(), + dur = this._duration, + prevTime = this._time, + prevTotalTime = this._totalTime, + prevStart = this._startTime, + prevTimeScale = this._timeScale, + prevRawPrevTime = this._rawPrevTime, + prevPaused = this._paused, + prevCycle = this._cycle, + tween, isComplete, next, callback, internalForce, cycleDuration, pauseTween; + if (time >= totalDur) { + if (!this._locked) { + this._totalTime = totalDur; + this._cycle = this._repeat; + } + if (!this._reversed) if (!this._hasPausedChild()) { + isComplete = true; + callback = "onComplete"; + internalForce = !!this._timeline.autoRemoveChildren; //otherwise, if the animation is unpaused/activated after it's already finished, it doesn't get removed from the parent timeline. + if (this._duration === 0) if (time === 0 || prevRawPrevTime < 0 || prevRawPrevTime === _tinyNum) if (prevRawPrevTime !== time && this._first) { + internalForce = true; + if (prevRawPrevTime > _tinyNum) { + callback = "onReverseComplete"; + } + } + } + this._rawPrevTime = (this._duration || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + if (this._yoyo && (this._cycle & 1) !== 0) { + this._time = time = 0; + } else { + this._time = dur; + time = dur + 0.0001; //to avoid occasional floating point rounding errors - sometimes child tweens/timelines were not being fully completed (their progress might be 0.999999999999998 instead of 1 because when _time - tween._startTime is performed, floating point errors would return a value that was SLIGHTLY off). Try (999999999999.7 - 999999999999) * 1 = 0.699951171875 instead of 0.7. We cannot do less then 0.0001 because the same issue can occur when the duration is extremely large like 999999999999 in which case adding 0.00000001, for example, causes it to act like nothing was added. + } + + } else if (time < 0.0000001) { //to work around occasional floating point math artifacts, round super small values to 0. + if (!this._locked) { + this._totalTime = this._cycle = 0; + } + this._time = 0; + if (prevTime !== 0 || (dur === 0 && prevRawPrevTime !== _tinyNum && (prevRawPrevTime > 0 || (time < 0 && prevRawPrevTime >= 0)) && !this._locked)) { //edge case for checking time < 0 && prevRawPrevTime >= 0: a zero-duration fromTo() tween inside a zero-duration timeline (yeah, very rare) + callback = "onReverseComplete"; + isComplete = this._reversed; + } + if (time < 0) { + this._active = false; + if (this._timeline.autoRemoveChildren && this._reversed) { + internalForce = isComplete = true; + callback = "onReverseComplete"; + } else if (prevRawPrevTime >= 0 && this._first) { //when going back beyond the start, force a render so that zero-duration tweens that sit at the very beginning render their start values properly. Otherwise, if the parent timeline's playhead lands exactly at this timeline's startTime, and then moves backwards, the zero-duration tweens at the beginning would still be at their end state. + internalForce = true; + } + this._rawPrevTime = time; + } else { + this._rawPrevTime = (dur || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + if (time === 0 && isComplete) { //if there's a zero-duration tween at the very beginning of a timeline and the playhead lands EXACTLY at time 0, that tween will correctly render its end values, but we need to keep the timeline alive for one more render so that the beginning values render properly as the parent's playhead keeps moving beyond the begining. Imagine obj.x starts at 0 and then we do tl.set(obj, {x:100}).to(obj, 1, {x:200}) and then later we tl.reverse()...the goal is to have obj.x revert to 0. If the playhead happens to land on exactly 0, without this chunk of code, it'd complete the timeline and remove it from the rendering queue (not good). + tween = this._first; + while (tween && tween._startTime === 0) { + if (!tween._duration) { + isComplete = false; + } + tween = tween._next; + } + } + time = 0; //to avoid occasional floating point rounding errors (could cause problems especially with zero-duration tweens at the very beginning of the timeline) + if (!this._initted) { + internalForce = true; + } + } + + } else { + if (dur === 0 && prevRawPrevTime < 0) { //without this, zero-duration repeating timelines (like with a simple callback nested at the very beginning and a repeatDelay) wouldn't render the first time through. + internalForce = true; + } + this._time = this._rawPrevTime = time; + if (!this._locked) { + this._totalTime = time; + if (this._repeat !== 0) { + cycleDuration = dur + this._repeatDelay; + this._cycle = (this._totalTime / cycleDuration) >> 0; //originally _totalTime % cycleDuration but floating point errors caused problems, so I normalized it. (4 % 0.8 should be 0 but it gets reported as 0.79999999!) + if (this._cycle !== 0) if (this._cycle === this._totalTime / cycleDuration) { + this._cycle--; //otherwise when rendered exactly at the end time, it will act as though it is repeating (at the beginning) + } + this._time = this._totalTime - (this._cycle * cycleDuration); + if (this._yoyo) if ((this._cycle & 1) !== 0) { + this._time = dur - this._time; + } + if (this._time > dur) { + this._time = dur; + time = dur + 0.0001; //to avoid occasional floating point rounding error + } else if (this._time < 0) { + this._time = time = 0; + } else { + time = this._time; + } + } + } + + if (this._hasPause && !this._forcingPlayhead && !suppressEvents) { + time = this._time; + if (time >= prevTime) { + tween = this._first; + while (tween && tween._startTime <= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && !tween.ratio && !(tween._startTime === 0 && this._rawPrevTime === 0)) { + pauseTween = tween; + } + tween = tween._next; + } + } else { + tween = this._last; + while (tween && tween._startTime >= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && tween._rawPrevTime > 0) { + pauseTween = tween; + } + tween = tween._prev; + } + } + if (pauseTween) { + this._time = time = pauseTween._startTime; + this._totalTime = time + (this._cycle * (this._totalDuration + this._repeatDelay)); + } + } + + } + + if (this._cycle !== prevCycle) if (!this._locked) { + /* + make sure children at the end/beginning of the timeline are rendered properly. If, for example, + a 3-second long timeline rendered at 2.9 seconds previously, and now renders at 3.2 seconds (which + would get transated to 2.8 seconds if the timeline yoyos or 0.2 seconds if it just repeats), there + could be a callback or a short tween that's at 2.95 or 3 seconds in which wouldn't render. So + we need to push the timeline to the end (and/or beginning depending on its yoyo value). Also we must + ensure that zero-duration tweens at the very beginning or end of the TimelineMax work. + */ + var backwards = (this._yoyo && (prevCycle & 1) !== 0), + wrap = (backwards === (this._yoyo && (this._cycle & 1) !== 0)), + recTotalTime = this._totalTime, + recCycle = this._cycle, + recRawPrevTime = this._rawPrevTime, + recTime = this._time; + + this._totalTime = prevCycle * dur; + if (this._cycle < prevCycle) { + backwards = !backwards; + } else { + this._totalTime += dur; + } + this._time = prevTime; //temporarily revert _time so that render() renders the children in the correct order. Without this, tweens won't rewind correctly. We could arhictect things in a "cleaner" way by splitting out the rendering queue into a separate method but for performance reasons, we kept it all inside this method. + + this._rawPrevTime = (dur === 0) ? prevRawPrevTime - 0.0001 : prevRawPrevTime; + this._cycle = prevCycle; + this._locked = true; //prevents changes to totalTime and skips repeat/yoyo behavior when we recursively call render() + prevTime = (backwards) ? 0 : dur; + this.render(prevTime, suppressEvents, (dur === 0)); + if (!suppressEvents) if (!this._gc) { + if (this.vars.onRepeat) { + this._callback("onRepeat"); + } + } + if (wrap) { + prevTime = (backwards) ? dur + 0.0001 : -0.0001; + this.render(prevTime, true, false); + } + this._locked = false; + if (this._paused && !prevPaused) { //if the render() triggered callback that paused this timeline, we should abort (very rare, but possible) + return; + } + this._time = recTime; + this._totalTime = recTotalTime; + this._cycle = recCycle; + this._rawPrevTime = recRawPrevTime; + } + + if ((this._time === prevTime || !this._first) && !force && !internalForce && !pauseTween) { + if (prevTotalTime !== this._totalTime) if (this._onUpdate) if (!suppressEvents) { //so that onUpdate fires even during the repeatDelay - as long as the totalTime changed, we should trigger onUpdate. + this._callback("onUpdate"); + } + return; + } else if (!this._initted) { + this._initted = true; + } + + if (!this._active) if (!this._paused && this._totalTime !== prevTotalTime && time > 0) { + this._active = true; //so that if the user renders the timeline (as opposed to the parent timeline rendering it), it is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the timeline already finished but the user manually re-renders it as halfway done, for example. + } + + if (prevTotalTime === 0) if (this.vars.onStart) if (this._totalTime !== 0) if (!suppressEvents) { + this._callback("onStart"); + } + + if (this._time >= prevTime) { + tween = this._first; + while (tween) { + next = tween._next; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= this._time && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } else { + tween = this._last; + while (tween) { + next = tween._prev; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= prevTime && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + pauseTween = tween._prev; //the linked list is organized by _startTime, thus it's possible that a tween could start BEFORE the pause and end after it, in which case it would be positioned before the pause tween in the linked list, but we should render it before we pause() the timeline and cease rendering. This is only a concern when going in reverse. + while (pauseTween && pauseTween.endTime() > this._time) { + pauseTween.render( (pauseTween._reversed ? pauseTween.totalDuration() - ((time - pauseTween._startTime) * pauseTween._timeScale) : (time - pauseTween._startTime) * pauseTween._timeScale), suppressEvents, force); + pauseTween = pauseTween._prev; + } + pauseTween = null; + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } + + if (this._onUpdate) if (!suppressEvents) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onUpdate on a timeline that reports/checks tweened values. + _lazyRender(); + } + this._callback("onUpdate"); + } + if (callback) if (!this._locked) if (!this._gc) if (prevStart === this._startTime || prevTimeScale !== this._timeScale) if (this._time === 0 || totalDur >= this.totalDuration()) { //if one of the tweens that was rendered altered this timeline's startTime (like if an onComplete reversed the timeline), it probably isn't complete. If it is, don't worry, because whatever call altered the startTime would complete if it was necessary at the new time. The only exception is the timeScale property. Also check _gc because there's a chance that kill() could be called in an onUpdate + if (isComplete) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onComplete on a timeline that reports/checks tweened values. + _lazyRender(); + } + if (this._timeline.autoRemoveChildren) { + this._enabled(false, false); + } + this._active = false; + } + if (!suppressEvents && this.vars[callback]) { + this._callback(callback); + } + } + }; + + p.getActive = function(nested, tweens, timelines) { + if (nested == null) { + nested = true; + } + if (tweens == null) { + tweens = true; + } + if (timelines == null) { + timelines = false; + } + var a = [], + all = this.getChildren(nested, tweens, timelines), + cnt = 0, + l = all.length, + i, tween; + for (i = 0; i < l; i++) { + tween = all[i]; + if (tween.isActive()) { + a[cnt++] = tween; + } + } + return a; + }; + + + p.getLabelAfter = function(time) { + if (!time) if (time !== 0) { //faster than isNan() + time = this._time; + } + var labels = this.getLabelsArray(), + l = labels.length, + i; + for (i = 0; i < l; i++) { + if (labels[i].time > time) { + return labels[i].name; + } + } + return null; + }; + + p.getLabelBefore = function(time) { + if (time == null) { + time = this._time; + } + var labels = this.getLabelsArray(), + i = labels.length; + while (--i > -1) { + if (labels[i].time < time) { + return labels[i].name; + } + } + return null; + }; + + p.getLabelsArray = function() { + var a = [], + cnt = 0, + p; + for (p in this._labels) { + a[cnt++] = {time:this._labels[p], name:p}; + } + a.sort(function(a,b) { + return a.time - b.time; + }); + return a; + }; + + +//---- GETTERS / SETTERS ------------------------------------------------------------------------------------------------------- + + p.progress = function(value, suppressEvents) { + return (!arguments.length) ? this._time / this.duration() : this.totalTime( this.duration() * ((this._yoyo && (this._cycle & 1) !== 0) ? 1 - value : value) + (this._cycle * (this._duration + this._repeatDelay)), suppressEvents); + }; + + p.totalProgress = function(value, suppressEvents) { + return (!arguments.length) ? this._totalTime / this.totalDuration() : this.totalTime( this.totalDuration() * value, suppressEvents); + }; + + p.totalDuration = function(value) { + if (!arguments.length) { + if (this._dirty) { + TimelineLite.prototype.totalDuration.call(this); //just forces refresh + //Instead of Infinity, we use 999999999999 so that we can accommodate reverses. + this._totalDuration = (this._repeat === -1) ? 999999999999 : this._duration * (this._repeat + 1) + (this._repeatDelay * this._repeat); + } + return this._totalDuration; + } + return (this._repeat === -1) ? this : this.duration( (value - (this._repeat * this._repeatDelay)) / (this._repeat + 1) ); + }; + + p.time = function(value, suppressEvents) { + if (!arguments.length) { + return this._time; + } + if (this._dirty) { + this.totalDuration(); + } + if (value > this._duration) { + value = this._duration; + } + if (this._yoyo && (this._cycle & 1) !== 0) { + value = (this._duration - value) + (this._cycle * (this._duration + this._repeatDelay)); + } else if (this._repeat !== 0) { + value += this._cycle * (this._duration + this._repeatDelay); + } + return this.totalTime(value, suppressEvents); + }; + + p.repeat = function(value) { + if (!arguments.length) { + return this._repeat; + } + this._repeat = value; + return this._uncache(true); + }; + + p.repeatDelay = function(value) { + if (!arguments.length) { + return this._repeatDelay; + } + this._repeatDelay = value; + return this._uncache(true); + }; + + p.yoyo = function(value) { + if (!arguments.length) { + return this._yoyo; + } + this._yoyo = value; + return this; + }; + + p.currentLabel = function(value) { + if (!arguments.length) { + return this.getLabelBefore(this._time + 0.00000001); + } + return this.seek(value, true); + }; + + return TimelineMax; + + }, true); + + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * BezierPlugin + * ---------------------------------------------------------------- + */ + (function() { + + var _RAD2DEG = 180 / Math.PI, + _r1 = [], + _r2 = [], + _r3 = [], + _corProps = {}, + _globals = _gsScope._gsDefine.globals, + Segment = function(a, b, c, d) { + this.a = a; + this.b = b; + this.c = c; + this.d = d; + this.da = d - a; + this.ca = c - a; + this.ba = b - a; + }, + _correlate = ",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,", + cubicToQuadratic = function(a, b, c, d) { + var q1 = {a:a}, + q2 = {}, + q3 = {}, + q4 = {c:d}, + mab = (a + b) / 2, + mbc = (b + c) / 2, + mcd = (c + d) / 2, + mabc = (mab + mbc) / 2, + mbcd = (mbc + mcd) / 2, + m8 = (mbcd - mabc) / 8; + q1.b = mab + (a - mab) / 4; + q2.b = mabc + m8; + q1.c = q2.a = (q1.b + q2.b) / 2; + q2.c = q3.a = (mabc + mbcd) / 2; + q3.b = mbcd - m8; + q4.b = mcd + (d - mcd) / 4; + q3.c = q4.a = (q3.b + q4.b) / 2; + return [q1, q2, q3, q4]; + }, + _calculateControlPoints = function(a, curviness, quad, basic, correlate) { + var l = a.length - 1, + ii = 0, + cp1 = a[0].a, + i, p1, p2, p3, seg, m1, m2, mm, cp2, qb, r1, r2, tl; + for (i = 0; i < l; i++) { + seg = a[ii]; + p1 = seg.a; + p2 = seg.d; + p3 = a[ii+1].d; + + if (correlate) { + r1 = _r1[i]; + r2 = _r2[i]; + tl = ((r2 + r1) * curviness * 0.25) / (basic ? 0.5 : _r3[i] || 0.5); + m1 = p2 - (p2 - p1) * (basic ? curviness * 0.5 : (r1 !== 0 ? tl / r1 : 0)); + m2 = p2 + (p3 - p2) * (basic ? curviness * 0.5 : (r2 !== 0 ? tl / r2 : 0)); + mm = p2 - (m1 + (((m2 - m1) * ((r1 * 3 / (r1 + r2)) + 0.5) / 4) || 0)); + } else { + m1 = p2 - (p2 - p1) * curviness * 0.5; + m2 = p2 + (p3 - p2) * curviness * 0.5; + mm = p2 - (m1 + m2) / 2; + } + m1 += mm; + m2 += mm; + + seg.c = cp2 = m1; + if (i !== 0) { + seg.b = cp1; + } else { + seg.b = cp1 = seg.a + (seg.c - seg.a) * 0.6; //instead of placing b on a exactly, we move it inline with c so that if the user specifies an ease like Back.easeIn or Elastic.easeIn which goes BEYOND the beginning, it will do so smoothly. + } + + seg.da = p2 - p1; + seg.ca = cp2 - p1; + seg.ba = cp1 - p1; + + if (quad) { + qb = cubicToQuadratic(p1, cp1, cp2, p2); + a.splice(ii, 1, qb[0], qb[1], qb[2], qb[3]); + ii += 4; + } else { + ii++; + } + + cp1 = m2; + } + seg = a[ii]; + seg.b = cp1; + seg.c = cp1 + (seg.d - cp1) * 0.4; //instead of placing c on d exactly, we move it inline with b so that if the user specifies an ease like Back.easeOut or Elastic.easeOut which goes BEYOND the end, it will do so smoothly. + seg.da = seg.d - seg.a; + seg.ca = seg.c - seg.a; + seg.ba = cp1 - seg.a; + if (quad) { + qb = cubicToQuadratic(seg.a, cp1, seg.c, seg.d); + a.splice(ii, 1, qb[0], qb[1], qb[2], qb[3]); + } + }, + _parseAnchors = function(values, p, correlate, prepend) { + var a = [], + l, i, p1, p2, p3, tmp; + if (prepend) { + values = [prepend].concat(values); + i = values.length; + while (--i > -1) { + if (typeof( (tmp = values[i][p]) ) === "string") if (tmp.charAt(1) === "=") { + values[i][p] = prepend[p] + Number(tmp.charAt(0) + tmp.substr(2)); //accommodate relative values. Do it inline instead of breaking it out into a function for speed reasons + } + } + } + l = values.length - 2; + if (l < 0) { + a[0] = new Segment(values[0][p], 0, 0, values[(l < -1) ? 0 : 1][p]); + return a; + } + for (i = 0; i < l; i++) { + p1 = values[i][p]; + p2 = values[i+1][p]; + a[i] = new Segment(p1, 0, 0, p2); + if (correlate) { + p3 = values[i+2][p]; + _r1[i] = (_r1[i] || 0) + (p2 - p1) * (p2 - p1); + _r2[i] = (_r2[i] || 0) + (p3 - p2) * (p3 - p2); + } + } + a[i] = new Segment(values[i][p], 0, 0, values[i+1][p]); + return a; + }, + bezierThrough = function(values, curviness, quadratic, basic, correlate, prepend) { + var obj = {}, + props = [], + first = prepend || values[0], + i, p, a, j, r, l, seamless, last; + correlate = (typeof(correlate) === "string") ? ","+correlate+"," : _correlate; + if (curviness == null) { + curviness = 1; + } + for (p in values[0]) { + props.push(p); + } + //check to see if the last and first values are identical (well, within 0.05). If so, make seamless by appending the second element to the very end of the values array and the 2nd-to-last element to the very beginning (we'll remove those segments later) + if (values.length > 1) { + last = values[values.length - 1]; + seamless = true; + i = props.length; + while (--i > -1) { + p = props[i]; + if (Math.abs(first[p] - last[p]) > 0.05) { //build in a tolerance of +/-0.05 to accommodate rounding errors. For example, if you set an object's position to 4.945, Flash will make it 4.9 + seamless = false; + break; + } + } + if (seamless) { + values = values.concat(); //duplicate the array to avoid contaminating the original which the user may be reusing for other tweens + if (prepend) { + values.unshift(prepend); + } + values.push(values[1]); + prepend = values[values.length - 3]; + } + } + _r1.length = _r2.length = _r3.length = 0; + i = props.length; + while (--i > -1) { + p = props[i]; + _corProps[p] = (correlate.indexOf(","+p+",") !== -1); + obj[p] = _parseAnchors(values, p, _corProps[p], prepend); + } + i = _r1.length; + while (--i > -1) { + _r1[i] = Math.sqrt(_r1[i]); + _r2[i] = Math.sqrt(_r2[i]); + } + if (!basic) { + i = props.length; + while (--i > -1) { + if (_corProps[p]) { + a = obj[props[i]]; + l = a.length - 1; + for (j = 0; j < l; j++) { + r = a[j+1].da / _r2[j] + a[j].da / _r1[j]; + _r3[j] = (_r3[j] || 0) + r * r; + } + } + } + i = _r3.length; + while (--i > -1) { + _r3[i] = Math.sqrt(_r3[i]); + } + } + i = props.length; + j = quadratic ? 4 : 1; + while (--i > -1) { + p = props[i]; + a = obj[p]; + _calculateControlPoints(a, curviness, quadratic, basic, _corProps[p]); //this method requires that _parseAnchors() and _setSegmentRatios() ran first so that _r1, _r2, and _r3 values are populated for all properties + if (seamless) { + a.splice(0, j); + a.splice(a.length - j, j); + } + } + return obj; + }, + _parseBezierData = function(values, type, prepend) { + type = type || "soft"; + var obj = {}, + inc = (type === "cubic") ? 3 : 2, + soft = (type === "soft"), + props = [], + a, b, c, d, cur, i, j, l, p, cnt, tmp; + if (soft && prepend) { + values = [prepend].concat(values); + } + if (values == null || values.length < inc + 1) { throw "invalid Bezier data"; } + for (p in values[0]) { + props.push(p); + } + i = props.length; + while (--i > -1) { + p = props[i]; + obj[p] = cur = []; + cnt = 0; + l = values.length; + for (j = 0; j < l; j++) { + a = (prepend == null) ? values[j][p] : (typeof( (tmp = values[j][p]) ) === "string" && tmp.charAt(1) === "=") ? prepend[p] + Number(tmp.charAt(0) + tmp.substr(2)) : Number(tmp); + if (soft) if (j > 1) if (j < l - 1) { + cur[cnt++] = (a + cur[cnt-2]) / 2; + } + cur[cnt++] = a; + } + l = cnt - inc + 1; + cnt = 0; + for (j = 0; j < l; j += inc) { + a = cur[j]; + b = cur[j+1]; + c = cur[j+2]; + d = (inc === 2) ? 0 : cur[j+3]; + cur[cnt++] = tmp = (inc === 3) ? new Segment(a, b, c, d) : new Segment(a, (2 * b + a) / 3, (2 * b + c) / 3, c); + } + cur.length = cnt; + } + return obj; + }, + _addCubicLengths = function(a, steps, resolution) { + var inc = 1 / resolution, + j = a.length, + d, d1, s, da, ca, ba, p, i, inv, bez, index; + while (--j > -1) { + bez = a[j]; + s = bez.a; + da = bez.d - s; + ca = bez.c - s; + ba = bez.b - s; + d = d1 = 0; + for (i = 1; i <= resolution; i++) { + p = inc * i; + inv = 1 - p; + d = d1 - (d1 = (p * p * da + 3 * inv * (p * ca + inv * ba)) * p); + index = j * resolution + i - 1; + steps[index] = (steps[index] || 0) + d * d; + } + } + }, + _parseLengthData = function(obj, resolution) { + resolution = resolution >> 0 || 6; + var a = [], + lengths = [], + d = 0, + total = 0, + threshold = resolution - 1, + segments = [], + curLS = [], //current length segments array + p, i, l, index; + for (p in obj) { + _addCubicLengths(obj[p], a, resolution); + } + l = a.length; + for (i = 0; i < l; i++) { + d += Math.sqrt(a[i]); + index = i % resolution; + curLS[index] = d; + if (index === threshold) { + total += d; + index = (i / resolution) >> 0; + segments[index] = curLS; + lengths[index] = total; + d = 0; + curLS = []; + } + } + return {length:total, lengths:lengths, segments:segments}; + }, + + + + BezierPlugin = _gsScope._gsDefine.plugin({ + propName: "bezier", + priority: -1, + version: "1.3.4", + API: 2, + global:true, + + //gets called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, vars, tween) { + this._target = target; + if (vars instanceof Array) { + vars = {values:vars}; + } + this._func = {}; + this._round = {}; + this._props = []; + this._timeRes = (vars.timeResolution == null) ? 6 : parseInt(vars.timeResolution, 10); + var values = vars.values || [], + first = {}, + second = values[0], + autoRotate = vars.autoRotate || tween.vars.orientToBezier, + p, isFunc, i, j, prepend; + + this._autoRotate = autoRotate ? (autoRotate instanceof Array) ? autoRotate : [["x","y","rotation",((autoRotate === true) ? 0 : Number(autoRotate) || 0)]] : null; + for (p in second) { + this._props.push(p); + } + + i = this._props.length; + while (--i > -1) { + p = this._props[i]; + + this._overwriteProps.push(p); + isFunc = this._func[p] = (typeof(target[p]) === "function"); + first[p] = (!isFunc) ? parseFloat(target[p]) : target[ ((p.indexOf("set") || typeof(target["get" + p.substr(3)]) !== "function") ? p : "get" + p.substr(3)) ](); + if (!prepend) if (first[p] !== values[0][p]) { + prepend = first; + } + } + this._beziers = (vars.type !== "cubic" && vars.type !== "quadratic" && vars.type !== "soft") ? bezierThrough(values, isNaN(vars.curviness) ? 1 : vars.curviness, false, (vars.type === "thruBasic"), vars.correlate, prepend) : _parseBezierData(values, vars.type, first); + this._segCount = this._beziers[p].length; + + if (this._timeRes) { + var ld = _parseLengthData(this._beziers, this._timeRes); + this._length = ld.length; + this._lengths = ld.lengths; + this._segments = ld.segments; + this._l1 = this._li = this._s1 = this._si = 0; + this._l2 = this._lengths[0]; + this._curSeg = this._segments[0]; + this._s2 = this._curSeg[0]; + this._prec = 1 / this._curSeg.length; + } + + if ((autoRotate = this._autoRotate)) { + this._initialRotations = []; + if (!(autoRotate[0] instanceof Array)) { + this._autoRotate = autoRotate = [autoRotate]; + } + i = autoRotate.length; + while (--i > -1) { + for (j = 0; j < 3; j++) { + p = autoRotate[i][j]; + this._func[p] = (typeof(target[p]) === "function") ? target[ ((p.indexOf("set") || typeof(target["get" + p.substr(3)]) !== "function") ? p : "get" + p.substr(3)) ] : false; + } + p = autoRotate[i][2]; + this._initialRotations[i] = this._func[p] ? this._func[p].call(this._target) : this._target[p]; + } + } + this._startRatio = tween.vars.runBackwards ? 1 : 0; //we determine the starting ratio when the tween inits which is always 0 unless the tween has runBackwards:true (indicating it's a from() tween) in which case it's 1. + return true; + }, + + //called each time the values should be updated, and the ratio gets passed as the only parameter (typically it's a value between 0 and 1, but it can exceed those when using an ease like Elastic.easeOut or Back.easeOut, etc.) + set: function(v) { + var segments = this._segCount, + func = this._func, + target = this._target, + notStart = (v !== this._startRatio), + curIndex, inv, i, p, b, t, val, l, lengths, curSeg; + if (!this._timeRes) { + curIndex = (v < 0) ? 0 : (v >= 1) ? segments - 1 : (segments * v) >> 0; + t = (v - (curIndex * (1 / segments))) * segments; + } else { + lengths = this._lengths; + curSeg = this._curSeg; + v *= this._length; + i = this._li; + //find the appropriate segment (if the currently cached one isn't correct) + if (v > this._l2 && i < segments - 1) { + l = segments - 1; + while (i < l && (this._l2 = lengths[++i]) <= v) { } + this._l1 = lengths[i-1]; + this._li = i; + this._curSeg = curSeg = this._segments[i]; + this._s2 = curSeg[(this._s1 = this._si = 0)]; + } else if (v < this._l1 && i > 0) { + while (i > 0 && (this._l1 = lengths[--i]) >= v) { } + if (i === 0 && v < this._l1) { + this._l1 = 0; + } else { + i++; + } + this._l2 = lengths[i]; + this._li = i; + this._curSeg = curSeg = this._segments[i]; + this._s1 = curSeg[(this._si = curSeg.length - 1) - 1] || 0; + this._s2 = curSeg[this._si]; + } + curIndex = i; + //now find the appropriate sub-segment (we split it into the number of pieces that was defined by "precision" and measured each one) + v -= this._l1; + i = this._si; + if (v > this._s2 && i < curSeg.length - 1) { + l = curSeg.length - 1; + while (i < l && (this._s2 = curSeg[++i]) <= v) { } + this._s1 = curSeg[i-1]; + this._si = i; + } else if (v < this._s1 && i > 0) { + while (i > 0 && (this._s1 = curSeg[--i]) >= v) { } + if (i === 0 && v < this._s1) { + this._s1 = 0; + } else { + i++; + } + this._s2 = curSeg[i]; + this._si = i; + } + t = (i + (v - this._s1) / (this._s2 - this._s1)) * this._prec; + } + inv = 1 - t; + + i = this._props.length; + while (--i > -1) { + p = this._props[i]; + b = this._beziers[p][curIndex]; + val = (t * t * b.da + 3 * inv * (t * b.ca + inv * b.ba)) * t + b.a; + if (this._round[p]) { + val = Math.round(val); + } + if (func[p]) { + target[p](val); + } else { + target[p] = val; + } + } + + if (this._autoRotate) { + var ar = this._autoRotate, + b2, x1, y1, x2, y2, add, conv; + i = ar.length; + while (--i > -1) { + p = ar[i][2]; + add = ar[i][3] || 0; + conv = (ar[i][4] === true) ? 1 : _RAD2DEG; + b = this._beziers[ar[i][0]]; + b2 = this._beziers[ar[i][1]]; + + if (b && b2) { //in case one of the properties got overwritten. + b = b[curIndex]; + b2 = b2[curIndex]; + + x1 = b.a + (b.b - b.a) * t; + x2 = b.b + (b.c - b.b) * t; + x1 += (x2 - x1) * t; + x2 += ((b.c + (b.d - b.c) * t) - x2) * t; + + y1 = b2.a + (b2.b - b2.a) * t; + y2 = b2.b + (b2.c - b2.b) * t; + y1 += (y2 - y1) * t; + y2 += ((b2.c + (b2.d - b2.c) * t) - y2) * t; + + val = notStart ? Math.atan2(y2 - y1, x2 - x1) * conv + add : this._initialRotations[i]; + + if (func[p]) { + target[p](val); + } else { + target[p] = val; + } + } + } + } + } + }), + p = BezierPlugin.prototype; + + + BezierPlugin.bezierThrough = bezierThrough; + BezierPlugin.cubicToQuadratic = cubicToQuadratic; + BezierPlugin._autoCSS = true; //indicates that this plugin can be inserted into the "css" object using the autoCSS feature of TweenLite + BezierPlugin.quadraticToCubic = function(a, b, c) { + return new Segment(a, (2 * b + a) / 3, (2 * b + c) / 3, c); + }; + + BezierPlugin._cssRegister = function() { + var CSSPlugin = _globals.CSSPlugin; + if (!CSSPlugin) { + return; + } + var _internals = CSSPlugin._internals, + _parseToProxy = _internals._parseToProxy, + _setPluginRatio = _internals._setPluginRatio, + CSSPropTween = _internals.CSSPropTween; + _internals._registerComplexSpecialProp("bezier", {parser:function(t, e, prop, cssp, pt, plugin) { + if (e instanceof Array) { + e = {values:e}; + } + plugin = new BezierPlugin(); + var values = e.values, + l = values.length - 1, + pluginValues = [], + v = {}, + i, p, data; + if (l < 0) { + return pt; + } + for (i = 0; i <= l; i++) { + data = _parseToProxy(t, values[i], cssp, pt, plugin, (l !== i)); + pluginValues[i] = data.end; + } + for (p in e) { + v[p] = e[p]; //duplicate the vars object because we need to alter some things which would cause problems if the user plans to reuse the same vars object for another tween. + } + v.values = pluginValues; + pt = new CSSPropTween(t, "bezier", 0, 0, data.pt, 2); + pt.data = data; + pt.plugin = plugin; + pt.setRatio = _setPluginRatio; + if (v.autoRotate === 0) { + v.autoRotate = true; + } + if (v.autoRotate && !(v.autoRotate instanceof Array)) { + i = (v.autoRotate === true) ? 0 : Number(v.autoRotate); + v.autoRotate = (data.end.left != null) ? [["left","top","rotation",i,false]] : (data.end.x != null) ? [["x","y","rotation",i,false]] : false; + } + if (v.autoRotate) { + if (!cssp._transform) { + cssp._enableTransforms(false); + } + data.autoRotate = cssp._target._gsTransform; + } + plugin._onInitTween(data.proxy, v, cssp._tween); + return pt; + }}); + }; + + p._roundProps = function(lookup, value) { + var op = this._overwriteProps, + i = op.length; + while (--i > -1) { + if (lookup[op[i]] || lookup.bezier || lookup.bezierThrough) { + this._round[op[i]] = value; + } + } + }; + + p._kill = function(lookup) { + var a = this._props, + p, i; + for (p in this._beziers) { + if (p in lookup) { + delete this._beziers[p]; + delete this._func[p]; + i = a.length; + while (--i > -1) { + if (a[i] === p) { + a.splice(i, 1); + } + } + } + } + return this._super._kill.call(this, lookup); + }; + + }()); + + + + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * CSSPlugin + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin","TweenLite"], function(TweenPlugin, TweenLite) { + + /** @constructor **/ + var CSSPlugin = function() { + TweenPlugin.call(this, "css"); + this._overwriteProps.length = 0; + this.setRatio = CSSPlugin.prototype.setRatio; //speed optimization (avoid prototype lookup on this "hot" method) + }, + _globals = _gsScope._gsDefine.globals, + _hasPriority, //turns true whenever a CSSPropTween instance is created that has a priority other than 0. This helps us discern whether or not we should spend the time organizing the linked list or not after a CSSPlugin's _onInitTween() method is called. + _suffixMap, //we set this in _onInitTween() each time as a way to have a persistent variable we can use in other methods like _parse() without having to pass it around as a parameter and we keep _parse() decoupled from a particular CSSPlugin instance + _cs, //computed style (we store this in a shared variable to conserve memory and make minification tighter + _overwriteProps, //alias to the currently instantiating CSSPlugin's _overwriteProps array. We use this closure in order to avoid having to pass a reference around from method to method and aid in minification. + _specialProps = {}, + p = CSSPlugin.prototype = new TweenPlugin("css"); + + p.constructor = CSSPlugin; + CSSPlugin.version = "1.18.0"; + CSSPlugin.API = 2; + CSSPlugin.defaultTransformPerspective = 0; + CSSPlugin.defaultSkewType = "compensated"; + CSSPlugin.defaultSmoothOrigin = true; + p = "px"; //we'll reuse the "p" variable to keep file size down + CSSPlugin.suffixMap = {top:p, right:p, bottom:p, left:p, width:p, height:p, fontSize:p, padding:p, margin:p, perspective:p, lineHeight:""}; + + + var _numExp = /(?:\d|\-\d|\.\d|\-\.\d)+/g, + _relNumExp = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g, + _valuesExp = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi, //finds all the values that begin with numbers or += or -= and then a number. Includes suffixes. We use this to split complex values apart like "1px 5px 20px rgb(255,102,51)" + _NaNExp = /(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g, //also allows scientific notation and doesn't kill the leading -/+ in -= and += + _suffixExp = /(?:\d|\-|\+|=|#|\.)*/g, + _opacityExp = /opacity *= *([^)]*)/i, + _opacityValExp = /opacity:([^;]*)/i, + _alphaFilterExp = /alpha\(opacity *=.+?\)/i, + _rgbhslExp = /^(rgb|hsl)/, + _capsExp = /([A-Z])/g, + _camelExp = /-([a-z])/gi, + _urlExp = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi, //for pulling out urls from url(...) or url("...") strings (some browsers wrap urls in quotes, some don't when reporting things like backgroundImage) + _camelFunc = function(s, g) { return g.toUpperCase(); }, + _horizExp = /(?:Left|Right|Width)/i, + _ieGetMatrixExp = /(M11|M12|M21|M22)=[\d\-\.e]+/gi, + _ieSetMatrixExp = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i, + _commasOutsideParenExp = /,(?=[^\)]*(?:\(|$))/gi, //finds any commas that are not within parenthesis + _DEG2RAD = Math.PI / 180, + _RAD2DEG = 180 / Math.PI, + _forcePT = {}, + _doc = document, + _createElement = function(type) { + return _doc.createElementNS ? _doc.createElementNS("http://www.w3.org/1999/xhtml", type) : _doc.createElement(type); + }, + _tempDiv = _createElement("div"), + _tempImg = _createElement("img"), + _internals = CSSPlugin._internals = {_specialProps:_specialProps}, //provides a hook to a few internal methods that we need to access from inside other plugins + _agent = navigator.userAgent, + _autoRound, + _reqSafariFix, //we won't apply the Safari transform fix until we actually come across a tween that affects a transform property (to maintain best performance). + + _isSafari, + _isFirefox, //Firefox has a bug that causes 3D transformed elements to randomly disappear unless a repaint is forced after each update on each element. + _isSafariLT6, //Safari (and Android 4 which uses a flavor of Safari) has a bug that prevents changes to "top" and "left" properties from rendering properly if changed on the same frame as a transform UNLESS we set the element's WebkitBackfaceVisibility to hidden (weird, I know). Doing this for Android 3 and earlier seems to actually cause other problems, though (fun!) + _ieVers, + _supportsOpacity = (function() { //we set _isSafari, _ieVers, _isFirefox, and _supportsOpacity all in one function here to reduce file size slightly, especially in the minified version. + var i = _agent.indexOf("Android"), + a = _createElement("a"); + _isSafari = (_agent.indexOf("Safari") !== -1 && _agent.indexOf("Chrome") === -1 && (i === -1 || Number(_agent.substr(i+8, 1)) > 3)); + _isSafariLT6 = (_isSafari && (Number(_agent.substr(_agent.indexOf("Version/")+8, 1)) < 6)); + _isFirefox = (_agent.indexOf("Firefox") !== -1); + if ((/MSIE ([0-9]{1,}[\.0-9]{0,})/).exec(_agent) || (/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/).exec(_agent)) { + _ieVers = parseFloat( RegExp.$1 ); + } + if (!a) { + return false; + } + a.style.cssText = "top:1px;opacity:.55;"; + return /^0.55/.test(a.style.opacity); + }()), + _getIEOpacity = function(v) { + return (_opacityExp.test( ((typeof(v) === "string") ? v : (v.currentStyle ? v.currentStyle.filter : v.style.filter) || "") ) ? ( parseFloat( RegExp.$1 ) / 100 ) : 1); + }, + _log = function(s) {//for logging messages, but in a way that won't throw errors in old versions of IE. + if (window.console) { + console.log(s); + } + }, + + _prefixCSS = "", //the non-camelCase vendor prefix like "-o-", "-moz-", "-ms-", or "-webkit-" + _prefix = "", //camelCase vendor prefix like "O", "ms", "Webkit", or "Moz". + + // @private feed in a camelCase property name like "transform" and it will check to see if it is valid as-is or if it needs a vendor prefix. It returns the corrected camelCase property name (i.e. "WebkitTransform" or "MozTransform" or "transform" or null if no such property is found, like if the browser is IE8 or before, "transform" won't be found at all) + _checkPropPrefix = function(p, e) { + e = e || _tempDiv; + var s = e.style, + a, i; + if (s[p] !== undefined) { + return p; + } + p = p.charAt(0).toUpperCase() + p.substr(1); + a = ["O","Moz","ms","Ms","Webkit"]; + i = 5; + while (--i > -1 && s[a[i]+p] === undefined) { } + if (i >= 0) { + _prefix = (i === 3) ? "ms" : a[i]; + _prefixCSS = "-" + _prefix.toLowerCase() + "-"; + return _prefix + p; + } + return null; + }, + + _getComputedStyle = _doc.defaultView ? _doc.defaultView.getComputedStyle : function() {}, + + /** + * @private Returns the css style for a particular property of an element. For example, to get whatever the current "left" css value for an element with an ID of "myElement", you could do: + * var currentLeft = CSSPlugin.getStyle( document.getElementById("myElement"), "left"); + * + * @param {!Object} t Target element whose style property you want to query + * @param {!string} p Property name (like "left" or "top" or "marginTop", etc.) + * @param {Object=} cs Computed style object. This just provides a way to speed processing if you're going to get several properties on the same element in quick succession - you can reuse the result of the getComputedStyle() call. + * @param {boolean=} calc If true, the value will not be read directly from the element's "style" property (if it exists there), but instead the getComputedStyle() result will be used. This can be useful when you want to ensure that the browser itself is interpreting the value. + * @param {string=} dflt Default value that should be returned in the place of null, "none", "auto" or "auto auto". + * @return {?string} The current property value + */ + _getStyle = CSSPlugin.getStyle = function(t, p, cs, calc, dflt) { + var rv; + if (!_supportsOpacity) if (p === "opacity") { //several versions of IE don't use the standard "opacity" property - they use things like filter:alpha(opacity=50), so we parse that here. + return _getIEOpacity(t); + } + if (!calc && t.style[p]) { + rv = t.style[p]; + } else if ((cs = cs || _getComputedStyle(t))) { + rv = cs[p] || cs.getPropertyValue(p) || cs.getPropertyValue(p.replace(_capsExp, "-$1").toLowerCase()); + } else if (t.currentStyle) { + rv = t.currentStyle[p]; + } + return (dflt != null && (!rv || rv === "none" || rv === "auto" || rv === "auto auto")) ? dflt : rv; + }, + + /** + * @private Pass the target element, the property name, the numeric value, and the suffix (like "%", "em", "px", etc.) and it will spit back the equivalent pixel number. + * @param {!Object} t Target element + * @param {!string} p Property name (like "left", "top", "marginLeft", etc.) + * @param {!number} v Value + * @param {string=} sfx Suffix (like "px" or "%" or "em") + * @param {boolean=} recurse If true, the call is a recursive one. In some browsers (like IE7/8), occasionally the value isn't accurately reported initially, but if we run the function again it will take effect. + * @return {number} value in pixels + */ + _convertToPixels = _internals.convertToPixels = function(t, p, v, sfx, recurse) { + if (sfx === "px" || !sfx) { return v; } + if (sfx === "auto" || !v) { return 0; } + var horiz = _horizExp.test(p), + node = t, + style = _tempDiv.style, + neg = (v < 0), + pix, cache, time; + if (neg) { + v = -v; + } + if (sfx === "%" && p.indexOf("border") !== -1) { + pix = (v / 100) * (horiz ? t.clientWidth : t.clientHeight); + } else { + style.cssText = "border:0 solid red;position:" + _getStyle(t, "position") + ";line-height:0;"; + if (sfx === "%" || !node.appendChild || sfx.charAt(0) === "v" || sfx === "rem") { + node = t.parentNode || _doc.body; + cache = node._gsCache; + time = TweenLite.ticker.frame; + if (cache && horiz && cache.time === time) { //performance optimization: we record the width of elements along with the ticker frame so that we can quickly get it again on the same tick (seems relatively safe to assume it wouldn't change on the same tick) + return cache.width * v / 100; + } + style[(horiz ? "width" : "height")] = v + sfx; + } else { + style[(horiz ? "borderLeftWidth" : "borderTopWidth")] = v + sfx; + } + node.appendChild(_tempDiv); + pix = parseFloat(_tempDiv[(horiz ? "offsetWidth" : "offsetHeight")]); + node.removeChild(_tempDiv); + if (horiz && sfx === "%" && CSSPlugin.cacheWidths !== false) { + cache = node._gsCache = node._gsCache || {}; + cache.time = time; + cache.width = pix / v * 100; + } + if (pix === 0 && !recurse) { + pix = _convertToPixels(t, p, v, sfx, true); + } + } + return neg ? -pix : pix; + }, + _calculateOffset = _internals.calculateOffset = function(t, p, cs) { //for figuring out "top" or "left" in px when it's "auto". We need to factor in margin with the offsetLeft/offsetTop + if (_getStyle(t, "position", cs) !== "absolute") { return 0; } + var dim = ((p === "left") ? "Left" : "Top"), + v = _getStyle(t, "margin" + dim, cs); + return t["offset" + dim] - (_convertToPixels(t, p, parseFloat(v), v.replace(_suffixExp, "")) || 0); + }, + + // @private returns at object containing ALL of the style properties in camelCase and their associated values. + _getAllStyles = function(t, cs) { + var s = {}, + i, tr, p; + if ((cs = cs || _getComputedStyle(t, null))) { + if ((i = cs.length)) { + while (--i > -1) { + p = cs[i]; + if (p.indexOf("-transform") === -1 || _transformPropCSS === p) { //Some webkit browsers duplicate transform values, one non-prefixed and one prefixed ("transform" and "WebkitTransform"), so we must weed out the extra one here. + s[p.replace(_camelExp, _camelFunc)] = cs.getPropertyValue(p); + } + } + } else { //some browsers behave differently - cs.length is always 0, so we must do a for...in loop. + for (i in cs) { + if (i.indexOf("Transform") === -1 || _transformProp === i) { //Some webkit browsers duplicate transform values, one non-prefixed and one prefixed ("transform" and "WebkitTransform"), so we must weed out the extra one here. + s[i] = cs[i]; + } + } + } + } else if ((cs = t.currentStyle || t.style)) { + for (i in cs) { + if (typeof(i) === "string" && s[i] === undefined) { + s[i.replace(_camelExp, _camelFunc)] = cs[i]; + } + } + } + if (!_supportsOpacity) { + s.opacity = _getIEOpacity(t); + } + tr = _getTransform(t, cs, false); + s.rotation = tr.rotation; + s.skewX = tr.skewX; + s.scaleX = tr.scaleX; + s.scaleY = tr.scaleY; + s.x = tr.x; + s.y = tr.y; + if (_supports3D) { + s.z = tr.z; + s.rotationX = tr.rotationX; + s.rotationY = tr.rotationY; + s.scaleZ = tr.scaleZ; + } + if (s.filters) { + delete s.filters; + } + return s; + }, + + // @private analyzes two style objects (as returned by _getAllStyles()) and only looks for differences between them that contain tweenable values (like a number or color). It returns an object with a "difs" property which refers to an object containing only those isolated properties and values for tweening, and a "firstMPT" property which refers to the first MiniPropTween instance in a linked list that recorded all the starting values of the different properties so that we can revert to them at the end or beginning of the tween - we don't want the cascading to get messed up. The forceLookup parameter is an optional generic object with properties that should be forced into the results - this is necessary for className tweens that are overwriting others because imagine a scenario where a rollover/rollout adds/removes a class and the user swipes the mouse over the target SUPER fast, thus nothing actually changed yet and the subsequent comparison of the properties would indicate they match (especially when px rounding is taken into consideration), thus no tweening is necessary even though it SHOULD tween and remove those properties after the tween (otherwise the inline styles will contaminate things). See the className SpecialProp code for details. + _cssDif = function(t, s1, s2, vars, forceLookup) { + var difs = {}, + style = t.style, + val, p, mpt; + for (p in s2) { + if (p !== "cssText") if (p !== "length") if (isNaN(p)) if (s1[p] !== (val = s2[p]) || (forceLookup && forceLookup[p])) if (p.indexOf("Origin") === -1) if (typeof(val) === "number" || typeof(val) === "string") { + difs[p] = (val === "auto" && (p === "left" || p === "top")) ? _calculateOffset(t, p) : ((val === "" || val === "auto" || val === "none") && typeof(s1[p]) === "string" && s1[p].replace(_NaNExp, "") !== "") ? 0 : val; //if the ending value is defaulting ("" or "auto"), we check the starting value and if it can be parsed into a number (a string which could have a suffix too, like 700px), then we swap in 0 for "" or "auto" so that things actually tween. + if (style[p] !== undefined) { //for className tweens, we must remember which properties already existed inline - the ones that didn't should be removed when the tween isn't in progress because they were only introduced to facilitate the transition between classes. + mpt = new MiniPropTween(style, p, style[p], mpt); + } + } + } + if (vars) { + for (p in vars) { //copy properties (except className) + if (p !== "className") { + difs[p] = vars[p]; + } + } + } + return {difs:difs, firstMPT:mpt}; + }, + _dimensions = {width:["Left","Right"], height:["Top","Bottom"]}, + _margins = ["marginLeft","marginRight","marginTop","marginBottom"], + + /** + * @private Gets the width or height of an element + * @param {!Object} t Target element + * @param {!string} p Property name ("width" or "height") + * @param {Object=} cs Computed style object (if one exists). Just a speed optimization. + * @return {number} Dimension (in pixels) + */ + _getDimension = function(t, p, cs) { + var v = parseFloat((p === "width") ? t.offsetWidth : t.offsetHeight), + a = _dimensions[p], + i = a.length; + cs = cs || _getComputedStyle(t, null); + while (--i > -1) { + v -= parseFloat( _getStyle(t, "padding" + a[i], cs, true) ) || 0; + v -= parseFloat( _getStyle(t, "border" + a[i] + "Width", cs, true) ) || 0; + } + return v; + }, + + // @private Parses position-related complex strings like "top left" or "50px 10px" or "70% 20%", etc. which are used for things like transformOrigin or backgroundPosition. Optionally decorates a supplied object (recObj) with the following properties: "ox" (offsetX), "oy" (offsetY), "oxp" (if true, "ox" is a percentage not a pixel value), and "oxy" (if true, "oy" is a percentage not a pixel value) + _parsePosition = function(v, recObj) { + if (v === "contain" || v === "auto" || v === "auto auto") { + return v + " "; + } + if (v == null || v === "") { //note: Firefox uses "auto auto" as default whereas Chrome uses "auto". + v = "0 0"; + } + var a = v.split(" "), + x = (v.indexOf("left") !== -1) ? "0%" : (v.indexOf("right") !== -1) ? "100%" : a[0], + y = (v.indexOf("top") !== -1) ? "0%" : (v.indexOf("bottom") !== -1) ? "100%" : a[1]; + if (y == null) { + y = (x === "center") ? "50%" : "0"; + } else if (y === "center") { + y = "50%"; + } + if (x === "center" || (isNaN(parseFloat(x)) && (x + "").indexOf("=") === -1)) { //remember, the user could flip-flop the values and say "bottom center" or "center bottom", etc. "center" is ambiguous because it could be used to describe horizontal or vertical, hence the isNaN(). If there's an "=" sign in the value, it's relative. + x = "50%"; + } + v = x + " " + y + ((a.length > 2) ? " " + a[2] : ""); + if (recObj) { + recObj.oxp = (x.indexOf("%") !== -1); + recObj.oyp = (y.indexOf("%") !== -1); + recObj.oxr = (x.charAt(1) === "="); + recObj.oyr = (y.charAt(1) === "="); + recObj.ox = parseFloat(x.replace(_NaNExp, "")); + recObj.oy = parseFloat(y.replace(_NaNExp, "")); + recObj.v = v; + } + return recObj || v; + }, + + /** + * @private Takes an ending value (typically a string, but can be a number) and a starting value and returns the change between the two, looking for relative value indicators like += and -= and it also ignores suffixes (but make sure the ending value starts with a number or +=/-= and that the starting value is a NUMBER!) + * @param {(number|string)} e End value which is typically a string, but could be a number + * @param {(number|string)} b Beginning value which is typically a string but could be a number + * @return {number} Amount of change between the beginning and ending values (relative values that have a "+=" or "-=" are recognized) + */ + _parseChange = function(e, b) { + return (typeof(e) === "string" && e.charAt(1) === "=") ? parseInt(e.charAt(0) + "1", 10) * parseFloat(e.substr(2)) : parseFloat(e) - parseFloat(b); + }, + + /** + * @private Takes a value and a default number, checks if the value is relative, null, or numeric and spits back a normalized number accordingly. Primarily used in the _parseTransform() function. + * @param {Object} v Value to be parsed + * @param {!number} d Default value (which is also used for relative calculations if "+=" or "-=" is found in the first parameter) + * @return {number} Parsed value + */ + _parseVal = function(v, d) { + return (v == null) ? d : (typeof(v) === "string" && v.charAt(1) === "=") ? parseInt(v.charAt(0) + "1", 10) * parseFloat(v.substr(2)) + d : parseFloat(v); + }, + + /** + * @private Translates strings like "40deg" or "40" or 40rad" or "+=40deg" or "270_short" or "-90_cw" or "+=45_ccw" to a numeric radian angle. Of course a starting/default value must be fed in too so that relative values can be calculated properly. + * @param {Object} v Value to be parsed + * @param {!number} d Default value (which is also used for relative calculations if "+=" or "-=" is found in the first parameter) + * @param {string=} p property name for directionalEnd (optional - only used when the parsed value is directional ("_short", "_cw", or "_ccw" suffix). We need a way to store the uncompensated value so that at the end of the tween, we set it to exactly what was requested with no directional compensation). Property name would be "rotation", "rotationX", or "rotationY" + * @param {Object=} directionalEnd An object that will store the raw end values for directional angles ("_short", "_cw", or "_ccw" suffix). We need a way to store the uncompensated value so that at the end of the tween, we set it to exactly what was requested with no directional compensation. + * @return {number} parsed angle in radians + */ + _parseAngle = function(v, d, p, directionalEnd) { + var min = 0.000001, + cap, split, dif, result, isRelative; + if (v == null) { + result = d; + } else if (typeof(v) === "number") { + result = v; + } else { + cap = 360; + split = v.split("_"); + isRelative = (v.charAt(1) === "="); + dif = (isRelative ? parseInt(v.charAt(0) + "1", 10) * parseFloat(split[0].substr(2)) : parseFloat(split[0])) * ((v.indexOf("rad") === -1) ? 1 : _RAD2DEG) - (isRelative ? 0 : d); + if (split.length) { + if (directionalEnd) { + directionalEnd[p] = d + dif; + } + if (v.indexOf("short") !== -1) { + dif = dif % cap; + if (dif !== dif % (cap / 2)) { + dif = (dif < 0) ? dif + cap : dif - cap; + } + } + if (v.indexOf("_cw") !== -1 && dif < 0) { + dif = ((dif + cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } else if (v.indexOf("ccw") !== -1 && dif > 0) { + dif = ((dif - cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } + } + result = d + dif; + } + if (result < min && result > -min) { + result = 0; + } + return result; + }, + + _colorLookup = {aqua:[0,255,255], + lime:[0,255,0], + silver:[192,192,192], + black:[0,0,0], + maroon:[128,0,0], + teal:[0,128,128], + blue:[0,0,255], + navy:[0,0,128], + white:[255,255,255], + fuchsia:[255,0,255], + olive:[128,128,0], + yellow:[255,255,0], + orange:[255,165,0], + gray:[128,128,128], + purple:[128,0,128], + green:[0,128,0], + red:[255,0,0], + pink:[255,192,203], + cyan:[0,255,255], + transparent:[255,255,255,0]}, + + _hue = function(h, m1, m2) { + h = (h < 0) ? h + 1 : (h > 1) ? h - 1 : h; + return ((((h * 6 < 1) ? m1 + (m2 - m1) * h * 6 : (h < 0.5) ? m2 : (h * 3 < 2) ? m1 + (m2 - m1) * (2 / 3 - h) * 6 : m1) * 255) + 0.5) | 0; + }, + + /** + * @private Parses a color (like #9F0, #FF9900, rgb(255,51,153) or hsl(108, 50%, 10%)) into an array with 3 elements for red, green, and blue or if toHSL parameter is true, it will populate the array with hue, saturation, and lightness values. If a relative value is found in an hsl() or hsla() string, it will preserve those relative prefixes and all the values in the array will be strings instead of numbers (in all other cases it will be populated with numbers). + * @param {(string|number)} v The value the should be parsed which could be a string like #9F0 or rgb(255,102,51) or rgba(255,0,0,0.5) or it could be a number like 0xFF00CC or even a named color like red, blue, purple, etc. + * @param {(boolean)} toHSL If true, an hsl() or hsla() value will be returned instead of rgb() or rgba() + * @return {Array.} An array containing red, green, and blue (and optionally alpha) in that order, or if the toHSL parameter was true, the array will contain hue, saturation and lightness (and optionally alpha) in that order. Always numbers unless there's a relative prefix found in an hsl() or hsla() string and toHSL is true. + */ + _parseColor = CSSPlugin.parseColor = function(v, toHSL) { + var a, r, g, b, h, s, l, max, min, d, wasHSL; + if (!v) { + a = _colorLookup.black; + } else if (typeof(v) === "number") { + a = [v >> 16, (v >> 8) & 255, v & 255]; + } else { + if (v.charAt(v.length - 1) === ",") { //sometimes a trailing comma is included and we should chop it off (typically from a comma-delimited list of values like a textShadow:"2px 2px 2px blue, 5px 5px 5px rgb(255,0,0)" - in this example "blue," has a trailing comma. We could strip it out inside parseComplex() but we'd need to do it to the beginning and ending values plus it wouldn't provide protection from other potential scenarios like if the user passes in a similar value. + v = v.substr(0, v.length - 1); + } + if (_colorLookup[v]) { + a = _colorLookup[v]; + } else if (v.charAt(0) === "#") { + if (v.length === 4) { //for shorthand like #9F0 + r = v.charAt(1); + g = v.charAt(2); + b = v.charAt(3); + v = "#" + r + r + g + g + b + b; + } + v = parseInt(v.substr(1), 16); + a = [v >> 16, (v >> 8) & 255, v & 255]; + } else if (v.substr(0, 3) === "hsl") { + a = wasHSL = v.match(_numExp); + if (!toHSL) { + h = (Number(a[0]) % 360) / 360; + s = Number(a[1]) / 100; + l = Number(a[2]) / 100; + g = (l <= 0.5) ? l * (s + 1) : l + s - l * s; + r = l * 2 - g; + if (a.length > 3) { + a[3] = Number(v[3]); + } + a[0] = _hue(h + 1 / 3, r, g); + a[1] = _hue(h, r, g); + a[2] = _hue(h - 1 / 3, r, g); + } else if (v.indexOf("=") !== -1) { //if relative values are found, just return the raw strings with the relative prefixes in place. + return v.match(_relNumExp); + } + } else { + a = v.match(_numExp) || _colorLookup.transparent; + } + a[0] = Number(a[0]); + a[1] = Number(a[1]); + a[2] = Number(a[2]); + if (a.length > 3) { + a[3] = Number(a[3]); + } + } + if (toHSL && !wasHSL) { + r = a[0] / 255; + g = a[1] / 255; + b = a[2] / 255; + max = Math.max(r, g, b); + min = Math.min(r, g, b); + l = (max + min) / 2; + if (max === min) { + h = s = 0; + } else { + d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + h = (max === r) ? (g - b) / d + (g < b ? 6 : 0) : (max === g) ? (b - r) / d + 2 : (r - g) / d + 4; + h *= 60; + } + a[0] = (h + 0.5) | 0; + a[1] = (s * 100 + 0.5) | 0; + a[2] = (l * 100 + 0.5) | 0; + } + return a; + }, + _formatColors = function(s, toHSL) { + var colors = s.match(_colorExp) || [], + charIndex = 0, + parsed = colors.length ? "" : s, + i, color, temp; + for (i = 0; i < colors.length; i++) { + color = colors[i]; + temp = s.substr(charIndex, s.indexOf(color, charIndex)-charIndex); + charIndex += temp.length + color.length; + color = _parseColor(color, toHSL); + if (color.length === 3) { + color.push(1); + } + parsed += temp + (toHSL ? "hsla(" + color[0] + "," + color[1] + "%," + color[2] + "%," + color[3] : "rgba(" + color.join(",")) + ")"; + } + return parsed; + }, + _colorExp = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b"; //we'll dynamically build this Regular Expression to conserve file size. After building it, it will be able to find rgb(), rgba(), # (hexadecimal), and named color values like red, blue, purple, etc. + + for (p in _colorLookup) { + _colorExp += "|" + p + "\\b"; + } + _colorExp = new RegExp(_colorExp+")", "gi"); + + CSSPlugin.colorStringFilter = function(a) { + var combined = a[0] + a[1], + toHSL; + _colorExp.lastIndex = 0; + if (_colorExp.test(combined)) { + toHSL = (combined.indexOf("hsl(") !== -1 || combined.indexOf("hsla(") !== -1); + a[0] = _formatColors(a[0], toHSL); + a[1] = _formatColors(a[1], toHSL); + } + }; + + if (!TweenLite.defaultStringFilter) { + TweenLite.defaultStringFilter = CSSPlugin.colorStringFilter; + } + + /** + * @private Returns a formatter function that handles taking a string (or number in some cases) and returning a consistently formatted one in terms of delimiters, quantity of values, etc. For example, we may get boxShadow values defined as "0px red" or "0px 0px 10px rgb(255,0,0)" or "0px 0px 20px 20px #F00" and we need to ensure that what we get back is described with 4 numbers and a color. This allows us to feed it into the _parseComplex() method and split the values up appropriately. The neat thing about this _getFormatter() function is that the dflt defines a pattern as well as a default, so for example, _getFormatter("0px 0px 0px 0px #777", true) not only sets the default as 0px for all distances and #777 for the color, but also sets the pattern such that 4 numbers and a color will always get returned. + * @param {!string} dflt The default value and pattern to follow. So "0px 0px 0px 0px #777" will ensure that 4 numbers and a color will always get returned. + * @param {boolean=} clr If true, the values should be searched for color-related data. For example, boxShadow values typically contain a color whereas borderRadius don't. + * @param {boolean=} collapsible If true, the value is a top/left/right/bottom style one that acts like margin or padding, where if only one value is received, it's used for all 4; if 2 are received, the first is duplicated for 3rd (bottom) and the 2nd is duplicated for the 4th spot (left), etc. + * @return {Function} formatter function + */ + var _getFormatter = function(dflt, clr, collapsible, multi) { + if (dflt == null) { + return function(v) {return v;}; + } + var dColor = clr ? (dflt.match(_colorExp) || [""])[0] : "", + dVals = dflt.split(dColor).join("").match(_valuesExp) || [], + pfx = dflt.substr(0, dflt.indexOf(dVals[0])), + sfx = (dflt.charAt(dflt.length - 1) === ")") ? ")" : "", + delim = (dflt.indexOf(" ") !== -1) ? " " : ",", + numVals = dVals.length, + dSfx = (numVals > 0) ? dVals[0].replace(_numExp, "") : "", + formatter; + if (!numVals) { + return function(v) {return v;}; + } + if (clr) { + formatter = function(v) { + var color, vals, i, a; + if (typeof(v) === "number") { + v += dSfx; + } else if (multi && _commasOutsideParenExp.test(v)) { + a = v.replace(_commasOutsideParenExp, "|").split("|"); + for (i = 0; i < a.length; i++) { + a[i] = formatter(a[i]); + } + return a.join(","); + } + color = (v.match(_colorExp) || [dColor])[0]; + vals = v.split(color).join("").match(_valuesExp) || []; + i = vals.length; + if (numVals > i--) { + while (++i < numVals) { + vals[i] = collapsible ? vals[(((i - 1) / 2) | 0)] : dVals[i]; + } + } + return pfx + vals.join(delim) + delim + color + sfx + (v.indexOf("inset") !== -1 ? " inset" : ""); + }; + return formatter; + + } + formatter = function(v) { + var vals, a, i; + if (typeof(v) === "number") { + v += dSfx; + } else if (multi && _commasOutsideParenExp.test(v)) { + a = v.replace(_commasOutsideParenExp, "|").split("|"); + for (i = 0; i < a.length; i++) { + a[i] = formatter(a[i]); + } + return a.join(","); + } + vals = v.match(_valuesExp) || []; + i = vals.length; + if (numVals > i--) { + while (++i < numVals) { + vals[i] = collapsible ? vals[(((i - 1) / 2) | 0)] : dVals[i]; + } + } + return pfx + vals.join(delim) + sfx; + }; + return formatter; + }, + + /** + * @private returns a formatter function that's used for edge-related values like marginTop, marginLeft, paddingBottom, paddingRight, etc. Just pass a comma-delimited list of property names related to the edges. + * @param {!string} props a comma-delimited list of property names in order from top to left, like "marginTop,marginRight,marginBottom,marginLeft" + * @return {Function} a formatter function + */ + _getEdgeParser = function(props) { + props = props.split(","); + return function(t, e, p, cssp, pt, plugin, vars) { + var a = (e + "").split(" "), + i; + vars = {}; + for (i = 0; i < 4; i++) { + vars[props[i]] = a[i] = a[i] || a[(((i - 1) / 2) >> 0)]; + } + return cssp.parse(t, vars, pt, plugin); + }; + }, + + // @private used when other plugins must tween values first, like BezierPlugin or ThrowPropsPlugin, etc. That plugin's setRatio() gets called first so that the values are updated, and then we loop through the MiniPropTweens which handle copying the values into their appropriate slots so that they can then be applied correctly in the main CSSPlugin setRatio() method. Remember, we typically create a proxy object that has a bunch of uniquely-named properties that we feed to the sub-plugin and it does its magic normally, and then we must interpret those values and apply them to the css because often numbers must get combined/concatenated, suffixes added, etc. to work with css, like boxShadow could have 4 values plus a color. + _setPluginRatio = _internals._setPluginRatio = function(v) { + this.plugin.setRatio(v); + var d = this.data, + proxy = d.proxy, + mpt = d.firstMPT, + min = 0.000001, + val, pt, i, str; + while (mpt) { + val = proxy[mpt.v]; + if (mpt.r) { + val = Math.round(val); + } else if (val < min && val > -min) { + val = 0; + } + mpt.t[mpt.p] = val; + mpt = mpt._next; + } + if (d.autoRotate) { + d.autoRotate.rotation = proxy.rotation; + } + //at the end, we must set the CSSPropTween's "e" (end) value dynamically here because that's what is used in the final setRatio() method. + if (v === 1) { + mpt = d.firstMPT; + while (mpt) { + pt = mpt.t; + if (!pt.type) { + pt.e = pt.s + pt.xs0; + } else if (pt.type === 1) { + str = pt.xs0 + pt.s + pt.xs1; + for (i = 1; i < pt.l; i++) { + str += pt["xn"+i] + pt["xs"+(i+1)]; + } + pt.e = str; + } + mpt = mpt._next; + } + } + }, + + /** + * @private @constructor Used by a few SpecialProps to hold important values for proxies. For example, _parseToProxy() creates a MiniPropTween instance for each property that must get tweened on the proxy, and we record the original property name as well as the unique one we create for the proxy, plus whether or not the value needs to be rounded plus the original value. + * @param {!Object} t target object whose property we're tweening (often a CSSPropTween) + * @param {!string} p property name + * @param {(number|string|object)} v value + * @param {MiniPropTween=} next next MiniPropTween in the linked list + * @param {boolean=} r if true, the tweened value should be rounded to the nearest integer + */ + MiniPropTween = function(t, p, v, next, r) { + this.t = t; + this.p = p; + this.v = v; + this.r = r; + if (next) { + next._prev = this; + this._next = next; + } + }, + + /** + * @private Most other plugins (like BezierPlugin and ThrowPropsPlugin and others) can only tween numeric values, but CSSPlugin must accommodate special values that have a bunch of extra data (like a suffix or strings between numeric values, etc.). For example, boxShadow has values like "10px 10px 20px 30px rgb(255,0,0)" which would utterly confuse other plugins. This method allows us to split that data apart and grab only the numeric data and attach it to uniquely-named properties of a generic proxy object ({}) so that we can feed that to virtually any plugin to have the numbers tweened. However, we must also keep track of which properties from the proxy go with which CSSPropTween values and instances. So we create a linked list of MiniPropTweens. Each one records a target (the original CSSPropTween), property (like "s" or "xn1" or "xn2") that we're tweening and the unique property name that was used for the proxy (like "boxShadow_xn1" and "boxShadow_xn2") and whether or not they need to be rounded. That way, in the _setPluginRatio() method we can simply copy the values over from the proxy to the CSSPropTween instance(s). Then, when the main CSSPlugin setRatio() method runs and applies the CSSPropTween values accordingly, they're updated nicely. So the external plugin tweens the numbers, _setPluginRatio() copies them over, and setRatio() acts normally, applying css-specific values to the element. + * This method returns an object that has the following properties: + * - proxy: a generic object containing the starting values for all the properties that will be tweened by the external plugin. This is what we feed to the external _onInitTween() as the target + * - end: a generic object containing the ending values for all the properties that will be tweened by the external plugin. This is what we feed to the external plugin's _onInitTween() as the destination values + * - firstMPT: the first MiniPropTween in the linked list + * - pt: the first CSSPropTween in the linked list that was created when parsing. If shallow is true, this linked list will NOT attach to the one passed into the _parseToProxy() as the "pt" (4th) parameter. + * @param {!Object} t target object to be tweened + * @param {!(Object|string)} vars the object containing the information about the tweening values (typically the end/destination values) that should be parsed + * @param {!CSSPlugin} cssp The CSSPlugin instance + * @param {CSSPropTween=} pt the next CSSPropTween in the linked list + * @param {TweenPlugin=} plugin the external TweenPlugin instance that will be handling tweening the numeric values + * @param {boolean=} shallow if true, the resulting linked list from the parse will NOT be attached to the CSSPropTween that was passed in as the "pt" (4th) parameter. + * @return An object containing the following properties: proxy, end, firstMPT, and pt (see above for descriptions) + */ + _parseToProxy = _internals._parseToProxy = function(t, vars, cssp, pt, plugin, shallow) { + var bpt = pt, + start = {}, + end = {}, + transform = cssp._transform, + oldForce = _forcePT, + i, p, xp, mpt, firstPT; + cssp._transform = null; + _forcePT = vars; + pt = firstPT = cssp.parse(t, vars, pt, plugin); + _forcePT = oldForce; + //break off from the linked list so the new ones are isolated. + if (shallow) { + cssp._transform = transform; + if (bpt) { + bpt._prev = null; + if (bpt._prev) { + bpt._prev._next = null; + } + } + } + while (pt && pt !== bpt) { + if (pt.type <= 1) { + p = pt.p; + end[p] = pt.s + pt.c; + start[p] = pt.s; + if (!shallow) { + mpt = new MiniPropTween(pt, "s", p, mpt, pt.r); + pt.c = 0; + } + if (pt.type === 1) { + i = pt.l; + while (--i > 0) { + xp = "xn" + i; + p = pt.p + "_" + xp; + end[p] = pt.data[xp]; + start[p] = pt[xp]; + if (!shallow) { + mpt = new MiniPropTween(pt, xp, p, mpt, pt.rxp[xp]); + } + } + } + } + pt = pt._next; + } + return {proxy:start, end:end, firstMPT:mpt, pt:firstPT}; + }, + + + + /** + * @constructor Each property that is tweened has at least one CSSPropTween associated with it. These instances store important information like the target, property, starting value, amount of change, etc. They can also optionally have a number of "extra" strings and numeric values named xs1, xn1, xs2, xn2, xs3, xn3, etc. where "s" indicates string and "n" indicates number. These can be pieced together in a complex-value tween (type:1) that has alternating types of data like a string, number, string, number, etc. For example, boxShadow could be "5px 5px 8px rgb(102, 102, 51)". In that value, there are 6 numbers that may need to tween and then pieced back together into a string again with spaces, suffixes, etc. xs0 is special in that it stores the suffix for standard (type:0) tweens, -OR- the first string (prefix) in a complex-value (type:1) CSSPropTween -OR- it can be the non-tweening value in a type:-1 CSSPropTween. We do this to conserve memory. + * CSSPropTweens have the following optional properties as well (not defined through the constructor): + * - l: Length in terms of the number of extra properties that the CSSPropTween has (default: 0). For example, for a boxShadow we may need to tween 5 numbers in which case l would be 5; Keep in mind that the start/end values for the first number that's tweened are always stored in the s and c properties to conserve memory. All additional values thereafter are stored in xn1, xn2, etc. + * - xfirst: The first instance of any sub-CSSPropTweens that are tweening properties of this instance. For example, we may split up a boxShadow tween so that there's a main CSSPropTween of type:1 that has various xs* and xn* values associated with the h-shadow, v-shadow, blur, color, etc. Then we spawn a CSSPropTween for each of those that has a higher priority and runs BEFORE the main CSSPropTween so that the values are all set by the time it needs to re-assemble them. The xfirst gives us an easy way to identify the first one in that chain which typically ends at the main one (because they're all prepende to the linked list) + * - plugin: The TweenPlugin instance that will handle the tweening of any complex values. For example, sometimes we don't want to use normal subtweens (like xfirst refers to) to tween the values - we might want ThrowPropsPlugin or BezierPlugin some other plugin to do the actual tweening, so we create a plugin instance and store a reference here. We need this reference so that if we get a request to round values or disable a tween, we can pass along that request. + * - data: Arbitrary data that needs to be stored with the CSSPropTween. Typically if we're going to have a plugin handle the tweening of a complex-value tween, we create a generic object that stores the END values that we're tweening to and the CSSPropTween's xs1, xs2, etc. have the starting values. We store that object as data. That way, we can simply pass that object to the plugin and use the CSSPropTween as the target. + * - setRatio: Only used for type:2 tweens that require custom functionality. In this case, we call the CSSPropTween's setRatio() method and pass the ratio each time the tween updates. This isn't quite as efficient as doing things directly in the CSSPlugin's setRatio() method, but it's very convenient and flexible. + * @param {!Object} t Target object whose property will be tweened. Often a DOM element, but not always. It could be anything. + * @param {string} p Property to tween (name). For example, to tween element.width, p would be "width". + * @param {number} s Starting numeric value + * @param {number} c Change in numeric value over the course of the entire tween. For example, if element.width starts at 5 and should end at 100, c would be 95. + * @param {CSSPropTween=} next The next CSSPropTween in the linked list. If one is defined, we will define its _prev as the new instance, and the new instance's _next will be pointed at it. + * @param {number=} type The type of CSSPropTween where -1 = a non-tweening value, 0 = a standard simple tween, 1 = a complex value (like one that has multiple numbers in a comma- or space-delimited string like border:"1px solid red"), and 2 = one that uses a custom setRatio function that does all of the work of applying the values on each update. + * @param {string=} n Name of the property that should be used for overwriting purposes which is typically the same as p but not always. For example, we may need to create a subtween for the 2nd part of a "clip:rect(...)" tween in which case "p" might be xs1 but "n" is still "clip" + * @param {boolean=} r If true, the value(s) should be rounded + * @param {number=} pr Priority in the linked list order. Higher priority CSSPropTweens will be updated before lower priority ones. The default priority is 0. + * @param {string=} b Beginning value. We store this to ensure that it is EXACTLY what it was when the tween began without any risk of interpretation issues. + * @param {string=} e Ending value. We store this to ensure that it is EXACTLY what the user defined at the end of the tween without any risk of interpretation issues. + */ + CSSPropTween = _internals.CSSPropTween = function(t, p, s, c, next, type, n, r, pr, b, e) { + this.t = t; //target + this.p = p; //property + this.s = s; //starting value + this.c = c; //change value + this.n = n || p; //name that this CSSPropTween should be associated to (usually the same as p, but not always - n is what overwriting looks at) + if (!(t instanceof CSSPropTween)) { + _overwriteProps.push(this.n); + } + this.r = r; //round (boolean) + this.type = type || 0; //0 = normal tween, -1 = non-tweening (in which case xs0 will be applied to the target's property, like tp.t[tp.p] = tp.xs0), 1 = complex-value SpecialProp, 2 = custom setRatio() that does all the work + if (pr) { + this.pr = pr; + _hasPriority = true; + } + this.b = (b === undefined) ? s : b; + this.e = (e === undefined) ? s + c : e; + if (next) { + this._next = next; + next._prev = this; + } + }, + + _addNonTweeningNumericPT = function(target, prop, start, end, next, overwriteProp) { //cleans up some code redundancies and helps minification. Just a fast way to add a NUMERIC non-tweening CSSPropTween + var pt = new CSSPropTween(target, prop, start, end - start, next, -1, overwriteProp); + pt.b = start; + pt.e = pt.xs0 = end; + return pt; + }, + + /** + * Takes a target, the beginning value and ending value (as strings) and parses them into a CSSPropTween (possibly with child CSSPropTweens) that accommodates multiple numbers, colors, comma-delimited values, etc. For example: + * sp.parseComplex(element, "boxShadow", "5px 10px 20px rgb(255,102,51)", "0px 0px 0px red", true, "0px 0px 0px rgb(0,0,0,0)", pt); + * It will walk through the beginning and ending values (which should be in the same format with the same number and type of values) and figure out which parts are numbers, what strings separate the numeric/tweenable values, and then create the CSSPropTweens accordingly. If a plugin is defined, no child CSSPropTweens will be created. Instead, the ending values will be stored in the "data" property of the returned CSSPropTween like: {s:-5, xn1:-10, xn2:-20, xn3:255, xn4:0, xn5:0} so that it can be fed to any other plugin and it'll be plain numeric tweens but the recomposition of the complex value will be handled inside CSSPlugin's setRatio(). + * If a setRatio is defined, the type of the CSSPropTween will be set to 2 and recomposition of the values will be the responsibility of that method. + * + * @param {!Object} t Target whose property will be tweened + * @param {!string} p Property that will be tweened (its name, like "left" or "backgroundColor" or "boxShadow") + * @param {string} b Beginning value + * @param {string} e Ending value + * @param {boolean} clrs If true, the value could contain a color value like "rgb(255,0,0)" or "#F00" or "red". The default is false, so no colors will be recognized (a performance optimization) + * @param {(string|number|Object)} dflt The default beginning value that should be used if no valid beginning value is defined or if the number of values inside the complex beginning and ending values don't match + * @param {?CSSPropTween} pt CSSPropTween instance that is the current head of the linked list (we'll prepend to this). + * @param {number=} pr Priority in the linked list order. Higher priority properties will be updated before lower priority ones. The default priority is 0. + * @param {TweenPlugin=} plugin If a plugin should handle the tweening of extra properties, pass the plugin instance here. If one is defined, then NO subtweens will be created for any extra properties (the properties will be created - just not additional CSSPropTween instances to tween them) because the plugin is expected to do so. However, the end values WILL be populated in the "data" property, like {s:100, xn1:50, xn2:300} + * @param {function(number)=} setRatio If values should be set in a custom function instead of being pieced together in a type:1 (complex-value) CSSPropTween, define that custom function here. + * @return {CSSPropTween} The first CSSPropTween in the linked list which includes the new one(s) added by the parseComplex() call. + */ + _parseComplex = CSSPlugin.parseComplex = function(t, p, b, e, clrs, dflt, pt, pr, plugin, setRatio) { + //DEBUG: _log("parseComplex: "+p+", b: "+b+", e: "+e); + b = b || dflt || ""; + pt = new CSSPropTween(t, p, 0, 0, pt, (setRatio ? 2 : 1), null, false, pr, b, e); + e += ""; //ensures it's a string + var ba = b.split(", ").join(",").split(" "), //beginning array + ea = e.split(", ").join(",").split(" "), //ending array + l = ba.length, + autoRound = (_autoRound !== false), + i, xi, ni, bv, ev, bnums, enums, bn, hasAlpha, temp, cv, str, useHSL; + if (e.indexOf(",") !== -1 || b.indexOf(",") !== -1) { + ba = ba.join(" ").replace(_commasOutsideParenExp, ", ").split(" "); + ea = ea.join(" ").replace(_commasOutsideParenExp, ", ").split(" "); + l = ba.length; + } + if (l !== ea.length) { + //DEBUG: _log("mismatched formatting detected on " + p + " (" + b + " vs " + e + ")"); + ba = (dflt || "").split(" "); + l = ba.length; + } + pt.plugin = plugin; + pt.setRatio = setRatio; + _colorExp.lastIndex = 0; + for (i = 0; i < l; i++) { + bv = ba[i]; + ev = ea[i]; + bn = parseFloat(bv); + //if the value begins with a number (most common). It's fine if it has a suffix like px + if (bn || bn === 0) { + pt.appendXtra("", bn, _parseChange(ev, bn), ev.replace(_relNumExp, ""), (autoRound && ev.indexOf("px") !== -1), true); + + //if the value is a color + } else if (clrs && _colorExp.test(bv)) { + str = ev.charAt(ev.length - 1) === "," ? ")," : ")"; //if there's a comma at the end, retain it. + useHSL = (ev.indexOf("hsl") !== -1 && _supportsOpacity); + bv = _parseColor(bv, useHSL); + ev = _parseColor(ev, useHSL); + hasAlpha = (bv.length + ev.length > 6); + if (hasAlpha && !_supportsOpacity && ev[3] === 0) { //older versions of IE don't support rgba(), so if the destination alpha is 0, just use "transparent" for the end color + pt["xs" + pt.l] += pt.l ? " transparent" : "transparent"; + pt.e = pt.e.split(ea[i]).join("transparent"); + } else { + if (!_supportsOpacity) { //old versions of IE don't support rgba(). + hasAlpha = false; + } + if (useHSL) { + pt.appendXtra((hasAlpha ? "hsla(" : "hsl("), bv[0], _parseChange(ev[0], bv[0]), ",", false, true) + .appendXtra("", bv[1], _parseChange(ev[1], bv[1]), "%,", false) + .appendXtra("", bv[2], _parseChange(ev[2], bv[2]), (hasAlpha ? "%," : "%" + str), false); + } else { + pt.appendXtra((hasAlpha ? "rgba(" : "rgb("), bv[0], ev[0] - bv[0], ",", true, true) + .appendXtra("", bv[1], ev[1] - bv[1], ",", true) + .appendXtra("", bv[2], ev[2] - bv[2], (hasAlpha ? "," : str), true); + } + + if (hasAlpha) { + bv = (bv.length < 4) ? 1 : bv[3]; + pt.appendXtra("", bv, ((ev.length < 4) ? 1 : ev[3]) - bv, str, false); + } + } + _colorExp.lastIndex = 0; //otherwise the test() on the RegExp could move the lastIndex and taint future results. + + } else { + bnums = bv.match(_numExp); //gets each group of numbers in the beginning value string and drops them into an array + + //if no number is found, treat it as a non-tweening value and just append the string to the current xs. + if (!bnums) { + pt["xs" + pt.l] += pt.l ? " " + bv : bv; + + //loop through all the numbers that are found and construct the extra values on the pt. + } else { + enums = ev.match(_relNumExp); //get each group of numbers in the end value string and drop them into an array. We allow relative values too, like +=50 or -=.5 + if (!enums || enums.length !== bnums.length) { + //DEBUG: _log("mismatched formatting detected on " + p + " (" + b + " vs " + e + ")"); + return pt; + } + ni = 0; + for (xi = 0; xi < bnums.length; xi++) { + cv = bnums[xi]; + temp = bv.indexOf(cv, ni); + pt.appendXtra(bv.substr(ni, temp - ni), Number(cv), _parseChange(enums[xi], cv), "", (autoRound && bv.substr(temp + cv.length, 2) === "px"), (xi === 0)); + ni = temp + cv.length; + } + pt["xs" + pt.l] += bv.substr(ni); + } + } + } + //if there are relative values ("+=" or "-=" prefix), we need to adjust the ending value to eliminate the prefixes and combine the values properly. + if (e.indexOf("=") !== -1) if (pt.data) { + str = pt.xs0 + pt.data.s; + for (i = 1; i < pt.l; i++) { + str += pt["xs" + i] + pt.data["xn" + i]; + } + pt.e = str + pt["xs" + i]; + } + if (!pt.l) { + pt.type = -1; + pt.xs0 = pt.e; + } + return pt.xfirst || pt; + }, + i = 9; + + + p = CSSPropTween.prototype; + p.l = p.pr = 0; //length (number of extra properties like xn1, xn2, xn3, etc. + while (--i > 0) { + p["xn" + i] = 0; + p["xs" + i] = ""; + } + p.xs0 = ""; + p._next = p._prev = p.xfirst = p.data = p.plugin = p.setRatio = p.rxp = null; + + + /** + * Appends and extra tweening value to a CSSPropTween and automatically manages any prefix and suffix strings. The first extra value is stored in the s and c of the main CSSPropTween instance, but thereafter any extras are stored in the xn1, xn2, xn3, etc. The prefixes and suffixes are stored in the xs0, xs1, xs2, etc. properties. For example, if I walk through a clip value like "rect(10px, 5px, 0px, 20px)", the values would be stored like this: + * xs0:"rect(", s:10, xs1:"px, ", xn1:5, xs2:"px, ", xn2:0, xs3:"px, ", xn3:20, xn4:"px)" + * And they'd all get joined together when the CSSPlugin renders (in the setRatio() method). + * @param {string=} pfx Prefix (if any) + * @param {!number} s Starting value + * @param {!number} c Change in numeric value over the course of the entire tween. For example, if the start is 5 and the end is 100, the change would be 95. + * @param {string=} sfx Suffix (if any) + * @param {boolean=} r Round (if true). + * @param {boolean=} pad If true, this extra value should be separated by the previous one by a space. If there is no previous extra and pad is true, it will automatically drop the space. + * @return {CSSPropTween} returns itself so that multiple methods can be chained together. + */ + p.appendXtra = function(pfx, s, c, sfx, r, pad) { + var pt = this, + l = pt.l; + pt["xs" + l] += (pad && l) ? " " + pfx : pfx || ""; + if (!c) if (l !== 0 && !pt.plugin) { //typically we'll combine non-changing values right into the xs to optimize performance, but we don't combine them when there's a plugin that will be tweening the values because it may depend on the values being split apart, like for a bezier, if a value doesn't change between the first and second iteration but then it does on the 3rd, we'll run into trouble because there's no xn slot for that value! + pt["xs" + l] += s + (sfx || ""); + return pt; + } + pt.l++; + pt.type = pt.setRatio ? 2 : 1; + pt["xs" + pt.l] = sfx || ""; + if (l > 0) { + pt.data["xn" + l] = s + c; + pt.rxp["xn" + l] = r; //round extra property (we need to tap into this in the _parseToProxy() method) + pt["xn" + l] = s; + if (!pt.plugin) { + pt.xfirst = new CSSPropTween(pt, "xn" + l, s, c, pt.xfirst || pt, 0, pt.n, r, pt.pr); + pt.xfirst.xs0 = 0; //just to ensure that the property stays numeric which helps modern browsers speed up processing. Remember, in the setRatio() method, we do pt.t[pt.p] = val + pt.xs0 so if pt.xs0 is "" (the default), it'll cast the end value as a string. When a property is a number sometimes and a string sometimes, it prevents the compiler from locking in the data type, slowing things down slightly. + } + return pt; + } + pt.data = {s:s + c}; + pt.rxp = {}; + pt.s = s; + pt.c = c; + pt.r = r; + return pt; + }; + + /** + * @constructor A SpecialProp is basically a css property that needs to be treated in a non-standard way, like if it may contain a complex value like boxShadow:"5px 10px 15px rgb(255, 102, 51)" or if it is associated with another plugin like ThrowPropsPlugin or BezierPlugin. Every SpecialProp is associated with a particular property name like "boxShadow" or "throwProps" or "bezier" and it will intercept those values in the vars object that's passed to the CSSPlugin and handle them accordingly. + * @param {!string} p Property name (like "boxShadow" or "throwProps") + * @param {Object=} options An object containing any of the following configuration options: + * - defaultValue: the default value + * - parser: A function that should be called when the associated property name is found in the vars. This function should return a CSSPropTween instance and it should ensure that it is properly inserted into the linked list. It will receive 4 paramters: 1) The target, 2) The value defined in the vars, 3) The CSSPlugin instance (whose _firstPT should be used for the linked list), and 4) A computed style object if one was calculated (this is a speed optimization that allows retrieval of starting values quicker) + * - formatter: a function that formats any value received for this special property (for example, boxShadow could take "5px 5px red" and format it to "5px 5px 0px 0px red" so that both the beginning and ending values have a common order and quantity of values.) + * - prefix: if true, we'll determine whether or not this property requires a vendor prefix (like Webkit or Moz or ms or O) + * - color: set this to true if the value for this SpecialProp may contain color-related values like rgb(), rgba(), etc. + * - priority: priority in the linked list order. Higher priority SpecialProps will be updated before lower priority ones. The default priority is 0. + * - multi: if true, the formatter should accommodate a comma-delimited list of values, like boxShadow could have multiple boxShadows listed out. + * - collapsible: if true, the formatter should treat the value like it's a top/right/bottom/left value that could be collapsed, like "5px" would apply to all, "5px, 10px" would use 5px for top/bottom and 10px for right/left, etc. + * - keyword: a special keyword that can [optionally] be found inside the value (like "inset" for boxShadow). This allows us to validate beginning/ending values to make sure they match (if the keyword is found in one, it'll be added to the other for consistency by default). + */ + var SpecialProp = function(p, options) { + options = options || {}; + this.p = options.prefix ? _checkPropPrefix(p) || p : p; + _specialProps[p] = _specialProps[this.p] = this; + this.format = options.formatter || _getFormatter(options.defaultValue, options.color, options.collapsible, options.multi); + if (options.parser) { + this.parse = options.parser; + } + this.clrs = options.color; + this.multi = options.multi; + this.keyword = options.keyword; + this.dflt = options.defaultValue; + this.pr = options.priority || 0; + }, + + //shortcut for creating a new SpecialProp that can accept multiple properties as a comma-delimited list (helps minification). dflt can be an array for multiple values (we don't do a comma-delimited list because the default value may contain commas, like rect(0px,0px,0px,0px)). We attach this method to the SpecialProp class/object instead of using a private _createSpecialProp() method so that we can tap into it externally if necessary, like from another plugin. + _registerComplexSpecialProp = _internals._registerComplexSpecialProp = function(p, options, defaults) { + if (typeof(options) !== "object") { + options = {parser:defaults}; //to make backwards compatible with older versions of BezierPlugin and ThrowPropsPlugin + } + var a = p.split(","), + d = options.defaultValue, + i, temp; + defaults = defaults || [d]; + for (i = 0; i < a.length; i++) { + options.prefix = (i === 0 && options.prefix); + options.defaultValue = defaults[i] || d; + temp = new SpecialProp(a[i], options); + } + }, + + //creates a placeholder special prop for a plugin so that the property gets caught the first time a tween of it is attempted, and at that time it makes the plugin register itself, thus taking over for all future tweens of that property. This allows us to not mandate that things load in a particular order and it also allows us to log() an error that informs the user when they attempt to tween an external plugin-related property without loading its .js file. + _registerPluginProp = function(p) { + if (!_specialProps[p]) { + var pluginName = p.charAt(0).toUpperCase() + p.substr(1) + "Plugin"; + _registerComplexSpecialProp(p, {parser:function(t, e, p, cssp, pt, plugin, vars) { + var pluginClass = _globals.com.greensock.plugins[pluginName]; + if (!pluginClass) { + _log("Error: " + pluginName + " js file not loaded."); + return pt; + } + pluginClass._cssRegister(); + return _specialProps[p].parse(t, e, p, cssp, pt, plugin, vars); + }}); + } + }; + + + p = SpecialProp.prototype; + + /** + * Alias for _parseComplex() that automatically plugs in certain values for this SpecialProp, like its property name, whether or not colors should be sensed, the default value, and priority. It also looks for any keyword that the SpecialProp defines (like "inset" for boxShadow) and ensures that the beginning and ending values have the same number of values for SpecialProps where multi is true (like boxShadow and textShadow can have a comma-delimited list) + * @param {!Object} t target element + * @param {(string|number|object)} b beginning value + * @param {(string|number|object)} e ending (destination) value + * @param {CSSPropTween=} pt next CSSPropTween in the linked list + * @param {TweenPlugin=} plugin If another plugin will be tweening the complex value, that TweenPlugin instance goes here. + * @param {function=} setRatio If a custom setRatio() method should be used to handle this complex value, that goes here. + * @return {CSSPropTween=} First CSSPropTween in the linked list + */ + p.parseComplex = function(t, b, e, pt, plugin, setRatio) { + var kwd = this.keyword, + i, ba, ea, l, bi, ei; + //if this SpecialProp's value can contain a comma-delimited list of values (like boxShadow or textShadow), we must parse them in a special way, and look for a keyword (like "inset" for boxShadow) and ensure that the beginning and ending BOTH have it if the end defines it as such. We also must ensure that there are an equal number of values specified (we can't tween 1 boxShadow to 3 for example) + if (this.multi) if (_commasOutsideParenExp.test(e) || _commasOutsideParenExp.test(b)) { + ba = b.replace(_commasOutsideParenExp, "|").split("|"); + ea = e.replace(_commasOutsideParenExp, "|").split("|"); + } else if (kwd) { + ba = [b]; + ea = [e]; + } + if (ea) { + l = (ea.length > ba.length) ? ea.length : ba.length; + for (i = 0; i < l; i++) { + b = ba[i] = ba[i] || this.dflt; + e = ea[i] = ea[i] || this.dflt; + if (kwd) { + bi = b.indexOf(kwd); + ei = e.indexOf(kwd); + if (bi !== ei) { + if (ei === -1) { //if the keyword isn't in the end value, remove it from the beginning one. + ba[i] = ba[i].split(kwd).join(""); + } else if (bi === -1) { //if the keyword isn't in the beginning, add it. + ba[i] += " " + kwd; + } + } + } + } + b = ba.join(", "); + e = ea.join(", "); + } + return _parseComplex(t, this.p, b, e, this.clrs, this.dflt, pt, this.pr, plugin, setRatio); + }; + + /** + * Accepts a target and end value and spits back a CSSPropTween that has been inserted into the CSSPlugin's linked list and conforms with all the conventions we use internally, like type:-1, 0, 1, or 2, setting up any extra property tweens, priority, etc. For example, if we have a boxShadow SpecialProp and call: + * this._firstPT = sp.parse(element, "5px 10px 20px rgb(2550,102,51)", "boxShadow", this); + * It should figure out the starting value of the element's boxShadow, compare it to the provided end value and create all the necessary CSSPropTweens of the appropriate types to tween the boxShadow. The CSSPropTween that gets spit back should already be inserted into the linked list (the 4th parameter is the current head, so prepend to that). + * @param {!Object} t Target object whose property is being tweened + * @param {Object} e End value as provided in the vars object (typically a string, but not always - like a throwProps would be an object). + * @param {!string} p Property name + * @param {!CSSPlugin} cssp The CSSPlugin instance that should be associated with this tween. + * @param {?CSSPropTween} pt The CSSPropTween that is the current head of the linked list (we'll prepend to it) + * @param {TweenPlugin=} plugin If a plugin will be used to tween the parsed value, this is the plugin instance. + * @param {Object=} vars Original vars object that contains the data for parsing. + * @return {CSSPropTween} The first CSSPropTween in the linked list which includes the new one(s) added by the parse() call. + */ + p.parse = function(t, e, p, cssp, pt, plugin, vars) { + return this.parseComplex(t.style, this.format(_getStyle(t, this.p, _cs, false, this.dflt)), this.format(e), pt, plugin); + }; + + /** + * Registers a special property that should be intercepted from any "css" objects defined in tweens. This allows you to handle them however you want without CSSPlugin doing it for you. The 2nd parameter should be a function that accepts 3 parameters: + * 1) Target object whose property should be tweened (typically a DOM element) + * 2) The end/destination value (could be a string, number, object, or whatever you want) + * 3) The tween instance (you probably don't need to worry about this, but it can be useful for looking up information like the duration) + * + * Then, your function should return a function which will be called each time the tween gets rendered, passing a numeric "ratio" parameter to your function that indicates the change factor (usually between 0 and 1). For example: + * + * CSSPlugin.registerSpecialProp("myCustomProp", function(target, value, tween) { + * var start = target.style.width; + * return function(ratio) { + * target.style.width = (start + value * ratio) + "px"; + * console.log("set width to " + target.style.width); + * } + * }, 0); + * + * Then, when I do this tween, it will trigger my special property: + * + * TweenLite.to(element, 1, {css:{myCustomProp:100}}); + * + * In the example, of course, we're just changing the width, but you can do anything you want. + * + * @param {!string} name Property name (or comma-delimited list of property names) that should be intercepted and handled by your function. For example, if I define "myCustomProp", then it would handle that portion of the following tween: TweenLite.to(element, 1, {css:{myCustomProp:100}}) + * @param {!function(Object, Object, Object, string):function(number)} onInitTween The function that will be called when a tween of this special property is performed. The function will receive 4 parameters: 1) Target object that should be tweened, 2) Value that was passed to the tween, 3) The tween instance itself (rarely used), and 4) The property name that's being tweened. Your function should return a function that should be called on every update of the tween. That function will receive a single parameter that is a "change factor" value (typically between 0 and 1) indicating the amount of change as a ratio. You can use this to determine how to set the values appropriately in your function. + * @param {number=} priority Priority that helps the engine determine the order in which to set the properties (default: 0). Higher priority properties will be updated before lower priority ones. + */ + CSSPlugin.registerSpecialProp = function(name, onInitTween, priority) { + _registerComplexSpecialProp(name, {parser:function(t, e, p, cssp, pt, plugin, vars) { + var rv = new CSSPropTween(t, p, 0, 0, pt, 2, p, false, priority); + rv.plugin = plugin; + rv.setRatio = onInitTween(t, e, cssp._tween, p); + return rv; + }, priority:priority}); + }; + + + + + + + //transform-related methods and properties + CSSPlugin.useSVGTransformAttr = _isSafari || _isFirefox; //Safari and Firefox both have some rendering bugs when applying CSS transforms to SVG elements, so default to using the "transform" attribute instead (users can override this). + var _transformProps = ("scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent").split(","), + _transformProp = _checkPropPrefix("transform"), //the Javascript (camelCase) transform property, like msTransform, WebkitTransform, MozTransform, or OTransform. + _transformPropCSS = _prefixCSS + "transform", + _transformOriginProp = _checkPropPrefix("transformOrigin"), + _supports3D = (_checkPropPrefix("perspective") !== null), + Transform = _internals.Transform = function() { + this.perspective = parseFloat(CSSPlugin.defaultTransformPerspective) || 0; + this.force3D = (CSSPlugin.defaultForce3D === false || !_supports3D) ? false : CSSPlugin.defaultForce3D || "auto"; + }, + _SVGElement = window.SVGElement, + _useSVGTransformAttr, + //Some browsers (like Firefox and IE) don't honor transform-origin properly in SVG elements, so we need to manually adjust the matrix accordingly. We feature detect here rather than always doing the conversion for certain browsers because they may fix the problem at some point in the future. + + _createSVG = function(type, container, attributes) { + var element = _doc.createElementNS("http://www.w3.org/2000/svg", type), + reg = /([a-z])([A-Z])/g, + p; + for (p in attributes) { + element.setAttributeNS(null, p.replace(reg, "$1-$2").toLowerCase(), attributes[p]); + } + container.appendChild(element); + return element; + }, + _docElement = _doc.documentElement, + _forceSVGTransformAttr = (function() { + //IE and Android stock don't support CSS transforms on SVG elements, so we must write them to the "transform" attribute. We populate this variable in the _parseTransform() method, and only if/when we come across an SVG element + var force = _ieVers || (/Android/i.test(_agent) && !window.chrome), + svg, rect, width; + if (_doc.createElementNS && !force) { //IE8 and earlier doesn't support SVG anyway + svg = _createSVG("svg", _docElement); + rect = _createSVG("rect", svg, {width:100, height:50, x:100}); + width = rect.getBoundingClientRect().width; + rect.style[_transformOriginProp] = "50% 50%"; + rect.style[_transformProp] = "scaleX(0.5)"; + force = (width === rect.getBoundingClientRect().width && !(_isFirefox && _supports3D)); //note: Firefox fails the test even though it does support CSS transforms in 3D. Since we can't push 3D stuff into the transform attribute, we force Firefox to pass the test here (as long as it does truly support 3D). + _docElement.removeChild(svg); + } + return force; + })(), + _parseSVGOrigin = function(e, local, decoratee, absolute, smoothOrigin) { + var tm = e._gsTransform, + m = _getMatrix(e, true), + v, x, y, xOrigin, yOrigin, a, b, c, d, tx, ty, determinant, xOriginOld, yOriginOld; + if (tm) { + xOriginOld = tm.xOrigin; //record the original values before we alter them. + yOriginOld = tm.yOrigin; + } + if (!absolute || (v = absolute.split(" ")).length < 2) { + b = e.getBBox(); + local = _parsePosition(local).split(" "); + v = [(local[0].indexOf("%") !== -1 ? parseFloat(local[0]) / 100 * b.width : parseFloat(local[0])) + b.x, + (local[1].indexOf("%") !== -1 ? parseFloat(local[1]) / 100 * b.height : parseFloat(local[1])) + b.y]; + } + decoratee.xOrigin = xOrigin = parseFloat(v[0]); + decoratee.yOrigin = yOrigin = parseFloat(v[1]); + if (absolute && m !== _identity2DMatrix) { //if svgOrigin is being set, we must invert the matrix and determine where the absolute point is, factoring in the current transforms. Otherwise, the svgOrigin would be based on the element's non-transformed position on the canvas. + a = m[0]; + b = m[1]; + c = m[2]; + d = m[3]; + tx = m[4]; + ty = m[5]; + determinant = (a * d - b * c); + x = xOrigin * (d / determinant) + yOrigin * (-c / determinant) + ((c * ty - d * tx) / determinant); + y = xOrigin * (-b / determinant) + yOrigin * (a / determinant) - ((a * ty - b * tx) / determinant); + xOrigin = decoratee.xOrigin = v[0] = x; + yOrigin = decoratee.yOrigin = v[1] = y; + } + if (tm) { //avoid jump when transformOrigin is changed - adjust the x/y values accordingly + if (smoothOrigin || (smoothOrigin !== false && CSSPlugin.defaultSmoothOrigin !== false)) { + x = xOrigin - xOriginOld; + y = yOrigin - yOriginOld; + //originally, we simply adjusted the x and y values, but that would cause problems if, for example, you created a rotational tween part-way through an x/y tween. Managing the offset in a separate variable gives us ultimate flexibility. + //tm.x -= x - (x * m[0] + y * m[2]); + //tm.y -= y - (x * m[1] + y * m[3]); + tm.xOffset += (x * m[0] + y * m[2]) - x; + tm.yOffset += (x * m[1] + y * m[3]) - y; + } else { + tm.xOffset = tm.yOffset = 0; + } + } + e.setAttribute("data-svg-origin", v.join(" ")); + }, + _isSVG = function(e) { + return !!(_SVGElement && typeof(e.getBBox) === "function" && e.getCTM && (!e.parentNode || (e.parentNode.getBBox && e.parentNode.getCTM))); + }, + _identity2DMatrix = [1,0,0,1,0,0], + _getMatrix = function(e, force2D) { + var tm = e._gsTransform || new Transform(), + rnd = 100000, + isDefault, s, m, n, dec; + if (_transformProp) { + s = _getStyle(e, _transformPropCSS, null, true); + } else if (e.currentStyle) { + //for older versions of IE, we need to interpret the filter portion that is in the format: progid:DXImageTransform.Microsoft.Matrix(M11=6.123233995736766e-17, M12=-1, M21=1, M22=6.123233995736766e-17, sizingMethod='auto expand') Notice that we need to swap b and c compared to a normal matrix. + s = e.currentStyle.filter.match(_ieGetMatrixExp); + s = (s && s.length === 4) ? [s[0].substr(4), Number(s[2].substr(4)), Number(s[1].substr(4)), s[3].substr(4), (tm.x || 0), (tm.y || 0)].join(",") : ""; + } + isDefault = (!s || s === "none" || s === "matrix(1, 0, 0, 1, 0, 0)"); + if (tm.svg || (e.getBBox && _isSVG(e))) { + if (isDefault && (e.style[_transformProp] + "").indexOf("matrix") !== -1) { //some browsers (like Chrome 40) don't correctly report transforms that are applied inline on an SVG element (they don't get included in the computed style), so we double-check here and accept matrix values + s = e.style[_transformProp]; + isDefault = 0; + } + m = e.getAttribute("transform"); + if (isDefault && m) { + if (m.indexOf("matrix") !== -1) { //just in case there's a "transform" value specified as an attribute instead of CSS style. Accept either a matrix() or simple translate() value though. + s = m; + isDefault = 0; + } else if (m.indexOf("translate") !== -1) { + s = "matrix(1,0,0,1," + m.match(/(?:\-|\b)[\d\-\.e]+\b/gi).join(",") + ")"; + isDefault = 0; + } + } + } + if (isDefault) { + return _identity2DMatrix; + } + //split the matrix values out into an array (m for matrix) + m = (s || "").match(/(?:\-|\b)[\d\-\.e]+\b/gi) || []; + i = m.length; + while (--i > -1) { + n = Number(m[i]); + m[i] = (dec = n - (n |= 0)) ? ((dec * rnd + (dec < 0 ? -0.5 : 0.5)) | 0) / rnd + n : n; //convert strings to Numbers and round to 5 decimal places to avoid issues with tiny numbers. Roughly 20x faster than Number.toFixed(). We also must make sure to round before dividing so that values like 0.9999999999 become 1 to avoid glitches in browser rendering and interpretation of flipped/rotated 3D matrices. And don't just multiply the number by rnd, floor it, and then divide by rnd because the bitwise operations max out at a 32-bit signed integer, thus it could get clipped at a relatively low value (like 22,000.00000 for example). + } + return (force2D && m.length > 6) ? [m[0], m[1], m[4], m[5], m[12], m[13]] : m; + }, + + /** + * Parses the transform values for an element, returning an object with x, y, z, scaleX, scaleY, scaleZ, rotation, rotationX, rotationY, skewX, and skewY properties. Note: by default (for performance reasons), all skewing is combined into skewX and rotation but skewY still has a place in the transform object so that we can record how much of the skew is attributed to skewX vs skewY. Remember, a skewY of 10 looks the same as a rotation of 10 and skewX of -10. + * @param {!Object} t target element + * @param {Object=} cs computed style object (optional) + * @param {boolean=} rec if true, the transform values will be recorded to the target element's _gsTransform object, like target._gsTransform = {x:0, y:0, z:0, scaleX:1...} + * @param {boolean=} parse if true, we'll ignore any _gsTransform values that already exist on the element, and force a reparsing of the css (calculated style) + * @return {object} object containing all of the transform properties/values like {x:0, y:0, z:0, scaleX:1...} + */ + _getTransform = _internals.getTransform = function(t, cs, rec, parse) { + if (t._gsTransform && rec && !parse) { + return t._gsTransform; //if the element already has a _gsTransform, use that. Note: some browsers don't accurately return the calculated style for the transform (particularly for SVG), so it's almost always safest to just use the values we've already applied rather than re-parsing things. + } + var tm = rec ? t._gsTransform || new Transform() : new Transform(), + invX = (tm.scaleX < 0), //in order to interpret things properly, we need to know if the user applied a negative scaleX previously so that we can adjust the rotation and skewX accordingly. Otherwise, if we always interpret a flipped matrix as affecting scaleY and the user only wants to tween the scaleX on multiple sequential tweens, it would keep the negative scaleY without that being the user's intent. + min = 0.00002, + rnd = 100000, + zOrigin = _supports3D ? parseFloat(_getStyle(t, _transformOriginProp, cs, false, "0 0 0").split(" ")[2]) || tm.zOrigin || 0 : 0, + defaultTransformPerspective = parseFloat(CSSPlugin.defaultTransformPerspective) || 0, + m, i, scaleX, scaleY, rotation, skewX; + + tm.svg = !!(t.getBBox && _isSVG(t)); + if (tm.svg) { + _parseSVGOrigin(t, _getStyle(t, _transformOriginProp, _cs, false, "50% 50%") + "", tm, t.getAttribute("data-svg-origin")); + _useSVGTransformAttr = CSSPlugin.useSVGTransformAttr || _forceSVGTransformAttr; + } + m = _getMatrix(t); + if (m !== _identity2DMatrix) { + + if (m.length === 16) { + //we'll only look at these position-related 6 variables first because if x/y/z all match, it's relatively safe to assume we don't need to re-parse everything which risks losing important rotational information (like rotationX:180 plus rotationY:180 would look the same as rotation:180 - there's no way to know for sure which direction was taken based solely on the matrix3d() values) + var a11 = m[0], a21 = m[1], a31 = m[2], a41 = m[3], + a12 = m[4], a22 = m[5], a32 = m[6], a42 = m[7], + a13 = m[8], a23 = m[9], a33 = m[10], + a14 = m[12], a24 = m[13], a34 = m[14], + a43 = m[11], + angle = Math.atan2(a32, a33), + t1, t2, t3, t4, cos, sin; + + //we manually compensate for non-zero z component of transformOrigin to work around bugs in Safari + if (tm.zOrigin) { + a34 = -tm.zOrigin; + a14 = a13*a34-m[12]; + a24 = a23*a34-m[13]; + a34 = a33*a34+tm.zOrigin-m[14]; + } + tm.rotationX = angle * _RAD2DEG; + //rotationX + if (angle) { + cos = Math.cos(-angle); + sin = Math.sin(-angle); + t1 = a12*cos+a13*sin; + t2 = a22*cos+a23*sin; + t3 = a32*cos+a33*sin; + a13 = a12*-sin+a13*cos; + a23 = a22*-sin+a23*cos; + a33 = a32*-sin+a33*cos; + a43 = a42*-sin+a43*cos; + a12 = t1; + a22 = t2; + a32 = t3; + } + //rotationY + angle = Math.atan2(a13, a33); + tm.rotationY = angle * _RAD2DEG; + if (angle) { + cos = Math.cos(-angle); + sin = Math.sin(-angle); + t1 = a11*cos-a13*sin; + t2 = a21*cos-a23*sin; + t3 = a31*cos-a33*sin; + a23 = a21*sin+a23*cos; + a33 = a31*sin+a33*cos; + a43 = a41*sin+a43*cos; + a11 = t1; + a21 = t2; + a31 = t3; + } + //rotationZ + angle = Math.atan2(a21, a11); + tm.rotation = angle * _RAD2DEG; + if (angle) { + cos = Math.cos(-angle); + sin = Math.sin(-angle); + a11 = a11*cos+a12*sin; + t2 = a21*cos+a22*sin; + a22 = a21*-sin+a22*cos; + a32 = a31*-sin+a32*cos; + a21 = t2; + } + + if (tm.rotationX && Math.abs(tm.rotationX) + Math.abs(tm.rotation) > 359.9) { //when rotationY is set, it will often be parsed as 180 degrees different than it should be, and rotationX and rotation both being 180 (it looks the same), so we adjust for that here. + tm.rotationX = tm.rotation = 0; + tm.rotationY += 180; + } + + tm.scaleX = ((Math.sqrt(a11 * a11 + a21 * a21) * rnd + 0.5) | 0) / rnd; + tm.scaleY = ((Math.sqrt(a22 * a22 + a23 * a23) * rnd + 0.5) | 0) / rnd; + tm.scaleZ = ((Math.sqrt(a32 * a32 + a33 * a33) * rnd + 0.5) | 0) / rnd; + tm.skewX = 0; + tm.perspective = a43 ? 1 / ((a43 < 0) ? -a43 : a43) : 0; + tm.x = a14; + tm.y = a24; + tm.z = a34; + if (tm.svg) { + tm.x -= tm.xOrigin - (tm.xOrigin * a11 - tm.yOrigin * a12); + tm.y -= tm.yOrigin - (tm.yOrigin * a21 - tm.xOrigin * a22); + } + + } else if ((!_supports3D || parse || !m.length || tm.x !== m[4] || tm.y !== m[5] || (!tm.rotationX && !tm.rotationY)) && !(tm.x !== undefined && _getStyle(t, "display", cs) === "none")) { //sometimes a 6-element matrix is returned even when we performed 3D transforms, like if rotationX and rotationY are 180. In cases like this, we still need to honor the 3D transforms. If we just rely on the 2D info, it could affect how the data is interpreted, like scaleY might get set to -1 or rotation could get offset by 180 degrees. For example, do a TweenLite.to(element, 1, {css:{rotationX:180, rotationY:180}}) and then later, TweenLite.to(element, 1, {css:{rotationX:0}}) and without this conditional logic in place, it'd jump to a state of being unrotated when the 2nd tween starts. Then again, we need to honor the fact that the user COULD alter the transforms outside of CSSPlugin, like by manually applying new css, so we try to sense that by looking at x and y because if those changed, we know the changes were made outside CSSPlugin and we force a reinterpretation of the matrix values. Also, in Webkit browsers, if the element's "display" is "none", its calculated style value will always return empty, so if we've already recorded the values in the _gsTransform object, we'll just rely on those. + var k = (m.length >= 6), + a = k ? m[0] : 1, + b = m[1] || 0, + c = m[2] || 0, + d = k ? m[3] : 1; + tm.x = m[4] || 0; + tm.y = m[5] || 0; + scaleX = Math.sqrt(a * a + b * b); + scaleY = Math.sqrt(d * d + c * c); + rotation = (a || b) ? Math.atan2(b, a) * _RAD2DEG : tm.rotation || 0; //note: if scaleX is 0, we cannot accurately measure rotation. Same for skewX with a scaleY of 0. Therefore, we default to the previously recorded value (or zero if that doesn't exist). + skewX = (c || d) ? Math.atan2(c, d) * _RAD2DEG + rotation : tm.skewX || 0; + if (Math.abs(skewX) > 90 && Math.abs(skewX) < 270) { + if (invX) { + scaleX *= -1; + skewX += (rotation <= 0) ? 180 : -180; + rotation += (rotation <= 0) ? 180 : -180; + } else { + scaleY *= -1; + skewX += (skewX <= 0) ? 180 : -180; + } + } + tm.scaleX = scaleX; + tm.scaleY = scaleY; + tm.rotation = rotation; + tm.skewX = skewX; + if (_supports3D) { + tm.rotationX = tm.rotationY = tm.z = 0; + tm.perspective = defaultTransformPerspective; + tm.scaleZ = 1; + } + if (tm.svg) { + tm.x -= tm.xOrigin - (tm.xOrigin * a + tm.yOrigin * c); + tm.y -= tm.yOrigin - (tm.xOrigin * b + tm.yOrigin * d); + } + } + tm.zOrigin = zOrigin; + //some browsers have a hard time with very small values like 2.4492935982947064e-16 (notice the "e-" towards the end) and would render the object slightly off. So we round to 0 in these cases. The conditional logic here is faster than calling Math.abs(). Also, browsers tend to render a SLIGHTLY rotated object in a fuzzy way, so we need to snap to exactly 0 when appropriate. + for (i in tm) { + if (tm[i] < min) if (tm[i] > -min) { + tm[i] = 0; + } + } + } + //DEBUG: _log("parsed rotation of " + t.getAttribute("id")+": "+(tm.rotationX)+", "+(tm.rotationY)+", "+(tm.rotation)+", scale: "+tm.scaleX+", "+tm.scaleY+", "+tm.scaleZ+", position: "+tm.x+", "+tm.y+", "+tm.z+", perspective: "+tm.perspective+ ", origin: "+ tm.xOrigin+ ","+ tm.yOrigin); + if (rec) { + t._gsTransform = tm; //record to the object's _gsTransform which we use so that tweens can control individual properties independently (we need all the properties to accurately recompose the matrix in the setRatio() method) + if (tm.svg) { //if we're supposed to apply transforms to the SVG element's "transform" attribute, make sure there aren't any CSS transforms applied or they'll override the attribute ones. Also clear the transform attribute if we're using CSS, just to be clean. + if (_useSVGTransformAttr && t.style[_transformProp]) { + TweenLite.delayedCall(0.001, function(){ //if we apply this right away (before anything has rendered), we risk there being no transforms for a brief moment and it also interferes with adjusting the transformOrigin in a tween with immediateRender:true (it'd try reading the matrix and it wouldn't have the appropriate data in place because we just removed it). + _removeProp(t.style, _transformProp); + }); + } else if (!_useSVGTransformAttr && t.getAttribute("transform")) { + TweenLite.delayedCall(0.001, function(){ + t.removeAttribute("transform"); + }); + } + } + } + return tm; + }, + + //for setting 2D transforms in IE6, IE7, and IE8 (must use a "filter" to emulate the behavior of modern day browser transforms) + _setIETransformRatio = function(v) { + var t = this.data, //refers to the element's _gsTransform object + ang = -t.rotation * _DEG2RAD, + skew = ang + t.skewX * _DEG2RAD, + rnd = 100000, + a = ((Math.cos(ang) * t.scaleX * rnd) | 0) / rnd, + b = ((Math.sin(ang) * t.scaleX * rnd) | 0) / rnd, + c = ((Math.sin(skew) * -t.scaleY * rnd) | 0) / rnd, + d = ((Math.cos(skew) * t.scaleY * rnd) | 0) / rnd, + style = this.t.style, + cs = this.t.currentStyle, + filters, val; + if (!cs) { + return; + } + val = b; //just for swapping the variables an inverting them (reused "val" to avoid creating another variable in memory). IE's filter matrix uses a non-standard matrix configuration (angle goes the opposite way, and b and c are reversed and inverted) + b = -c; + c = -val; + filters = cs.filter; + style.filter = ""; //remove filters so that we can accurately measure offsetWidth/offsetHeight + var w = this.t.offsetWidth, + h = this.t.offsetHeight, + clip = (cs.position !== "absolute"), + m = "progid:DXImageTransform.Microsoft.Matrix(M11=" + a + ", M12=" + b + ", M21=" + c + ", M22=" + d, + ox = t.x + (w * t.xPercent / 100), + oy = t.y + (h * t.yPercent / 100), + dx, dy; + + //if transformOrigin is being used, adjust the offset x and y + if (t.ox != null) { + dx = ((t.oxp) ? w * t.ox * 0.01 : t.ox) - w / 2; + dy = ((t.oyp) ? h * t.oy * 0.01 : t.oy) - h / 2; + ox += dx - (dx * a + dy * b); + oy += dy - (dx * c + dy * d); + } + + if (!clip) { + m += ", sizingMethod='auto expand')"; + } else { + dx = (w / 2); + dy = (h / 2); + //translate to ensure that transformations occur around the correct origin (default is center). + m += ", Dx=" + (dx - (dx * a + dy * b) + ox) + ", Dy=" + (dy - (dx * c + dy * d) + oy) + ")"; + } + if (filters.indexOf("DXImageTransform.Microsoft.Matrix(") !== -1) { + style.filter = filters.replace(_ieSetMatrixExp, m); + } else { + style.filter = m + " " + filters; //we must always put the transform/matrix FIRST (before alpha(opacity=xx)) to avoid an IE bug that slices part of the object when rotation is applied with alpha. + } + + //at the end or beginning of the tween, if the matrix is normal (1, 0, 0, 1) and opacity is 100 (or doesn't exist), remove the filter to improve browser performance. + if (v === 0 || v === 1) if (a === 1) if (b === 0) if (c === 0) if (d === 1) if (!clip || m.indexOf("Dx=0, Dy=0") !== -1) if (!_opacityExp.test(filters) || parseFloat(RegExp.$1) === 100) if (filters.indexOf("gradient(" && filters.indexOf("Alpha")) === -1) { + style.removeAttribute("filter"); + } + + //we must set the margins AFTER applying the filter in order to avoid some bugs in IE8 that could (in rare scenarios) cause them to be ignored intermittently (vibration). + if (!clip) { + var mult = (_ieVers < 8) ? 1 : -1, //in Internet Explorer 7 and before, the box model is broken, causing the browser to treat the width/height of the actual rotated filtered image as the width/height of the box itself, but Microsoft corrected that in IE8. We must use a negative offset in IE8 on the right/bottom + marg, prop, dif; + dx = t.ieOffsetX || 0; + dy = t.ieOffsetY || 0; + t.ieOffsetX = Math.round((w - ((a < 0 ? -a : a) * w + (b < 0 ? -b : b) * h)) / 2 + ox); + t.ieOffsetY = Math.round((h - ((d < 0 ? -d : d) * h + (c < 0 ? -c : c) * w)) / 2 + oy); + for (i = 0; i < 4; i++) { + prop = _margins[i]; + marg = cs[prop]; + //we need to get the current margin in case it is being tweened separately (we want to respect that tween's changes) + val = (marg.indexOf("px") !== -1) ? parseFloat(marg) : _convertToPixels(this.t, prop, parseFloat(marg), marg.replace(_suffixExp, "")) || 0; + if (val !== t[prop]) { + dif = (i < 2) ? -t.ieOffsetX : -t.ieOffsetY; //if another tween is controlling a margin, we cannot only apply the difference in the ieOffsets, so we essentially zero-out the dx and dy here in that case. We record the margin(s) later so that we can keep comparing them, making this code very flexible. + } else { + dif = (i < 2) ? dx - t.ieOffsetX : dy - t.ieOffsetY; + } + style[prop] = (t[prop] = Math.round( val - dif * ((i === 0 || i === 2) ? 1 : mult) )) + "px"; + } + } + }, + + /* translates a super small decimal to a string WITHOUT scientific notation + _safeDecimal = function(n) { + var s = (n < 0 ? -n : n) + "", + a = s.split("e-"); + return (n < 0 ? "-0." : "0.") + new Array(parseInt(a[1], 10) || 0).join("0") + a[0].split(".").join(""); + }, + */ + + _setTransformRatio = _internals.set3DTransformRatio = _internals.setTransformRatio = function(v) { + var t = this.data, //refers to the element's _gsTransform object + style = this.t.style, + angle = t.rotation, + rotationX = t.rotationX, + rotationY = t.rotationY, + sx = t.scaleX, + sy = t.scaleY, + sz = t.scaleZ, + x = t.x, + y = t.y, + z = t.z, + isSVG = t.svg, + perspective = t.perspective, + force3D = t.force3D, + a11, a12, a13, a21, a22, a23, a31, a32, a33, a41, a42, a43, + zOrigin, min, cos, sin, t1, t2, transform, comma, zero, skew, rnd; + //check to see if we should render as 2D (and SVGs must use 2D when _useSVGTransformAttr is true) + if (((((v === 1 || v === 0) && force3D === "auto" && (this.tween._totalTime === this.tween._totalDuration || !this.tween._totalTime)) || !force3D) && !z && !perspective && !rotationY && !rotationX) || (_useSVGTransformAttr && isSVG) || !_supports3D) { //on the final render (which could be 0 for a from tween), if there are no 3D aspects, render in 2D to free up memory and improve performance especially on mobile devices. Check the tween's totalTime/totalDuration too in order to make sure it doesn't happen between repeats if it's a repeating tween. + + //2D + if (angle || t.skewX || isSVG) { + angle *= _DEG2RAD; + skew = t.skewX * _DEG2RAD; + rnd = 100000; + a11 = Math.cos(angle) * sx; + a21 = Math.sin(angle) * sx; + a12 = Math.sin(angle - skew) * -sy; + a22 = Math.cos(angle - skew) * sy; + if (skew && t.skewType === "simple") { //by default, we compensate skewing on the other axis to make it look more natural, but you can set the skewType to "simple" to use the uncompensated skewing that CSS does + t1 = Math.tan(skew); + t1 = Math.sqrt(1 + t1 * t1); + a12 *= t1; + a22 *= t1; + if (t.skewY) { + a11 *= t1; + a21 *= t1; + } + } + if (isSVG) { + x += t.xOrigin - (t.xOrigin * a11 + t.yOrigin * a12) + t.xOffset; + y += t.yOrigin - (t.xOrigin * a21 + t.yOrigin * a22) + t.yOffset; + if (_useSVGTransformAttr && (t.xPercent || t.yPercent)) { //The SVG spec doesn't support percentage-based translation in the "transform" attribute, so we merge it into the matrix to simulate it. + min = this.t.getBBox(); + x += t.xPercent * 0.01 * min.width; + y += t.yPercent * 0.01 * min.height; + } + min = 0.000001; + if (x < min) if (x > -min) { + x = 0; + } + if (y < min) if (y > -min) { + y = 0; + } + } + transform = (((a11 * rnd) | 0) / rnd) + "," + (((a21 * rnd) | 0) / rnd) + "," + (((a12 * rnd) | 0) / rnd) + "," + (((a22 * rnd) | 0) / rnd) + "," + x + "," + y + ")"; + if (isSVG && _useSVGTransformAttr) { + this.t.setAttribute("transform", "matrix(" + transform); + } else { + //some browsers have a hard time with very small values like 2.4492935982947064e-16 (notice the "e-" towards the end) and would render the object slightly off. So we round to 5 decimal places. + style[_transformProp] = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) matrix(" : "matrix(") + transform; + } + } else { + style[_transformProp] = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) matrix(" : "matrix(") + sx + ",0,0," + sy + "," + x + "," + y + ")"; + } + return; + + } + if (_isFirefox) { //Firefox has a bug (at least in v25) that causes it to render the transparent part of 32-bit PNG images as black when displayed inside an iframe and the 3D scale is very small and doesn't change sufficiently enough between renders (like if you use a Power4.easeInOut to scale from 0 to 1 where the beginning values only change a tiny amount to begin the tween before accelerating). In this case, we force the scale to be 0.00002 instead which is visually the same but works around the Firefox issue. + min = 0.0001; + if (sx < min && sx > -min) { + sx = sz = 0.00002; + } + if (sy < min && sy > -min) { + sy = sz = 0.00002; + } + if (perspective && !t.z && !t.rotationX && !t.rotationY) { //Firefox has a bug that causes elements to have an odd super-thin, broken/dotted black border on elements that have a perspective set but aren't utilizing 3D space (no rotationX, rotationY, or z). + perspective = 0; + } + } + if (angle || t.skewX) { + angle *= _DEG2RAD; + cos = a11 = Math.cos(angle); + sin = a21 = Math.sin(angle); + if (t.skewX) { + angle -= t.skewX * _DEG2RAD; + cos = Math.cos(angle); + sin = Math.sin(angle); + if (t.skewType === "simple") { //by default, we compensate skewing on the other axis to make it look more natural, but you can set the skewType to "simple" to use the uncompensated skewing that CSS does + t1 = Math.tan(t.skewX * _DEG2RAD); + t1 = Math.sqrt(1 + t1 * t1); + cos *= t1; + sin *= t1; + if (t.skewY) { + a11 *= t1; + a21 *= t1; + } + } + } + a12 = -sin; + a22 = cos; + + } else if (!rotationY && !rotationX && sz === 1 && !perspective && !isSVG) { //if we're only translating and/or 2D scaling, this is faster... + style[_transformProp] = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) translate3d(" : "translate3d(") + x + "px," + y + "px," + z +"px)" + ((sx !== 1 || sy !== 1) ? " scale(" + sx + "," + sy + ")" : ""); + return; + } else { + a11 = a22 = 1; + a12 = a21 = 0; + } + // KEY INDEX AFFECTS + // a11 0 rotation, rotationY, scaleX + // a21 1 rotation, rotationY, scaleX + // a31 2 rotationY, scaleX + // a41 3 rotationY, scaleX + // a12 4 rotation, skewX, rotationX, scaleY + // a22 5 rotation, skewX, rotationX, scaleY + // a32 6 rotationX, scaleY + // a42 7 rotationX, scaleY + // a13 8 rotationY, rotationX, scaleZ + // a23 9 rotationY, rotationX, scaleZ + // a33 10 rotationY, rotationX, scaleZ + // a43 11 rotationY, rotationX, perspective, scaleZ + // a14 12 x, zOrigin, svgOrigin + // a24 13 y, zOrigin, svgOrigin + // a34 14 z, zOrigin + // a44 15 + // rotation: Math.atan2(a21, a11) + // rotationY: Math.atan2(a13, a33) (or Math.atan2(a13, a11)) + // rotationX: Math.atan2(a32, a33) + a33 = 1; + a13 = a23 = a31 = a32 = a41 = a42 = 0; + a43 = (perspective) ? -1 / perspective : 0; + zOrigin = t.zOrigin; + min = 0.000001; //threshold below which browsers use scientific notation which won't work. + comma = ","; + zero = "0"; + angle = rotationY * _DEG2RAD; + if (angle) { + cos = Math.cos(angle); + sin = Math.sin(angle); + a31 = -sin; + a41 = a43*-sin; + a13 = a11*sin; + a23 = a21*sin; + a33 = cos; + a43 *= cos; + a11 *= cos; + a21 *= cos; + } + angle = rotationX * _DEG2RAD; + if (angle) { + cos = Math.cos(angle); + sin = Math.sin(angle); + t1 = a12*cos+a13*sin; + t2 = a22*cos+a23*sin; + a32 = a33*sin; + a42 = a43*sin; + a13 = a12*-sin+a13*cos; + a23 = a22*-sin+a23*cos; + a33 = a33*cos; + a43 = a43*cos; + a12 = t1; + a22 = t2; + } + if (sz !== 1) { + a13*=sz; + a23*=sz; + a33*=sz; + a43*=sz; + } + if (sy !== 1) { + a12*=sy; + a22*=sy; + a32*=sy; + a42*=sy; + } + if (sx !== 1) { + a11*=sx; + a21*=sx; + a31*=sx; + a41*=sx; + } + + if (zOrigin || isSVG) { + if (zOrigin) { + x += a13*-zOrigin; + y += a23*-zOrigin; + z += a33*-zOrigin+zOrigin; + } + if (isSVG) { //due to bugs in some browsers, we need to manage the transform-origin of SVG manually + x += t.xOrigin - (t.xOrigin * a11 + t.yOrigin * a12) + t.xOffset; + y += t.yOrigin - (t.xOrigin * a21 + t.yOrigin * a22) + t.yOffset; + } + if (x < min && x > -min) { + x = zero; + } + if (y < min && y > -min) { + y = zero; + } + if (z < min && z > -min) { + z = 0; //don't use string because we calculate perspective later and need the number. + } + } + + //optimized way of concatenating all the values into a string. If we do it all in one shot, it's slower because of the way browsers have to create temp strings and the way it affects memory. If we do it piece-by-piece with +=, it's a bit slower too. We found that doing it in these sized chunks works best overall: + transform = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) matrix3d(" : "matrix3d("); + transform += ((a11 < min && a11 > -min) ? zero : a11) + comma + ((a21 < min && a21 > -min) ? zero : a21) + comma + ((a31 < min && a31 > -min) ? zero : a31); + transform += comma + ((a41 < min && a41 > -min) ? zero : a41) + comma + ((a12 < min && a12 > -min) ? zero : a12) + comma + ((a22 < min && a22 > -min) ? zero : a22); + if (rotationX || rotationY) { //performance optimization (often there's no rotationX or rotationY, so we can skip these calculations) + transform += comma + ((a32 < min && a32 > -min) ? zero : a32) + comma + ((a42 < min && a42 > -min) ? zero : a42) + comma + ((a13 < min && a13 > -min) ? zero : a13); + transform += comma + ((a23 < min && a23 > -min) ? zero : a23) + comma + ((a33 < min && a33 > -min) ? zero : a33) + comma + ((a43 < min && a43 > -min) ? zero : a43) + comma; + } else { + transform += ",0,0,0,0,1,0,"; + } + transform += x + comma + y + comma + z + comma + (perspective ? (1 + (-z / perspective)) : 1) + ")"; + + style[_transformProp] = transform; + }; + + p = Transform.prototype; + p.x = p.y = p.z = p.skewX = p.skewY = p.rotation = p.rotationX = p.rotationY = p.zOrigin = p.xPercent = p.yPercent = p.xOffset = p.yOffset = 0; + p.scaleX = p.scaleY = p.scaleZ = 1; + + _registerComplexSpecialProp("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin", {parser:function(t, e, p, cssp, pt, plugin, vars) { + if (cssp._lastParsedTransform === vars) { return pt; } //only need to parse the transform once, and only if the browser supports it. + cssp._lastParsedTransform = vars; + var originalGSTransform = t._gsTransform, + style = t.style, + min = 0.000001, + i = _transformProps.length, + v = vars, + endRotations = {}, + transformOriginString = "transformOrigin", + m1, m2, skewY, copy, orig, has3D, hasChange, dr, x, y; + if (vars.display) { //if the user is setting display during this tween, it may not be instantiated yet but we must force it here in order to get accurate readings. If display is "none", some browsers refuse to report the transform properties correctly. + copy = _getStyle(t, "display"); + style.display = "block"; + m1 = _getTransform(t, _cs, true, vars.parseTransform); + style.display = copy; + } else { + m1 = _getTransform(t, _cs, true, vars.parseTransform); + } + cssp._transform = m1; + if (typeof(v.transform) === "string" && _transformProp) { //for values like transform:"rotate(60deg) scale(0.5, 0.8)" + copy = _tempDiv.style; //don't use the original target because it might be SVG in which case some browsers don't report computed style correctly. + copy[_transformProp] = v.transform; + copy.display = "block"; //if display is "none", the browser often refuses to report the transform properties correctly. + copy.position = "absolute"; + _doc.body.appendChild(_tempDiv); + m2 = _getTransform(_tempDiv, null, false); + _doc.body.removeChild(_tempDiv); + if (!m2.perspective) { + m2.perspective = m1.perspective; //tweening to no perspective gives very unintuitive results - just keep the same perspective in that case. + } + if (v.xPercent != null) { + m2.xPercent = _parseVal(v.xPercent, m1.xPercent); + } + if (v.yPercent != null) { + m2.yPercent = _parseVal(v.yPercent, m1.yPercent); + } + } else if (typeof(v) === "object") { //for values like scaleX, scaleY, rotation, x, y, skewX, and skewY or transform:{...} (object) + m2 = {scaleX:_parseVal((v.scaleX != null) ? v.scaleX : v.scale, m1.scaleX), + scaleY:_parseVal((v.scaleY != null) ? v.scaleY : v.scale, m1.scaleY), + scaleZ:_parseVal(v.scaleZ, m1.scaleZ), + x:_parseVal(v.x, m1.x), + y:_parseVal(v.y, m1.y), + z:_parseVal(v.z, m1.z), + xPercent:_parseVal(v.xPercent, m1.xPercent), + yPercent:_parseVal(v.yPercent, m1.yPercent), + perspective:_parseVal(v.transformPerspective, m1.perspective)}; + dr = v.directionalRotation; + if (dr != null) { + if (typeof(dr) === "object") { + for (copy in dr) { + v[copy] = dr[copy]; + } + } else { + v.rotation = dr; + } + } + if (typeof(v.x) === "string" && v.x.indexOf("%") !== -1) { + m2.x = 0; + m2.xPercent = _parseVal(v.x, m1.xPercent); + } + if (typeof(v.y) === "string" && v.y.indexOf("%") !== -1) { + m2.y = 0; + m2.yPercent = _parseVal(v.y, m1.yPercent); + } + + m2.rotation = _parseAngle(("rotation" in v) ? v.rotation : ("shortRotation" in v) ? v.shortRotation + "_short" : ("rotationZ" in v) ? v.rotationZ : m1.rotation, m1.rotation, "rotation", endRotations); + if (_supports3D) { + m2.rotationX = _parseAngle(("rotationX" in v) ? v.rotationX : ("shortRotationX" in v) ? v.shortRotationX + "_short" : m1.rotationX || 0, m1.rotationX, "rotationX", endRotations); + m2.rotationY = _parseAngle(("rotationY" in v) ? v.rotationY : ("shortRotationY" in v) ? v.shortRotationY + "_short" : m1.rotationY || 0, m1.rotationY, "rotationY", endRotations); + } + m2.skewX = (v.skewX == null) ? m1.skewX : _parseAngle(v.skewX, m1.skewX); + + //note: for performance reasons, we combine all skewing into the skewX and rotation values, ignoring skewY but we must still record it so that we can discern how much of the overall skew is attributed to skewX vs. skewY. Otherwise, if the skewY would always act relative (tween skewY to 10deg, for example, multiple times and if we always combine things into skewX, we can't remember that skewY was 10 from last time). Remember, a skewY of 10 degrees looks the same as a rotation of 10 degrees plus a skewX of -10 degrees. + m2.skewY = (v.skewY == null) ? m1.skewY : _parseAngle(v.skewY, m1.skewY); + if ((skewY = m2.skewY - m1.skewY)) { + m2.skewX += skewY; + m2.rotation += skewY; + } + } + if (_supports3D && v.force3D != null) { + m1.force3D = v.force3D; + hasChange = true; + } + + m1.skewType = v.skewType || m1.skewType || CSSPlugin.defaultSkewType; + + has3D = (m1.force3D || m1.z || m1.rotationX || m1.rotationY || m2.z || m2.rotationX || m2.rotationY || m2.perspective); + if (!has3D && v.scale != null) { + m2.scaleZ = 1; //no need to tween scaleZ. + } + + while (--i > -1) { + p = _transformProps[i]; + orig = m2[p] - m1[p]; + if (orig > min || orig < -min || v[p] != null || _forcePT[p] != null) { + hasChange = true; + pt = new CSSPropTween(m1, p, m1[p], orig, pt); + if (p in endRotations) { + pt.e = endRotations[p]; //directional rotations typically have compensated values during the tween, but we need to make sure they end at exactly what the user requested + } + pt.xs0 = 0; //ensures the value stays numeric in setRatio() + pt.plugin = plugin; + cssp._overwriteProps.push(pt.n); + } + } + + orig = v.transformOrigin; + if (m1.svg && (orig || v.svgOrigin)) { + x = m1.xOffset; //when we change the origin, in order to prevent things from jumping we adjust the x/y so we must record those here so that we can create PropTweens for them and flip them at the same time as the origin + y = m1.yOffset; + _parseSVGOrigin(t, _parsePosition(orig), m2, v.svgOrigin, v.smoothOrigin); + pt = _addNonTweeningNumericPT(m1, "xOrigin", (originalGSTransform ? m1 : m2).xOrigin, m2.xOrigin, pt, transformOriginString); //note: if there wasn't a transformOrigin defined yet, just start with the destination one; it's wasteful otherwise, and it causes problems with fromTo() tweens. For example, TweenLite.to("#wheel", 3, {rotation:180, transformOrigin:"50% 50%", delay:1}); TweenLite.fromTo("#wheel", 3, {scale:0.5, transformOrigin:"50% 50%"}, {scale:1, delay:2}); would cause a jump when the from values revert at the beginning of the 2nd tween. + pt = _addNonTweeningNumericPT(m1, "yOrigin", (originalGSTransform ? m1 : m2).yOrigin, m2.yOrigin, pt, transformOriginString); + if (x !== m1.xOffset || y !== m1.yOffset) { + pt = _addNonTweeningNumericPT(m1, "xOffset", (originalGSTransform ? x : m1.xOffset), m1.xOffset, pt, transformOriginString); + pt = _addNonTweeningNumericPT(m1, "yOffset", (originalGSTransform ? y : m1.yOffset), m1.yOffset, pt, transformOriginString); + } + orig = _useSVGTransformAttr ? null : "0px 0px"; //certain browsers (like firefox) completely botch transform-origin, so we must remove it to prevent it from contaminating transforms. We manage it ourselves with xOrigin and yOrigin + } + if (orig || (_supports3D && has3D && m1.zOrigin)) { //if anything 3D is happening and there's a transformOrigin with a z component that's non-zero, we must ensure that the transformOrigin's z-component is set to 0 so that we can manually do those calculations to get around Safari bugs. Even if the user didn't specifically define a "transformOrigin" in this particular tween (maybe they did it via css directly). + if (_transformProp) { + hasChange = true; + p = _transformOriginProp; + orig = (orig || _getStyle(t, p, _cs, false, "50% 50%")) + ""; //cast as string to avoid errors + pt = new CSSPropTween(style, p, 0, 0, pt, -1, transformOriginString); + pt.b = style[p]; + pt.plugin = plugin; + if (_supports3D) { + copy = m1.zOrigin; + orig = orig.split(" "); + m1.zOrigin = ((orig.length > 2 && !(copy !== 0 && orig[2] === "0px")) ? parseFloat(orig[2]) : copy) || 0; //Safari doesn't handle the z part of transformOrigin correctly, so we'll manually handle it in the _set3DTransformRatio() method. + pt.xs0 = pt.e = orig[0] + " " + (orig[1] || "50%") + " 0px"; //we must define a z value of 0px specifically otherwise iOS 5 Safari will stick with the old one (if one was defined)! + pt = new CSSPropTween(m1, "zOrigin", 0, 0, pt, -1, pt.n); //we must create a CSSPropTween for the _gsTransform.zOrigin so that it gets reset properly at the beginning if the tween runs backward (as opposed to just setting m1.zOrigin here) + pt.b = copy; + pt.xs0 = pt.e = m1.zOrigin; + } else { + pt.xs0 = pt.e = orig; + } + + //for older versions of IE (6-8), we need to manually calculate things inside the setRatio() function. We record origin x and y (ox and oy) and whether or not the values are percentages (oxp and oyp). + } else { + _parsePosition(orig + "", m1); + } + } + if (hasChange) { + cssp._transformType = (!(m1.svg && _useSVGTransformAttr) && (has3D || this._transformType === 3)) ? 3 : 2; //quicker than calling cssp._enableTransforms(); + } + return pt; + }, prefix:true}); + + _registerComplexSpecialProp("boxShadow", {defaultValue:"0px 0px 0px 0px #999", prefix:true, color:true, multi:true, keyword:"inset"}); + + _registerComplexSpecialProp("borderRadius", {defaultValue:"0px", parser:function(t, e, p, cssp, pt, plugin) { + e = this.format(e); + var props = ["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"], + style = t.style, + ea1, i, es2, bs2, bs, es, bn, en, w, h, esfx, bsfx, rel, hn, vn, em; + w = parseFloat(t.offsetWidth); + h = parseFloat(t.offsetHeight); + ea1 = e.split(" "); + for (i = 0; i < props.length; i++) { //if we're dealing with percentages, we must convert things separately for the horizontal and vertical axis! + if (this.p.indexOf("border")) { //older browsers used a prefix + props[i] = _checkPropPrefix(props[i]); + } + bs = bs2 = _getStyle(t, props[i], _cs, false, "0px"); + if (bs.indexOf(" ") !== -1) { + bs2 = bs.split(" "); + bs = bs2[0]; + bs2 = bs2[1]; + } + es = es2 = ea1[i]; + bn = parseFloat(bs); + bsfx = bs.substr((bn + "").length); + rel = (es.charAt(1) === "="); + if (rel) { + en = parseInt(es.charAt(0)+"1", 10); + es = es.substr(2); + en *= parseFloat(es); + esfx = es.substr((en + "").length - (en < 0 ? 1 : 0)) || ""; + } else { + en = parseFloat(es); + esfx = es.substr((en + "").length); + } + if (esfx === "") { + esfx = _suffixMap[p] || bsfx; + } + if (esfx !== bsfx) { + hn = _convertToPixels(t, "borderLeft", bn, bsfx); //horizontal number (we use a bogus "borderLeft" property just because the _convertToPixels() method searches for the keywords "Left", "Right", "Top", and "Bottom" to determine of it's a horizontal or vertical property, and we need "border" in the name so that it knows it should measure relative to the element itself, not its parent. + vn = _convertToPixels(t, "borderTop", bn, bsfx); //vertical number + if (esfx === "%") { + bs = (hn / w * 100) + "%"; + bs2 = (vn / h * 100) + "%"; + } else if (esfx === "em") { + em = _convertToPixels(t, "borderLeft", 1, "em"); + bs = (hn / em) + "em"; + bs2 = (vn / em) + "em"; + } else { + bs = hn + "px"; + bs2 = vn + "px"; + } + if (rel) { + es = (parseFloat(bs) + en) + esfx; + es2 = (parseFloat(bs2) + en) + esfx; + } + } + pt = _parseComplex(style, props[i], bs + " " + bs2, es + " " + es2, false, "0px", pt); + } + return pt; + }, prefix:true, formatter:_getFormatter("0px 0px 0px 0px", false, true)}); + _registerComplexSpecialProp("backgroundPosition", {defaultValue:"0 0", parser:function(t, e, p, cssp, pt, plugin) { + var bp = "background-position", + cs = (_cs || _getComputedStyle(t, null)), + bs = this.format( ((cs) ? _ieVers ? cs.getPropertyValue(bp + "-x") + " " + cs.getPropertyValue(bp + "-y") : cs.getPropertyValue(bp) : t.currentStyle.backgroundPositionX + " " + t.currentStyle.backgroundPositionY) || "0 0"), //Internet Explorer doesn't report background-position correctly - we must query background-position-x and background-position-y and combine them (even in IE10). Before IE9, we must do the same with the currentStyle object and use camelCase + es = this.format(e), + ba, ea, i, pct, overlap, src; + if ((bs.indexOf("%") !== -1) !== (es.indexOf("%") !== -1)) { + src = _getStyle(t, "backgroundImage").replace(_urlExp, ""); + if (src && src !== "none") { + ba = bs.split(" "); + ea = es.split(" "); + _tempImg.setAttribute("src", src); //set the temp IMG's src to the background-image so that we can measure its width/height + i = 2; + while (--i > -1) { + bs = ba[i]; + pct = (bs.indexOf("%") !== -1); + if (pct !== (ea[i].indexOf("%") !== -1)) { + overlap = (i === 0) ? t.offsetWidth - _tempImg.width : t.offsetHeight - _tempImg.height; + ba[i] = pct ? (parseFloat(bs) / 100 * overlap) + "px" : (parseFloat(bs) / overlap * 100) + "%"; + } + } + bs = ba.join(" "); + } + } + return this.parseComplex(t.style, bs, es, pt, plugin); + }, formatter:_parsePosition}); + _registerComplexSpecialProp("backgroundSize", {defaultValue:"0 0", formatter:_parsePosition}); + _registerComplexSpecialProp("perspective", {defaultValue:"0px", prefix:true}); + _registerComplexSpecialProp("perspectiveOrigin", {defaultValue:"50% 50%", prefix:true}); + _registerComplexSpecialProp("transformStyle", {prefix:true}); + _registerComplexSpecialProp("backfaceVisibility", {prefix:true}); + _registerComplexSpecialProp("userSelect", {prefix:true}); + _registerComplexSpecialProp("margin", {parser:_getEdgeParser("marginTop,marginRight,marginBottom,marginLeft")}); + _registerComplexSpecialProp("padding", {parser:_getEdgeParser("paddingTop,paddingRight,paddingBottom,paddingLeft")}); + _registerComplexSpecialProp("clip", {defaultValue:"rect(0px,0px,0px,0px)", parser:function(t, e, p, cssp, pt, plugin){ + var b, cs, delim; + if (_ieVers < 9) { //IE8 and earlier don't report a "clip" value in the currentStyle - instead, the values are split apart into clipTop, clipRight, clipBottom, and clipLeft. Also, in IE7 and earlier, the values inside rect() are space-delimited, not comma-delimited. + cs = t.currentStyle; + delim = _ieVers < 8 ? " " : ","; + b = "rect(" + cs.clipTop + delim + cs.clipRight + delim + cs.clipBottom + delim + cs.clipLeft + ")"; + e = this.format(e).split(",").join(delim); + } else { + b = this.format(_getStyle(t, this.p, _cs, false, this.dflt)); + e = this.format(e); + } + return this.parseComplex(t.style, b, e, pt, plugin); + }}); + _registerComplexSpecialProp("textShadow", {defaultValue:"0px 0px 0px #999", color:true, multi:true}); + _registerComplexSpecialProp("autoRound,strictUnits", {parser:function(t, e, p, cssp, pt) {return pt;}}); //just so that we can ignore these properties (not tween them) + _registerComplexSpecialProp("border", {defaultValue:"0px solid #000", parser:function(t, e, p, cssp, pt, plugin) { + return this.parseComplex(t.style, this.format(_getStyle(t, "borderTopWidth", _cs, false, "0px") + " " + _getStyle(t, "borderTopStyle", _cs, false, "solid") + " " + _getStyle(t, "borderTopColor", _cs, false, "#000")), this.format(e), pt, plugin); + }, color:true, formatter:function(v) { + var a = v.split(" "); + return a[0] + " " + (a[1] || "solid") + " " + (v.match(_colorExp) || ["#000"])[0]; + }}); + _registerComplexSpecialProp("borderWidth", {parser:_getEdgeParser("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}); //Firefox doesn't pick up on borderWidth set in style sheets (only inline). + _registerComplexSpecialProp("float,cssFloat,styleFloat", {parser:function(t, e, p, cssp, pt, plugin) { + var s = t.style, + prop = ("cssFloat" in s) ? "cssFloat" : "styleFloat"; + return new CSSPropTween(s, prop, 0, 0, pt, -1, p, false, 0, s[prop], e); + }}); + + //opacity-related + var _setIEOpacityRatio = function(v) { + var t = this.t, //refers to the element's style property + filters = t.filter || _getStyle(this.data, "filter") || "", + val = (this.s + this.c * v) | 0, + skip; + if (val === 100) { //for older versions of IE that need to use a filter to apply opacity, we should remove the filter if opacity hits 1 in order to improve performance, but make sure there isn't a transform (matrix) or gradient in the filters. + if (filters.indexOf("atrix(") === -1 && filters.indexOf("radient(") === -1 && filters.indexOf("oader(") === -1) { + t.removeAttribute("filter"); + skip = (!_getStyle(this.data, "filter")); //if a class is applied that has an alpha filter, it will take effect (we don't want that), so re-apply our alpha filter in that case. We must first remove it and then check. + } else { + t.filter = filters.replace(_alphaFilterExp, ""); + skip = true; + } + } + if (!skip) { + if (this.xn1) { + t.filter = filters = filters || ("alpha(opacity=" + val + ")"); //works around bug in IE7/8 that prevents changes to "visibility" from being applied properly if the filter is changed to a different alpha on the same frame. + } + if (filters.indexOf("pacity") === -1) { //only used if browser doesn't support the standard opacity style property (IE 7 and 8). We omit the "O" to avoid case-sensitivity issues + if (val !== 0 || !this.xn1) { //bugs in IE7/8 won't render the filter properly if opacity is ADDED on the same frame/render as "visibility" changes (this.xn1 is 1 if this tween is an "autoAlpha" tween) + t.filter = filters + " alpha(opacity=" + val + ")"; //we round the value because otherwise, bugs in IE7/8 can prevent "visibility" changes from being applied properly. + } + } else { + t.filter = filters.replace(_opacityExp, "opacity=" + val); + } + } + }; + _registerComplexSpecialProp("opacity,alpha,autoAlpha", {defaultValue:"1", parser:function(t, e, p, cssp, pt, plugin) { + var b = parseFloat(_getStyle(t, "opacity", _cs, false, "1")), + style = t.style, + isAutoAlpha = (p === "autoAlpha"); + if (typeof(e) === "string" && e.charAt(1) === "=") { + e = ((e.charAt(0) === "-") ? -1 : 1) * parseFloat(e.substr(2)) + b; + } + if (isAutoAlpha && b === 1 && _getStyle(t, "visibility", _cs) === "hidden" && e !== 0) { //if visibility is initially set to "hidden", we should interpret that as intent to make opacity 0 (a convenience) + b = 0; + } + if (_supportsOpacity) { + pt = new CSSPropTween(style, "opacity", b, e - b, pt); + } else { + pt = new CSSPropTween(style, "opacity", b * 100, (e - b) * 100, pt); + pt.xn1 = isAutoAlpha ? 1 : 0; //we need to record whether or not this is an autoAlpha so that in the setRatio(), we know to duplicate the setting of the alpha in order to work around a bug in IE7 and IE8 that prevents changes to "visibility" from taking effect if the filter is changed to a different alpha(opacity) at the same time. Setting it to the SAME value first, then the new value works around the IE7/8 bug. + style.zoom = 1; //helps correct an IE issue. + pt.type = 2; + pt.b = "alpha(opacity=" + pt.s + ")"; + pt.e = "alpha(opacity=" + (pt.s + pt.c) + ")"; + pt.data = t; + pt.plugin = plugin; + pt.setRatio = _setIEOpacityRatio; + } + if (isAutoAlpha) { //we have to create the "visibility" PropTween after the opacity one in the linked list so that they run in the order that works properly in IE8 and earlier + pt = new CSSPropTween(style, "visibility", 0, 0, pt, -1, null, false, 0, ((b !== 0) ? "inherit" : "hidden"), ((e === 0) ? "hidden" : "inherit")); + pt.xs0 = "inherit"; + cssp._overwriteProps.push(pt.n); + cssp._overwriteProps.push(p); + } + return pt; + }}); + + + var _removeProp = function(s, p) { + if (p) { + if (s.removeProperty) { + if (p.substr(0,2) === "ms" || p.substr(0,6) === "webkit") { //Microsoft and some Webkit browsers don't conform to the standard of capitalizing the first prefix character, so we adjust so that when we prefix the caps with a dash, it's correct (otherwise it'd be "ms-transform" instead of "-ms-transform" for IE9, for example) + p = "-" + p; + } + s.removeProperty(p.replace(_capsExp, "-$1").toLowerCase()); + } else { //note: old versions of IE use "removeAttribute()" instead of "removeProperty()" + s.removeAttribute(p); + } + } + }, + _setClassNameRatio = function(v) { + this.t._gsClassPT = this; + if (v === 1 || v === 0) { + this.t.setAttribute("class", (v === 0) ? this.b : this.e); + var mpt = this.data, //first MiniPropTween + s = this.t.style; + while (mpt) { + if (!mpt.v) { + _removeProp(s, mpt.p); + } else { + s[mpt.p] = mpt.v; + } + mpt = mpt._next; + } + if (v === 1 && this.t._gsClassPT === this) { + this.t._gsClassPT = null; + } + } else if (this.t.getAttribute("class") !== this.e) { + this.t.setAttribute("class", this.e); + } + }; + _registerComplexSpecialProp("className", {parser:function(t, e, p, cssp, pt, plugin, vars) { + var b = t.getAttribute("class") || "", //don't use t.className because it doesn't work consistently on SVG elements; getAttribute("class") and setAttribute("class", value") is more reliable. + cssText = t.style.cssText, + difData, bs, cnpt, cnptLookup, mpt; + pt = cssp._classNamePT = new CSSPropTween(t, p, 0, 0, pt, 2); + pt.setRatio = _setClassNameRatio; + pt.pr = -11; + _hasPriority = true; + pt.b = b; + bs = _getAllStyles(t, _cs); + //if there's a className tween already operating on the target, force it to its end so that the necessary inline styles are removed and the class name is applied before we determine the end state (we don't want inline styles interfering that were there just for class-specific values) + cnpt = t._gsClassPT; + if (cnpt) { + cnptLookup = {}; + mpt = cnpt.data; //first MiniPropTween which stores the inline styles - we need to force these so that the inline styles don't contaminate things. Otherwise, there's a small chance that a tween could start and the inline values match the destination values and they never get cleaned. + while (mpt) { + cnptLookup[mpt.p] = 1; + mpt = mpt._next; + } + cnpt.setRatio(1); + } + t._gsClassPT = pt; + pt.e = (e.charAt(1) !== "=") ? e : b.replace(new RegExp("\\s*\\b" + e.substr(2) + "\\b"), "") + ((e.charAt(0) === "+") ? " " + e.substr(2) : ""); + t.setAttribute("class", pt.e); + difData = _cssDif(t, bs, _getAllStyles(t), vars, cnptLookup); + t.setAttribute("class", b); + pt.data = difData.firstMPT; + t.style.cssText = cssText; //we recorded cssText before we swapped classes and ran _getAllStyles() because in cases when a className tween is overwritten, we remove all the related tweening properties from that class change (otherwise class-specific stuff can't override properties we've directly set on the target's style object due to specificity). + pt = pt.xfirst = cssp.parse(t, difData.difs, pt, plugin); //we record the CSSPropTween as the xfirst so that we can handle overwriting propertly (if "className" gets overwritten, we must kill all the properties associated with the className part of the tween, so we can loop through from xfirst to the pt itself) + return pt; + }}); + + + var _setClearPropsRatio = function(v) { + if (v === 1 || v === 0) if (this.data._totalTime === this.data._totalDuration && this.data.data !== "isFromStart") { //this.data refers to the tween. Only clear at the END of the tween (remember, from() tweens make the ratio go from 1 to 0, so we can't just check that and if the tween is the zero-duration one that's created internally to render the starting values in a from() tween, ignore that because otherwise, for example, from(...{height:100, clearProps:"height", delay:1}) would wipe the height at the beginning of the tween and after 1 second, it'd kick back in). + var s = this.t.style, + transformParse = _specialProps.transform.parse, + a, p, i, clearTransform, transform; + if (this.e === "all") { + s.cssText = ""; + clearTransform = true; + } else { + a = this.e.split(" ").join("").split(","); + i = a.length; + while (--i > -1) { + p = a[i]; + if (_specialProps[p]) { + if (_specialProps[p].parse === transformParse) { + clearTransform = true; + } else { + p = (p === "transformOrigin") ? _transformOriginProp : _specialProps[p].p; //ensures that special properties use the proper browser-specific property name, like "scaleX" might be "-webkit-transform" or "boxShadow" might be "-moz-box-shadow" + } + } + _removeProp(s, p); + } + } + if (clearTransform) { + _removeProp(s, _transformProp); + transform = this.t._gsTransform; + if (transform) { + if (transform.svg) { + this.t.removeAttribute("data-svg-origin"); + } + delete this.t._gsTransform; + } + } + + } + }; + _registerComplexSpecialProp("clearProps", {parser:function(t, e, p, cssp, pt) { + pt = new CSSPropTween(t, p, 0, 0, pt, 2); + pt.setRatio = _setClearPropsRatio; + pt.e = e; + pt.pr = -10; + pt.data = cssp._tween; + _hasPriority = true; + return pt; + }}); + + p = "bezier,throwProps,physicsProps,physics2D".split(","); + i = p.length; + while (i--) { + _registerPluginProp(p[i]); + } + + + + + + + + + p = CSSPlugin.prototype; + p._firstPT = p._lastParsedTransform = p._transform = null; + + //gets called when the tween renders for the first time. This kicks everything off, recording start/end values, etc. + p._onInitTween = function(target, vars, tween) { + if (!target.nodeType) { //css is only for dom elements + return false; + } + this._target = target; + this._tween = tween; + this._vars = vars; + _autoRound = vars.autoRound; + _hasPriority = false; + _suffixMap = vars.suffixMap || CSSPlugin.suffixMap; + _cs = _getComputedStyle(target, ""); + _overwriteProps = this._overwriteProps; + var style = target.style, + v, pt, pt2, first, last, next, zIndex, tpt, threeD; + if (_reqSafariFix) if (style.zIndex === "") { + v = _getStyle(target, "zIndex", _cs); + if (v === "auto" || v === "") { + //corrects a bug in [non-Android] Safari that prevents it from repainting elements in their new positions if they don't have a zIndex set. We also can't just apply this inside _parseTransform() because anything that's moved in any way (like using "left" or "top" instead of transforms like "x" and "y") can be affected, so it is best to ensure that anything that's tweening has a z-index. Setting "WebkitPerspective" to a non-zero value worked too except that on iOS Safari things would flicker randomly. Plus zIndex is less memory-intensive. + this._addLazySet(style, "zIndex", 0); + } + } + + if (typeof(vars) === "string") { + first = style.cssText; + v = _getAllStyles(target, _cs); + style.cssText = first + ";" + vars; + v = _cssDif(target, v, _getAllStyles(target)).difs; + if (!_supportsOpacity && _opacityValExp.test(vars)) { + v.opacity = parseFloat( RegExp.$1 ); + } + vars = v; + style.cssText = first; + } + + if (vars.className) { //className tweens will combine any differences they find in the css with the vars that are passed in, so {className:"myClass", scale:0.5, left:20} would work. + this._firstPT = pt = _specialProps.className.parse(target, vars.className, "className", this, null, null, vars); + } else { + this._firstPT = pt = this.parse(target, vars, null); + } + + if (this._transformType) { + threeD = (this._transformType === 3); + if (!_transformProp) { + style.zoom = 1; //helps correct an IE issue. + } else if (_isSafari) { + _reqSafariFix = true; + //if zIndex isn't set, iOS Safari doesn't repaint things correctly sometimes (seemingly at random). + if (style.zIndex === "") { + zIndex = _getStyle(target, "zIndex", _cs); + if (zIndex === "auto" || zIndex === "") { + this._addLazySet(style, "zIndex", 0); + } + } + //Setting WebkitBackfaceVisibility corrects 3 bugs: + // 1) [non-Android] Safari skips rendering changes to "top" and "left" that are made on the same frame/render as a transform update. + // 2) iOS Safari sometimes neglects to repaint elements in their new positions. Setting "WebkitPerspective" to a non-zero value worked too except that on iOS Safari things would flicker randomly. + // 3) Safari sometimes displayed odd artifacts when tweening the transform (or WebkitTransform) property, like ghosts of the edges of the element remained. Definitely a browser bug. + //Note: we allow the user to override the auto-setting by defining WebkitBackfaceVisibility in the vars of the tween. + if (_isSafariLT6) { + this._addLazySet(style, "WebkitBackfaceVisibility", this._vars.WebkitBackfaceVisibility || (threeD ? "visible" : "hidden")); + } + } + pt2 = pt; + while (pt2 && pt2._next) { + pt2 = pt2._next; + } + tpt = new CSSPropTween(target, "transform", 0, 0, null, 2); + this._linkCSSP(tpt, null, pt2); + tpt.setRatio = _transformProp ? _setTransformRatio : _setIETransformRatio; + tpt.data = this._transform || _getTransform(target, _cs, true); + tpt.tween = tween; + tpt.pr = -1; //ensures that the transforms get applied after the components are updated. + _overwriteProps.pop(); //we don't want to force the overwrite of all "transform" tweens of the target - we only care about individual transform properties like scaleX, rotation, etc. The CSSPropTween constructor automatically adds the property to _overwriteProps which is why we need to pop() here. + } + + if (_hasPriority) { + //reorders the linked list in order of pr (priority) + while (pt) { + next = pt._next; + pt2 = first; + while (pt2 && pt2.pr > pt.pr) { + pt2 = pt2._next; + } + if ((pt._prev = pt2 ? pt2._prev : last)) { + pt._prev._next = pt; + } else { + first = pt; + } + if ((pt._next = pt2)) { + pt2._prev = pt; + } else { + last = pt; + } + pt = next; + } + this._firstPT = first; + } + return true; + }; + + + p.parse = function(target, vars, pt, plugin) { + var style = target.style, + p, sp, bn, en, bs, es, bsfx, esfx, isStr, rel; + for (p in vars) { + es = vars[p]; //ending value string + sp = _specialProps[p]; //SpecialProp lookup. + if (sp) { + pt = sp.parse(target, es, p, this, pt, plugin, vars); + + } else { + bs = _getStyle(target, p, _cs) + ""; + isStr = (typeof(es) === "string"); + if (p === "color" || p === "fill" || p === "stroke" || p.indexOf("Color") !== -1 || (isStr && _rgbhslExp.test(es))) { //Opera uses background: to define color sometimes in addition to backgroundColor: + if (!isStr) { + es = _parseColor(es); + es = ((es.length > 3) ? "rgba(" : "rgb(") + es.join(",") + ")"; + } + pt = _parseComplex(style, p, bs, es, true, "transparent", pt, 0, plugin); + + } else if (isStr && (es.indexOf(" ") !== -1 || es.indexOf(",") !== -1)) { + pt = _parseComplex(style, p, bs, es, true, null, pt, 0, plugin); + + } else { + bn = parseFloat(bs); + bsfx = (bn || bn === 0) ? bs.substr((bn + "").length) : ""; //remember, bs could be non-numeric like "normal" for fontWeight, so we should default to a blank suffix in that case. + + if (bs === "" || bs === "auto") { + if (p === "width" || p === "height") { + bn = _getDimension(target, p, _cs); + bsfx = "px"; + } else if (p === "left" || p === "top") { + bn = _calculateOffset(target, p, _cs); + bsfx = "px"; + } else { + bn = (p !== "opacity") ? 0 : 1; + bsfx = ""; + } + } + + rel = (isStr && es.charAt(1) === "="); + if (rel) { + en = parseInt(es.charAt(0) + "1", 10); + es = es.substr(2); + en *= parseFloat(es); + esfx = es.replace(_suffixExp, ""); + } else { + en = parseFloat(es); + esfx = isStr ? es.replace(_suffixExp, "") : ""; + } + + if (esfx === "") { + esfx = (p in _suffixMap) ? _suffixMap[p] : bsfx; //populate the end suffix, prioritizing the map, then if none is found, use the beginning suffix. + } + + es = (en || en === 0) ? (rel ? en + bn : en) + esfx : vars[p]; //ensures that any += or -= prefixes are taken care of. Record the end value before normalizing the suffix because we always want to end the tween on exactly what they intended even if it doesn't match the beginning value's suffix. + + //if the beginning/ending suffixes don't match, normalize them... + if (bsfx !== esfx) if (esfx !== "") if (en || en === 0) if (bn) { //note: if the beginning value (bn) is 0, we don't need to convert units! + bn = _convertToPixels(target, p, bn, bsfx); + if (esfx === "%") { + bn /= _convertToPixels(target, p, 100, "%") / 100; + if (vars.strictUnits !== true) { //some browsers report only "px" values instead of allowing "%" with getComputedStyle(), so we assume that if we're tweening to a %, we should start there too unless strictUnits:true is defined. This approach is particularly useful for responsive designs that use from() tweens. + bs = bn + "%"; + } + + } else if (esfx === "em" || esfx === "rem") { + bn /= _convertToPixels(target, p, 1, esfx); + + //otherwise convert to pixels. + } else if (esfx !== "px") { + en = _convertToPixels(target, p, en, esfx); + esfx = "px"; //we don't use bsfx after this, so we don't need to set it to px too. + } + if (rel) if (en || en === 0) { + es = (en + bn) + esfx; //the changes we made affect relative calculations, so adjust the end value here. + } + } + + if (rel) { + en += bn; + } + + if ((bn || bn === 0) && (en || en === 0)) { //faster than isNaN(). Also, previously we required en !== bn but that doesn't really gain much performance and it prevents _parseToProxy() from working properly if beginning and ending values match but need to get tweened by an external plugin anyway. For example, a bezier tween where the target starts at left:0 and has these points: [{left:50},{left:0}] wouldn't work properly because when parsing the last point, it'd match the first (current) one and a non-tweening CSSPropTween would be recorded when we actually need a normal tween (type:0) so that things get updated during the tween properly. + pt = new CSSPropTween(style, p, bn, en - bn, pt, 0, p, (_autoRound !== false && (esfx === "px" || p === "zIndex")), 0, bs, es); + pt.xs0 = esfx; + //DEBUG: _log("tween "+p+" from "+pt.b+" ("+bn+esfx+") to "+pt.e+" with suffix: "+pt.xs0); + } else if (style[p] === undefined || !es && (es + "" === "NaN" || es == null)) { + _log("invalid " + p + " tween value: " + vars[p]); + } else { + pt = new CSSPropTween(style, p, en || bn || 0, 0, pt, -1, p, false, 0, bs, es); + pt.xs0 = (es === "none" && (p === "display" || p.indexOf("Style") !== -1)) ? bs : es; //intermediate value should typically be set immediately (end value) except for "display" or things like borderTopStyle, borderBottomStyle, etc. which should use the beginning value during the tween. + //DEBUG: _log("non-tweening value "+p+": "+pt.xs0); + } + } + } + if (plugin) if (pt && !pt.plugin) { + pt.plugin = plugin; + } + } + return pt; + }; + + + //gets called every time the tween updates, passing the new ratio (typically a value between 0 and 1, but not always (for example, if an Elastic.easeOut is used, the value can jump above 1 mid-tween). It will always start and 0 and end at 1. + p.setRatio = function(v) { + var pt = this._firstPT, + min = 0.000001, + val, str, i; + //at the end of the tween, we set the values to exactly what we received in order to make sure non-tweening values (like "position" or "float" or whatever) are set and so that if the beginning/ending suffixes (units) didn't match and we normalized to px, the value that the user passed in is used here. We check to see if the tween is at its beginning in case it's a from() tween in which case the ratio will actually go from 1 to 0 over the course of the tween (backwards). + if (v === 1 && (this._tween._time === this._tween._duration || this._tween._time === 0)) { + while (pt) { + if (pt.type !== 2) { + if (pt.r && pt.type !== -1) { + val = Math.round(pt.s + pt.c); + if (!pt.type) { + pt.t[pt.p] = val + pt.xs0; + } else if (pt.type === 1) { //complex value (one that typically has multiple numbers inside a string, like "rect(5px,10px,20px,25px)" + i = pt.l; + str = pt.xs0 + val + pt.xs1; + for (i = 1; i < pt.l; i++) { + str += pt["xn"+i] + pt["xs"+(i+1)]; + } + pt.t[pt.p] = str; + } + } else { + pt.t[pt.p] = pt.e; + } + } else { + pt.setRatio(v); + } + pt = pt._next; + } + + } else if (v || !(this._tween._time === this._tween._duration || this._tween._time === 0) || this._tween._rawPrevTime === -0.000001) { + while (pt) { + val = pt.c * v + pt.s; + if (pt.r) { + val = Math.round(val); + } else if (val < min) if (val > -min) { + val = 0; + } + if (!pt.type) { + pt.t[pt.p] = val + pt.xs0; + } else if (pt.type === 1) { //complex value (one that typically has multiple numbers inside a string, like "rect(5px,10px,20px,25px)" + i = pt.l; + if (i === 2) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2; + } else if (i === 3) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2 + pt.xn2 + pt.xs3; + } else if (i === 4) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2 + pt.xn2 + pt.xs3 + pt.xn3 + pt.xs4; + } else if (i === 5) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2 + pt.xn2 + pt.xs3 + pt.xn3 + pt.xs4 + pt.xn4 + pt.xs5; + } else { + str = pt.xs0 + val + pt.xs1; + for (i = 1; i < pt.l; i++) { + str += pt["xn"+i] + pt["xs"+(i+1)]; + } + pt.t[pt.p] = str; + } + + } else if (pt.type === -1) { //non-tweening value + pt.t[pt.p] = pt.xs0; + + } else if (pt.setRatio) { //custom setRatio() for things like SpecialProps, external plugins, etc. + pt.setRatio(v); + } + pt = pt._next; + } + + //if the tween is reversed all the way back to the beginning, we need to restore the original values which may have different units (like % instead of px or em or whatever). + } else { + while (pt) { + if (pt.type !== 2) { + pt.t[pt.p] = pt.b; + } else { + pt.setRatio(v); + } + pt = pt._next; + } + } + }; + + /** + * @private + * Forces rendering of the target's transforms (rotation, scale, etc.) whenever the CSSPlugin's setRatio() is called. + * Basically, this tells the CSSPlugin to create a CSSPropTween (type 2) after instantiation that runs last in the linked + * list and calls the appropriate (3D or 2D) rendering function. We separate this into its own method so that we can call + * it from other plugins like BezierPlugin if, for example, it needs to apply an autoRotation and this CSSPlugin + * doesn't have any transform-related properties of its own. You can call this method as many times as you + * want and it won't create duplicate CSSPropTweens. + * + * @param {boolean} threeD if true, it should apply 3D tweens (otherwise, just 2D ones are fine and typically faster) + */ + p._enableTransforms = function(threeD) { + this._transform = this._transform || _getTransform(this._target, _cs, true); //ensures that the element has a _gsTransform property with the appropriate values. + this._transformType = (!(this._transform.svg && _useSVGTransformAttr) && (threeD || this._transformType === 3)) ? 3 : 2; + }; + + var lazySet = function(v) { + this.t[this.p] = this.e; + this.data._linkCSSP(this, this._next, null, true); //we purposefully keep this._next even though it'd make sense to null it, but this is a performance optimization, as this happens during the while (pt) {} loop in setRatio() at the bottom of which it sets pt = pt._next, so if we null it, the linked list will be broken in that loop. + }; + /** @private Gives us a way to set a value on the first render (and only the first render). **/ + p._addLazySet = function(t, p, v) { + var pt = this._firstPT = new CSSPropTween(t, p, 0, 0, this._firstPT, 2); + pt.e = v; + pt.setRatio = lazySet; + pt.data = this; + }; + + /** @private **/ + p._linkCSSP = function(pt, next, prev, remove) { + if (pt) { + if (next) { + next._prev = pt; + } + if (pt._next) { + pt._next._prev = pt._prev; + } + if (pt._prev) { + pt._prev._next = pt._next; + } else if (this._firstPT === pt) { + this._firstPT = pt._next; + remove = true; //just to prevent resetting this._firstPT 5 lines down in case pt._next is null. (optimized for speed) + } + if (prev) { + prev._next = pt; + } else if (!remove && this._firstPT === null) { + this._firstPT = pt; + } + pt._next = next; + pt._prev = prev; + } + return pt; + }; + + //we need to make sure that if alpha or autoAlpha is killed, opacity is too. And autoAlpha affects the "visibility" property. + p._kill = function(lookup) { + var copy = lookup, + pt, p, xfirst; + if (lookup.autoAlpha || lookup.alpha) { + copy = {}; + for (p in lookup) { //copy the lookup so that we're not changing the original which may be passed elsewhere. + copy[p] = lookup[p]; + } + copy.opacity = 1; + if (copy.autoAlpha) { + copy.visibility = 1; + } + } + if (lookup.className && (pt = this._classNamePT)) { //for className tweens, we need to kill any associated CSSPropTweens too; a linked list starts at the className's "xfirst". + xfirst = pt.xfirst; + if (xfirst && xfirst._prev) { + this._linkCSSP(xfirst._prev, pt._next, xfirst._prev._prev); //break off the prev + } else if (xfirst === this._firstPT) { + this._firstPT = pt._next; + } + if (pt._next) { + this._linkCSSP(pt._next, pt._next._next, xfirst._prev); + } + this._classNamePT = null; + } + return TweenPlugin.prototype._kill.call(this, copy); + }; + + + + //used by cascadeTo() for gathering all the style properties of each child element into an array for comparison. + var _getChildStyles = function(e, props, targets) { + var children, i, child, type; + if (e.slice) { + i = e.length; + while (--i > -1) { + _getChildStyles(e[i], props, targets); + } + return; + } + children = e.childNodes; + i = children.length; + while (--i > -1) { + child = children[i]; + type = child.type; + if (child.style) { + props.push(_getAllStyles(child)); + if (targets) { + targets.push(child); + } + } + if ((type === 1 || type === 9 || type === 11) && child.childNodes.length) { + _getChildStyles(child, props, targets); + } + } + }; + + /** + * Typically only useful for className tweens that may affect child elements, this method creates a TweenLite + * and then compares the style properties of all the target's child elements at the tween's start and end, and + * if any are different, it also creates tweens for those and returns an array containing ALL of the resulting + * tweens (so that you can easily add() them to a TimelineLite, for example). The reason this functionality is + * wrapped into a separate static method of CSSPlugin instead of being integrated into all regular className tweens + * is because it creates entirely new tweens that may have completely different targets than the original tween, + * so if they were all lumped into the original tween instance, it would be inconsistent with the rest of the API + * and it would create other problems. For example: + * - If I create a tween of elementA, that tween instance may suddenly change its target to include 50 other elements (unintuitive if I specifically defined the target I wanted) + * - We can't just create new independent tweens because otherwise, what happens if the original/parent tween is reversed or pause or dropped into a TimelineLite for tight control? You'd expect that tween's behavior to affect all the others. + * - Analyzing every style property of every child before and after the tween is an expensive operation when there are many children, so this behavior shouldn't be imposed on all className tweens by default, especially since it's probably rare that this extra functionality is needed. + * + * @param {Object} target object to be tweened + * @param {number} Duration in seconds (or frames for frames-based tweens) + * @param {Object} Object containing the end values, like {className:"newClass", ease:Linear.easeNone} + * @return {Array} An array of TweenLite instances + */ + CSSPlugin.cascadeTo = function(target, duration, vars) { + var tween = TweenLite.to(target, duration, vars), + results = [tween], + b = [], + e = [], + targets = [], + _reservedProps = TweenLite._internals.reservedProps, + i, difs, p, from; + target = tween._targets || tween.target; + _getChildStyles(target, b, targets); + tween.render(duration, true, true); + _getChildStyles(target, e); + tween.render(0, true, true); + tween._enabled(true); + i = targets.length; + while (--i > -1) { + difs = _cssDif(targets[i], b[i], e[i]); + if (difs.firstMPT) { + difs = difs.difs; + for (p in vars) { + if (_reservedProps[p]) { + difs[p] = vars[p]; + } + } + from = {}; + for (p in difs) { + from[p] = b[i][p]; + } + results.push(TweenLite.fromTo(targets[i], duration, from, difs)); + } + } + return results; + }; + + TweenPlugin.activate([CSSPlugin]); + return CSSPlugin; + + }, true); + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * RoundPropsPlugin + * ---------------------------------------------------------------- + */ + (function() { + + var RoundPropsPlugin = _gsScope._gsDefine.plugin({ + propName: "roundProps", + version: "1.5", + priority: -1, + API: 2, + + //called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, value, tween) { + this._tween = tween; + return true; + } + + }), + _roundLinkedList = function(node) { + while (node) { + if (!node.f && !node.blob) { + node.r = 1; + } + node = node._next; + } + }, + p = RoundPropsPlugin.prototype; + + p._onInitAllProps = function() { + var tween = this._tween, + rp = (tween.vars.roundProps.join) ? tween.vars.roundProps : tween.vars.roundProps.split(","), + i = rp.length, + lookup = {}, + rpt = tween._propLookup.roundProps, + prop, pt, next; + while (--i > -1) { + lookup[rp[i]] = 1; + } + i = rp.length; + while (--i > -1) { + prop = rp[i]; + pt = tween._firstPT; + while (pt) { + next = pt._next; //record here, because it may get removed + if (pt.pg) { + pt.t._roundProps(lookup, true); + } else if (pt.n === prop) { + if (pt.f === 2 && pt.t) { //a blob (text containing multiple numeric values) + _roundLinkedList(pt.t._firstPT); + } else { + this._add(pt.t, prop, pt.s, pt.c); + //remove from linked list + if (next) { + next._prev = pt._prev; + } + if (pt._prev) { + pt._prev._next = next; + } else if (tween._firstPT === pt) { + tween._firstPT = next; + } + pt._next = pt._prev = null; + tween._propLookup[prop] = rpt; + } + } + pt = next; + } + } + return false; + }; + + p._add = function(target, p, s, c) { + this._addTween(target, p, s, s + c, p, true); + this._overwriteProps.push(p); + }; + + }()); + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * AttrPlugin + * ---------------------------------------------------------------- + */ + + (function() { + + _gsScope._gsDefine.plugin({ + propName: "attr", + API: 2, + version: "0.5.0", + + //called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, value, tween) { + var p; + if (typeof(target.setAttribute) !== "function") { + return false; + } + for (p in value) { + this._addTween(target, "setAttribute", target.getAttribute(p) + "", value[p] + "", p, false, p); + this._overwriteProps.push(p); + } + return true; + } + + }); + + }()); + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * DirectionalRotationPlugin + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine.plugin({ + propName: "directionalRotation", + version: "0.2.1", + API: 2, + + //called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, value, tween) { + if (typeof(value) !== "object") { + value = {rotation:value}; + } + this.finals = {}; + var cap = (value.useRadians === true) ? Math.PI * 2 : 360, + min = 0.000001, + p, v, start, end, dif, split; + for (p in value) { + if (p !== "useRadians") { + split = (value[p] + "").split("_"); + v = split[0]; + start = parseFloat( (typeof(target[p]) !== "function") ? target[p] : target[ ((p.indexOf("set") || typeof(target["get" + p.substr(3)]) !== "function") ? p : "get" + p.substr(3)) ]() ); + end = this.finals[p] = (typeof(v) === "string" && v.charAt(1) === "=") ? start + parseInt(v.charAt(0) + "1", 10) * Number(v.substr(2)) : Number(v) || 0; + dif = end - start; + if (split.length) { + v = split.join("_"); + if (v.indexOf("short") !== -1) { + dif = dif % cap; + if (dif !== dif % (cap / 2)) { + dif = (dif < 0) ? dif + cap : dif - cap; + } + } + if (v.indexOf("_cw") !== -1 && dif < 0) { + dif = ((dif + cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } else if (v.indexOf("ccw") !== -1 && dif > 0) { + dif = ((dif - cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } + } + if (dif > min || dif < -min) { + this._addTween(target, p, start, start + dif, p); + this._overwriteProps.push(p); + } + } + } + return true; + }, + + //called each time the values should be updated, and the ratio gets passed as the only parameter (typically it's a value between 0 and 1, but it can exceed those when using an ease like Elastic.easeOut or Back.easeOut, etc.) + set: function(ratio) { + var pt; + if (ratio !== 1) { + this._super.setRatio.call(this, ratio); + } else { + pt = this._firstPT; + while (pt) { + if (pt.f) { + pt.t[pt.p](this.finals[pt.p]); + } else { + pt.t[pt.p] = this.finals[pt.p]; + } + pt = pt._next; + } + } + } + + })._autoCSS = true; + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * EasePack + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("easing.Back", ["easing.Ease"], function(Ease) { + + var w = (_gsScope.GreenSockGlobals || _gsScope), + gs = w.com.greensock, + _2PI = Math.PI * 2, + _HALF_PI = Math.PI / 2, + _class = gs._class, + _create = function(n, f) { + var C = _class("easing." + n, function(){}, true), + p = C.prototype = new Ease(); + p.constructor = C; + p.getRatio = f; + return C; + }, + _easeReg = Ease.register || function(){}, //put an empty function in place just as a safety measure in case someone loads an OLD version of TweenLite.js where Ease.register doesn't exist. + _wrap = function(name, EaseOut, EaseIn, EaseInOut, aliases) { + var C = _class("easing."+name, { + easeOut:new EaseOut(), + easeIn:new EaseIn(), + easeInOut:new EaseInOut() + }, true); + _easeReg(C, name); + return C; + }, + EasePoint = function(time, value, next) { + this.t = time; + this.v = value; + if (next) { + this.next = next; + next.prev = this; + this.c = next.v - value; + this.gap = next.t - time; + } + }, + + //Back + _createBack = function(n, f) { + var C = _class("easing." + n, function(overshoot) { + this._p1 = (overshoot || overshoot === 0) ? overshoot : 1.70158; + this._p2 = this._p1 * 1.525; + }, true), + p = C.prototype = new Ease(); + p.constructor = C; + p.getRatio = f; + p.config = function(overshoot) { + return new C(overshoot); + }; + return C; + }, + + Back = _wrap("Back", + _createBack("BackOut", function(p) { + return ((p = p - 1) * p * ((this._p1 + 1) * p + this._p1) + 1); + }), + _createBack("BackIn", function(p) { + return p * p * ((this._p1 + 1) * p - this._p1); + }), + _createBack("BackInOut", function(p) { + return ((p *= 2) < 1) ? 0.5 * p * p * ((this._p2 + 1) * p - this._p2) : 0.5 * ((p -= 2) * p * ((this._p2 + 1) * p + this._p2) + 2); + }) + ), + + + //SlowMo + SlowMo = _class("easing.SlowMo", function(linearRatio, power, yoyoMode) { + power = (power || power === 0) ? power : 0.7; + if (linearRatio == null) { + linearRatio = 0.7; + } else if (linearRatio > 1) { + linearRatio = 1; + } + this._p = (linearRatio !== 1) ? power : 0; + this._p1 = (1 - linearRatio) / 2; + this._p2 = linearRatio; + this._p3 = this._p1 + this._p2; + this._calcEnd = (yoyoMode === true); + }, true), + p = SlowMo.prototype = new Ease(), + SteppedEase, RoughEase, _createElastic; + + p.constructor = SlowMo; + p.getRatio = function(p) { + var r = p + (0.5 - p) * this._p; + if (p < this._p1) { + return this._calcEnd ? 1 - ((p = 1 - (p / this._p1)) * p) : r - ((p = 1 - (p / this._p1)) * p * p * p * r); + } else if (p > this._p3) { + return this._calcEnd ? 1 - (p = (p - this._p3) / this._p1) * p : r + ((p - r) * (p = (p - this._p3) / this._p1) * p * p * p); + } + return this._calcEnd ? 1 : r; + }; + SlowMo.ease = new SlowMo(0.7, 0.7); + + p.config = SlowMo.config = function(linearRatio, power, yoyoMode) { + return new SlowMo(linearRatio, power, yoyoMode); + }; + + + //SteppedEase + SteppedEase = _class("easing.SteppedEase", function(steps) { + steps = steps || 1; + this._p1 = 1 / steps; + this._p2 = steps + 1; + }, true); + p = SteppedEase.prototype = new Ease(); + p.constructor = SteppedEase; + p.getRatio = function(p) { + if (p < 0) { + p = 0; + } else if (p >= 1) { + p = 0.999999999; + } + return ((this._p2 * p) >> 0) * this._p1; + }; + p.config = SteppedEase.config = function(steps) { + return new SteppedEase(steps); + }; + + + //RoughEase + RoughEase = _class("easing.RoughEase", function(vars) { + vars = vars || {}; + var taper = vars.taper || "none", + a = [], + cnt = 0, + points = (vars.points || 20) | 0, + i = points, + randomize = (vars.randomize !== false), + clamp = (vars.clamp === true), + template = (vars.template instanceof Ease) ? vars.template : null, + strength = (typeof(vars.strength) === "number") ? vars.strength * 0.4 : 0.4, + x, y, bump, invX, obj, pnt; + while (--i > -1) { + x = randomize ? Math.random() : (1 / points) * i; + y = template ? template.getRatio(x) : x; + if (taper === "none") { + bump = strength; + } else if (taper === "out") { + invX = 1 - x; + bump = invX * invX * strength; + } else if (taper === "in") { + bump = x * x * strength; + } else if (x < 0.5) { //"both" (start) + invX = x * 2; + bump = invX * invX * 0.5 * strength; + } else { //"both" (end) + invX = (1 - x) * 2; + bump = invX * invX * 0.5 * strength; + } + if (randomize) { + y += (Math.random() * bump) - (bump * 0.5); + } else if (i % 2) { + y += bump * 0.5; + } else { + y -= bump * 0.5; + } + if (clamp) { + if (y > 1) { + y = 1; + } else if (y < 0) { + y = 0; + } + } + a[cnt++] = {x:x, y:y}; + } + a.sort(function(a, b) { + return a.x - b.x; + }); + + pnt = new EasePoint(1, 1, null); + i = points; + while (--i > -1) { + obj = a[i]; + pnt = new EasePoint(obj.x, obj.y, pnt); + } + + this._prev = new EasePoint(0, 0, (pnt.t !== 0) ? pnt : pnt.next); + }, true); + p = RoughEase.prototype = new Ease(); + p.constructor = RoughEase; + p.getRatio = function(p) { + var pnt = this._prev; + if (p > pnt.t) { + while (pnt.next && p >= pnt.t) { + pnt = pnt.next; + } + pnt = pnt.prev; + } else { + while (pnt.prev && p <= pnt.t) { + pnt = pnt.prev; + } + } + this._prev = pnt; + return (pnt.v + ((p - pnt.t) / pnt.gap) * pnt.c); + }; + p.config = function(vars) { + return new RoughEase(vars); + }; + RoughEase.ease = new RoughEase(); + + + //Bounce + _wrap("Bounce", + _create("BounceOut", function(p) { + if (p < 1 / 2.75) { + return 7.5625 * p * p; + } else if (p < 2 / 2.75) { + return 7.5625 * (p -= 1.5 / 2.75) * p + 0.75; + } else if (p < 2.5 / 2.75) { + return 7.5625 * (p -= 2.25 / 2.75) * p + 0.9375; + } + return 7.5625 * (p -= 2.625 / 2.75) * p + 0.984375; + }), + _create("BounceIn", function(p) { + if ((p = 1 - p) < 1 / 2.75) { + return 1 - (7.5625 * p * p); + } else if (p < 2 / 2.75) { + return 1 - (7.5625 * (p -= 1.5 / 2.75) * p + 0.75); + } else if (p < 2.5 / 2.75) { + return 1 - (7.5625 * (p -= 2.25 / 2.75) * p + 0.9375); + } + return 1 - (7.5625 * (p -= 2.625 / 2.75) * p + 0.984375); + }), + _create("BounceInOut", function(p) { + var invert = (p < 0.5); + if (invert) { + p = 1 - (p * 2); + } else { + p = (p * 2) - 1; + } + if (p < 1 / 2.75) { + p = 7.5625 * p * p; + } else if (p < 2 / 2.75) { + p = 7.5625 * (p -= 1.5 / 2.75) * p + 0.75; + } else if (p < 2.5 / 2.75) { + p = 7.5625 * (p -= 2.25 / 2.75) * p + 0.9375; + } else { + p = 7.5625 * (p -= 2.625 / 2.75) * p + 0.984375; + } + return invert ? (1 - p) * 0.5 : p * 0.5 + 0.5; + }) + ); + + + //CIRC + _wrap("Circ", + _create("CircOut", function(p) { + return Math.sqrt(1 - (p = p - 1) * p); + }), + _create("CircIn", function(p) { + return -(Math.sqrt(1 - (p * p)) - 1); + }), + _create("CircInOut", function(p) { + return ((p*=2) < 1) ? -0.5 * (Math.sqrt(1 - p * p) - 1) : 0.5 * (Math.sqrt(1 - (p -= 2) * p) + 1); + }) + ); + + + //Elastic + _createElastic = function(n, f, def) { + var C = _class("easing." + n, function(amplitude, period) { + this._p1 = (amplitude >= 1) ? amplitude : 1; //note: if amplitude is < 1, we simply adjust the period for a more natural feel. Otherwise the math doesn't work right and the curve starts at 1. + this._p2 = (period || def) / (amplitude < 1 ? amplitude : 1); + this._p3 = this._p2 / _2PI * (Math.asin(1 / this._p1) || 0); + this._p2 = _2PI / this._p2; //precalculate to optimize + }, true), + p = C.prototype = new Ease(); + p.constructor = C; + p.getRatio = f; + p.config = function(amplitude, period) { + return new C(amplitude, period); + }; + return C; + }; + _wrap("Elastic", + _createElastic("ElasticOut", function(p) { + return this._p1 * Math.pow(2, -10 * p) * Math.sin( (p - this._p3) * this._p2 ) + 1; + }, 0.3), + _createElastic("ElasticIn", function(p) { + return -(this._p1 * Math.pow(2, 10 * (p -= 1)) * Math.sin( (p - this._p3) * this._p2 )); + }, 0.3), + _createElastic("ElasticInOut", function(p) { + return ((p *= 2) < 1) ? -0.5 * (this._p1 * Math.pow(2, 10 * (p -= 1)) * Math.sin( (p - this._p3) * this._p2)) : this._p1 * Math.pow(2, -10 *(p -= 1)) * Math.sin( (p - this._p3) * this._p2 ) * 0.5 + 1; + }, 0.45) + ); + + + //Expo + _wrap("Expo", + _create("ExpoOut", function(p) { + return 1 - Math.pow(2, -10 * p); + }), + _create("ExpoIn", function(p) { + return Math.pow(2, 10 * (p - 1)) - 0.001; + }), + _create("ExpoInOut", function(p) { + return ((p *= 2) < 1) ? 0.5 * Math.pow(2, 10 * (p - 1)) : 0.5 * (2 - Math.pow(2, -10 * (p - 1))); + }) + ); + + + //Sine + _wrap("Sine", + _create("SineOut", function(p) { + return Math.sin(p * _HALF_PI); + }), + _create("SineIn", function(p) { + return -Math.cos(p * _HALF_PI) + 1; + }), + _create("SineInOut", function(p) { + return -0.5 * (Math.cos(Math.PI * p) - 1); + }) + ); + + _class("easing.EaseLookup", { + find:function(s) { + return Ease.map[s]; + } + }, true); + + //register the non-standard eases + _easeReg(w.SlowMo, "SlowMo", "ease,"); + _easeReg(RoughEase, "RoughEase", "ease,"); + _easeReg(SteppedEase, "SteppedEase", "ease,"); + + return Back; + + }, true); + + +}); + +if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case TweenLite was already loaded separately. + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * Base classes like TweenLite, SimpleTimeline, Ease, Ticker, etc. + * ---------------------------------------------------------------- + */ +(function(window, moduleName) { + + "use strict"; + var _globals = window.GreenSockGlobals = window.GreenSockGlobals || window; + if (_globals.TweenLite) { + return; //in case the core set of classes is already loaded, don't instantiate twice. + } + var _namespace = function(ns) { + var a = ns.split("."), + p = _globals, i; + for (i = 0; i < a.length; i++) { + p[a[i]] = p = p[a[i]] || {}; + } + return p; + }, + gs = _namespace("com.greensock"), + _tinyNum = 0.0000000001, + _slice = function(a) { //don't use Array.prototype.slice.call(target, 0) because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + var b = [], + l = a.length, + i; + for (i = 0; i !== l; b.push(a[i++])) {} + return b; + }, + _emptyFunc = function() {}, + _isArray = (function() { //works around issues in iframe environments where the Array global isn't shared, thus if the object originates in a different window/iframe, "(obj instanceof Array)" will evaluate false. We added some speed optimizations to avoid Object.prototype.toString.call() unless it's absolutely necessary because it's VERY slow (like 20x slower) + var toString = Object.prototype.toString, + array = toString.call([]); + return function(obj) { + return obj != null && (obj instanceof Array || (typeof(obj) === "object" && !!obj.push && toString.call(obj) === array)); + }; + }()), + a, i, p, _ticker, _tickerActive, + _defLookup = {}, + + /** + * @constructor + * Defines a GreenSock class, optionally with an array of dependencies that must be instantiated first and passed into the definition. + * This allows users to load GreenSock JS files in any order even if they have interdependencies (like CSSPlugin extends TweenPlugin which is + * inside TweenLite.js, but if CSSPlugin is loaded first, it should wait to run its code until TweenLite.js loads and instantiates TweenPlugin + * and then pass TweenPlugin to CSSPlugin's definition). This is all done automatically and internally. + * + * Every definition will be added to a "com.greensock" global object (typically window, but if a window.GreenSockGlobals object is found, + * it will go there as of v1.7). For example, TweenLite will be found at window.com.greensock.TweenLite and since it's a global class that should be available anywhere, + * it is ALSO referenced at window.TweenLite. However some classes aren't considered global, like the base com.greensock.core.Animation class, so + * those will only be at the package like window.com.greensock.core.Animation. Again, if you define a GreenSockGlobals object on the window, everything + * gets tucked neatly inside there instead of on the window directly. This allows you to do advanced things like load multiple versions of GreenSock + * files and put them into distinct objects (imagine a banner ad uses a newer version but the main site uses an older one). In that case, you could + * sandbox the banner one like: + * + * + * + * + * + * + * + * @param {!string} ns The namespace of the class definition, leaving off "com.greensock." as that's assumed. For example, "TweenLite" or "plugins.CSSPlugin" or "easing.Back". + * @param {!Array.} dependencies An array of dependencies (described as their namespaces minus "com.greensock." prefix). For example ["TweenLite","plugins.TweenPlugin","core.Animation"] + * @param {!function():Object} func The function that should be called and passed the resolved dependencies which will return the actual class for this definition. + * @param {boolean=} global If true, the class will be added to the global scope (typically window unless you define a window.GreenSockGlobals object) + */ + Definition = function(ns, dependencies, func, global) { + this.sc = (_defLookup[ns]) ? _defLookup[ns].sc : []; //subclasses + _defLookup[ns] = this; + this.gsClass = null; + this.func = func; + var _classes = []; + this.check = function(init) { + var i = dependencies.length, + missing = i, + cur, a, n, cl, hasModule; + while (--i > -1) { + if ((cur = _defLookup[dependencies[i]] || new Definition(dependencies[i], [])).gsClass) { + _classes[i] = cur.gsClass; + missing--; + } else if (init) { + cur.sc.push(this); + } + } + if (missing === 0 && func) { + a = ("com.greensock." + ns).split("."); + n = a.pop(); + cl = _namespace(a.join("."))[n] = this.gsClass = func.apply(func, _classes); + + //exports to multiple environments + if (global) { + _globals[n] = cl; //provides a way to avoid global namespace pollution. By default, the main classes like TweenLite, Power1, Strong, etc. are added to window unless a GreenSockGlobals is defined. So if you want to have things added to a custom object instead, just do something like window.GreenSockGlobals = {} before loading any GreenSock files. You can even set up an alias like window.GreenSockGlobals = windows.gs = {} so that you can access everything like gs.TweenLite. Also remember that ALL classes are added to the window.com.greensock object (in their respective packages, like com.greensock.easing.Power1, com.greensock.TweenLite, etc.) + hasModule = (typeof(module) !== "undefined" && module.exports); + if (!hasModule && typeof(define) === "function" && define.amd){ //AMD + define((window.GreenSockAMDPath ? window.GreenSockAMDPath + "/" : "") + ns.split(".").pop(), [], function() { return cl; }); + } else if (ns === moduleName && hasModule){ //node + module.exports = cl; + } + } + for (i = 0; i < this.sc.length; i++) { + this.sc[i].check(); + } + } + }; + this.check(true); + }, + + //used to create Definition instances (which basically registers a class that has dependencies). + _gsDefine = window._gsDefine = function(ns, dependencies, func, global) { + return new Definition(ns, dependencies, func, global); + }, + + //a quick way to create a class that doesn't have any dependencies. Returns the class, but first registers it in the GreenSock namespace so that other classes can grab it (other classes might be dependent on the class). + _class = gs._class = function(ns, func, global) { + func = func || function() {}; + _gsDefine(ns, [], function(){ return func; }, global); + return func; + }; + + _gsDefine.globals = _globals; + + + +/* + * ---------------------------------------------------------------- + * Ease + * ---------------------------------------------------------------- + */ + var _baseParams = [0, 0, 1, 1], + _blankArray = [], + Ease = _class("easing.Ease", function(func, extraParams, type, power) { + this._func = func; + this._type = type || 0; + this._power = power || 0; + this._params = extraParams ? _baseParams.concat(extraParams) : _baseParams; + }, true), + _easeMap = Ease.map = {}, + _easeReg = Ease.register = function(ease, names, types, create) { + var na = names.split(","), + i = na.length, + ta = (types || "easeIn,easeOut,easeInOut").split(","), + e, name, j, type; + while (--i > -1) { + name = na[i]; + e = create ? _class("easing."+name, null, true) : gs.easing[name] || {}; + j = ta.length; + while (--j > -1) { + type = ta[j]; + _easeMap[name + "." + type] = _easeMap[type + name] = e[type] = ease.getRatio ? ease : ease[type] || new ease(); + } + } + }; + + p = Ease.prototype; + p._calcEnd = false; + p.getRatio = function(p) { + if (this._func) { + this._params[0] = p; + return this._func.apply(null, this._params); + } + var t = this._type, + pw = this._power, + r = (t === 1) ? 1 - p : (t === 2) ? p : (p < 0.5) ? p * 2 : (1 - p) * 2; + if (pw === 1) { + r *= r; + } else if (pw === 2) { + r *= r * r; + } else if (pw === 3) { + r *= r * r * r; + } else if (pw === 4) { + r *= r * r * r * r; + } + return (t === 1) ? 1 - r : (t === 2) ? r : (p < 0.5) ? r / 2 : 1 - (r / 2); + }; + + //create all the standard eases like Linear, Quad, Cubic, Quart, Quint, Strong, Power0, Power1, Power2, Power3, and Power4 (each with easeIn, easeOut, and easeInOut) + a = ["Linear","Quad","Cubic","Quart","Quint,Strong"]; + i = a.length; + while (--i > -1) { + p = a[i]+",Power"+i; + _easeReg(new Ease(null,null,1,i), p, "easeOut", true); + _easeReg(new Ease(null,null,2,i), p, "easeIn" + ((i === 0) ? ",easeNone" : "")); + _easeReg(new Ease(null,null,3,i), p, "easeInOut"); + } + _easeMap.linear = gs.easing.Linear.easeIn; + _easeMap.swing = gs.easing.Quad.easeInOut; //for jQuery folks + + +/* + * ---------------------------------------------------------------- + * EventDispatcher + * ---------------------------------------------------------------- + */ + var EventDispatcher = _class("events.EventDispatcher", function(target) { + this._listeners = {}; + this._eventTarget = target || this; + }); + p = EventDispatcher.prototype; + + p.addEventListener = function(type, callback, scope, useParam, priority) { + priority = priority || 0; + var list = this._listeners[type], + index = 0, + listener, i; + if (list == null) { + this._listeners[type] = list = []; + } + i = list.length; + while (--i > -1) { + listener = list[i]; + if (listener.c === callback && listener.s === scope) { + list.splice(i, 1); + } else if (index === 0 && listener.pr < priority) { + index = i + 1; + } + } + list.splice(index, 0, {c:callback, s:scope, up:useParam, pr:priority}); + if (this === _ticker && !_tickerActive) { + _ticker.wake(); + } + }; + + p.removeEventListener = function(type, callback) { + var list = this._listeners[type], i; + if (list) { + i = list.length; + while (--i > -1) { + if (list[i].c === callback) { + list.splice(i, 1); + return; + } + } + } + }; + + p.dispatchEvent = function(type) { + var list = this._listeners[type], + i, t, listener; + if (list) { + i = list.length; + t = this._eventTarget; + while (--i > -1) { + listener = list[i]; + if (listener) { + if (listener.up) { + listener.c.call(listener.s || t, {type:type, target:t}); + } else { + listener.c.call(listener.s || t); + } + } + } + } + }; + + +/* + * ---------------------------------------------------------------- + * Ticker + * ---------------------------------------------------------------- + */ + var _reqAnimFrame = window.requestAnimationFrame, + _cancelAnimFrame = window.cancelAnimationFrame, + _getTime = Date.now || function() {return new Date().getTime();}, + _lastUpdate = _getTime(); + + //now try to determine the requestAnimationFrame and cancelAnimationFrame functions and if none are found, we'll use a setTimeout()/clearTimeout() polyfill. + a = ["ms","moz","webkit","o"]; + i = a.length; + while (--i > -1 && !_reqAnimFrame) { + _reqAnimFrame = window[a[i] + "RequestAnimationFrame"]; + _cancelAnimFrame = window[a[i] + "CancelAnimationFrame"] || window[a[i] + "CancelRequestAnimationFrame"]; + } + + _class("Ticker", function(fps, useRAF) { + var _self = this, + _startTime = _getTime(), + _useRAF = (useRAF !== false && _reqAnimFrame), + _lagThreshold = 500, + _adjustedLag = 33, + _tickWord = "tick", //helps reduce gc burden + _fps, _req, _id, _gap, _nextTime, + _tick = function(manual) { + var elapsed = _getTime() - _lastUpdate, + overlap, dispatch; + if (elapsed > _lagThreshold) { + _startTime += elapsed - _adjustedLag; + } + _lastUpdate += elapsed; + _self.time = (_lastUpdate - _startTime) / 1000; + overlap = _self.time - _nextTime; + if (!_fps || overlap > 0 || manual === true) { + _self.frame++; + _nextTime += overlap + (overlap >= _gap ? 0.004 : _gap - overlap); + dispatch = true; + } + if (manual !== true) { //make sure the request is made before we dispatch the "tick" event so that timing is maintained. Otherwise, if processing the "tick" requires a bunch of time (like 15ms) and we're using a setTimeout() that's based on 16.7ms, it'd technically take 31.7ms between frames otherwise. + _id = _req(_tick); + } + if (dispatch) { + _self.dispatchEvent(_tickWord); + } + }; + + EventDispatcher.call(_self); + _self.time = _self.frame = 0; + _self.tick = function() { + _tick(true); + }; + + _self.lagSmoothing = function(threshold, adjustedLag) { + _lagThreshold = threshold || (1 / _tinyNum); //zero should be interpreted as basically unlimited + _adjustedLag = Math.min(adjustedLag, _lagThreshold, 0); + }; + + _self.sleep = function() { + if (_id == null) { + return; + } + if (!_useRAF || !_cancelAnimFrame) { + clearTimeout(_id); + } else { + _cancelAnimFrame(_id); + } + _req = _emptyFunc; + _id = null; + if (_self === _ticker) { + _tickerActive = false; + } + }; + + _self.wake = function() { + if (_id !== null) { + _self.sleep(); + } else if (_self.frame > 10) { //don't trigger lagSmoothing if we're just waking up, and make sure that at least 10 frames have elapsed because of the iOS bug that we work around below with the 1.5-second setTimout(). + _lastUpdate = _getTime() - _lagThreshold + 5; + } + _req = (_fps === 0) ? _emptyFunc : (!_useRAF || !_reqAnimFrame) ? function(f) { return setTimeout(f, ((_nextTime - _self.time) * 1000 + 1) | 0); } : _reqAnimFrame; + if (_self === _ticker) { + _tickerActive = true; + } + _tick(2); + }; + + _self.fps = function(value) { + if (!arguments.length) { + return _fps; + } + _fps = value; + _gap = 1 / (_fps || 60); + _nextTime = this.time + _gap; + _self.wake(); + }; + + _self.useRAF = function(value) { + if (!arguments.length) { + return _useRAF; + } + _self.sleep(); + _useRAF = value; + _self.fps(_fps); + }; + _self.fps(fps); + + //a bug in iOS 6 Safari occasionally prevents the requestAnimationFrame from working initially, so we use a 1.5-second timeout that automatically falls back to setTimeout() if it senses this condition. + setTimeout(function() { + if (_useRAF && _self.frame < 5) { + _self.useRAF(false); + } + }, 1500); + }); + + p = gs.Ticker.prototype = new gs.events.EventDispatcher(); + p.constructor = gs.Ticker; + + +/* + * ---------------------------------------------------------------- + * Animation + * ---------------------------------------------------------------- + */ + var Animation = _class("core.Animation", function(duration, vars) { + this.vars = vars = vars || {}; + this._duration = this._totalDuration = duration || 0; + this._delay = Number(vars.delay) || 0; + this._timeScale = 1; + this._active = (vars.immediateRender === true); + this.data = vars.data; + this._reversed = (vars.reversed === true); + + if (!_rootTimeline) { + return; + } + if (!_tickerActive) { //some browsers (like iOS 6 Safari) shut down JavaScript execution when the tab is disabled and they [occasionally] neglect to start up requestAnimationFrame again when returning - this code ensures that the engine starts up again properly. + _ticker.wake(); + } + + var tl = this.vars.useFrames ? _rootFramesTimeline : _rootTimeline; + tl.add(this, tl._time); + + if (this.vars.paused) { + this.paused(true); + } + }); + + _ticker = Animation.ticker = new gs.Ticker(); + p = Animation.prototype; + p._dirty = p._gc = p._initted = p._paused = false; + p._totalTime = p._time = 0; + p._rawPrevTime = -1; + p._next = p._last = p._onUpdate = p._timeline = p.timeline = null; + p._paused = false; + + + //some browsers (like iOS) occasionally drop the requestAnimationFrame event when the user switches to a different tab and then comes back again, so we use a 2-second setTimeout() to sense if/when that condition occurs and then wake() the ticker. + var _checkTimeout = function() { + if (_tickerActive && _getTime() - _lastUpdate > 2000) { + _ticker.wake(); + } + setTimeout(_checkTimeout, 2000); + }; + _checkTimeout(); + + + p.play = function(from, suppressEvents) { + if (from != null) { + this.seek(from, suppressEvents); + } + return this.reversed(false).paused(false); + }; + + p.pause = function(atTime, suppressEvents) { + if (atTime != null) { + this.seek(atTime, suppressEvents); + } + return this.paused(true); + }; + + p.resume = function(from, suppressEvents) { + if (from != null) { + this.seek(from, suppressEvents); + } + return this.paused(false); + }; + + p.seek = function(time, suppressEvents) { + return this.totalTime(Number(time), suppressEvents !== false); + }; + + p.restart = function(includeDelay, suppressEvents) { + return this.reversed(false).paused(false).totalTime(includeDelay ? -this._delay : 0, (suppressEvents !== false), true); + }; + + p.reverse = function(from, suppressEvents) { + if (from != null) { + this.seek((from || this.totalDuration()), suppressEvents); + } + return this.reversed(true).paused(false); + }; + + p.render = function(time, suppressEvents, force) { + //stub - we override this method in subclasses. + }; + + p.invalidate = function() { + this._time = this._totalTime = 0; + this._initted = this._gc = false; + this._rawPrevTime = -1; + if (this._gc || !this.timeline) { + this._enabled(true); + } + return this; + }; + + p.isActive = function() { + var tl = this._timeline, //the 2 root timelines won't have a _timeline; they're always active. + startTime = this._startTime, + rawTime; + return (!tl || (!this._gc && !this._paused && tl.isActive() && (rawTime = tl.rawTime()) >= startTime && rawTime < startTime + this.totalDuration() / this._timeScale)); + }; + + p._enabled = function (enabled, ignoreTimeline) { + if (!_tickerActive) { + _ticker.wake(); + } + this._gc = !enabled; + this._active = this.isActive(); + if (ignoreTimeline !== true) { + if (enabled && !this.timeline) { + this._timeline.add(this, this._startTime - this._delay); + } else if (!enabled && this.timeline) { + this._timeline._remove(this, true); + } + } + return false; + }; + + + p._kill = function(vars, target) { + return this._enabled(false, false); + }; + + p.kill = function(vars, target) { + this._kill(vars, target); + return this; + }; + + p._uncache = function(includeSelf) { + var tween = includeSelf ? this : this.timeline; + while (tween) { + tween._dirty = true; + tween = tween.timeline; + } + return this; + }; + + p._swapSelfInParams = function(params) { + var i = params.length, + copy = params.concat(); + while (--i > -1) { + if (params[i] === "{self}") { + copy[i] = this; + } + } + return copy; + }; + + p._callback = function(type) { + var v = this.vars; + v[type].apply(v[type + "Scope"] || v.callbackScope || this, v[type + "Params"] || _blankArray); + }; + +//----Animation getters/setters -------------------------------------------------------- + + p.eventCallback = function(type, callback, params, scope) { + if ((type || "").substr(0,2) === "on") { + var v = this.vars; + if (arguments.length === 1) { + return v[type]; + } + if (callback == null) { + delete v[type]; + } else { + v[type] = callback; + v[type + "Params"] = (_isArray(params) && params.join("").indexOf("{self}") !== -1) ? this._swapSelfInParams(params) : params; + v[type + "Scope"] = scope; + } + if (type === "onUpdate") { + this._onUpdate = callback; + } + } + return this; + }; + + p.delay = function(value) { + if (!arguments.length) { + return this._delay; + } + if (this._timeline.smoothChildTiming) { + this.startTime( this._startTime + value - this._delay ); + } + this._delay = value; + return this; + }; + + p.duration = function(value) { + if (!arguments.length) { + this._dirty = false; + return this._duration; + } + this._duration = this._totalDuration = value; + this._uncache(true); //true in case it's a TweenMax or TimelineMax that has a repeat - we'll need to refresh the totalDuration. + if (this._timeline.smoothChildTiming) if (this._time > 0) if (this._time < this._duration) if (value !== 0) { + this.totalTime(this._totalTime * (value / this._duration), true); + } + return this; + }; + + p.totalDuration = function(value) { + this._dirty = false; + return (!arguments.length) ? this._totalDuration : this.duration(value); + }; + + p.time = function(value, suppressEvents) { + if (!arguments.length) { + return this._time; + } + if (this._dirty) { + this.totalDuration(); + } + return this.totalTime((value > this._duration) ? this._duration : value, suppressEvents); + }; + + p.totalTime = function(time, suppressEvents, uncapped) { + if (!_tickerActive) { + _ticker.wake(); + } + if (!arguments.length) { + return this._totalTime; + } + if (this._timeline) { + if (time < 0 && !uncapped) { + time += this.totalDuration(); + } + if (this._timeline.smoothChildTiming) { + if (this._dirty) { + this.totalDuration(); + } + var totalDuration = this._totalDuration, + tl = this._timeline; + if (time > totalDuration && !uncapped) { + time = totalDuration; + } + this._startTime = (this._paused ? this._pauseTime : tl._time) - ((!this._reversed ? time : totalDuration - time) / this._timeScale); + if (!tl._dirty) { //for performance improvement. If the parent's cache is already dirty, it already took care of marking the ancestors as dirty too, so skip the function call here. + this._uncache(false); + } + //in case any of the ancestor timelines had completed but should now be enabled, we should reset their totalTime() which will also ensure that they're lined up properly and enabled. Skip for animations that are on the root (wasteful). Example: a TimelineLite.exportRoot() is performed when there's a paused tween on the root, the export will not complete until that tween is unpaused, but imagine a child gets restarted later, after all [unpaused] tweens have completed. The startTime of that child would get pushed out, but one of the ancestors may have completed. + if (tl._timeline) { + while (tl._timeline) { + if (tl._timeline._time !== (tl._startTime + tl._totalTime) / tl._timeScale) { + tl.totalTime(tl._totalTime, true); + } + tl = tl._timeline; + } + } + } + if (this._gc) { + this._enabled(true, false); + } + if (this._totalTime !== time || this._duration === 0) { + if (_lazyTweens.length) { + _lazyRender(); + } + this.render(time, suppressEvents, false); + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when someone calls seek() or time() or progress(), they expect an immediate render. + _lazyRender(); + } + } + } + return this; + }; + + p.progress = p.totalProgress = function(value, suppressEvents) { + var duration = this.duration(); + return (!arguments.length) ? (duration ? this._time / duration : this.ratio) : this.totalTime(duration * value, suppressEvents); + }; + + p.startTime = function(value) { + if (!arguments.length) { + return this._startTime; + } + if (value !== this._startTime) { + this._startTime = value; + if (this.timeline) if (this.timeline._sortChildren) { + this.timeline.add(this, value - this._delay); //ensures that any necessary re-sequencing of Animations in the timeline occurs to make sure the rendering order is correct. + } + } + return this; + }; + + p.endTime = function(includeRepeats) { + return this._startTime + ((includeRepeats != false) ? this.totalDuration() : this.duration()) / this._timeScale; + }; + + p.timeScale = function(value) { + if (!arguments.length) { + return this._timeScale; + } + value = value || _tinyNum; //can't allow zero because it'll throw the math off + if (this._timeline && this._timeline.smoothChildTiming) { + var pauseTime = this._pauseTime, + t = (pauseTime || pauseTime === 0) ? pauseTime : this._timeline.totalTime(); + this._startTime = t - ((t - this._startTime) * this._timeScale / value); + } + this._timeScale = value; + return this._uncache(false); + }; + + p.reversed = function(value) { + if (!arguments.length) { + return this._reversed; + } + if (value != this._reversed) { + this._reversed = value; + this.totalTime(((this._timeline && !this._timeline.smoothChildTiming) ? this.totalDuration() - this._totalTime : this._totalTime), true); + } + return this; + }; + + p.paused = function(value) { + if (!arguments.length) { + return this._paused; + } + var tl = this._timeline, + raw, elapsed; + if (value != this._paused) if (tl) { + if (!_tickerActive && !value) { + _ticker.wake(); + } + raw = tl.rawTime(); + elapsed = raw - this._pauseTime; + if (!value && tl.smoothChildTiming) { + this._startTime += elapsed; + this._uncache(false); + } + this._pauseTime = value ? raw : null; + this._paused = value; + this._active = this.isActive(); + if (!value && elapsed !== 0 && this._initted && this.duration()) { + raw = tl.smoothChildTiming ? this._totalTime : (raw - this._startTime) / this._timeScale; + this.render(raw, (raw === this._totalTime), true); //in case the target's properties changed via some other tween or manual update by the user, we should force a render. + } + } + if (this._gc && !value) { + this._enabled(true, false); + } + return this; + }; + + +/* + * ---------------------------------------------------------------- + * SimpleTimeline + * ---------------------------------------------------------------- + */ + var SimpleTimeline = _class("core.SimpleTimeline", function(vars) { + Animation.call(this, 0, vars); + this.autoRemoveChildren = this.smoothChildTiming = true; + }); + + p = SimpleTimeline.prototype = new Animation(); + p.constructor = SimpleTimeline; + p.kill()._gc = false; + p._first = p._last = p._recent = null; + p._sortChildren = false; + + p.add = p.insert = function(child, position, align, stagger) { + var prevTween, st; + child._startTime = Number(position || 0) + child._delay; + if (child._paused) if (this !== child._timeline) { //we only adjust the _pauseTime if it wasn't in this timeline already. Remember, sometimes a tween will be inserted again into the same timeline when its startTime is changed so that the tweens in the TimelineLite/Max are re-ordered properly in the linked list (so everything renders in the proper order). + child._pauseTime = child._startTime + ((this.rawTime() - child._startTime) / child._timeScale); + } + if (child.timeline) { + child.timeline._remove(child, true); //removes from existing timeline so that it can be properly added to this one. + } + child.timeline = child._timeline = this; + if (child._gc) { + child._enabled(true, true); + } + prevTween = this._last; + if (this._sortChildren) { + st = child._startTime; + while (prevTween && prevTween._startTime > st) { + prevTween = prevTween._prev; + } + } + if (prevTween) { + child._next = prevTween._next; + prevTween._next = child; + } else { + child._next = this._first; + this._first = child; + } + if (child._next) { + child._next._prev = child; + } else { + this._last = child; + } + child._prev = prevTween; + this._recent = child; + if (this._timeline) { + this._uncache(true); + } + return this; + }; + + p._remove = function(tween, skipDisable) { + if (tween.timeline === this) { + if (!skipDisable) { + tween._enabled(false, true); + } + + if (tween._prev) { + tween._prev._next = tween._next; + } else if (this._first === tween) { + this._first = tween._next; + } + if (tween._next) { + tween._next._prev = tween._prev; + } else if (this._last === tween) { + this._last = tween._prev; + } + tween._next = tween._prev = tween.timeline = null; + if (tween === this._recent) { + this._recent = this._last; + } + + if (this._timeline) { + this._uncache(true); + } + } + return this; + }; + + p.render = function(time, suppressEvents, force) { + var tween = this._first, + next; + this._totalTime = this._time = this._rawPrevTime = time; + while (tween) { + next = tween._next; //record it here because the value could change after rendering... + if (tween._active || (time >= tween._startTime && !tween._paused)) { + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + }; + + p.rawTime = function() { + if (!_tickerActive) { + _ticker.wake(); + } + return this._totalTime; + }; + +/* + * ---------------------------------------------------------------- + * TweenLite + * ---------------------------------------------------------------- + */ + var TweenLite = _class("TweenLite", function(target, duration, vars) { + Animation.call(this, duration, vars); + this.render = TweenLite.prototype.render; //speed optimization (avoid prototype lookup on this "hot" method) + + if (target == null) { + throw "Cannot tween a null target."; + } + + this.target = target = (typeof(target) !== "string") ? target : TweenLite.selector(target) || target; + + var isSelector = (target.jquery || (target.length && target !== window && target[0] && (target[0] === window || (target[0].nodeType && target[0].style && !target.nodeType)))), + overwrite = this.vars.overwrite, + i, targ, targets; + + this._overwrite = overwrite = (overwrite == null) ? _overwriteLookup[TweenLite.defaultOverwrite] : (typeof(overwrite) === "number") ? overwrite >> 0 : _overwriteLookup[overwrite]; + + if ((isSelector || target instanceof Array || (target.push && _isArray(target))) && typeof(target[0]) !== "number") { + this._targets = targets = _slice(target); //don't use Array.prototype.slice.call(target, 0) because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + this._propLookup = []; + this._siblings = []; + for (i = 0; i < targets.length; i++) { + targ = targets[i]; + if (!targ) { + targets.splice(i--, 1); + continue; + } else if (typeof(targ) === "string") { + targ = targets[i--] = TweenLite.selector(targ); //in case it's an array of strings + if (typeof(targ) === "string") { + targets.splice(i+1, 1); //to avoid an endless loop (can't imagine why the selector would return a string, but just in case) + } + continue; + } else if (targ.length && targ !== window && targ[0] && (targ[0] === window || (targ[0].nodeType && targ[0].style && !targ.nodeType))) { //in case the user is passing in an array of selector objects (like jQuery objects), we need to check one more level and pull things out if necessary. Also note that + + + + + + + + + +
                      + + + +
                    • +
                      +

                      +
                      + + + + +

                      Q

                      +

                      +
                      +

                      +
                      +
                      +

                      A

                      +

                      + + [수정하기] +
                      +
                    • + + +
                    + +
                    + + + +
                    + + + + +
                    + + + +
                    + 게시물 검색 + +
                    + + + + + + + + +
                    +
                    + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/style.css b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/style.css new file mode 100644 index 0000000..67e146b --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/style.css @@ -0,0 +1,385 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#e6f8ff !important;border-bottom:1px solid #c3dfe8;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w a.btn_cancel {padding-top:0;padding-bottom:0} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} + +/* QNA */ +@import url('http://fonts.googleapis.com/earlyaccess/notosanskr.css'); +ul, li, p { list-style:none; padding:0; margin:0; } +.listWrap { font-family:'Noto Sans KR', sans-serif; margin-bottom:20px; } +.listWrap .qa_li { position:relative; display:block; padding:0; border-bottom:1px solid #ededed; cursor:pointer; } +.listWrap .qa_li:first-child { border-top:1px solid #a6a6a6; } +.listWrap .qa_li .ca_name { margin-bottom:14px; font-weight:400; color:#999; font-size:18px; } +.listWrap .qa_li .tit { color:#222; font-size:24px; transition:color 0.3s ease-out; } +.listWrap .qa_li:hover .tit { color:#0a7ac8; } +.qa_li .question { position:relative; display:block; padding:25px 100px 25px 120px; background:url('./img/q.png') 40px center no-repeat; } +.qa_li .question .iconDiv { position:absolute; right:40px; top:50%; -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -o-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); } +.qa_li .answer { position:relative; display:none; padding:40px 120px; font-size:16px; color:#222; line-height:28px; background:#f6f6f6 url('./img/a.png') 40px 40px no-repeat; border-top:1px solid #e4e4e4; } +.modA { position:absolute; right:30px; bottom:30px; color:#e82b2b; } \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/view.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/view.skin.php new file mode 100644 index 0000000..22acfe0 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/view.skin.php @@ -0,0 +1,299 @@ +', 0); +?> + + + + + +
                    +
                    +

                    + + + + + +

                    +
                    + +
                    +

                    페이지 정보

                    + 작성자 + 댓글 + 조회 + 작성일 + +
                    + +
                    +

                    본문

                    + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "\n"; + } + ?> + + +
                    + + + +

                    + + + + +
                    + + + 추천 + + + + + + 비추천 + + + +
                    + +
                    + 추천 + 비추천 +
                    + + +
                    + +
                    + 스크랩 + + +
                    + + + + + +
                    +

                    첨부파일

                    +
                      + +
                    • + + + + + () + 회 다운로드 | DATE : +
                    • + +
                    +
                    + + + + + + + + + + +
                    + + + + + + + +
                      +
                    • 이전글
                    • +
                    • 다음글
                    • +
                    + + +
                    + + + + + +
                    + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/view_comment.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/view_comment.skin.php new file mode 100644 index 0000000..7c122c5 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
                    +

                    댓글목록

                    + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                    style="margin-left:px;border-top-color:#e0e0e0"> +
                    +

                    님의 댓글의 댓글

                    + + + 아이피 + () + + 작성일 + + +
                    + + +
                    +

                    + 비밀글 + +

                    + + + +
                    + + + + " id="secret_comment_"> + + +
                    + +

                    등록된 댓글이 없습니다.

                    + +
                    + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/write.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/write.skin.php new file mode 100644 index 0000000..2174557 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/write.skin.php @@ -0,0 +1,195 @@ +', 0); +?> + +
                    +
                    +

                    + + +
                    + + + + + + + + + + + + + +
                    + + +
                    + + +
                    + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                    + + +
                    + + +
                    + + +
                    + + +
                    + + + + + +
                    + 임시 저장된 글 목록 +
                      +
                      +
                      + +
                      + +
                      + +
                      + +
                      + + +

                      이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                      + + + + +
                      글자
                      + +
                      + +
                      + + +
                      + +
                      + + + +
                      + 취소 + +
                      +
                      + + +
                      +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/write_update.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/write_update.skin.php new file mode 100644 index 0000000..044c292 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/board/qna2/write_update.skin.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/connect.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/connect.skin.php new file mode 100644 index 0000000..5584944 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/connect.skin.php @@ -0,0 +1,9 @@ +', 0); +?> + + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/current_connect.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/current_connect.skin.php new file mode 100644 index 0000000..d199f8f --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/current_connect.skin.php @@ -0,0 +1,39 @@ +', 0); +?> + + +
                      +
                        + ".$location.""; + else $display_location = $location; + + $classes = array(); + if( $i && ($i % 4 == 0) ){ + $classes[] = 'box_clear'; + } + ?> +
                      • +
                        + +
                        + +
                        +
                      • + 현재 접속자가 없습니다."; + ?> +
                      +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/current_connect.skin.php0000644 b/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/current_connect.skin.php0000644 new file mode 100644 index 0000000..d199f8f --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/current_connect.skin.php0000644 @@ -0,0 +1,39 @@ +', 0); +?> + + +
                      +
                        + ".$location.""; + else $display_location = $location; + + $classes = array(); + if( $i && ($i % 4 == 0) ){ + $classes[] = 'box_clear'; + } + ?> +
                      • +
                        + +
                        + +
                        +
                      • + 현재 접속자가 없습니다."; + ?> +
                      +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/style.css new file mode 100644 index 0000000..c8de833 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/connect/basic/style.css @@ -0,0 +1,14 @@ +@charset "utf-8"; + +#current_connect ul{margin:0 -10px 0;padding:0;list-style:none;zoom:1} +#current_connect ul:after{display:block;visibility:hidden;clear:both;content:""} +#current_connect li{position:relative;min-height:1px;padding-left:10px;*padding-left:0;padding-right:10px;*padding-right:0;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0} +#current_connect li{width:25%} +#current_connect li.box_clear{clear:both} +#current_connect li .inner{position:relative;border:1px solid #d8d8d8;background:#fff;margin-bottom:10px;text-align:center} +#current_connect .crt_name {margin:20px 20px 15px;display:block;min-height:88px} +#current_connect .crt_name img{ border-radius:50%;margin: 0 0 5px;max-width:100%;height:auto} +#current_connect .crt_lct{display:block;text-align:center;border-top:1px solid #ddd;padding:10px 5px;line-height:1.4em} +#current_connect .crt_lct a{color:#3ca1ff} +#current_connect .crt_num{position:absolute;top:10px;left:10px;color:#777;font-weight:bold} +#current_connect li.empty_li{width:100%;padding:200px 0 ;border:0;color:#666} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/content/basic/content.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/content/basic/content.skin.php new file mode 100644 index 0000000..ce54fc4 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/content/basic/content.skin.php @@ -0,0 +1,17 @@ +', 0); +?> + +
                      +
                      +

                      +
                      + +
                      + +
                      + +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/content/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/content/basic/style.css new file mode 100644 index 0000000..1bb943a --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/content/basic/style.css @@ -0,0 +1,9 @@ +@charset "utf-8"; + +/* 내용관리 */ +#ctt {margin:10px 0;padding:20px;background:#fff} +.ctt_admin {text-align:right} +#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ctt_con {padding:10px 0;line-height:1.6em} +#ctt_himg img, #ctt_timg img, #ctt_con img {max-width:100%;height:auto} +.ctt_img {text-align:center} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/faq/basic/list.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/faq/basic/list.skin.php new file mode 100644 index 0000000..8aaaa1b --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/faq/basic/list.skin.php @@ -0,0 +1,142 @@ +', 0); + +if ($admin_href) + echo ''; +?> + + +'; + +// 상단 HTML +echo '
                      '.conv_content($fm['fm_head_html'], 1).'
                      '; +?> + +
                      + FAQ 검색 + +
                      + FAQ 검색 + + + + +
                      +
                      + + + + + + +
                      + +
                      +

                      목록

                      +
                        + $v){ + if(empty($v)) + continue; + ?> +
                      1. +

                        Q

                        +
                        + A + +
                        +
                        +
                      2. + +
                      +
                      + 검색된 게시물이 없습니다.

                      '; + } else { + echo '
                      등록된 FAQ가 없습니다.'; + if($is_admin) + echo '
                      FAQ를 새로 등록하시려면 FAQ관리 메뉴를 이용하십시오.'; + echo '
                      '; + } + } + ?> +
                      + + + +'.conv_content($fm['fm_tail_html'], 1).''; + +if ($timg_src) + echo '
                      '; +?> + + + + +FAQ 수정'; +?> + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/faq/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/faq/basic/style.css new file mode 100644 index 0000000..300d409 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/faq/basic/style.css @@ -0,0 +1,27 @@ +@charset "utf-8"; +#bo_cate {margin:15px 0 10px} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {;zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;} +#bo_cate a {display:block;border:1px solid #dadada;background:#fff;margin:0 0 5px 0;line-height:30px;padding:0 10px;border-radius:3px} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#f3f3f3} +#bo_cate #bo_cate_on {z-index:2;border:1px solid #253dbe;color:#253dbe;font-weight:bold} + +#faq_wrap {margin:10px 0 30px} +#faq_wrap h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.faq_admin {text-align:right} +#faq_wrap ol {margin:0;padding:0;list-style:none} +#faq_wrap li{border:1px solid #ddd;background:#fff;margin:5px 0;} +#faq_wrap li h3{min-height:50px;line-height:30px;padding:10px;padding-left:50px;position:relative} +#faq_wrap li h3 .tit_bg{display:inline-block;position:absolute;top:10px;left:10px;text-align:center;background:#333;color:#fff;border-radius:50%;width:30px;height:30px} +#faq_con .con_inner{display:none;border-top:1px solid #ddd;padding:15px;padding-left:50px;position:relative;background: #f7f7f7;} +#faq_con .con_inner .tit_bg{display:inline-block;position:absolute;top:10px;left:10px;text-align:center;background:#777;color:#fff;border-radius:50%;width:30px;line-height:30px;height:30px} +#faq_con .con_inner .closer_btn{height:25px;font-size:0.92em;display:inline-block;padding:0 5px;border-radius:5px;} +#faq_con .con_closer{text-align:right} + +#faq_sch {text-align:center;border:1px solid #ccc;background:#fff;;padding:30px;margin:10px 0} +#faq_sch form{display:inline-block;position:relative} +#faq_sch .sch_tit{font-size:20px;font-weight:bold;display:inline-block;margin-right:10px;vertical-align:middle} +#faq_sch .frm_input{border-color:#646982;border-radius:0;width:300px} +#faq_sch .btn_submit{padding:0 10px;height:40px;color:#000;font-size:1.083em;font-weight:bold;color:#fff;background:#253dbe;} diff --git a/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/css/style.css b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/css/style.css new file mode 100644 index 0000000..503bf23 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/css/style.css @@ -0,0 +1,17 @@ +@charset "utf-8"; + +#groupmenu{width: 100%; max-width: 1200px; margin: 0 auto; border-top: 1px solid #cfcfcf; border-left: 1px solid #cfcfcf;} +#groupmenu .table{width: 100%; height: 100%;} +#groupmenu .table .tbody{width: 100%; height: 100%;} +.group_name{display: none;} +.group_board{float: left; width: 50%;} +.group_board .group_list{display: block; width: 100%;} +#groupmenu #nav1{width: 100%;} +#groupmenu #nav1 ul{padding:0; width: 100%;} +#groupmenu #nav1 ul li{width: 100%;} +#groupmenu #nav1 ul li a{width: 100%; line-height: 50px; text-align: center; color: #333;} + + +#groupmenu #nav1 li{border-bottom: 1px solid #cfcfcf; border-right: 1px solid #cfcfcf;} +#groupmenu #nav1 li.on{border-bottom: 2px solid #c80e21;} +#groupmenu #nav1 li.on a{color: #c80e21; font-weight: bold;} diff --git a/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/groupmenu.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/groupmenu.skin.php new file mode 100644 index 0000000..56c2e8b --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/groupmenu.skin.php @@ -0,0 +1,29 @@ + + + + + +
                      +
                      +
                      +
                      + +
                      +
                      + +
                      +
                      + +
                      +
                      +
                      +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/groupmenu.skin.php0000644 b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/groupmenu.skin.php0000644 new file mode 100644 index 0000000..56c2e8b --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/groupmenu.skin.php0000644 @@ -0,0 +1,29 @@ + + + + + +
                      +
                      +
                      +
                      + +
                      +
                      + +
                      +
                      + +
                      +
                      +
                      +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/_dot.gif b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/_dot.gif new file mode 100644 index 0000000..c091f93 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/_dot.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/category.gif b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/category.gif new file mode 100644 index 0000000..af1479d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/category.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/category2.gif b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/category2.gif new file mode 100644 index 0000000..d0db1a9 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/category2.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/dot.gif b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/dot.gif new file mode 100644 index 0000000..8124e9c Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/dot.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/side_menu_tail.gif b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/side_menu_tail.gif new file mode 100644 index 0000000..16f43f1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/side_menu_tail.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/side_menu_title.gif b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/side_menu_title.gif new file mode 100644 index 0000000..57f5e2b Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/groupmenu/groupmenu/img/side_menu_title.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_hot.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_img.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_link.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_lock.png b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_more.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_more.gif new file mode 100644 index 0000000..7cdf200 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_more.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_movie.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_new.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_reply.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_reply.gif new file mode 100644 index 0000000..91c1359 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_sound.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_view.png b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/more-btn.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/more-btn.gif new file mode 100644 index 0000000..fa4c873 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/more-btn.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/more_bg.gif b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/more_bg.gif new file mode 100644 index 0000000..19aab13 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/img/more_bg.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/latest.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/latest.skin.php new file mode 100644 index 0000000..e22de36 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/latest.skin.php @@ -0,0 +1,55 @@ +', 0); +?> + +
                      + +
                        + +
                      • + 비밀글 "; + + if ($list[$i]['icon_new']) echo "N새글"; + + if ($list[$i]['icon_hot']) echo "H인기글"; + + + echo " "; + if ($list[$i]['is_notice']) + echo "".$list[$i]['subject'].""; + else + echo $list[$i]['subject']; + + + + echo ""; + + // if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; } + // if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; } + + //echo $list[$i]['icon_reply']." "; + // if ($list[$i]['icon_file']) echo " " ; + //if ($list[$i]['icon_link']) echo " " ; + + if ($list[$i]['comment_cnt']) echo " + + ".$list[$i]['comment_cnt'].""; + + ?> + + +
                      • + + +
                      • 게시물이 없습니다.
                      • + +
                      + + +
                      diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/style.css new file mode 100644 index 0000000..7dfb485 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/latest/basic/style.css @@ -0,0 +1,26 @@ +@charset "utf-8"; +/* 새글 스킨 (latest) */ + +.lat {position:relative;margin-bottom:20px;overflow:hidden;border: 1px solid #c6cacc;background:#fff} +.lat .lat_title {display:block;padding:0 20px;line-height:45px;font-size:1.083em;border-bottom:1px solid #e2e2e2;color:#253dbe;background:#fcfcfc} +.lat .lat_title a{color:#253dbe;display:inline-block;position:relative} +.lat .lat_title a:after{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#253dbe;content:''} +.lat ul{padding:15px 20px} +.lat li {position:relative;line-height:18px;padding:3px 0;padding-right:50px;padding-left:10px} +.lat li:before{position: absolute;top: 12px;left: 0px;width: 4px;height: 4px;background: #aaa;content: '';border-radius: 50%;} +.lat li a:hover{color:#a22121} +.lat li .fa-heart{color:#ff0000;} +.lat li .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} +.lat li .new_icon{display:inline-block;width: 16px;line-height:16px;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;} +.lat li .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;} +.lat li .fa-caret-right{color:#bbb} +.lat .lt_date{position:absolute;top:3px;right:0;color:#888} +.lat .empty_li{line-height:145px ;color:#666;text-align:center;padding:0;} +.lat .empty_li:before{background:none;padding:0} + +.lat .lt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.4);} +.lat .lt_more {position:absolute;top:11px;right:10px;display:block;width:25px;line-height:25px;color:#aaa;border-radius:3px;text-align:center;} +.lat .lt_more:hover{color:#777} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/notice/latest.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/latest/notice/latest.skin.php new file mode 100644 index 0000000..5091d31 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/latest/notice/latest.skin.php @@ -0,0 +1,53 @@ +', 0); +add_javascript('', 10); +?> + +
                      +

                      + + +
                      + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/notice/style.css b/web/html/theme/AT_WEB01/img_sample/skin/latest/notice/style.css new file mode 100644 index 0000000..3867cde --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/latest/notice/style.css @@ -0,0 +1,16 @@ +@charset "utf-8"; +/* 새글 스킨 (latest) */ +.notice {position:relative;padding:15px 50px;border-bottom:1px solid #d0d6e4} +.notice li{text-overflow: ellipsis;overflow: hidden;white-space: nowrap;} +.notice li a:hover{color:#a22121} +.notice li .lock_icon{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce;vertical-align:top} +.notice li .new_icon{display:inline-block;line-height:16px;width:16px;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;margin-right:3px;border-radius:2px;vertical-align:top} +.notice .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;white-space: nowrap;margin-left:5px; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.4)} + +.notice h2{position:absolute;top:50%;left:10px;margin-top:-15px;left:5;line-height:30px} +.notice h2 a{display:inline-block;width:30px;line-height:30px;border-radius:25px;background:#4158d1;color:#fff;text-align:center;color:#fff} +.notice .bx-next{position:absolute;top:50%;right:10px;;width:26px;height:26px;line-height:24px;text-align:center;background:#fff;border:1px solid #d1d1d1;margin-top:-12px} +.notice .bx-prev{position:absolute;top:50%;right:35px;width:26px;height:26px;line-height:24px;text-align:center;background:#fff;border:1px solid #d1d1d1;margin-top:-12px} diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/pic_basic/latest.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/latest/pic_basic/latest.skin.php new file mode 100644 index 0000000..6504db4 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/latest/pic_basic/latest.skin.php @@ -0,0 +1,73 @@ +', 0); +$thumb_width = 210; +$thumb_height = 150; +?> + + + + +
                      +

                      +
                        + '; + ?> +
                      • + + 비밀글 "; + + if ($list[$i]['icon_new']) echo "N새글"; + + if ($list[$i]['icon_hot']) echo "H인기글"; + + + echo " "; + if ($list[$i]['is_notice']) + echo "".$list[$i]['subject'].""; + else + echo $list[$i]['subject']; + + + + echo ""; + + // if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; } + // if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; } + + //echo $list[$i]['icon_reply']." "; + // if ($list[$i]['icon_file']) echo " " ; + //if ($list[$i]['icon_link']) echo " " ; + + if ($list[$i]['comment_cnt']) echo " + + ".$list[$i]['wr_comment'].""; + + ?> + + +
                      • + + + +
                      • 게시물이 없습니다.
                      • + +
                      + + + 더보기 + +
                      diff --git a/web/html/theme/AT_WEB01/img_sample/skin/latest/pic_basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/latest/pic_basic/style.css new file mode 100644 index 0000000..9945e8d --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/latest/pic_basic/style.css @@ -0,0 +1,24 @@ +@charset "utf-8"; +/* 새글 스킨 (latest) */ +.pic_lt{position:relative;margin-bottom:20px;overflow:hidden;border: 1px solid #c6cacc;background:#fff} +.pic_lt .lat_title {display:block;background:#fcfcfc;padding:0 20px;line-height:45px;font-size:1.083em;border-bottom:1px solid #e2e2e2;color:#253dbe;} +.pic_lt .lat_title a{color:#253dbe;display:inline-block;position:relative} +.pic_lt .lat_title a:after{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#253dbe;content:''} +.pic_lt .lt_more {position:absolute;top:11px;right:10px;display:block;width:25px;line-height:25px;color:#aaa;border-radius:3px;text-align:center;} +.pic_lt .lt_more:hover{color:#777} +.pic_lt ul:after {display:block;visibility:hidden;clear:both;content:""} +.pic_lt ul{padding:20px 15px } +.pic_lt li{float:left;width:20%;padding:0 10px} +.pic_lt li .lt_img{margin:5px 0;display:block} +.pic_lt li .lt_img img{width:100%;height:auto} +.pic_lt li a:hover{color:#a22121} +.pic_lt li .fa-heart{color:#ff0000;} +.pic_lt li .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} +.pic_lt li .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;} +.pic_lt li .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;} +.pic_lt li .fa-caret-right{color:#bbb} +.pic_lt .lt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;white-space: nowrap; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.4);} +.pic_lt .lt_date{display:block;margin-top:5px;color: #888;} diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/formmail.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/formmail.skin.php new file mode 100644 index 0000000..42b5520 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/formmail.skin.php @@ -0,0 +1,99 @@ +', 0); +?> + + +
                      +

                      님께 메일보내기

                      + +
                      + + + + + + + +
                      +

                      메일쓰기

                      +
                        + +
                      • + + +
                      • +
                      • + + +
                      • + +
                      • + + +
                      • +
                      • + 형식 + + + +
                      • +
                      • + + +
                      • +
                      • +
                        + + +
                        +
                        첨부 파일은 누락될 수 있으므로 메일을 보낸 후 파일이 첨부 되었는지 반드시 확인해 주시기 바랍니다.
                        + +
                      • +
                      • +
                        + + +
                        +
                      • +
                      • + 자동등록방지 + +
                      • +
                      +
                      + + +
                      +
                      + + +
                      +
                      + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/img/zip_ico_up.gif b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/img/zip_ico_up.gif new file mode 100644 index 0000000..a1eff70 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/img/zip_ico_up.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/login.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/login.skin.php new file mode 100644 index 0000000..482bef5 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/login.skin.php @@ -0,0 +1,58 @@ +', 0); +?> + + +
                      +

                      + +
                      + + +
                      + 회원로그인 + + + + + + + +
                      + + + + + +
                      + + +
                      + + + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/login_check.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/login_check.skin.php new file mode 100644 index 0000000..95608c8 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/login_check.skin.php @@ -0,0 +1,5 @@ + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/member_confirm.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/member_confirm.skin.php new file mode 100644 index 0000000..457a318 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/member_confirm.skin.php @@ -0,0 +1,45 @@ +', 0); +?> + + +
                      +

                      + +

                      + 비밀번호를 한번 더 입력해주세요. + + 비밀번호를 입력하시면 회원탈퇴가 완료됩니다. + + 회원님의 정보를 안전하게 보호하기 위해 비밀번호를 한번 더 확인합니다. + +

                      + +
                      + + + +
                      + 회원아이디 + + + + +
                      + +
                      + +
                      + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/memo.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/memo.skin.php new file mode 100644 index 0000000..82207d2 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/memo.skin.php @@ -0,0 +1,47 @@ +', 0); +?> + + +
                      +

                      +
                      + +
                      + + 전체 쪽지
                      +
                      +
                      +
                      + +
                        + +
                      • + + - 삭제 +
                      • + + 자료가 없습니다.'; } ?> +
                      +
                      + + + + +

                      + 쪽지 보관일수는 최장 일 입니다. +

                      + +
                      + +
                      +
                      +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/memo_form.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/memo_form.skin.php new file mode 100644 index 0000000..67693cb --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/memo_form.skin.php @@ -0,0 +1,60 @@ +', 0); +?> + + +
                      +

                      쪽지 보내기

                      +
                      + + +
                      +
                      +

                      쪽지쓰기

                      +
                        +
                      • + + + + 여러 회원에게 보낼때는 컴마(,)로 구분하세요. + +
                        쪽지 보낼때 회원당 점의 포인트를 차감합니다. + +
                      • +
                      • + + +
                      • +
                      • + 자동등록방지 + + + +
                      • +
                      +
                      + +
                      + + +
                      +
                      + +
                      + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/memo_view.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/memo_view.skin.php new file mode 100644 index 0000000..fe62d7a --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/memo_view.skin.php @@ -0,0 +1,63 @@ +', 0); +?> + + +
                      +

                      +
                      + + + + +
                      +
                      +

                      쪽지 내용

                      +
                      +
                        +
                      • + 사람 + +
                      • +
                      • + 시간 + +
                      • +
                      +

                      + +

                      +
                      + + +
                      + + 이전쪽지 + + + 다음쪽지 + + + 목록 + + 답장 +
                      +
                      +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/password.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/password.skin.php new file mode 100644 index 0000000..eab8475 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/password.skin.php @@ -0,0 +1,46 @@ +', 0); +?> + + +
                      +

                      +

                      + + 작성자만 글을 수정할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 수정할 수 있습니다. + + 작성자만 글을 삭제할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 삭제할 수 있습니다. + + 비밀글 기능으로 보호된 글입니다. + 작성자와 관리자만 열람하실 수 있습니다.
                      본인이라면 비밀번호를 입력하세요. + +

                      + +
                      + + + + + + + + +
                      + + + +
                      +
                      + +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/password_lost.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/password_lost.skin.php new file mode 100644 index 0000000..ff9bb9e --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/password_lost.skin.php @@ -0,0 +1,48 @@ +', 0); +?> + + +
                      +

                      회원정보 찾기

                      +
                      +
                      +
                      +

                      + 회원가입 시 등록하신 이메일 주소를 입력해 주세요.
                      + 해당 이메일로 아이디와 비밀번호 정보를 보내드립니다. +

                      + + +
                      + + + +
                      + + + +
                      + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/point.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/point.skin.php new file mode 100644 index 0000000..5c0c80d --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/point.skin.php @@ -0,0 +1,79 @@ +', 0); +?> + +
                      +

                      + +
                      + +
                        +
                      • + 보유포인트 + +
                      • + 0) { + $point1 = '+' .number_format($row['po_point']); + $sum_point1 += $row['po_point']; + } else { + $point2 = number_format($row['po_point']); + $sum_point2 += $row['po_point']; + } + + $po_content = $row['po_content']; + + $expr = ''; + if($row['po_expired'] == 1) + $expr = ' txt_expired'; + ?> +
                      • +
                        + + + +
                        + + + + 만료 + + +
                      • + 자료가 없습니다.'; + else { + if ($sum_point1 > 0) + $sum_point1 = "+" . number_format($sum_point1); + $sum_point2 = number_format($sum_point2); + } + ?> + +
                      • + 소계 + + +
                      • +
                      + +
                      + + + + +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/profile.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/profile.skin.php new file mode 100644 index 0000000..31fa9c1 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/profile.skin.php @@ -0,0 +1,52 @@ +', 0); +?> + + +
                      +

                      님의 프로필

                      +
                      + + + + +
                      +
                      + + + + + + + + + + + + + + + + + + + + + + +
                      회원권한 포인트
                      회원가입일= $mb['mb_level']) ? substr($mb['mb_datetime'],0,10) ." (".number_format($mb_reg_after)." 일)" : "알 수 없음"; ?> 최종접속일= $mb['mb_level']) ? $mb['mb_today_login'] : "알 수 없음"; ?>
                      홈페이지
                      + + +
                      +

                      인사말

                      +

                      +
                      +
                      +
                      + +
                      +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/register.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/register.skin.php new file mode 100644 index 0000000..4aff482 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/register.skin.php @@ -0,0 +1,103 @@ +', 0); +?> + + +
                      + + + +
                      + +

                      회원가입약관 및 개인정보처리방침안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.

                      +
                      + + + +
                      +
                      +

                      회원가입약관

                      + +
                      + + +
                      +
                      + +
                      +

                      개인정보처리방침안내

                      +
                      + + + + + + + + + + + + + + + + + + + + + +
                      개인정보처리방침안내
                      목적항목보유기간
                      이용자 식별 및 본인여부 확인아이디, 이름, 비밀번호회원 탈퇴 시까지
                      고객서비스 이용에 관한 통지,
                      CS대응을 위한 이용자 식별
                      연락처 (이메일, 휴대전화번호)회원 탈퇴 시까지
                      +
                      + +
                      + + +
                      +
                      + +
                      + +
                      + +
                      + + +
                      + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/register_form.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/register_form.skin.php new file mode 100644 index 0000000..5ecb1c8 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/register_form.skin.php @@ -0,0 +1,461 @@ +', 0); +?> + + + + + + + + +
                      + + + + + + + + date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면 ?> + + + +
                      +
                      +

                      사이트 이용정보 입력

                      +
                        +
                      • + + class="frm_input half_input " minlength="3" maxlength="20" placeholder="아이디"> + + 영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요. +
                      • +
                      • + + class="frm_input half_input " minlength="3" maxlength="20" placeholder="비밀번호"> + + + class="frm_input half_input right_input " minlength="3" maxlength="20" placeholder="비밀번호 확인"> +
                      • +
                      +
                      + +
                      +

                      개인정보 입력

                      + +
                        +
                      • + + class="frm_input half_input " size="10" placeholder="이름"> + 아이핀 본인확인'.PHP_EOL; + if($config['cf_cert_hp']) + echo ''.PHP_EOL; + + echo ''.PHP_EOL; + } + ?> + + +
                        + 본인확인성인인증 완료 +
                        + + + 아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다. + + + +
                      • + +
                      • + + + + + + + 공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)
                        + 닉네임을 바꾸시면 앞으로 일 이내에는 변경 할 수 없습니다. +
                        + +
                      • + + +
                      • + + + + + + + + + + + +
                      • + + +
                      • + + class="frm_input full_input " size="70" maxlength="255" placeholder="홈페이지"> +
                      • + + +
                      • + + + + class="frm_input half_input " maxlength="20" placeholder="전화번호"> + + + + + + class="frm_input right_input half_input " maxlength="20" placeholder="휴대폰번호"> + + + + +
                      • + + + +
                      • + 필수 + + class="frm_input " size="5" maxlength="6" placeholder="우편번호"> +
                        + class="frm_input frm_address full_input " size="50" placeholder="기본주소"> +
                        + + +
                        + + + + +
                      • + +
                      +
                      + +
                      +

                      기타 개인설정

                      +
                        + +
                      • + + +
                      • + + + +
                      • + + +
                      • + + + = $config['cf_icon_level']) { ?> +
                      • + + + + + 이미지 크기는 가로 픽셀, 세로 픽셀 이하로 해주세요.
                        + gif, jpg, png파일만 가능하며 용량 바이트 이하만 등록됩니다. +
                        + + + 회원아이콘 + + + + +
                      • + + + = $config['cf_icon_level'] && $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height']) { ?> +
                      • + + + + + 이미지 크기는 가로 픽셀, 세로 픽셀 이하로 해주세요.
                        + gif, jpg, png파일만 가능하며 용량 바이트 이하만 등록됩니다. +
                        + + + 회원이미지 + + + + +
                      • + + +
                      • + + > + 정보 메일을 받겠습니다. + +
                      • + + +
                      • + + + > + 휴대폰 문자메세지를 받겠습니다. + +
                      • + + + +
                      • + + + id="reg_mb_open"> + 다른분들이 나의 정보를 볼 수 있도록 합니다. + + 정보공개를 바꾸시면 앞으로 일 이내에는 변경이 안됩니다. + +
                      • + +
                      • + 정보공개 + + + 정보공개는 수정후 일 이내, 까지는 변경이 안됩니다.
                        + 이렇게 하는 이유는 잦은 정보공개 수정으로 인하여 쪽지를 보낸 후 받지 않는 경우를 막기 위해서 입니다. +
                        + +
                      • + + + + + +
                      • + + +
                      • + + +
                      • + 자동등록방지 + +
                      • +
                      +
                      + +
                      +
                      + 취소 + +
                      +
                      + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/register_result.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/register_result.skin.php new file mode 100644 index 0000000..2072485 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/register_result.skin.php @@ -0,0 +1,44 @@ +', 0); +?> + + +
                      +

                      회원가입이 완료되었습니다.

                      +

                      + 님의 회원가입을 진심으로 축하합니다.
                      +

                      + + +

                      + 회원 가입 시 입력하신 이메일 주소로 인증메일이 발송되었습니다.
                      + 발송된 인증메일을 확인하신 후 인증처리를 하시면 사이트를 원활하게 이용하실 수 있습니다. +

                      +
                      + 아이디 +
                      + 이메일 주소 + +
                      +

                      + 이메일 주소를 잘못 입력하셨다면, 사이트 관리자에게 문의해주시기 바랍니다. +

                      + + +

                      + 회원님의 비밀번호는 아무도 알 수 없는 암호화 코드로 저장되므로 안심하셔도 좋습니다.
                      + 아이디, 비밀번호 분실시에는 회원가입시 입력하신 이메일 주소를 이용하여 찾을 수 있습니다. +

                      + +

                      + 회원 탈퇴는 언제든지 가능하며 일정기간이 지난 후, 회원님의 정보는 삭제하고 있습니다.
                      + 감사합니다. +

                      + + 메인으로 + +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/scrap.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/scrap.skin.php new file mode 100644 index 0000000..c2a7c52 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/scrap.skin.php @@ -0,0 +1,33 @@ +', 0); +?> + + +
                      +

                      + +
                      +
                        + +
                      • + + + + 삭제 +
                      • + + + 자료가 없습니다."; ?> +
                      +
                      + + + +
                      + +
                      +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/scrap_popin.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/scrap_popin.skin.php new file mode 100644 index 0000000..ad3ed8b --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/scrap_popin.skin.php @@ -0,0 +1,40 @@ +', 0); +?> + + +
                      +

                      스크랩하기

                      +
                      + + +
                      + +
                      +

                      제목 확인 및 댓글 쓰기

                      +
                        +
                      • + 제목 + +
                      • +
                      • + + +
                      • +
                      +
                      + +

                      + 스크랩을 하시면서 감사 혹은 격려의 댓글을 남기실 수 있습니다. +

                      + +
                      + +
                      +
                      +
                      +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/member/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/style.css new file mode 100644 index 0000000..f9caa22 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/member/basic/style.css @@ -0,0 +1,263 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 버튼 */ +.mbskin a.btn01 {} +.mbskin a.btn01:focus, .mbskin .btn01:hover {} +.mbskin a.btn02 {} +.mbskin a.btn02:focus, .mbskin .btn02:hover {} +.mbskin .btn_confirm {} /* 서식단계 진행 */ +.mbskin .btn_submit {} +.mbskin button.btn_submit {} +.mbskin fieldset .btn_submit {} +.mbskin .btn_cancel {} +.mbskin button.btn_cancel {} +.mbskin .btn_cancel:focus, .mbskin .btn_cancel:hover {} +.mbskin a.btn_frmline, .mbskin button.btn_frmline {} /* 우편번호검색버튼 등 */ +.mbskin button.btn_frmline {} +.mbskin .win_btn {} /* 새창용 */ +.mbskin .win_btn button {} +.mbskin .win_btn input {} +.mbskin .win_btn a {} +.mbskin .win_btn a:focus, .mbskin .win_btn a:hover {} + +/* 게시판용 버튼 */ +.mbskin a.btn_b01 {} +.mbskin a.btn_b01:focus, .mbskin .btn_b01:hover {} +.mbskin a.btn_b02 {} +.mbskin a.btn_b02:focus, .mbskin .btn_b02:hover {} +.mbskin a.btn_admin {} /* 관리자 전용 버튼 */ +.mbskin a.btn_admin:focus, .mbskin a.btn_admin:hover {} + +/* 기본박스 */ +.mbskin{position: relative;margin:100px auto 0;border:1px solid #ddd;width:400px;background:#fff;text-align:center; +} +.mbskin:before,.mbskin:after{ +content:""; +position:absolute;z-index:-1;top:2%;bottom:0;left:10px;right:10px; +-webkit-box-shadow:0 0 20px rgba(0,0,0,0.8); + -moz-box-shadow:0 0 20px rgba(0,0,0,0.8); + box-shadow:0 0 20px rgba(0,0,0,0.8); +-moz-border-radius:100px / 10px; + border-radius:100px / 10px;} +.mbskin:after{right:10px;left:auto; + -webkit-transform:skew(8deg) rotate(3deg); + -moz-transform:skew(8deg) rotate(3deg); + -ms-transform:skew(8deg) rotate(3deg); + -o-transform:skew(8deg) rotate(3deg); + transform:skew(8deg) rotate(3deg);} +.mbskin .frm_input{width:100%} +.mbskin .btn_submit{width:100%;margin:10px 0 0;height:45px;font-weight:bold;font-size:1.25em} +.mbskin h1{margin: 60px 0 30px;font-size: 2em;} + + +/* 기본테이블 */ + +.mbskin .tbl_head01 {} +.mbskin .tbl_head01 caption {} +.mbskin .tbl_head01 thead th {} +.mbskin .tbl_head01 thead a {} +.mbskin .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.mbskin .tbl_head01 tfoot th {} +.mbskin .tbl_head01 tfoot td {} +.mbskin .tbl_head01 tbody th {} +.mbskin .tbl_head01 td {} +.mbskin .tbl_head01 a {} +.mbskin td.empty_table {} + +/* 폼 테이블 */ +.mbskin table {} +.mbskin caption {} +.mbskin .frm_info {} +.mbskin .frm_file {} + +.mbskin .tbl_frm01 {} +.mbskin .tbl_frm01 th {width:85px;} +.mbskin .tbl_frm01 td {} +.mbskin .tbl_frm01 textarea, .mb_skin tbl_frm01 .frm_input {} +.mbskin .tbl_frm01 textarea {} +/* +.mbskin .tbl_frm01 #captcha {} +.mbskin .tbl_frm01 #captcha input {} +*/ +.mbskin .tbl_frm01 a {} + +/* 필수입력 */ +.mbskin .required, .mbskin textarea.required {} + +/* 테이블 항목별 정의 */ +.mbskin .td_board {} +.mbskin .td_chk {} +.mbskin .td_date {} +.mbskin .td_datetime {} +.mbskin .td_group {} +.mbskin .td_mb_id {} +.mbskin .td_mng {} +.mbskin .td_name {} +.mbskin .td_nick {} +.mbskin .td_num {} +.mbskin .td_numbig {} + +.mbskin .txt_active {} +.mbskin .txt_expired {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 회원가입 약관 */ +#fregister p{text-align:center;color: #c7254e;background: #f9f2f4;padding:10px;border:1px solid #ecc7d2;margin:0 0 5px} +#fregister section {;margin:10px auto 30px;border:1px solid #dbdbdb;position:relative;border-radius:3px 3px 0 0 ; +-webkit-box-shadow: 0 1px 3px #eee; +-moz-box-shadow: 0 1px 3px #eee; +box-shadow: 0 1px 3px #eee; +} +#fregister_chkall{text-align:right} +#fregister h2 {text-align:left;padding:15px 20px;border-bottom:1px solid #dbdbdb;background:#f8f8f8} +#fregister textarea {display:block;padding:20px;width:100%;height:150px;background:#fff;border:0;line-height:1.6em} +#fregister .fregister_agree {position:absolute;top:0;right:0;;padding:15px} +#fregister_private div{padding:20px;background:#fff} +#fregister_private table{width:100%;border-collapse:collapse} +#fregister_private table caption {position:absolute;font-size:0;line-height:0;overflow:hidden} +#fregister_private table th{background:#646982;width:33.33%;color:#fff;padding:10px;border:1px solid #555971} +#fregister_private table td{border:1px solid #ddd;padding:10px;} +#fregister .btn_confirm{text-align:center;} +#fregister .btn_confirm .btn_submit{height:50px;padding:0 40px;font-weight:bold;font-size:1.083em} + +/* 회원가입 입력 */ +#register_form{background:#fff;padding:20px;margin-bottom:20px} +#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center} +#fregisterform .frm_address {margin:5px 0 0} +#fregisterform #mb_addr3 {display:inline-block;margin:5px 0 0;vertical-align:middle} +#fregisterform #mb_addr_jibeon {display:block;margin:5px 0 0} +#fregisterform .btn_confirm{text-align:center} +#fregisterform .btn_confirm .btn_submit{height:45px;;padding:0 30px;font-weight:bold;font-size:1.083em} +#fregisterform .btn_confirm .btn_cancel{line-height:45px;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em} +#fregisterform .frm_info{display:block;color:#3497d9;font-size:0.92em} +#fregisterform .form_01 div{margin: 0 0 50px} +#fregisterform .captcha{display:block;margin:5px 0 0} +#fregisterform .reg_mb_img_file img{max-width:100%;height:auto} + + +/* 회원가입 완료 */ +#reg_result {padding:100px 0 40px;text-align:center;background:#fff} +#reg_result h2{font-size:2em;margin:0 0 20px} +#reg_result h2 strong{color:#ed6478} +#reg_result #result_email {margin:20px 0;padding:10px 50px;border-top:1px solid #e9e9e9;border-bottom:1px solid #dde4e9;background:#fff;line-height:2em} +#reg_result #result_email span {display:inline-block;width:150px} +#reg_result #result_email strong {color:#e8180c;font-size:1.2em} +#reg_result p {line-height:1.8em} +#reg_result .btn_confirm {margin:50px 0} +#reg_result .reg_result_p{font-size:1.25em;margin:0 0 10px;} +#reg_result .reg_result_p strong{color:#3497d9} +#reg_result .btn_submit{padding: 0 30px;font-weight:bold;height:40px;line-height:40px;display:inline-block;margin:30px 0 0 ;font-size:1.083em} + +/* 아이디/비밀번호 찾기 */ +#find_info #mb_hp_label {display:inline-block;margin-left:10px} +#find_info p {line-height:1.5em} +#find_info #mb_email{margin:10px 0;} + +/* 로그인 */ +#mb_login {} +#login_fs{padding:0 50px} +#mb_login #login_fs .frm_input{margin:0 0 10px} +#mb_login #login_fs .btn_submit {margin:0 0 20px} +#mb_login #login_info{background:#f6f6f6;padding:25px 10px;border-top:1px solid #e8e8e8;margin:40px 0 0 } +#mb_login #login_info:after {display:block;visibility:hidden;clear:both;content:""} +#mb_login #login_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#mb_login #login_info a{display:inline-block;width:50%;float:left} +#login_password_lost{border-right:1px solid #ddd} + +#mb_login_notmb{margin:30px auto;padding:20px 30px } +#mb_login_notmb h2{font-size:1.25em;margin:20px 0 10px} +#guest_privacy{border:1px solid #ccc;text-align:left;line-height:1.6em;color:#666;background:#fafafa;padding:10px;height:150px;margin:10px 0;overflow-y:auto} +#mb_login_notmb .btn_submit{display:block;text-align:center;line-height:45px} + +#mb_login_od_wr{margin:30px auto;padding:20px 30px } +#mb_login_od_wr h2{font-size:1.25em;margin:20px 0 10px} +#mb_login_od_wr .frm_input{margin:10px 0 0 } +#mb_login_od_wr p{background:#f3f3f3;margin:20px 0 0 ;padding:15px 20px;line-height:1.5em} + +/* 쪽지 */ +#memo_list .memo_name,#memo_list .memo_name .sv_wrap{font-weight:bold} +#memo_list .memo_datetime{float:right;font-size:0.92em;color:#777;font-style:italic} +#memo_list .memo_del{margin-left: 5px; color: #49857c;font-size: 15px;} + +#memo_view_contents {margin:10px 0;border:1px solid #ddd;} +#memo_view_contents h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#memo_view_ul {margin:0;border-bottom:1px solid #eee;list-style:none;background:#f3f3f3;} +#memo_view_ul:after {display:block;visibility:hidden;clear:both;content:""} +.memo_view_li {position:relative;padding:10px;float:left;width:50%;} +.memo_view_name strong,.memo_view_name .sv_wrap{font-weight:bold !important} +.memo_view_subj{display: inline-block;height: 20px;line-height: 18px;border: 1px solid #3497d9;color: #3497d9;padding: 0 5px;border-radius: 15px;font-size: 11px;} +.memo_view_li .profile_img img{border-radius:50%} +.memo_view_date{text-align:right;color:#555;font-style:italic} +.memo_view_date strong{font-weight:normal} +#memo_view .btn_b02{float:right} +#memo_view .btn_b02.reply_btn{margin-left:4px} +#memo_view p {padding:10px;border-top:1px solid #ddd;min-height:150px;height:auto !important;height:150px;background:#fff;line-height:1.8em} + +#memo_write textarea {height:100px} + +/* 스크랩 */ +#scrap .scrap_tit{font-weight:bold;display:block;font-size:1.083em;margin-bottom:5px;line-height:1.3em} +#scrap .scrap_cate{ display:block;color:#3598db ;font-size:0.92em;float:left} +#scrap .scrap_datetime{;color:#777;font-style:italic;float:right} +#scrap .scrap_del{position:absolute;top:5px;right:10px;font-size:18px;color:#49857c} +#scrap .scrap_del:hover{color:#98ca69} +#scrap_do table {margin:0 0 10px;width:100%} +#scrap_do textarea {height:100px} +#scrap_do .scrap_tit{background:#f3f3f3;padding:10px 15px;font-size:1.083em;font-weight:bold} +#scrap_do label{display:block;margin:0 0 5px;font-size:0.92em} +/*포인트*/ +#point .point_top{line-height:15px;margin:0 0 5px} +#point .point_top:after {display:block;visibility:hidden;clear:both;content:""} +#point .point_tit{font-weight:bold;float:left;font-size:1.083em;display:block;} +#point .point_num{font-size:1.25em;color:#00c4ac;font-weight:bold;float:right;} +#point .point_date1{float:left;color:#555;font-style:italic} +#point .point_date{float:right;color:#555;font-style:italic} +#point .txt_expired {color:#aaa;} +#point .point_all{background:#ae99da;border:0;border-bottom:2px solid #9781c5;color:#fff;font-weight:bold;font-size:1.083em} +#point .point_all span,#point .point_status span{float:right;} +#point .point_status{background:#737373;border:0;color:#fff;font-weight:bold;font-size:1.083em} +#point .point_status span{margin-left:10px} + +/* 회원 비밀번호 확인 */ +#mb_confirm {} +#mb_confirm h1 {margin:60px 0 30px;font-size:2em} +#mb_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565} +#mb_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px} +#mb_confirm fieldset {;padding:50px;text-align:left} +#mb_confirm fieldset .frm_input {background-color:#fff !important} +#mb_confirm label {letter-spacing:-0.1em} +#mb_confirm_id {display:block;margin:5px 0 10px;font-weight:bold} +#mb_confirm .confirm_id{font-size:0.92em;color:#666} + +/* 비밀글 비밀번호 확인 */ +#pw_confirm h1 {margin:60px 20px 30px;font-size:2em} +#pw_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565} +#pw_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px} +#pw_confirm fieldset {;padding:50px;text-align:center} +#pw_confirm fieldset .frm_input {background-color:#fff !important} +#pw_confirm label {letter-spacing:-0.1em} +#pw_confirm_id {display:inline-block;margin-right:20px;font-weight:bold} +#mb_confirm_id{} + +/* 폼메일 */ +#formmail textarea {height:100px} +#formmail .formmail_flie{position:relative} +#formmail .formmail_flie .file_wr {border: 1px solid #ccc;background: #fff;color: #000;vertical-align: middle;border-radius: 3px;padding: 5px;height: 40px;margin: 0;} +#formmail .lb_icon {position: absolute;top: 1px;left: 1px;border-radius: 3px 0 0 3px;height: 38px;line-height: 38px;width: 40px;background: #eee;text-align: center;color: #888;} +#formmail .frm_file {padding-left: 50px;} +#formmail .frm_info{color: #3497d9;font-size: 0.92em;} + +/* 자기소개 */ +#profile h1 a{color:#fff} +#profile table {margin-bottom:0} +#profile table th{text-align:left;padding:10px;width:100px} +#profile section {color: #2d4c7b;background: #eff9f9;padding: 10px;border: 1px solid #bfd4dc;margin: 10px 0;} +#profile h2 {margin:0 0 5px} +#profile .profile_name{text-align:center;font-weight:bold} +#profile .my_profile_img{display:block;margin:20px 0 5px;} +#profile .my_profile_img img{border-radius:50%;border:1px solid #aaa} +#profile .profile_img img{border-radius:50%} +#profile .profile_name .sv_wrap{font-weight:bold;text-align:left} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/new/basic/new.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/new/basic/new.skin.php new file mode 100644 index 0000000..adb023d --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/new/basic/new.skin.php @@ -0,0 +1,144 @@ +', 0); +?> + + +
                      + 상세검색 +
                      + + + + + + +

                      회원 아이디만 검색 가능

                      +
                      + +
                      + + + +
                      + + + + + + + + +
                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
                      + + + 그룹게시판제목이름일시
                      + + + + +
                      게시물이 없습니다.
                      +
                      + + +
                      + +
                      + +
                      + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/new/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/new/basic/style.css new file mode 100644 index 0000000..fc0707b --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/new/basic/style.css @@ -0,0 +1,12 @@ +@charset "utf-8"; + +/* 최근게시물 스킨 (new) */ +#new_sch {margin-bottom:15px;text-align:center;padding: 20px;border: 1px solid #e8e8e8;background: #fbfbfb;} +#new_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#new_sch p {padding:5px 0 0;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +#new_sch .frm_input{border-color:#646982;border-radius:0} +#new_sch select{border:1px solid #646982;height:40px;padding:0 5px} +#new_sch .btn_submit{padding: 0 10px;height: 40px;font-size: 1.083em;font-weight: bold;color: #fff;background: #253dbe;} +#fnewlist .new_tit{font-weight:bold} +#fnewlist .profile_img img{border-radius:50%} +#fnewlist .td_date{font-style:italic} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/img/info_edit.png b/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/img/info_edit.png new file mode 100644 index 0000000..ce5eae3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/img/info_edit.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/outlogin.skin.1.php b/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/outlogin.skin.1.php new file mode 100644 index 0000000..a2a07b0 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/outlogin.skin.1.php @@ -0,0 +1,63 @@ +', 0); +?> + + +
                      +

                      회원로그인

                      +
                      +
                      +
                      + + + + + + +
                      +
                      +
                      + + +
                      + +
                      + + +
                      +
                      +
                      + + + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/outlogin.skin.2.php b/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/outlogin.skin.2.php new file mode 100644 index 0000000..2341db4 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/outlogin.skin.2.php @@ -0,0 +1,51 @@ +', 0); +?> + + +
                      +
                      +

                      나의 회원정보

                      + + + 정보수정 + + + 로그아웃 + 관리자 +
                      + + +
                      + + + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/style.css new file mode 100644 index 0000000..239b407 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/outlogin/basic/style.css @@ -0,0 +1,48 @@ +@charset "utf-8"; + +/* 아웃로그인 스킨 */ +.ol {position:relative;margin:20px;} +.ol h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} + +.ol a.btn_admin {display:inline-block;padding:0 10px;height:25px;text-decoration:none;line-height:25px;vertical-align:middle} /* 관리자 전용 버튼 */ +.ol a.btn_admin:focus, .ol a.btn_admin:hover {text-decoration:none} + +#ol_before {} +#ol_before:after {display:block;visibility:hidden;clear:both;content:""} +#ol_before .ol_wr{position:relative;border:1px solid #b7bece;margin-bottom:5px} +#ol_id {display:block;width:185px;border:1px solid #fff;padding:0 10px;height:32px} +#ol_pw {display:block;width:185px;border:1px solid #fff;padding:0 10px;border-top:1px solid #ededed;height:32px} +#ol_submit {position:absolute;top:0;right:0;width:76px;height:64px;background:#fff;border-left:1px solid #ccc;color:#000;font-weight:bold;font-size:1.167em} +#ol_svc {float:right;line-height:20px} +#ol_svc a{display:inline-block;color:#555;margin:0 5px} +#ol_auto {float:left;line-height:20px} +#ol_auto label {color:#555} +#ol_auto input {width:13px;height:13px} +.ol_auto_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#ol_after {background:#fff;border: 1px solid #d2d9e6; border-bottom: 1px solid #c1ccda; +-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +box-shadow:0 1px 2px rgba(0,0,0,0.1)} +#ol_after_hd {position:relative;margin:0 0 10px;padding:10px;padding-left:80px;height:72px;} +#ol_after_hd strong{display:block;margin:5px 0} +#ol_after_hd .profile_img{position:absolute;top:15px;left:15px;display:inline-block;} +#ol_after_hd .profile_img img{border:1px solid #bbb;border-radius:50%;width:50px;height:50px} +#ol_after_hd .profile_img a{display:block;position:absolute;bottom:-5px;right:-5px;background: #fff;text-align:center;font-size:17px;width:30px;line-height:30px;border-radius:50%;color:#777; +-webkit-box-shadow: -2px -2px 5px rgba(0,0,0,0.1); +-moz-box-shadow: -2px -2px 5px rgba(0,0,0,0.1); +box-shadow: -2px -2px 5px rgba(0,0,0,0.1);} +#ol_after_hd .btn_admin {} +#ol_after_hd .btn_b04{line-height:23px;padding:0 5px} +#ol_after_private {background:#f7f7f7;border-top: 1px solid #e8e8e8;zoom:1} +#ol_after_private:after {display:block;visibility:hidden;clear:both;content:""} +#ol_after_private li {margin-bottom:1px;position:relative;float:left;width:33.333%;text-align:center} +#ol_after_private a {display:block;color:#444;line-height:20px;height:60px;border-left:1px solid #e8e8e8;padding:10px 0;} +#ol_after_private li:first-child a{border-left:0} +#ol_after_private a strong {display:inline-block;max-width:87px;overflow:hidden;white-space:nowrap;text-overflow:clip;background:#7587a2;color:#fff;padding:0 8px;border-radius:15px;font-size:0.92em;box-shadow:inset 2px 1px 3px rgba(0,0,0,0.2)} +#ol_after_private a strong.scrap{padding:0 14px} +#ol_after_private a:hover strong{background:#4b8bff} +#ol_after_private li a:hover{color:#4b8bff;background:#f1f1f1} +#ol_after_memo {;margin-right:1px} +#ol_after_pt {margin-right:1px} + diff --git a/web/html/theme/AT_WEB01/img_sample/skin/poll/basic/poll.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/poll/basic/poll.skin.php new file mode 100644 index 0000000..b83cbe4 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/poll/basic/poll.skin.php @@ -0,0 +1,69 @@ +', 0); +?> + + +
                      + + +
                      +
                      +

                      설문조사

                      + 설문관리 +
                      + +
                      +
                      + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/poll/basic/poll_result.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/poll/basic/poll_result.skin.php new file mode 100644 index 0000000..632658f --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/poll/basic/poll_result.skin.php @@ -0,0 +1,120 @@ +', 0); +?> + + +
                      +

                      +
                      + + 전체 +
                      +

                      결과

                      + +
                        + +
                      1. + + % +
                        + +
                        +
                      2. + +
                      +
                      + + + + +
                      +

                      이 설문에 대한 기타의견

                      + + +
                      +
                      +

                      님의 의견

                      + + 삭제"; } ?> +
                      +

                      + +

                      + +
                      + + + = $po['po_level']) { ?> +
                      + + + + +

                      + +
                      +
                        + +
                      • + + +
                      • +
                      • + +
                      • + +
                      • + + +
                      • +
                      • + +
                      • + +
                      +
                      + + +
                      + + +
                      + + + + + + + +
                      + +
                      +
                      +
                      + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/poll/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/poll/basic/style.css new file mode 100644 index 0000000..723c775 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/poll/basic/style.css @@ -0,0 +1,101 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +#poll a.btn_admin {} /* 관리자 전용 버튼 */ +#poll a.btn_admin:focus, #poll a.btn_admin:hover {} + +#poll_result .tbl_frm table {} +#poll_result .tbl_frm .frm_info {} +#poll_result .tbl_frm .frm_address {} +#poll_result .tbl_frm .frm_file {} +#poll_result .tbl_frm caption {} + +#poll_result .tbl_frm01 {} +#poll_result .tbl_frm01 th {} +#poll_result .tbl_frm01 td {} +#poll_result .tbl_frm01 textarea, #poll_result tbl_frm01 .frm_input {} +#poll_result .tbl_frm01 textarea {} +/* +#poll_result .tbl_frm01 #captcha {} +#poll_result .tbl_frm01 #captcha input {} +*/ +#poll_result .tbl_frm01 a {} + +/* 필수입력 */ +#poll_result .required, #poll_result textarea.required {} + +#poll_result .btn_confirm {} /* 서식단계 진행 */ +#poll_result .btn_submit {} +#poll_result button.btn_submit {} +#poll_result .win_btn {} /* 새창용 */ +#poll_result .win_btn button {} +#poll_result .win_btn input {} +#poll_result .win_btn a {} +#poll_result .win_btn a:focus, #poll_result .win_btn a:hover {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 설문조사 스킨 */ +#poll {border: 1px solid #d2d9e6; border-bottom: 1px solid #c1ccda;background:#fff;margin:50px 20px 20px;position:relative; +-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +box-shadow:0 1px 2px rgba(0,0,0,0.1)} +#poll h2 {font-size:1.167em;text-align:center;padding-top:25px;color:#1d9d74;position:relative} +#poll h2 i{position:absolute;top:-22px;left:50%;width:44px;line-height:44px;margin-left:-22px;border-radius:25px;background:#1d9d74;color:#fff} +#poll header .btn_admin {text-align:center;position:absolute;top:10px;right:10px;height:25px;line-height:25px;padding:0 5px;border-radius:3px} +#poll ul {padding: 10px 15px;list-style:none} +#poll li {padding:5px 0} +#poll .poll_con{} +#poll .poll_con p{font-weight:bold;padding: 10px 15px;background: #f1f9f7;border:1px solid #e0f1e9;color: #457163;margin:10px 10px 0} +#poll_btn{background:#f7f7f7;padding:10px;text-align:center} +#poll_btn:after {display:block;visibility:hidden;clear:both;content:""} +#poll_btn .btn_poll{display:inline-block;height:30px;line-height:28px;padding: 0 10px} +#poll_btn .btn_result{;display:inline-block;height:30px;line-height:30px;padding: 0 10px;font-weight:bold} + + +/* 설문조사 결과 (새창) */ +#poll_result {} +#poll_result section {margin:0 0 20px;padding:25px;border:1px solid #dbdbdb;background:#fff; +-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.1)); + -moz-box-shadow: 0 0 5px rgba(55,55,5,0.1)); + box-shadow: 0 0 5px rgba(55,55,5,0.1); } +#poll_result .tbl_wrap {margin:0} +#poll_result h2 {} +#poll_result a {} +#poll_result .sv_member, +#poll_result .sv_guest {font-weight:bold} +#poll_result .poll_all{float:right;display:inline-block;margin:0 0 10px;line-height: 30px;font-size: 0.92em;color: #4e546f;background: #d4d4d4;padding: 0 10px;border-radius: 5px;} +#poll_result_list {margin:0 auto 20px;clear:both} +#poll_result_list h2 {margin:0;font-size:1.25em;padding: 0 0 15px;margin:0 0 15px;border-bottom:1px solid #ddd;text-align:center;} +#poll_result_list dt {margin-right:5%;color:#e8180d;text-align:right} +#poll_result_list ol {margin:0;padding:0} +#poll_result_list li {margin:20px 0;position:relative;list-style-position:inside} +#poll_result_list .poll_percent{position:absolute;top:0;right:0;color:#415b72;font-weight:bold} +.poll_result_graph {position:relative;margin-right:5%;margin:5px 0 ;height:15px;background:#f4f4f4;border-radius:10px 10px} +.poll_result_graph span {position:absolute;top:0;left:0;height:15px;background:#ae99da;border-radius:10px 10px;white-space: nowrap;} +.poll_result_graph span .poll_cnt {display:none;position:absolute;top:18px;right:0;font-size:0.92em;text-align:right;background:#333;color:#fff;padding:0 7px;line-height:22px;border-radius:3px} +.poll_result_graph span:hover .poll_cnt {display:block} +.poll_result_graph span .poll_cnt:before{content: "";position: absolute;top: -6px;left: 50%;margin-left:-4px;width: 0;height: 0;border-style: solid;border-width: 0 4px 6px 4px;border-color: transparent transparent #333 transparent;} +#poll_result_cmt {} +#poll_result_cmt h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#poll_result_cmt h3 {margin:0;font-size:1.25em;padding: 0 0 15px;margin:0 0 15px;border-bottom:1px solid #ddd;text-align:center;} +#poll_result_cmt article {margin:15px 0 ;position:relative;} +#poll_result_cmt h1 {position:absolute;margin:0;padding:0;border:0;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#poll_result_cmt header{margin:0 0 5px} +#poll_result_cmt .poll_datetime{display:inline-block;position:absolute;top:0;right:0;font-size:0.92em;color:#777;font-style:italic} +#poll_result_cmt .profile_img img{border-radius:50%} +#poll_result_cmt p {padding:10px;background:#f6f6f6;border-radius:5px;line-height:1.5em} +#poll_result_cmt fieldset {margin-bottom:0;text-align:left} +#poll_result_cmt fieldset p {margin:0 0 15px;padding:3px 0 0px;text-align:left} +#poll_result_cmt footer {text-align:right} +#poll_result_cmt .btn_submit {padding:0 20px;float:right} + +.poll_cmt_del a {display:inline-block;margin-left:5px;color:#49857c;font-size:15px;} +.poll_cmt_del a:hover{color:#98ca69} +#poll_result_oth {padding:0 0 30px} +#poll_result_oth h2 {padding:0 0 10px} +#poll_result_oth ul {margin:0;padding:0;list-style:none;border:1px solid #ddd;background:#fff;border-top:0} +#poll_result_oth ul li{border-top:1px solid #ddd; position:relative;line-height:20px} +#poll_result_oth a {display:block;padding: 10px} +#poll_result_oth li span{position:absolute;bottom:10px;right:15px;color:#777;font-size:0.92em;font-style:italic} diff --git a/web/html/theme/AT_WEB01/img_sample/skin/popular/basic/popular.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/popular/basic/popular.skin.php new file mode 100644 index 0000000..fbaae65 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/popular/basic/popular.skin.php @@ -0,0 +1,27 @@ +', 0); +?> + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/popular/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/popular/basic/style.css new file mode 100644 index 0000000..d0d5cfa --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/popular/basic/style.css @@ -0,0 +1,10 @@ +@charset "utf-8"; +/* 인기검색어 */ +#popular {margin:8px 0 0;position:relative} +#popular h2{display:inline-block;font-size:0.92em;color:#4b8bff;background:#fff;line-height:20px;padding:0 5px;border:1px solid #dcdcde;vertical-align:top} +#popular .popular_inner{position:absolute;left:70px;top:2px;height:18px;overflow:hidden} +#popular ul{display:inline-block} +#popular ul:after {display:block;visibility:hidden;clear:both;content:""} +#popular li{height:18px;line-height:18px;border-left:1px solid #c3c3c3;padding:0 10px;float:left} +#popular li:first-child{border-left:0} +#popular li a:hover{color:#a22121;text-decoration:underline} diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/btn_close.gif b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_answer.gif b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_answer.gif new file mode 100644 index 0000000..91c1359 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_answer.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_file.gif new file mode 100644 index 0000000..cca47f5 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_hot.gif b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_hot.gif new file mode 100644 index 0000000..c95b839 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_img.gif b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_img.gif new file mode 100644 index 0000000..fefa10d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_link.gif b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_link.gif new file mode 100644 index 0000000..0f3cb1a Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_mobile.gif new file mode 100644 index 0000000..ad934d2 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_movie.gif b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_new.gif b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_secret.gif new file mode 100644 index 0000000..c04899f Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_sound.gif b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/list.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/list.skin.php new file mode 100644 index 0000000..b2cb077 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/list.skin.php @@ -0,0 +1,176 @@ +', 0); +?> + +
                      + + + +
                      +
                      + Total + 페이지 +
                      + + + + +
                      + + + + + + + + +
                      + + + + +
                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; } ?> + +
                      목록
                      + + + 번호제목글쓴이등록일상태
                      + + + + + + + " ; ?> + + 답변완료' : ' 답변대기'); ?>
                      게시물이 없습니다.
                      +
                      + +
                      + +
                      +
                      + + + +
                      + 게시물 검색 + +
                      + + + + +
                      +
                      + +
                      + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/style.css new file mode 100644 index 0000000..30929a3 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/style.css @@ -0,0 +1,339 @@ +@charset "utf-8"; +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w h2{position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:80px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:40px;;text-align:center} +#bo_list .td_num2 {width:50px;;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list .td_stat,#bo_v_rel .td_stat{width:100px;text-align:center} + +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list .txt_done,#bo_v_rel .txt_done{display:inline-block;height:30px;line-height:30px;padding:0 10px;border-radius:15px;color:#fff;font-size:0.92em;background:#ff63ab} +#bo_list .txt_done i,#bo_v_rel .txt_done i{font-size:13px} +#bo_list .txt_rdy,#bo_v_rel .txt_rdy{display:inline-block;height:30px;line-height:28px;padding:0 10px;border-radius:15px;color:#ff63ab;font-size:0.92em;border:1px solid #ff63ab} +#bo_list .txt_rdy i,#bo_v_rel .txt_rdy i{font-size:13px}#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +/* 게시판 목록 */ +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} + + +.td_subject img {margin-left:5px} + + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 5px} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f5f6fa} +.bo_notice td a {font-weight:bold} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;font-weight:bold;color:#000} +.td_subject .fa-download{width:16px;height:16px;line-height:16px;background:#ecaa30;color:#fff;text-align:center;font-size:10px;border-radius:2px} + +.bo_current {color:#e8180c} +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold;color:#ed6478;} +#bo_list .bo_tit .fa-heart{color:#fe4560} +#bo_list .bo_tit .fa-lock{color:#000} +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrp {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute;top:24px;right:117px;padding:8px;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;overflow-y:scroll} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:right} +#autosave_pop button {margin:0;padding:0;border:0;background:transparent} +#autosave_pop ul {margin:10px 0;padding:0;border-top:1px solid #e9e9e9;list-style:none} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #e9e9e9;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right} +.autosave_close {cursor:pointer} +.autosave_content {display:none} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding-bottom:20px} +#bo_v_table {position:absolute;top:0;right:15px;margin:0;padding:0 5px;height:25px;background:#565e60;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v header{background:#eee;border:1px solid #d4d4d4;border-bottom:0;} +#bo_v_title {font-size:1.083em;padding:10px 10px 5px} +#bo_v_title .bo_v_cate{display: inline-block;height: 20px;line-height: 18px;border: 1px solid #3497d9;color: #3497d9;padding: 0 5px;border-radius: 15px;font-size:11px} +#bo_v_info {padding:5px 10px 10px ;background:#eee;border:1px solid #d4d4d4;color:#555;border-top:0;position:relative;font-size:0.92em} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 7px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .bo_date{position:absolute;top:10px;right:10px;font-style:italic} +#bo_v_info .profile_img img{border-radius:50%;} + + +#bo_v_file {margin:10px 0 0;background:#f3f3f3} +#bo_v_file h2 {margin:0;padding:0;height:0;overflow:hidden} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {} +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_link ul {margin:0;padding:0;list-style:none} +#bo_v_link li {padding:0 10px;border-bottom:1px solid #eee;background:#f5f6fa} +#bo_v_link a {display:inline-block;padding:8px 0 7px;width:100%;color:#000;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {display:inline-block;margin:0 0 3px 16px} + +#bo_v_contact {border-bottom:1px solid #ddd} +#bo_v_contact h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_contact dl {margin:0;padding:0;list-style:none;zoom:1} +#bo_v_contact dl:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_contact dt, #bo_v_contact dd {float:left;margin:0;border-bottom:1px solid #eee;background:#f5f6fa;} +#bo_v_contact dt {clear:both;padding:8px 0 8px 30px;width:100px;font-weight:bold} +#bo_v_contact dd {padding:8px 0;width:598px} + +#bo_v_top {padding:10px 0;zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {margin:0;padding:0;height:0;overflow:hidden} +#bo_v_top ul {margin:0;padding:0;list-style:none} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {margin:0;padding:0;list-style:none} + +.bo_v_nb {float:left} +.bo_v_nb li {float:left;margin-right:5px} +.bo_v_com {float:right} +.bo_v_com li {float:left;margin-left:5px} + +#bo_v_atc {min-height:100px;background:#fff;height:auto !important;height:100px;padding:15px ;border:1px solid #d4d4d4;border-top:0;;} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {margin:0 0 10px;width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin-bottom:30px;width:100%;line-height:1.7em;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act a {margin-right:5px;vertical-align:top} +#bo_v_act span {display:inline-block;margin-right:5px;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:2.15em;vertical-align:top} +#bo_v_act strong {color:#ff3061} +#bo_v_act_good, +#bo_v_act_nogood {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_sns {margin:0 0 20px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;margin:0 5px 0 0} + +#bo_v_addq {margin:0 0 30px;text-align:right} + +#bo_v_ans {margin:0 0 30px;border:1px solid #d4d4d4;background:#fff;position:relative;} +#bo_v_ans h2 {font-size:1.083em;padding:10px 90px 5px 10px;background:#eee} +#bo_v_ans h2 span{display:inline-block;font-size:11px;background:#555;border-radius:5px;height:22px;line-height:22px;;padding:0 5px;color:#fff;font-weight:normal} +#bo_v_ans #ans_datetime {padding:0 10px 10px;font-size:0.92em;;background:#eee;;color:#666;font-style:italic} +#bo_v_ans #ans_con {margin:0 0 10px;padding:15px;line-height:1.8em} +#bo_v_ans #ans_con img{max-width:100%;height:auto} +#bo_v_ans #ans_add {text-align:right;padding:15px;} +#ans_msg {padding:40px 0;background:#f2f5f9;text-align:center} +#bo_v_ans .add_qa{position:absolute;top:10px;right:10px;background:#f57b8a;color:#fff} +#bo_v_ans .add_qa:hover{background:#ed6478} + +#bo_v_rel {margin:0 0 30px;padding:30px 0 0;} +#bo_v_rel h2 {margin:0 0 10px;font-size:1.2em} + +#bo_v_ans_form h2{margin:10px 0 0;font-size:1.167em } +#bo_v_ans_form .btn_submit{height: 50px;padding: 0 20px;border-radius: 3px;font-weight: bold;font-size: 1.083em;} + +/* 게시판 댓글 */ +#bo_vc {padding:20px 20px 10px;border-top:1px solid #cfded8;border-bottom:1px solid #cfded8;background:#f5f6fa} +#bo_vc h2 {margin-bottom:10px} +#bo_vc article {padding:0 0 10px;border-top:1px dotted #ccc} +#bo_vc header {position:relative;padding:15px 0 5px} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .sv_wrap {margin-right:15px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {display:inline-block;margin:0 15px 0 5px} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc a {color:#000;text-decoration:none} +#bo_vc p {padding:0 0 5px;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc_empty {margin:0;padding:20px !important;text-align:center} +#bo_vc fieldset {margin:0 0 10px;padding:0} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc footer {zoom:1} +#bo_vc footer:after {display:block;visibility:hidden;clear:both;content:""} + +.bo_vc_act {float:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {float:left;margin-left:5px} + +#bo_vc_w {position:relative;margin:0 0 10px;padding:0 0 20px;border-bottom:1px solid #cfded8} +#bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc_w #char_cnt {display:block;margin:0 0 5px} + +#bo_vc_sns {margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 20px 0 0} +#bo_vc_sns input {margin:0 0 0 5px} + +#bo_vc form {padding:0} + +/*글쓰기*/ +#bo_w li{;position:relative;} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5%} +.qa_content_wrap.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w #qa_category{border:1px solid #3497d9;height:40px;border-radius:3px} +#bo_w .bo_w_mail{float:left;width:49%} +#bo_w .bo_w_hp{float:right;width:49%} +#bo_w .bo_w_sbj{clear:both} +#bo_w .frm_info{color: #3497d9;margin:0 0 5px;display:inline-block;font-size: 0.92em;} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/view.answer.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/view.answer.skin.php new file mode 100644 index 0000000..fdb2c5e --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/view.answer.skin.php @@ -0,0 +1,25 @@ + + +
                      +

                      답변

                      + 추가질문 + +
                      + +
                      + +
                      + +
                      + +
                      + + 답변수정 + + + 답변삭제 + +
                      +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/view.answerform.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/view.answerform.skin.php new file mode 100644 index 0000000..8e3590a --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/view.answerform.skin.php @@ -0,0 +1,123 @@ + + +
                      + +

                      답변등록

                      + +
                      + + + + + + '; + } else { + $option .= "\n".''."\n".''; + } + + echo $option_hidden; + ?> + +
                      +
                        + +
                      • + 옵션 + +
                      • + +
                      • + + +
                      • +
                      • + + + + +
                      • +
                      +
                      + +
                      + +
                      +
                      + + + +

                      고객님의 문의에 대한 답변을 준비 중입니다.

                      + +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/view.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/view.skin.php new file mode 100644 index 0000000..35a143e --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/view.skin.php @@ -0,0 +1,183 @@ +', 0); +?> + + + + + +
                      +
                      +

                      + '.$view['category'].' '; // 분류 출력 끝 + ?> + +

                      +
                      + +
                      +

                      페이지 정보

                      + 작성자 + 작성일 + + + 이메일 + + + + 휴대폰 + + + +
                      + + + +
                      +

                      본문

                      + + \n"; + + for ($i=0; $i<$view['img_count']; $i++) { + //echo $view['img_file'][$i]; + echo get_view_thumbnail($view['img_file'][$i], $qaconfig['qa_image_width']); + } + + echo "\n"; + } + ?> + + +
                      + + + + + + + + + +
                      +

                      첨부파일

                      + +
                      + + + +
                      + + + + + + + + + + +
                      +

                      연관질문

                      + +
                      + + + + + + + + + + + + + + + + + +
                      제목등록일상태
                      + + + + + + 답변완료' : ' 답변대기'); ?>
                      +
                      +
                      + + + + +
                      + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/write.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/write.skin.php new file mode 100644 index 0000000..fe1d1a6 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/qa/basic/write.skin.php @@ -0,0 +1,179 @@ +', 0); +?> + +
                      +

                      1:1문의 작성

                      + +
                      + + + + + + '; + } else { + $option .= "\n".''."\n".''; + } + + echo $option_hidden; + ?> + +
                      +
                        + +
                      • + + + +
                      • + + + + +
                      • + + class="frm_input full_input email" size="50" maxlength="100" placeholder="이메일"> + > + + +
                      • + + + +
                      • + + class="frm_input full_input" size="30" placeholder="휴대폰"> + + > + +
                      • + + +
                      • + + + + +
                      • + +
                      • + + + +
                      • + + +
                      • + 옵션 + +
                      • + + +
                      • +
                        + + + + + +
                        +
                      • + +
                      • +
                        + + + + + +
                        +
                      • +
                      +
                      + +
                      + 목록 + + +
                      +
                      + + +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/search/basic/search.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/search/basic/search.skin.php new file mode 100644 index 0000000..c6386f5 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/search/basic/search.skin.php @@ -0,0 +1,148 @@ +', 0); +?> + + +
                      + +
                      + 상세검색 + + + + + + + + + + + + + + + id="sop_or" name="sop"> + + id="sop_and" name="sop"> + + +
                      +
                      + +
                      + + +
                      +

                      전체검색 결과

                      +
                      +
                      게시판
                      +
                      +
                      게시물
                      +
                      +
                      +

                      / 페이지 열람 중

                      +
                      + + + + + +
                      검색된 자료가 하나도 없습니다.
                      + + +
                      + +
                      + +

                      게시판 내 결과

                      +
                        + 댓글 '; + $comment_href = '#c_'.$list[$idx][$i]['wr_id']; + } + else + { + $comment_def = ''; + $comment_href = ''; + } + ?> + +
                      • +
                        + + 새창 +
                        +

                        +
                        + + +
                        +
                      • + +
                      + + +
                      + +
                      + + + +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/skin/search/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/search/basic/style.css new file mode 100644 index 0000000..6b38240 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/search/basic/style.css @@ -0,0 +1,53 @@ +@charset "utf-8"; +/* 전체검색결과 스킨 */ +#sch_res_detail {background:#fff;padding:30px;border:1px solid #ccc;text-align:center;margin:0 0 10px} +#sch_res_detail legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#sch_res_detail select{border:1px solid #646982;height:40px;padding:0 5px} +#sch_res_detail .frm_input{border:1px solid #646982;border-radius:0;} +#sch_res_detail .sch_wr{position:relative;display:inline-block} +#sch_res_detail .btn_submit{padding:0 10px;height:40px;color:#000;font-size:1.083em;font-weight:bold;color:#fff;background:#253dbe} +#sch_res_detail .sch_rd{display:block;margin:5px 0 0;font-size:0.92em;color:#666} + +#sch_res_ov {text-align:center;zoom:1} +#sch_res_ov:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_ov h2 {text-align:center;margin:30px 0 10px;font-size:1.5em;} +#sch_res_ov h2 strong{color:#00c4ac;} +#sch_res_ov dl {display:inline-block;line-height: 30px;font-size: 0.92em;color: #4e546f;background: #d4d4d4;padding: 0 10px;border-radius: 5px;} +#sch_res_ov dl:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_ov dt {float:left} +#sch_res_ov dd {float:left;margin:0 10px 0 5px} +#sch_res_ov dd .sch_word{color:#000} +#sch_res_ov p {margin:0;padding:0;line-height:1em;color:#777;font-size:0.92em} + + +#sch_res_board {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#sch_res_board h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sch_res_board ul {zoom:1} +#sch_res_board ul:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_board li {display:inline-block;padding:2px;} +#sch_res_board a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#sch_res_board a:focus, #sch_res_board a:hover {text-decoration:none;background:#d2d6dc;} +#sch_res_board .cnt_cmt {font-weight:normal !important;display:inline-block;background:#c4dce0;margin-left:3px;color:#3497d9;border-radius:15px;height:18px;padding:0 5px;line-height:18px;font-size:0.92em} +#sch_res_board .sch_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +#sch_res_board .sch_on:hover{;background:#3497d9;color:#fff;} + + + + +.sch_res_list {margin:0 0 10px;padding:10px 0 15px} +.sch_res_list h2 {margin:0 0 10px;font-size:1.2em} +.sch_res_list ul {margin:0;padding:0;list-style:none;border-top:1px solid #000} +.sch_res_list li {;border-bottom:1px solid #e0e0e0;background:#fff;position:relative} +.sch_res_list .sch_tit{display:block;background:#f4f4f4;padding:10px 70px 10px 10px} +.sch_res_list .pop_a{position:absolute;top:10px;right:10px;color:#666;} +.sch_res_title {display:inline-block;margin:0 0 5px} +.sch_res_list p {padding:10px;color:#666;line-height:1.5em} +.sch_res_list .sch_info{padding:10px;color:#777} +.sch_res_list .sch_info:after {display:block;visibility:hidden;clear:both;content:""} +.sch_res_list .profile_img img{border-radius:50%} +.sch_res_list .sch_datetime{float:right;} +.sch_more {text-align:right;margin:10px 0 30px} +.sch_more a{display:inline-block;color:#f2664f} diff --git a/web/html/theme/AT_WEB01/img_sample/skin/visit/basic/style.css b/web/html/theme/AT_WEB01/img_sample/skin/visit/basic/style.css new file mode 100644 index 0000000..ad9724a --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/visit/basic/style.css @@ -0,0 +1,15 @@ +@charset "utf-8"; +/* 방문자 집계 */ +#visit {border: 1px solid #d2d9e6; border-bottom: 1px solid #c1ccda;margin:40px 20px 20px;background:#fff;position:relative; +-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +box-shadow:0 1px 2px rgba(0,0,0,0.1)} +#visit .btn_admin{position:absolute;top:10px;right:10px;height:25px;line-height:25px;padding:0 5px;border-radius:3px} +#visit h2 {font-size:1.167em;text-align:center;padding-bottom:15px;padding-top:25px;color:#16b3d6;position:relative} +#visit h2 i{position:absolute;top:-22px;left:50%;width:44px;line-height:44px;margin-left:-22px;border-radius:25px;background:#16b3d6;color:#fff} +#visit dl {border-top:1px solid #e9e9e9;padding:10px 15px;border-radius:5px} +#visit dl:after {display:block;visibility:hidden;clear:both;content:""} +#visit dt {float:left;width:20%;padding:0 5px;line-height:23px;height:23px;color:#555} +#visit dt span{display:inline-block;width:5px;height:5px;border-radius:50%;vertical-align: middle;} +#visit dd {float:left;;width:30%;padding:0 5px;;text-align:right;text-align:right;font-weight:bold;line-height:23px;height:23px;font-size:0.92em} +#visit dd strong{display:inline-block;padding:0 5px;border-radius:20px;line-height:15px;color:#fff;} diff --git a/web/html/theme/AT_WEB01/img_sample/skin/visit/basic/visit.skin.php b/web/html/theme/AT_WEB01/img_sample/skin/visit/basic/visit.skin.php new file mode 100644 index 0000000..768a588 --- /dev/null +++ b/web/html/theme/AT_WEB01/img_sample/skin/visit/basic/visit.skin.php @@ -0,0 +1,25 @@ +', 0); +?> + + +
                      +

                      접속자집계

                      +
                      +
                      오늘
                      +
                      +
                      어제
                      +
                      +
                      최대
                      +
                      +
                      전체
                      +
                      +
                      + 상세보기 +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/img_sample/sub/hexagon1.png b/web/html/theme/AT_WEB01/img_sample/sub/hexagon1.png new file mode 100644 index 0000000..e590e4d Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/hexagon1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/hexagon2.png b/web/html/theme/AT_WEB01/img_sample/sub/hexagon2.png new file mode 100644 index 0000000..37a078b Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/hexagon2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/hexagon3.png b/web/html/theme/AT_WEB01/img_sample/sub/hexagon3.png new file mode 100644 index 0000000..80bd707 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/hexagon3.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/professional.png b/web/html/theme/AT_WEB01/img_sample/sub/professional.png new file mode 100644 index 0000000..db4ba6f Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/professional.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/sub1_con3img.png b/web/html/theme/AT_WEB01/img_sample/sub/sub1_con3img.png new file mode 100644 index 0000000..e2c52be Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/sub1_con3img.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/sub1_nextbtn.png b/web/html/theme/AT_WEB01/img_sample/sub/sub1_nextbtn.png new file mode 100644 index 0000000..ca33ab1 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/sub1_nextbtn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/sub1_prevbtn.png b/web/html/theme/AT_WEB01/img_sample/sub/sub1_prevbtn.png new file mode 100644 index 0000000..d87f274 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/sub1_prevbtn.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/sub_banner_img.png b/web/html/theme/AT_WEB01/img_sample/sub/sub_banner_img.png new file mode 100644 index 0000000..d5530d3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/sub_banner_img.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/subbg_img1.png b/web/html/theme/AT_WEB01/img_sample/sub/subbg_img1.png new file mode 100644 index 0000000..26ddac6 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/subbg_img1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/subicon1.png b/web/html/theme/AT_WEB01/img_sample/sub/subicon1.png new file mode 100644 index 0000000..dc9a631 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/subicon1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/subicon2.png b/web/html/theme/AT_WEB01/img_sample/sub/subicon2.png new file mode 100644 index 0000000..74fcdd7 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/subicon2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/subicon3.png b/web/html/theme/AT_WEB01/img_sample/sub/subicon3.png new file mode 100644 index 0000000..03ca50f Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/subicon3.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/vision_icon1.png b/web/html/theme/AT_WEB01/img_sample/sub/vision_icon1.png new file mode 100644 index 0000000..8376791 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/vision_icon1.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/vision_icon2.png b/web/html/theme/AT_WEB01/img_sample/sub/vision_icon2.png new file mode 100644 index 0000000..aa60c92 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/vision_icon2.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/vision_icon3.png b/web/html/theme/AT_WEB01/img_sample/sub/vision_icon3.png new file mode 100644 index 0000000..6dee250 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/vision_icon3.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/year13.png b/web/html/theme/AT_WEB01/img_sample/sub/year13.png new file mode 100644 index 0000000..e7d8235 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/year13.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/year14.png b/web/html/theme/AT_WEB01/img_sample/sub/year14.png new file mode 100644 index 0000000..e17c119 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/year14.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/year15.png b/web/html/theme/AT_WEB01/img_sample/sub/year15.png new file mode 100644 index 0000000..6a37cbc Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/year15.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/year16.png b/web/html/theme/AT_WEB01/img_sample/sub/year16.png new file mode 100644 index 0000000..6e77ac8 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/year16.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/year17.png b/web/html/theme/AT_WEB01/img_sample/sub/year17.png new file mode 100644 index 0000000..47a0e39 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/year17.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/sub/year18.png b/web/html/theme/AT_WEB01/img_sample/sub/year18.png new file mode 100644 index 0000000..af1a5dd Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/sub/year18.png differ diff --git a/web/html/theme/AT_WEB01/img_sample/wrest.gif b/web/html/theme/AT_WEB01/img_sample/wrest.gif new file mode 100644 index 0000000..a5ecfb3 Binary files /dev/null and b/web/html/theme/AT_WEB01/img_sample/wrest.gif differ diff --git a/web/html/theme/AT_WEB01/index.php b/web/html/theme/AT_WEB01/index.php new file mode 100644 index 0000000..8414ce0 --- /dev/null +++ b/web/html/theme/AT_WEB01/index.php @@ -0,0 +1,149 @@ + + + + + + +
                      + +
                      + +

                      (주)대동F&D

                      +

                      (주)대동F&D는 감성적인 디자인과 실용적인 제품을합리적인 가격에 제공해드릴 수 있도록 노력합니다.

                      + +
                      +
                      +
                      +
                      +
                      +

                      NOTICE공지사항

                      +
                      +
                      +
                      + +
                      +
                      + +
                      +
                      +
                      +
                      +
                      +
                      +
                      +

                      BRAND브랜드

                      +

                      대동에프앤디는 고객에게 만족을 드리기 위해 다년간의 경험을 바탕으로 사용하기 쉽고 편리한 제품을 생산, 개발, 수입, 유통하고 있습니다. 항상 신뢰받는 기업, 끊임없이 개발하는 기업이 되도록 최선을 다하겠습니다.

                      +
                      +
                      +
                        +
                      • +

                        북유럽의 감성을 담은

                        + + +
                      • +
                      • +

                        25년 역사의 칫솔 전문 브랜드

                        + + +
                      • +
                      • +

                        편안한 주방을 위한

                        + + +
                      • +
                      +
                      +
                      +
                      + +
                      +
                      +
                      +

                      PARTNER파트너

                      +

                      유명 홈쇼핑에서도 대동에프앤디의 제품을 만나볼 수 있습니다.

                      +
                      +
                      + +
                      +
                      +
                      + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/js/@eaDir/jquery.transition.min.js@SynoEAStream b/web/html/theme/AT_WEB01/js/@eaDir/jquery.transition.min.js@SynoEAStream new file mode 100644 index 0000000..1e207d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/js/@eaDir/jquery.transition.min.js@SynoEAStream differ diff --git a/web/html/theme/AT_WEB01/js/@eaDir/site.js@SynoEAStream b/web/html/theme/AT_WEB01/js/@eaDir/site.js@SynoEAStream new file mode 100644 index 0000000..1e207d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/js/@eaDir/site.js@SynoEAStream differ diff --git a/web/html/theme/AT_WEB01/js/@eaDir/swiper.min.js@SynoEAStream b/web/html/theme/AT_WEB01/js/@eaDir/swiper.min.js@SynoEAStream new file mode 100644 index 0000000..1e207d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/js/@eaDir/swiper.min.js@SynoEAStream differ diff --git a/web/html/theme/AT_WEB01/js/jquery.transition.min.js b/web/html/theme/AT_WEB01/js/jquery.transition.min.js new file mode 100644 index 0000000..096b426 --- /dev/null +++ b/web/html/theme/AT_WEB01/js/jquery.transition.min.js @@ -0,0 +1 @@ +(function(a){function t(){setTimeout(x,0);return m=a.now()}function x(){m=void 0}var r={},k,q,y=/^(?:toggle|show|hide)$/,z=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,u,m,v=document.createElement("div").style,w;a.support.transition="MozTransition"in v?"MozTransition":"WebkitTransition"in v?"WebkitTransition":!1;a.cssNumber.color=a.cssNumber.backgroundColor=!0;w={linear:"linear",swing:"ease-out",bounce:"cubic-bezier(0,.35,.5,1.3)",easeInQuad:"cubic-bezier(.55,.085,.68,.53)",easeInCubic:"cubic-bezier(.55,.055,.675,.19)", easeInQuart:"cubic-bezier(.895,.03,.685,.22)",easeInQuint:"cubic-bezier(.755,.05,.855,.06)",easeInSine:"cubic-bezier(.47,0,.745,.715)",easeInExpo:"cubic-bezier(.95,.05,.795,.035)",easeInCirc:"cubic-bezier(.6,.04,.98,.335)",easeOutQuad:"cubic-bezier(.25,.46,.45,.94)",easeOutCubic:"cubic-bezier(.215,.61,.355,1)",easeOutQuart:"cubic-bezier(.165,.84,.44,1)",easeOutQuint:"cubic-bezier(.23,1,.32,1)",easeOutSine:"cubic-bezier(.39,.575,.565,1)",easeOutExpo:"cubic-bezier(.19,1,.22,1)",easeOutCirc:"cubic-bezier(.075,.82,.165,1)", easeInOutQuad:"cubic-bezier(.455,.03,.515,.955)",easeInOutCubic:"cubic-bezier(.645,.045,.355,1)",easeInOutQuart:"cubic-bezier(.77,0,.175,1)",easeInOutQuint:"cubic-bezier(.86,0,.07,1)",easeInOutSine:"cubic-bezier(.445,.05,.55,.95)",easeInOutExpo:"cubic-bezier(1,0,0,1)",easeInOutCirc:"cubic-bezier(.785,.135,.15,.86)"};a.fn.extend({animate:function(d,e,g,b){function f(){!1===i.queue&&a._mark(this);var c=a.extend({},i),f=1===this.nodeType,e=f&&a(this).is(":hidden"),b,h,g,j,n;n=a.cssProps;var m=!c.step&& a.support.transition,s=[],o,p;c.animatedProperties={};c.transition={};for(g in d)if(b=a.camelCase(g),g!==b&&(d[b]=d[g],delete d[g]),(h=a.cssHooks[b])&&"expand"in h)for(g in j=h.expand(d[b]),delete d[b],j)g in d||(d[g]=j[g]);for(b in d){h=d[b];a.isArray(h)?(j=c.animatedProperties[b]=h[1],h=d[b]=h[0]):j=c.animatedProperties[b]=c.specialEasing&&c.specialEasing[b]||c.easing||"swing";if(j=m&&f&&0").appendTo(j);p=o.css("display");o.remove();if("none"===p||""===p){k||(k=document.createElement("iframe"),k.frameBorder= k.width=k.height=0);j.appendChild(k);if(!q||!k.createElement)q=(k.contentWindow||k.contentDocument).document,q.write((a.support.boxModel?"":"")+""),q.close();o=q.createElement(h);q.body.appendChild(o);p=a.css(o,"display");j.removeChild(k)}r[h]=p}h="inline"===r[h]}h?this.style.display="inline-block":this.style.zoom=1}}null!=c.overflow&&(this.style.overflow="hidden");for(g in d)if(f=new a.fx(this,c,g),h=d[g],y.test(h))if(b=a._data(this,"toggle"+g)||("toggle"===h?e?"show": "hide":0))a._data(this,"toggle"+g,"show"===b?"hide":"show"),f[b]();else f[h]();else b=z.exec(h),n=f.cur(),b?(h=parseFloat(b[2]),j=b[3]||(a.cssNumber[g]?"":"px"),"px"!==j&&(a.style(this,g,(h||1)+j),n*=(h||1)/f.cur(),a.style(this,g,n+j)),b[1]&&(h=("-="===b[1]?-1:1)*h+n),f.custom(n,h,j)):f.custom(n,h,"");if(m&&s.length)for(g in j=this.style[m],e=window.getComputedStyle(this),this.style[m]=s.join()+(j&&j.indexOf("none")?","+j:""),c.transition)e[g],a.style.apply(null,c.transition[g].styleToSet);return!0} var i=a.speed(e,g,b);if(a.isEmptyObject(d))return this.each(i.complete,[!1]);d=a.extend({},d);return!1===i.queue?this.each(f):this.queue(i.queue,f)},stop:function(d,e,g){"string"!==typeof d&&(g=e,e=d,d=void 0);e&&!1!==d&&this.queue(d||"fx",[]);return this.each(function(){var b,f=false,e=a.timers,c=a._data(this),l=a.support.transition;g||a._unmark(true,this);if(d==null)for(b in c){if(c[b]&&c[b].stop&&b.indexOf(".run")===b.length-4){var k=c[b];a.removeData(this,b,true);k.stop(g)}}else if(c[b=d+".run"]&& c[b].stop){c=c[b];a.removeData(this,b,true);c.stop(g)}for(b=e.length;b--;)if(e[b].elem===this&&(d==null||e[b].queue===d)){if(g||l)e[b](g);g||e[b].saveState();f=true;e.splice(b,1)}(!g||!f)&&a.dequeue(this,d)})}});a.extend(a.fx.prototype,{cur:function(){if(null!=this.elem[this.prop]&&(!this.elem.style||null==this.elem.style[this.prop]))return this.elem[this.prop];var d,e=a.css(this.elem,this.prop);return isNaN(d=parseFloat(e))?!e||"auto"===e?0:e:d},custom:function(d,e,g){function b(a){return f.step(a)} var f=this,i=a.fx,c=f.options.transition,l=this.prop;this.startTime=m||t();this.end=e;this.now=this.start=d;this.pos=this.state=0;this.unit=g||this.unit||(a.cssNumber[l]?"":"px");b.queue=this.options.queue;b.elem=this.elem;b.saveState=function(){void 0===a._data(f.elem,"fxshow"+f.prop)&&(f.options.hide?a._data(f.elem,"fxshow"+f.prop,f.start):f.options.show&&a._data(f.elem,"fxshow"+f.prop,f.end))};(b.transition=c[l])?(a.timers.push(b),"transform"!=l&&(f.elem.style[c[l].real]=d+f.unit),a.fx.step[l]&& (e=Math.max(0,e)),c[l].styleToSet=[f.elem,l,e+f.unit],c[l].timeout=setTimeout(function(){a.timers.splice(a.timers.indexOf(b),1);f.step(!0)},f.options.duration+30)):b()&&a.timers.push(b)&&!u&&(u=setInterval(i.tick,i.interval))},step:function(d){var e,g=m||t(),b=!0,f=this.elem,i=this.options,c=i.transition[this.prop],l=g>=i.duration+this.startTime,k=a.support.transition;if(c||d||l){c?(clearTimeout(c.timeout),!d&&!l&&(this.elem.style[c.real]=a.css(this.elem,c.real))):(this.now=this.end,this.pos=this.state= 1,this.update());i.animatedProperties[this.prop]=!0;for(e in i.animatedProperties)!0!==i.animatedProperties[e]&&(b=!1);if(b){null!=i.overflow&&!a.support.shrinkWrapBlocks&&a.each(["","X","Y"],function(a,b){f.style["overflow"+b]=i.overflow[a]});i.hide&&a(f).hide();if(c){c=","+f.style[k];for(e in i.transition)c=c.split(i.transition[e].lower).join("_");c=c.replace(/, ?_[^,]*/g,"").substr(1);f.style[k]=c||"none";!c&&(f.style[k]=c)}if(i.hide||i.show)for(e in i.animatedProperties)(d||l)&&a.style(f,e,i.orig[e]), a.removeData(f,"fxshow"+e,!0),a.removeData(f,"toggle"+e,!0);if((e=i.complete)&&(d||l))i.complete=!1,e.call(f)}return!1}Infinity==i.duration?this.now=g:(d=g-this.startTime,this.state=d/i.duration,this.pos=a.easing[i.animatedProperties[this.prop]](this.state,d,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos);this.update();return!0}});a.extend(a.fx,{tick:function(){for(var d,e=a.timers,g=0;g")){var o="div";for(0===n.indexOf(":~]/)?(t||f).querySelectorAll(e.trim()):[f.getElementById(e.trim().split("#")[1])],i=0;ia.slides.length)break;i.push(a.slides.eq(r)[0])}else i.push(a.slides.eq(a.activeIndex)[0]);for(t=0;t=t.size)&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(n),i.eq(n).addClass(a.slideVisibleClass))}o.progress=s?-l:l}t.visibleSlides=L(t.visibleSlides)}},updateProgress:function(e){void 0===e&&(e=this&&this.translate||0);var t=this,a=t.params,i=t.maxTranslate()-t.minTranslate(),s=t.progress,r=t.isBeginning,n=t.isEnd,o=r,l=n;0===i?n=r=!(s=0):(r=(s=(e-t.minTranslate())/i)<=0,n=1<=s),ee.extend(t,{progress:s,isBeginning:r,isEnd:n}),(a.watchSlidesProgress||a.watchSlidesVisibility)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!l&&t.emit("reachEnd toEdge"),(o&&!r||l&&!n)&&t.emit("fromEdge"),t.emit("progress",s)},updateSlidesClasses:function(){var e,t=this,a=t.slides,i=t.params,s=t.$wrapperEl,r=t.activeIndex,n=t.realIndex,o=t.virtual&&i.virtual.enabled;a.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=o?t.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+r+'"]'):a.eq(r)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+n+'"]').addClass(i.slideDuplicateActiveClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+n+'"]').addClass(i.slideDuplicateActiveClass));var l=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===l.length&&(l=a.eq(0)).addClass(i.slideNextClass);var d=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===d.length&&(d=a.eq(-1)).addClass(i.slidePrevClass),i.loop&&(l.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),d.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+d.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+d.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass))},updateActiveIndex:function(e){var t,a=this,i=a.rtlTranslate?a.translate:-a.translate,s=a.slidesGrid,r=a.snapGrid,n=a.params,o=a.activeIndex,l=a.realIndex,d=a.snapIndex,p=e;if(void 0===p){for(var c=0;c=s[c]&&i=s[c]&&i=s[c]&&(p=c);n.normalizeSlideIndex&&(p<0||void 0===p)&&(p=0)}if((t=0<=r.indexOf(i)?r.indexOf(i):Math.floor(p/n.slidesPerGroup))>=r.length&&(t=r.length-1),p!==o){var u=parseInt(a.slides.eq(p).attr("data-swiper-slide-index")||p,10);ee.extend(a,{snapIndex:t,realIndex:u,previousIndex:o,activeIndex:p}),a.emit("activeIndexChange"),a.emit("snapIndexChange"),l!==u&&a.emit("realIndexChange"),a.emit("slideChange")}else t!==d&&(a.snapIndex=t,a.emit("snapIndexChange"))},updateClickedSlide:function(e){var t=this,a=t.params,i=L(e.target).closest("."+a.slideClass)[0],s=!1;if(i)for(var r=0;r=o.length&&(u=o.length-1),(p||n.initialSlide||0)===(d||0)&&a&&s.emit("beforeSlideChangeStart");var h,v=-o[u];if(s.updateProgress(v),n.normalizeSlideIndex)for(var f=0;f=Math.floor(100*l[f])&&(r=f);if(s.initialized&&r!==p){if(!s.allowSlideNext&&vs.translate&&v>s.maxTranslate()&&(p||0)!==r)return!1}return h=pt.slides.length-t.loopedSlides+s/2?(t.loopFix(),r=i.children("."+a.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+a.slideDuplicateClass+")").eq(0).index(),ee.nextTick(function(){t.slideTo(r)})):t.slideTo(r):r>t.slides.length-s?(t.loopFix(),r=i.children("."+a.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+a.slideDuplicateClass+")").eq(0).index(),ee.nextTick(function(){t.slideTo(r)})):t.slideTo(r)}else t.slideTo(r)}};var h={loopCreate:function(){var i=this,e=i.params,t=i.$wrapperEl;t.children("."+e.slideClass+"."+e.slideDuplicateClass).remove();var s=t.children("."+e.slideClass);if(e.loopFillGroupWithBlank){var a=e.slidesPerGroup-s.length%e.slidesPerGroup;if(a!==e.slidesPerGroup){for(var r=0;rs.length&&(i.loopedSlides=s.length);var o=[],l=[];s.each(function(e,t){var a=L(t);e=s.length-i.loopedSlides&&o.push(t),a.attr("data-swiper-slide-index",e)});for(var d=0;d=s.length-r)&&(e=-s.length+i+r,e+=r,t.slideTo(e,0,!1,!0)&&0!==p&&t.setTranslate((d?-t.translate:t.translate)-p));t.allowSlidePrev=n,t.allowSlideNext=o},loopDestroy:function(){var e=this.$wrapperEl,t=this.params,a=this.slides;e.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),a.removeAttr("data-swiper-slide-index")}};var v={setGrabCursor:function(e){if(!(te.touch||!this.params.simulateTouch||this.params.watchOverflow&&this.isLocked)){var t=this.el;t.style.cursor="move",t.style.cursor=e?"-webkit-grabbing":"-webkit-grab",t.style.cursor=e?"-moz-grabbin":"-moz-grab",t.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){te.touch||this.params.watchOverflow&&this.isLocked||(this.el.style.cursor="")}};var m={appendSlide:function(e){var t=this,a=t.$wrapperEl,i=t.params;if(i.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(var s=0;s=J.screen.width-d)){if(ee.extend(a,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),s.startX=n,s.startY=o,a.touchStartTime=ee.now(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,0s.startY&&t.translate>=t.minTranslate())return a.isTouched=!1,void(a.isMoved=!1)}else if(os.startX&&t.translate>=t.minTranslate())return;if(a.isTouchEvent&&f.activeElement&&n.target===f.activeElement&&L(n.target).is(a.formElements))return a.isMoved=!0,void(t.allowClick=!1);if(a.allowTouchCallbacks&&t.emit("touchMove",n),!(n.targetTouches&&1i.touchAngle:90-d>i.touchAngle)),a.isScrolling&&t.emit("touchMoveOpposite",n),void 0===a.startMoving&&(s.currentX===s.startX&&s.currentY===s.startY||(a.startMoving=!0)),a.isScrolling)a.isTouched=!1;else if(a.startMoving){t.allowClick=!1,n.preventDefault(),i.touchMoveStopPropagation&&!i.nested&&n.stopPropagation(),a.isMoved||(i.loop&&t.loopFix(),a.startTranslate=t.getTranslate(),t.setTransition(0),t.animating&&t.$wrapperEl.trigger("webkitTransitionEnd transitionend"),a.allowMomentumBounce=!1,!i.grabCursor||!0!==t.allowSlideNext&&!0!==t.allowSlidePrev||t.setGrabCursor(!0),t.emit("sliderFirstMove",n)),t.emit("sliderMove",n),a.isMoved=!0;var u=t.isHorizontal()?p:c;s.diff=u,u*=i.touchRatio,r&&(u=-u),t.swipeDirection=0t.minTranslate()?(h=!1,i.resistance&&(a.currentTranslate=t.minTranslate()-1+Math.pow(-t.minTranslate()+a.startTranslate+u,v))):u<0&&a.currentTranslatea.startTranslate&&(a.currentTranslate=a.startTranslate),0i.threshold||a.allowThresholdMove))return void(a.currentTranslate=a.startTranslate);if(!a.allowThresholdMove)return a.allowThresholdMove=!0,s.startX=s.currentX,s.startY=s.currentY,a.currentTranslate=a.startTranslate,void(s.diff=t.isHorizontal()?s.currentX-s.startX:s.currentY-s.startY)}i.followFinger&&((i.freeMode||i.watchSlidesProgress||i.watchSlidesVisibility)&&(t.updateActiveIndex(),t.updateSlidesClasses()),i.freeMode&&(0===a.velocities.length&&a.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:a.touchStartTime}),a.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:ee.now()})),t.updateProgress(a.currentTranslate),t.setTranslate(a.currentTranslate))}}}}else a.startMoving&&a.isScrolling&&t.emit("touchMoveOpposite",n)}.bind(e),e.onTouchEnd=function(e){var t=this,a=t.touchEventsData,i=t.params,s=t.touches,r=t.rtlTranslate,n=t.$wrapperEl,o=t.slidesGrid,l=t.snapGrid,d=e;if(d.originalEvent&&(d=d.originalEvent),a.allowTouchCallbacks&&t.emit("touchEnd",d),a.allowTouchCallbacks=!1,!a.isTouched)return a.isMoved&&i.grabCursor&&t.setGrabCursor(!1),a.isMoved=!1,void(a.startMoving=!1);i.grabCursor&&a.isMoved&&a.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var p,c=ee.now(),u=c-a.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(d),t.emit("tap",d),u<300&&300-t.maxTranslate())return void(t.slides.lengtht.minTranslate())i.freeModeMomentumBounce?(w-t.minTranslate()>E&&(w=t.minTranslate()+E),y=t.minTranslate(),T=!0,a.allowMomentumBounce=!0):w=t.minTranslate(),i.loop&&i.centeredSlides&&(x=!0);else if(i.freeModeSticky){for(var S,C=0;C-w){S=C;break}w=-(w=Math.abs(l[S]-w)=i.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}else{for(var M=0,z=t.slidesSizesGrid[0],P=0;P=o[P]&&p=o[P]&&(M=P,z=o[o.length-1]-o[o.length-2]);var k=(p-o[M])/z;if(u>i.longSwipesMs){if(!i.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(k>=i.longSwipesRatio?t.slideTo(M+i.slidesPerGroup):t.slideTo(M)),"prev"===t.swipeDirection&&(k>1-i.longSwipesRatio?t.slideTo(M+i.slidesPerGroup):t.slideTo(M))}else{if(!i.shortSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&t.slideTo(M+i.slidesPerGroup),"prev"===t.swipeDirection&&t.slideTo(M)}}}.bind(e),e.onClick=function(e){this.allowClick||(this.params.preventClicks&&e.preventDefault(),this.params.preventClicksPropagation&&this.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}.bind(e);var r="container"===t.touchEventsTarget?i:s,n=!!t.nested;if(te.touch||!te.pointerEvents&&!te.prefixedPointerEvents){if(te.touch){var o=!("touchstart"!==a.start||!te.passiveListener||!t.passiveListeners)&&{passive:!0,capture:!1};r.addEventListener(a.start,e.onTouchStart,o),r.addEventListener(a.move,e.onTouchMove,te.passiveListener?{passive:!1,capture:n}:n),r.addEventListener(a.end,e.onTouchEnd,o)}(t.simulateTouch&&!g.ios&&!g.android||t.simulateTouch&&!te.touch&&g.ios)&&(r.addEventListener("mousedown",e.onTouchStart,!1),f.addEventListener("mousemove",e.onTouchMove,n),f.addEventListener("mouseup",e.onTouchEnd,!1))}else r.addEventListener(a.start,e.onTouchStart,!1),f.addEventListener(a.move,e.onTouchMove,n),f.addEventListener(a.end,e.onTouchEnd,!1);(t.preventClicks||t.preventClicksPropagation)&&r.addEventListener("click",e.onClick,!0),e.on(g.ios||g.android?"resize orientationchange observerUpdate":"resize observerUpdate",b,!0)},detachEvents:function(){var e=this,t=e.params,a=e.touchEvents,i=e.el,s=e.wrapperEl,r="container"===t.touchEventsTarget?i:s,n=!!t.nested;if(te.touch||!te.pointerEvents&&!te.prefixedPointerEvents){if(te.touch){var o=!("onTouchStart"!==a.start||!te.passiveListener||!t.passiveListeners)&&{passive:!0,capture:!1};r.removeEventListener(a.start,e.onTouchStart,o),r.removeEventListener(a.move,e.onTouchMove,n),r.removeEventListener(a.end,e.onTouchEnd,o)}(t.simulateTouch&&!g.ios&&!g.android||t.simulateTouch&&!te.touch&&g.ios)&&(r.removeEventListener("mousedown",e.onTouchStart,!1),f.removeEventListener("mousemove",e.onTouchMove,n),f.removeEventListener("mouseup",e.onTouchEnd,!1))}else r.removeEventListener(a.start,e.onTouchStart,!1),f.removeEventListener(a.move,e.onTouchMove,n),f.removeEventListener(a.end,e.onTouchEnd,!1);(t.preventClicks||t.preventClicksPropagation)&&r.removeEventListener("click",e.onClick,!0),e.off(g.ios||g.android?"resize orientationchange observerUpdate":"resize observerUpdate",b)}},breakpoints:{setBreakpoint:function(){var e=this,t=e.activeIndex,a=e.initialized,i=e.loopedSlides;void 0===i&&(i=0);var s=e.params,r=s.breakpoints;if(r&&(!r||0!==Object.keys(r).length)){var n=e.getBreakpoint(r);if(n&&e.currentBreakpoint!==n){var o=n in r?r[n]:void 0;o&&["slidesPerView","spaceBetween","slidesPerGroup"].forEach(function(e){var t=o[e];void 0!==t&&(o[e]="slidesPerView"!==e||"AUTO"!==t&&"auto"!==t?"slidesPerView"===e?parseFloat(t):parseInt(t,10):"auto")});var l=o||e.originalParams,d=l.direction&&l.direction!==s.direction,p=s.loop&&(l.slidesPerView!==s.slidesPerView||d);d&&a&&e.changeDirection(),ee.extend(e.params,l),ee.extend(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),e.currentBreakpoint=n,p&&a&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-i+e.loopedSlides,0,!1)),e.emit("breakpoint",l)}}},getBreakpoint:function(e){if(e){var t=!1,a=[];Object.keys(e).forEach(function(e){a.push(e)}),a.sort(function(e,t){return parseInt(e,10)-parseInt(t,10)});for(var i=0;i=J.innerWidth&&!t&&(t=s)}return t||"max"}}},checkOverflow:{checkOverflow:function(){var e=this,t=e.isLocked;e.isLocked=1===e.snapGrid.length,e.allowSlideNext=!e.isLocked,e.allowSlidePrev=!e.isLocked,t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock"),t&&t!==e.isLocked&&(e.isEnd=!1,e.navigation.update())}},classes:{addClasses:function(){var t=this.classNames,a=this.params,e=this.rtl,i=this.$el,s=[];s.push("initialized"),s.push(a.direction),a.freeMode&&s.push("free-mode"),te.flexbox||s.push("no-flexbox"),a.autoHeight&&s.push("autoheight"),e&&s.push("rtl"),1'+e+"");return s.attr("data-swiper-slide-index")||s.attr("data-swiper-slide-index",t),i.cache&&(a.virtual.cache[t]=s),s},appendSlide:function(e){if("object"==typeof e&&"length"in e)for(var t=0;tMath.abs(n.pixelY)))return!0;s=n.pixelX*r}else{if(!(Math.abs(n.pixelY)>Math.abs(n.pixelX)))return!0;s=n.pixelY}else s=Math.abs(n.pixelX)>Math.abs(n.pixelY)?-n.pixelX*r:-n.pixelY;if(0===s)return!0;if(i.invert&&(s=-s),a.params.freeMode){a.params.loop&&a.loopFix();var o=a.getTranslate()+s*i.sensitivity,l=a.isBeginning,d=a.isEnd;if(o>=a.minTranslate()&&(o=a.minTranslate()),o<=a.maxTranslate()&&(o=a.maxTranslate()),a.setTransition(0),a.setTranslate(o),a.updateProgress(),a.updateActiveIndex(),a.updateSlidesClasses(),(!l&&a.isBeginning||!d&&a.isEnd)&&a.updateSlidesClasses(),a.params.freeModeSticky&&(clearTimeout(a.mousewheel.timeout),a.mousewheel.timeout=ee.nextTick(function(){a.slideToClosest()},300)),a.emit("scroll",t),a.params.autoplay&&a.params.autoplayDisableOnInteraction&&a.autoplay.stop(),o===a.minTranslate()||o===a.maxTranslate())return!0}else{if(60a-1-2*e.loopedSlides&&(r-=a-2*e.loopedSlides),n-1s.dynamicMainBullets-1?e.pagination.dynamicBulletIndex=s.dynamicMainBullets-1:e.pagination.dynamicBulletIndex<0&&(e.pagination.dynamicBulletIndex=0)),o=r-e.pagination.dynamicBulletIndex,d=((l=o+(Math.min(p.length,s.dynamicMainBullets)-1))+o)/2),p.removeClass(s.bulletActiveClass+" "+s.bulletActiveClass+"-next "+s.bulletActiveClass+"-next-next "+s.bulletActiveClass+"-prev "+s.bulletActiveClass+"-prev-prev "+s.bulletActiveClass+"-main"),1";i.html(s),e.pagination.bullets=i.find("."+t.bulletClass)}"fraction"===t.type&&(s=t.renderFraction?t.renderFraction.call(e,t.currentClass,t.totalClass):' / ',i.html(s)),"progressbar"===t.type&&(s=t.renderProgressbar?t.renderProgressbar.call(e,t.progressbarFillClass):'',i.html(s)),"custom"!==t.type&&e.emit("paginationRender",e.pagination.$el[0])}},init:function(){var a=this,e=a.params.pagination;if(e.el){var t=L(e.el);0!==t.length&&(a.params.uniqueNavElements&&"string"==typeof e.el&&1'),s.append(r)),ee.extend(t,{$el:s,el:s[0],$dragEl:r,dragEl:r[0]}),i.draggable&&t.enableDraggable()}},destroy:function(){this.scrollbar.disableDraggable()}},B={setTransform:function(e,t){var a=this.rtl,i=L(e),s=a?-1:1,r=i.attr("data-swiper-parallax")||"0",n=i.attr("data-swiper-parallax-x"),o=i.attr("data-swiper-parallax-y"),l=i.attr("data-swiper-parallax-scale"),d=i.attr("data-swiper-parallax-opacity");if(n||o?(n=n||"0",o=o||"0"):this.isHorizontal()?(n=r,o="0"):(o=r,n="0"),n=0<=n.indexOf("%")?parseInt(n,10)*t*s+"%":n*t*s+"px",o=0<=o.indexOf("%")?parseInt(o,10)*t+"%":o*t+"px",null!=d){var p=d-(d-1)*(1-Math.abs(t));i[0].style.opacity=p}if(null==l)i.transform("translate3d("+n+", "+o+", 0px)");else{var c=l-(l-1)*(1-Math.abs(t));i.transform("translate3d("+n+", "+o+", 0px) scale("+c+")")}},setTranslate:function(){var i=this,e=i.$el,t=i.slides,s=i.progress,r=i.snapGrid;e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e,t){i.parallax.setTransform(t,s)}),t.each(function(e,t){var a=t.progress;1i.maxRatio&&(a.scale=i.maxRatio-1+Math.pow(a.scale-i.maxRatio+1,.5)),a.scales.touchesStart.x))return void(s.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(s.minY)===Math.floor(s.startY)&&s.touchesCurrent.ys.touchesStart.y))return void(s.isTouched=!1)}e.preventDefault(),e.stopPropagation(),s.isMoved=!0,s.currentX=s.touchesCurrent.x-s.touchesStart.x+s.startX,s.currentY=s.touchesCurrent.y-s.touchesStart.y+s.startY,s.currentXs.maxX&&(s.currentX=s.maxX-1+Math.pow(s.currentX-s.maxX+1,.8)),s.currentYs.maxY&&(s.currentY=s.maxY-1+Math.pow(s.currentY-s.maxY+1,.8)),r.prevPositionX||(r.prevPositionX=s.touchesCurrent.x),r.prevPositionY||(r.prevPositionY=s.touchesCurrent.y),r.prevTime||(r.prevTime=Date.now()),r.x=(s.touchesCurrent.x-r.prevPositionX)/(Date.now()-r.prevTime)/2,r.y=(s.touchesCurrent.y-r.prevPositionY)/(Date.now()-r.prevTime)/2,Math.abs(s.touchesCurrent.x-r.prevPositionX)<2&&(r.x=0),Math.abs(s.touchesCurrent.y-r.prevPositionY)<2&&(r.y=0),r.prevPositionX=s.touchesCurrent.x,r.prevPositionY=s.touchesCurrent.y,r.prevTime=Date.now(),i.$imageWrapEl.transform("translate3d("+s.currentX+"px, "+s.currentY+"px,0)")}}},onTouchEnd:function(){var e=this.zoom,t=e.gesture,a=e.image,i=e.velocity;if(t.$imageEl&&0!==t.$imageEl.length){if(!a.isTouched||!a.isMoved)return a.isTouched=!1,void(a.isMoved=!1);a.isTouched=!1,a.isMoved=!1;var s=300,r=300,n=i.x*s,o=a.currentX+n,l=i.y*r,d=a.currentY+l;0!==i.x&&(s=Math.abs((o-a.currentX)/i.x)),0!==i.y&&(r=Math.abs((d-a.currentY)/i.y));var p=Math.max(s,r);a.currentX=o,a.currentY=d;var c=a.width*e.scale,u=a.height*e.scale;a.minX=Math.min(t.slideWidth/2-c/2,0),a.maxX=-a.minX,a.minY=Math.min(t.slideHeight/2-u/2,0),a.maxY=-a.minY,a.currentX=Math.max(Math.min(a.currentX,a.maxX),a.minX),a.currentY=Math.max(Math.min(a.currentY,a.maxY),a.minY),t.$imageWrapEl.transition(p).transform("translate3d("+a.currentX+"px, "+a.currentY+"px,0)")}},onTransitionEnd:function(){var e=this.zoom,t=e.gesture;t.$slideEl&&this.previousIndex!==this.activeIndex&&(t.$imageEl.transform("translate3d(0,0,0) scale(1)"),t.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,e.currentScale=1,t.$slideEl=void 0,t.$imageEl=void 0,t.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,a,i,s,r,n,o,l,d,p,c,u,h,v,f,m,g=this,b=g.zoom,w=g.params.zoom,y=b.gesture,x=b.image;(y.$slideEl||(y.$slideEl=g.clickedSlide?L(g.clickedSlide):g.slides.eq(g.activeIndex),y.$imageEl=y.$slideEl.find("img, svg, canvas"),y.$imageWrapEl=y.$imageEl.parent("."+w.containerClass)),y.$imageEl&&0!==y.$imageEl.length)&&(y.$slideEl.addClass(""+w.zoomedSlideClass),void 0===x.touchesStart.x&&e?(t="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,a="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(t=x.touchesStart.x,a=x.touchesStart.y),b.scale=y.$imageWrapEl.attr("data-swiper-zoom")||w.maxRatio,b.currentScale=y.$imageWrapEl.attr("data-swiper-zoom")||w.maxRatio,e?(f=y.$slideEl[0].offsetWidth,m=y.$slideEl[0].offsetHeight,i=y.$slideEl.offset().left+f/2-t,s=y.$slideEl.offset().top+m/2-a,o=y.$imageEl[0].offsetWidth,l=y.$imageEl[0].offsetHeight,d=o*b.scale,p=l*b.scale,h=-(c=Math.min(f/2-d/2,0)),v=-(u=Math.min(m/2-p/2,0)),(r=i*b.scale)>1]<=t?i=s:a=s;return a};return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(n=o(this.x,e),r=n-1,(e-this.x[r])*(this.y[n]-this.y[r])/(this.x[n]-this.x[r])+this.y[r]):0},this},getInterpolateFunction:function(e){var t=this;t.controller.spline||(t.controller.spline=t.params.loop?new V.LinearSpline(t.slidesGrid,e.slidesGrid):new V.LinearSpline(t.snapGrid,e.snapGrid))},setTranslate:function(e,t){var a,i,s=this,r=s.controller.control;function n(e){var t=s.rtlTranslate?-s.translate:s.translate;"slide"===s.params.controller.by&&(s.controller.getInterpolateFunction(e),i=-s.controller.spline.interpolate(-t)),i&&"container"!==s.params.controller.by||(a=(e.maxTranslate()-e.minTranslate())/(s.maxTranslate()-s.minTranslate()),i=(t-s.minTranslate())*a+e.minTranslate()),s.params.controller.inverse&&(i=e.maxTranslate()-i),e.updateProgress(i),e.setTranslate(i,s),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(r))for(var o=0;o'),i.append(e)),e.css({height:r+"px"})):0===(e=a.find(".swiper-cube-shadow")).length&&(e=L('
                      '),a.append(e)));for(var h=0;h'),v.append(E)),0===S.length&&(S=L('
                      '),v.append(S)),E.length&&(E[0].style.opacity=Math.max(-b,0)),S.length&&(S[0].style.opacity=Math.max(b,0))}}if(i.css({"-webkit-transform-origin":"50% 50% -"+l/2+"px","-moz-transform-origin":"50% 50% -"+l/2+"px","-ms-transform-origin":"50% 50% -"+l/2+"px","transform-origin":"50% 50% -"+l/2+"px"}),d.shadow)if(p)e.transform("translate3d(0px, "+(r/2+d.shadowOffset)+"px, "+-r/2+"px) rotateX(90deg) rotateZ(0deg) scale("+d.shadowScale+")");else{var C=Math.abs(u)-90*Math.floor(Math.abs(u)/90),M=1.5-(Math.sin(2*C*Math.PI/360)/2+Math.cos(2*C*Math.PI/360)/2),z=d.shadowScale,P=d.shadowScale/M,k=d.shadowOffset;e.transform("scale3d("+z+", 1, "+P+") translate3d(0px, "+(n/2+k)+"px, "+-n/2/P+"px) rotateX(-90deg)")}var $=I.isSafari||I.isUiWebView?-l/2:0;i.transform("translate3d(0px,0,"+$+"px) rotateX("+(t.isHorizontal()?0:u)+"deg) rotateY("+(t.isHorizontal()?-u:0)+"deg)")},setTransition:function(e){var t=this.$el;this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),this.params.cubeEffect.shadow&&!this.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)}},K={setTranslate:function(){for(var e=this,t=e.slides,a=e.rtlTranslate,i=0;i'),s.append(p)),0===c.length&&(c=L('
                      '),s.append(c)),p.length&&(p[0].style.opacity=Math.max(-r,0)),c.length&&(c[0].style.opacity=Math.max(r,0))}s.transform("translate3d("+l+"px, "+d+"px, 0px) rotateX("+o+"deg) rotateY("+n+"deg)")}},setTransition:function(e){var a=this,t=a.slides,i=a.activeIndex,s=a.$wrapperEl;if(t.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),a.params.virtualTranslate&&0!==e){var r=!1;t.eq(i).transitionEnd(function(){if(!r&&a&&!a.destroyed){r=!0,a.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],t=0;t'),v.append(E)),0===S.length&&(S=L('
                      '),v.append(S)),E.length&&(E[0].style.opacity=0')}}),Object.keys(F).forEach(function(e){t.a11y[e]=F[e].bind(t)})},on:{init:function(){this.params.a11y.enabled&&(this.a11y.init(),this.a11y.updateNavigation())},toEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},fromEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},paginationUpdate:function(){this.params.a11y.enabled&&this.a11y.updatePagination()},destroy:function(){this.params.a11y.enabled&&this.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,replaceState:!1,key:"slides"}},create:function(){var e=this;ee.extend(e,{history:{init:R.init.bind(e),setHistory:R.setHistory.bind(e),setHistoryPopState:R.setHistoryPopState.bind(e),scrollToSlide:R.scrollToSlide.bind(e),destroy:R.destroy.bind(e)}})},on:{init:function(){this.params.history.enabled&&this.history.init()},destroy:function(){this.params.history.enabled&&this.history.destroy()},transitionEnd:function(){this.history.initialized&&this.history.setHistory(this.params.history.key,this.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){var e=this;ee.extend(e,{hashNavigation:{initialized:!1,init:q.init.bind(e),destroy:q.destroy.bind(e),setHash:q.setHash.bind(e),onHashCange:q.onHashCange.bind(e)}})},on:{init:function(){this.params.hashNavigation.enabled&&this.hashNavigation.init()},destroy:function(){this.params.hashNavigation.enabled&&this.hashNavigation.destroy()},transitionEnd:function(){this.hashNavigation.initialized&&this.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1}},create:function(){var t=this;ee.extend(t,{autoplay:{running:!1,paused:!1,run:W.run.bind(t),start:W.start.bind(t),stop:W.stop.bind(t),pause:W.pause.bind(t),onTransitionEnd:function(e){t&&!t.destroyed&&t.$wrapperEl&&e.target===this&&(t.$wrapperEl[0].removeEventListener("transitionend",t.autoplay.onTransitionEnd),t.$wrapperEl[0].removeEventListener("webkitTransitionEnd",t.autoplay.onTransitionEnd),t.autoplay.paused=!1,t.autoplay.running?t.autoplay.run():t.autoplay.stop())}}})},on:{init:function(){this.params.autoplay.enabled&&this.autoplay.start()},beforeTransitionStart:function(e,t){this.autoplay.running&&(t||!this.params.autoplay.disableOnInteraction?this.autoplay.pause(e):this.autoplay.stop())},sliderFirstMove:function(){this.autoplay.running&&(this.params.autoplay.disableOnInteraction?this.autoplay.stop():this.autoplay.pause())},destroy:function(){this.autoplay.running&&this.autoplay.stop()}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){ee.extend(this,{fadeEffect:{setTranslate:j.setTranslate.bind(this),setTransition:j.setTransition.bind(this)}})},on:{beforeInit:function(){var e=this;if("fade"===e.params.effect){e.classNames.push(e.params.containerModifierClass+"fade");var t={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};ee.extend(e.params,t),ee.extend(e.originalParams,t)}},setTranslate:function(){"fade"===this.params.effect&&this.fadeEffect.setTranslate()},setTransition:function(e){"fade"===this.params.effect&&this.fadeEffect.setTransition(e)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){ee.extend(this,{cubeEffect:{setTranslate:U.setTranslate.bind(this),setTransition:U.setTransition.bind(this)}})},on:{beforeInit:function(){var e=this;if("cube"===e.params.effect){e.classNames.push(e.params.containerModifierClass+"cube"),e.classNames.push(e.params.containerModifierClass+"3d");var t={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0};ee.extend(e.params,t),ee.extend(e.originalParams,t)}},setTranslate:function(){"cube"===this.params.effect&&this.cubeEffect.setTranslate()},setTransition:function(e){"cube"===this.params.effect&&this.cubeEffect.setTransition(e)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){ee.extend(this,{flipEffect:{setTranslate:K.setTranslate.bind(this),setTransition:K.setTransition.bind(this)}})},on:{beforeInit:function(){var e=this;if("flip"===e.params.effect){e.classNames.push(e.params.containerModifierClass+"flip"),e.classNames.push(e.params.containerModifierClass+"3d");var t={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};ee.extend(e.params,t),ee.extend(e.originalParams,t)}},setTranslate:function(){"flip"===this.params.effect&&this.flipEffect.setTranslate()},setTransition:function(e){"flip"===this.params.effect&&this.flipEffect.setTransition(e)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0}},create:function(){ee.extend(this,{coverflowEffect:{setTranslate:_.setTranslate.bind(this),setTransition:_.setTransition.bind(this)}})},on:{beforeInit:function(){var e=this;"coverflow"===e.params.effect&&(e.classNames.push(e.params.containerModifierClass+"coverflow"),e.classNames.push(e.params.containerModifierClass+"3d"),e.params.watchSlidesProgress=!0,e.originalParams.watchSlidesProgress=!0)},setTranslate:function(){"coverflow"===this.params.effect&&this.coverflowEffect.setTranslate()},setTransition:function(e){"coverflow"===this.params.effect&&this.coverflowEffect.setTransition(e)}}},{name:"thumbs",params:{thumbs:{swiper:null,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){ee.extend(this,{thumbs:{swiper:null,init:Z.init.bind(this),update:Z.update.bind(this),onThumbClick:Z.onThumbClick.bind(this)}})},on:{beforeInit:function(){var e=this.params.thumbs;e&&e.swiper&&(this.thumbs.init(),this.thumbs.update(!0))},slideChange:function(){this.thumbs.swiper&&this.thumbs.update()},update:function(){this.thumbs.swiper&&this.thumbs.update()},resize:function(){this.thumbs.swiper&&this.thumbs.update()},observerUpdate:function(){this.thumbs.swiper&&this.thumbs.update()},setTransition:function(e){var t=this.thumbs.swiper;t&&t.setTransition(e)},beforeDestroy:function(){var e=this.thumbs.swiper;e&&this.thumbs.swiperCreated&&e&&e.destroy()}}}];return void 0===T.use&&(T.use=T.Class.use,T.installModule=T.Class.installModule),T.use(Q),T}); +//# sourceMappingURL=swiper.min.js.map diff --git a/web/html/theme/AT_WEB01/list.skin.php b/web/html/theme/AT_WEB01/list.skin.php new file mode 100644 index 0000000..3c8e8a6 --- /dev/null +++ b/web/html/theme/AT_WEB01/list.skin.php @@ -0,0 +1,299 @@ +', 0); +add_stylesheet('', 0); +?> + + + + + +
                      +
                      + + + +
                      + + + + + +
                      + + + + + + +
                      + 전체 + + + + +
                      + + + + + + +
                      + + + + + + + + + + +
                      + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                      목록
                      번호제목글쓴이추천 비추천 날짜
                      + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
                      + + + + + + + + '; } + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> + 댓글+ +
                      + +
                      게시물이 없습니다.
                      +
                      + + + + + +
                      + + + +
                      + +
                      +
                      +
                      + + 게시물 검색 + +
                      + + + + + + + + +
                      + +
                      +
                      + + + +
                      +
                      + + + + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/mobile/_common.php b/web/html/theme/AT_WEB01/mobile/_common.php new file mode 100644 index 0000000..a849a18 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/_common.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/group.php b/web/html/theme/AT_WEB01/mobile/group.php new file mode 100644 index 0000000..a4ec976 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/group.php @@ -0,0 +1,35 @@ + + + + 'pc' "; +if(!$is_admin) + $sql .= " and bo_use_cert = '' "; +$sql .= " order by bo_order "; +$result = sql_query($sql); +for ($i=0; $row=sql_fetch_array($result); $i++) { + // 이 함수가 바로 최신글을 추출하는 역할을 합니다. + // 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다. + + // 사용방법 + // latest(스킨, 게시판아이디, 출력라인, 글자수); + echo latest('theme/basic', $row['bo_table'], 5, 70); +} +?> + + + diff --git a/web/html/theme/AT_WEB01/mobile/head.php b/web/html/theme/AT_WEB01/mobile/head.php new file mode 100644 index 0000000..66b172a --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/head.php @@ -0,0 +1,192 @@ + + +
                      +

                      + + + + + +
                      + + + + + +
                      + + + + +
                      +

                      사이트 내 전체검색

                      +
                      + + + + +
                      + + +
                      +
                      + + +
                      + + + + + + +
                      + + + + +
                      +
                      + + + +
                      +
                      + + + +
                      + +
                      +

                      diff --git a/web/html/theme/AT_WEB01/mobile/index.php b/web/html/theme/AT_WEB01/mobile/index.php new file mode 100644 index 0000000..08813f2 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/index.php @@ -0,0 +1,30 @@ + + + + 'pc' "; +if(!$is_admin) + $sql .= " and a.bo_use_cert = '' "; +$sql .= " order by b.gr_order, a.bo_order "; +$result = sql_query($sql); +for ($i=0; $row=sql_fetch_array($result); $i++) { + // 이 함수가 바로 최신글을 추출하는 역할을 합니다. + // 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다. + + // 사용방법 + // latest(스킨, 게시판아이디, 출력라인, 글자수); + echo latest('theme/basic', $row['bo_table'], 5, 25); +} +?> + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/btn_next2.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/btn_next2.gif new file mode 100644 index 0000000..f17993b Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/btn_prev2.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/btn_prev2.gif new file mode 100644 index 0000000..63604af Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/cmt_btn.png b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_bad.png b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_comment.png b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_comment.png new file mode 100644 index 0000000..bd7e67f Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_good.png b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_hot.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_hot.gif new file mode 100644 index 0000000..4e8d7ff Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_img.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_img.gif new file mode 100644 index 0000000..fefa10d Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_link.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_lock.png b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_mobile.gif new file mode 100644 index 0000000..ad934d2 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_movie.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_new.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_reply.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_sound.gif b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_view.png b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_view.png new file mode 100644 index 0000000..bfa5eb1 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/require.png b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/require.png new file mode 100644 index 0000000..c03e1eb Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/require.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/sch_btn.png b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/basic/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/list.skin.php b/web/html/theme/AT_WEB01/mobile/skin/board/basic/list.skin.php new file mode 100644 index 0000000..149d1f2 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/board/basic/list.skin.php @@ -0,0 +1,215 @@ +', 0); +?> + + + + + +
                      + + + + + +
                      + 전체 + 페이지 +
                      + + +
                      + + + + + + + + + + + + +
                      +
                        + +
                      • 목록
                      • + + +
                      • +
                      • +
                      • + +
                      +
                      + +
                      +
                      + + + + + + + + +
                      + 게시물 검색 + +
                      + + + + + + + +
                      +
                      + + + + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/board/basic/style.css new file mode 100644 index 0000000..b30511b --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/board/basic/style.css @@ -0,0 +1,279 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list .btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list .btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list a.btn_admin:hover {} +.chk_all{margin:10px 0} +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v .btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v .btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {} +#bo_w .btn_cancel {} +#bo_w .btn_frmline {} /* 우편번호검색버튼 등 */ + + +/* 게시판 목록 */ +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_name {width:100px;text-align:left} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:150px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .notice_icon{display: inline-block;background: #ff6f6f;padding: 0 5px;line-height: 20px;border-radius: 5px;font-weight: normal;font-size:11px;color: #fff;} +#bo_list .notice_icon i{color:#fff} +#bo_list .bo_subject .fa-download{width:16px;height:16px;line-height:16px;background:#ecaa30;color:#fff;text-align:center;font-size:10px;border-radius:2px} +#bo_list .bo_subject .fa-link{width:16px;height:16px;line-height:16px;background:#2aa974;color:#fff;text-align:center;font-size:10px;border-radius:2px} +#bo_list .bo_subject .fa-heart{color:#ff0000;;text-align:center;font-size:10px;border-radius:2px} +#bo_list .bo_subject .new_icon{display:inline-block;padding: 0 3px;line-height:16px ;font-size:0.833em;color:#fff;background:#c56bed} +#bo_list .bo_tit .fa-lock{color:#666} + + +#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {margin: 10px;padding-left:1px;zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li{display:inline-block;float:left;margin:3px 5px 3px 0} +#bo_cate a {display:block;line-height:24px;padding:0 10px;border-radius:13px;background:#fff;} +#bo_cate #bo_cate_on {background:#4162ff;color:#fff; +-webkit-box-shadow:0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow:0 0 5px rgba(65,98,255,0.8); +box-shadow: 0 0 8px rgba(65,98,255,0.8);} + +/* 관리자일 때 */ +#bo_list_admin th label {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_list_admin th:nth-of-type(1) {width:40px} +#bo_list_admin th:nth-of-type(3) {width:100px} + +#bo_list_admin td:nth-of-type(1) {text-align:center} +#bo_list_admin td:nth-of-type(3) {text-align:center} + +/* 관리자가 아닐 때 */ +#bo_list th:nth-of-type(2) {width:100px} +#bo_list td:nth-of-type(2) {text-align:center} + +/* 게시판 목록 공통 */ +.bo_fx {margin-bottom:5px;padding:0 10px} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total{position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;font-size:0} +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {text-align:center} +.btn_bo_adm li {display:inline-block;} +.btn_bo_adm button {border:0;padding:0 10px;background:#d13f4a;color:#fff;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f7f7f7} +.bo_notice td a {font-weight:bold} +.td_num strong {color:#000} +.bo_cate_link {;color:#3ca1ff !important;font-weight:normal;text-decoration:none;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_subject{display:block;font-size:1.083em;font-weight:bold;margin:5px 0} +.bo_subject i{color: #8d96c2;font-size:12px} +.bo_subject .fa-heart{color:#ff0000} +.bo_current {color:#e8180c} +.bo_info{border-top: 1px solid #eee;margin: 10px 0 0;line-height: 20px;color: #666;position: relative;padding-top: 10px;vertical-align:top} +.bo_info .comment_icon{background:url(./img/icon_comment.png) no-repeat 50% 50% ;display:inline-block;width:20px;height:28px;text-indent:-999px;overflow:hidden;vertical-align:top;background-size:70%;margin:0 0px 0 5px} +.bo_info .bo_date{position:absolute;top:10px;right:0;font-style: italic;} +.bo_info .cnt_cmt {display:inline-block;margin: 0 5px 0 3px;} +.bo_info .profile_img img{border-radius:50%;vertical-align:top} + +#bo_sch {background:#fff;border:1px solid #bdc2d8;position:relative;margin:10px;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;;margin:9px 0;height:20px;border-right:1px solid #ddd;float:left;width:40%} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left;width:60%;padding:0 40px 0 10px} +#bo_sch .sch_btn{height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px} + +.view_is_list.btn_top{position:relative;z-index:auto;top:0;left:0} +.view_is_list{margin:8px 10px 0;height:50px;padding:10px;line-height:30px;border-radius:3px;border-bottom:1px solid #ccc;background:#fff;color:#333;text-align:right} +.view_is_list li{display:inline-block} + +#bo_list{margin:10px 0} + +/* 게시판 쓰기 */ +#bo_w #wr_email, #bo_w #wr_homepage, #bo_w #wr_subject {width:100%} + +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#wr_email, #wr_homepage, #wr_subject, .wr_link {width:100%} + +/* 게시판 읽기 */ +#bo_v {padding:20px 10px 10px;background:#fff +;-webkit-box-shadow: 0 1px 4px #ddd; +-moz-box-shadow: 0 1px 4px #ddd; +box-shadow: 0 1px 4px #ddd;} + +#bo_v_table {padding: 10px;color:#999;font-size:0.9em;font-weight:bold} + +#bo_v_title {;text-align:center} +.bo_v_cate{display:inline-block;background: #4162ff;color: #fff;border-radius: 13px;line-height: 24px;padding: 0 10px;font-weight:normal; +-webkit-box-shadow: 0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow: 0 0 5px rgba(65,98,255,0.8); +box-shadow: 0 0 8px rgba(65,98,255,0.8);} +.bo_v_tit{display:block;font-size:1.5em;margin:10px 0 0} +#bo_v header p{font-size:0.92em;color:#777;font-style:italic ;text-align:center;margin:10px 0 0 } + +#bo_v_info {padding:15px 0px 10px;border-bottom:1px solid #eee;text-align:center;color:#666;line-height:20px;} +#bo_v_info h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;font-weight:normal;margin:0 5px} +#bo_v_info .profile_img img{border-radius:50%;vertical-align:top} +#bo_v_info .icon_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;background-size:80%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin:0 3px 0 5px} +#bo_v_info .icon_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;background-size:70%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin:0 3px 0 5px} + +#bo_v_file {margin:10px 0} +#bo_v_file h2 {background:#949ab4;color:#fff;margin-bottom:1px;line-height:35px;padding: 0 10px} +#bo_v_file ul {margin:0;padding:0;list-style:none} +#bo_v_file li {padding: 10px;border-bottom:1px solid #fff;background:#f1f7fa;color:#777} +#bo_v_file a {display:block;color:#000;text-decoration:none;margin:0 0 3px} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file a strong{color:#3497d9;text-decoration:underline} +.bo_v_file_cnt {font-size:0.92em} + +#bo_v_link{margin:10px 0} +#bo_v_link h2 {background:#949ab4;color:#fff;margin-bottom:1px;line-height:35px;padding: 0 10px} +#bo_v_link ul {margin:0;padding:0;list-style:none} +#bo_v_link li {padding: 10px;border-bottom:1px solid #fff;background:#f1f7fa;color:#777} +#bo_v_link a {display:block;color:#000;text-decoration:none;margin:0 0 3px} +#bo_v_link a strong{color:#3497d9;text-decoration:underline} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {font-size:0.92em} + +#bo_v_top {margin:10px 0;} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_top ul {margin:0;padding:0;list-style:none} +#bo_v_top ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top ul li{display:inline-block;} +.bo_v_left{float:left} +.bo_v_right{float:right} + +#bo_v_bot {padding:0 10px} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_bot ul {margin:0;padding:0;list-style:none} + +.bo_v_nb{margin:10px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;text-align:center;position:relative;} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {} +.bo_v_nb li a{display:inline-block;padding:10px;color:#777} +.bo_v_nb .bo_v_next{;position:absolute;top:0;right:0;} +.bo_v_nb .bo_v_prev{;position:absolute;top:0;left:0;} + +#bo_v_atc {min-height:200px} +#bo_v_atc_title {margin:0;padding:0;height:0;overflow:hidden} + +#bo_v_img {margin:0 0 10px;width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:15px;max-width:100%;height:auto} + +#bo_v_con {min-height:200px;margin-bottom:20px;width:100%;font-size:1.250em;line-height:1.7em;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{padding:15px 0;display:inline-block;border:1px solid #000;width:70px;height:70px;line-height:20px;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{padding:15px 0;display:inline-block;border:1px solid #000;width:70px;height:70px;line-height:20px;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_good i,#bo_v_act .bo_v_nogood i{font-size:18px;} +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn_scrap{display:inline-block;background:#d4d4d4;color:#444;line-height:40px;width:60px;font-weight:bold;text-align:center;float:left;border-radius:3px} + +.btn_share{display:none;} +.bo_v_snswr{position:relative;float:right} +#bo_v_sns {;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:50px;text-align:center;margin-left:3px} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92;border-radius:3px} +#bo_v_sns li .sns_t{display:block;background:#35b3dc;border-radius:3px} +#bo_v_sns li .sns_g{display:block;background:#d5503a;border-radius:3px} +#bo_v_sns li .sns_k{display:block;background:#fbe300;border-radius:3px} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat right 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.167em;margin: 20px 0 10px;padding:0 0 10px ;border-bottom:1px solid #e8e8e8} +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat right -23px} + +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:0 0 15px} +#bo_vc header {position:relative;padding:0 0 0 50px;height:40px;line-height:20px} +#bo_vc .comment_profile_img{position:absolute;top:0;left:0} +#bo_vc .comment_profile_img img, #bo_vc .profile_img img{border-radius:50%} +#bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {display:inline-block;color:#777;font-style:italic} +#bo_vc h1 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:10px 15px ;margin:5px 0 0 ;border-radius:5px;background:#f6f6f6;line-height:1.8em} +#bo_vc .cmt_contents p{font-size:1.083em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:15px !important;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc footer {zoom:1} +#bo_vc footer:after {display:block;visibility:hidden;clear:both;content:""} + +.bo_vc_act {text-align:right;;margin:0;list-style:none} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;margin:0 2px} +.bo_vc_act li a{color:#3497d9;text-decoration:underline} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px} +#wr_secret{} +.bo_vc_w_info{margin:5px 0} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;;width:49.5%;margin: 0 0 5px 0} +.bo_vc_w_info #wr_password{float:right;} +.bo_vc_w_info #captcha{;display:block;clear:both} +.bo_vc_w .btn_confirm{margin-top:5px;clear:both} +.bo_vc_w .icon_lock{display:inline-block;font-size:17px;padding: 5px;margin-right:5px;} +.bo_vc_w .btn_submit{height:50px;width:100%;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w .bo_vc_secret{float:right;display:block;} + +#bo_vc_send_sns{display:block;float:left} +#bo_vc_sns {display:block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;;padding: 10px 0 10px 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;;padding: 10px 0 10px 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + +/*글쓰기*/ +#bo_w .bo_w_select select{border:1px solid #3497d9;background:#fff;width:100%} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:5px 0 0 } + diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/view.skin.php b/web/html/theme/AT_WEB01/mobile/skin/board/basic/view.skin.php new file mode 100644 index 0000000..a0b0f4d --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/board/basic/view.skin.php @@ -0,0 +1,278 @@ +', 0); +?> + + + + + +
                      +
                      +

                      + + + + + +

                      +

                      작성일

                      +
                      + +
                      +

                      페이지 정보

                      + 작성자 + 조회 + 댓글 +
                      + +
                      + + + + +
                      + +
                      +

                      본문

                      + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
                      \n"; + } + ?> + +
                      + + +

                      + + +
                      + + +
                      추천
                      + 이 글을 추천하셨습니다 +
                      + + + +
                      비추천
                      + +
                      + +
                      + +
                      +
                      추천
                      +
                      비추천
                      +
                      + + +
                      + 스크랩 + + +
                      + + + + + + + +
                      +

                      첨부파일

                      + +
                      + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/view_comment.skin.php b/web/html/theme/AT_WEB01/mobile/skin/board/basic/view_comment.skin.php new file mode 100644 index 0000000..06dd49e --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/board/basic/view_comment.skin.php @@ -0,0 +1,328 @@ + + + + + + + +
                      +

                      댓글목록

                      + \]/i", "", $str); + ?> +
                      style="margin-left:px;border-top-color:#e0e0e0"> +
                      +

                      님의 댓글의 댓글

                      + + + + 아이피 + () + +
                      + 작성일 + + +
                      +
                      + +

                      + "; ?> + +

                      + + + + +
                      + + + "> + + +
                      + +

                      등록된 댓글이 없습니다.

                      + +
                      + + + + + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/basic/write.skin.php b/web/html/theme/AT_WEB01/mobile/skin/board/basic/write.skin.php new file mode 100644 index 0000000..e6f221a --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/board/basic/write.skin.php @@ -0,0 +1,247 @@ +', 0); +?> + +
                      +
                      + + + + + + + + + + + '.PHP_EOL.''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.''.PHP_EOL.''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.''.PHP_EOL.''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= PHP_EOL.''.PHP_EOL.''; + } + } + + echo $option_hidden; + ?> +
                      +

                      + + +
                      + + +
                      + + + +
                      + + +
                      + + + +
                      + + class="frm_input full_input " maxlength="20" placeholder="비밀번호"> +
                      + + + +
                      + + +
                      + + + +
                      + + +
                      + + + +
                      + 옵션 + +
                      + + +
                      + + +
                      + +
                      + + + +

                      이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                      + + + + +
                      글자
                      + +
                      + + + + + + + + +
                      +
                      + + +
                      + + + + + + + + + + +
                      + + + +
                      + 자동등록방지 + + +
                      + + +
                      + +
                      + 취소 + +
                      +
                      +
                      + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_file.gif b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_file.gif new file mode 100644 index 0000000..cca47f5 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_hot.gif b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_hot.gif new file mode 100644 index 0000000..c95b839 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_img.gif b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_img.gif new file mode 100644 index 0000000..fefa10d Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_link.gif b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_link.gif new file mode 100644 index 0000000..0f3cb1a Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_mobile.gif b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_mobile.gif new file mode 100644 index 0000000..ad934d2 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_movie.gif b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_new.gif b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_reply.gif b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_reply.gif new file mode 100644 index 0000000..91c1359 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_secret.gif b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_secret.gif new file mode 100644 index 0000000..c04899f Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_sound.gif b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/list.skin.php b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/list.skin.php new file mode 100644 index 0000000..33ad640 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/list.skin.php @@ -0,0 +1,242 @@ +', 0); +?> + + + + + + + + +
                      + + + + + +
                      + 전체 + 페이지 +
                      + +
                      + + + + + + + + + +

                      이미지 목록

                      + + +
                      + + +
                      + + +
                        + +
                      • +
                        + + + + + + + + + 열람중"; + else + echo $list[$i]['num']; + ?> + + + + + 공지 + '; + } else { + $img_content = 'no image'; + } + + echo $img_content; + } + ?> + +
                        + + + + + + 댓글 + + '; } + + if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new']; + if (isset($list[$i]['icon_hot'])) echo $list[$i]['icon_hot']; + //if (isset($list[$i]['icon_file'])) echo $list[$i]['icon_file']; + //if (isset($list[$i]['icon_link'])) echo $list[$i]['icon_link']; + //if (isset($list[$i]['icon_secret'])) echo $list[$i]['icon_secret']; + ?> + 작성자 +
                        + 조회 + 추천 + 비추천 + 작성일 +
                        +
                        +
                        +
                      • + + 게시물이 없습니다."; } ?> +
                      + + +
                      +
                        + +
                      • 목록
                      • + + +
                      • +
                      • +
                      • + +
                      +
                      + + +
                      +
                      + + + + + + + + + +
                      + 게시물 검색 + +
                      + + + + + + + +
                      +
                      + + + + + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/style.css b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/style.css new file mode 100644 index 0000000..e357479 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/style.css @@ -0,0 +1,302 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_gall a.btn_b01 {} +#bo_gall a.btn_b01:focus, #bo_gall .btn_b01:hover {} +#bo_gall a.btn_b02 {} +#bo_gall a.btn_b02:focus, #bo_gall .btn_b02:hover {} +#bo_gall a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_gall a.btn_admin:focus, #bo_gall a.btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v .btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v .btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {} +#bo_w .btn_cancel {} +#bo_w .btn_frmline {} /* 우편번호검색버튼 등 */ + +/* 기본테이블 */ +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_address {} +#bo_w .frm_file {} +#bo_w .frm_info {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 caption {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +#bo_w .required, #bo_w textarea.required {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 갤러리 목록 */ +#bo_gall h2 {margin:0;padding:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden} + +#bo_gall #gall_allchk {margin:0 10px} + +#bo_gall #gall_ul {margin:10px 0 0;padding:0 10px;list-style:none} +#bo_gall #gall_ul:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {margin: 10px;padding-left:1px;zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li{display:inline-block;float:left;margin:3px 5px 3px 0} +#bo_cate a {display:block;line-height:24px;padding:0 10px;border-radius:13px;background:#fff;} +#bo_cate #bo_cate_on {background:#4162ff;color:#fff; +-webkit-box-shadow:0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow:0 0 5px rgba(65,98,255,0.8); +box-shadow: 0 0 8px rgba(65,98,255,0.8);} + + +#bo_gall .gall_li {float:left;;width:50%;padding:5px} +#bo_gall .gall_li_wr{background:#fff;position:relative;} +#bo_gall .gall_li_chk{display:inline-block;padding:5px;position:absolute;top:0;left:0} +#bo_gall .gall_li:nth-child(2n+1) {clear:both} +#bo_gall .gall_li .gall_img img{width:100%;height:auto} +#bo_gall .gall_li .gall_img .no-img{display:block;background:#ddd;text-align:center;padding:30% 0} + +#bo_gall .gall_now .gall_text_href a {color:#ff3061} + +#bo_gall .gall_href a:link, #bo_gall .gall_href a:focus, #bo_gall .gall_href a:hover {text-decoration:none} +#bo_gall .gall_href strong, #bo_gall .gall_href span {display:block;width:174px;height:124px;background:#f7f7f7;text-align:center;line-height:8em} + +#bo_gall .gall_text_href {padding:10px;display:block} +#bo_gall .gall_li_tit{display:block;margin:5px 0;font-weight:bold} +#bo_gall .bo_cate_link {display:inline-block;color:#3ca1ff !important} +#bo_gall .profile_img img{border-radius:50%} +#bo_gall .gall_info{padding:5px 0 0;margin:10px 0 0 ;color:#777;font-size:0.92em;border-top:1px solid #eee;} +#bo_gall .gall_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_gall .gall_info strong{display:inline-block;margin-right:3px} +#bo_gall .date{float:right} + +/* 게시판 목록 공통 */ +.bo_fx {margin-bottom:5px;padding:5px 10px} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;padding:0;height:2.5em;line-height:2.5em} +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {text-align:center} +.btn_bo_adm li {display:inline-block;} +.btn_bo_adm button {border:0;padding:0 10px;background:#d13f4a;color:#fff;text-decoration:none;vertical-align:middle}.bo_notice td {background:#f7f7f7} +.bo_notice td a {font-weight:bold} +.td_num strong {color:#000} +.bo_current {color:#e8180c} +.td_subject img {margin-left:3px} +.cnt_cmt {font-weight:bold} + +#bo_sch {background:#fff;border:1px solid #bdc2d8;position:relative;margin:10px;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;;margin:9px 0;height:20px;border-right:1px solid #ddd;float:left;width:40%} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left;width:60%;padding:0 40px 0 10px} +#bo_sch .sch_btn{height:38px;position:absolute;top:0;right:0;border:0;width:40px;background:none;font-size:15px} + +.view_is_list.btn_top{position:relative;z-index:auto;top:0;left:0} +.view_is_list{margin:8px 10px 0;height:50px;padding:10px;line-height:30px;border-radius:3px;border-bottom:1px solid #ccc;background:#fff;color:#333;text-align:right} +.view_is_list li{display:inline-block} + +#bo_gall li.empty_list {padding:30px 0;text-align:center} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#wr_email, #wr_homepage, #wr_subject, .wr_link {width:100%} + +/* 게시판 읽기 */ +#bo_v {padding:20px 10px 10px;background:#fff +;-webkit-box-shadow: 0 1px 4px #ddd; +-moz-box-shadow: 0 1px 4px #ddd; +box-shadow: 0 1px 4px #ddd;} + +#bo_v_table {padding: 10px;color:#999;font-size:0.9em;font-weight:bold} + +#bo_v_title {;text-align:center} +.bo_v_cate{display:inline-block;background: #4162ff;color: #fff;border-radius: 13px;line-height: 24px;padding: 0 10px;font-weight:normal; +-webkit-box-shadow: 0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow: 0 0 5px rgba(65,98,255,0.8); +box-shadow: 0 0 8px rgba(65,98,255,0.8);} +.bo_v_tit{display:block;font-size:1.5em;margin:10px 0 0} +#bo_v header p{font-size:0.92em;color:#777;font-style:italic ;text-align:center;margin:10px 0 0 } + +#bo_v_info {padding:15px 0px 10px;border-bottom:1px solid #eee;text-align:center;color:#666} +#bo_v_info h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;font-weight:normal;margin:0 5px} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .icon_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;background-size:80%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin:0 3px 0 5px} +#bo_v_info .icon_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;background-size:70%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin:0 3px 0 5px} +#bo_v_info .ip{vertical-align:middle} + +#bo_v_file {margin:10px 0} +#bo_v_file h2 {background:#949ab4;color:#fff;margin-bottom:1px;line-height:35px;padding: 0 10px} +#bo_v_file ul {margin:0;padding:0;list-style:none} +#bo_v_file li {padding: 10px;border-bottom:1px solid #fff;background:#f1f7fa;color:#777} +#bo_v_file a {display:block;color:#000;text-decoration:none;margin:0 0 3px} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file a strong{color:#3497d9;text-decoration:underline} +.bo_v_file_cnt {font-size:0.92em} + +#bo_v_link{margin:10px 0} +#bo_v_link h2 {background:#949ab4;color:#fff;margin-bottom:1px;line-height:35px;padding: 0 10px} +#bo_v_link ul {margin:0;padding:0;list-style:none} +#bo_v_link li {padding: 10px;border-bottom:1px solid #fff;background:#f1f7fa;color:#777} +#bo_v_link a {display:block;color:#000;text-decoration:none;margin:0 0 3px} +#bo_v_link a strong{color:#3497d9;text-decoration:underline} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {font-size:0.92em} + +#bo_v_top {margin:10px 0;} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_top ul {margin:0;padding:0;list-style:none} +#bo_v_top ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top ul li{display:inline-block;} +.bo_v_left{float:left} +.bo_v_right{float:right} + +#bo_v_bot {padding:0 10px} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_bot ul {margin:0;padding:0;list-style:none} + +.bo_v_nb{margin:10px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;text-align:center;position:relative;} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {} +.bo_v_nb li a{display:inline-block;padding:10px;color:#777} +.bo_v_nb .bo_v_next{;position:absolute;top:0;right:0;} +.bo_v_nb .bo_v_prev{;position:absolute;top:0;left:0;} + +#bo_v_atc {min-height:200px} +#bo_v_atc_title {margin:0;padding:0;height:0;overflow:hidden} + +#bo_v_img {margin:0 0 10px;width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:15px;max-width:100%;height:auto} + +#bo_v_con {min-height:200px;margin-bottom:20px;width:100%;font-size:1.250em;line-height:1.7em;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{padding:15px 0;display:inline-block;border:1px solid #000;width:70px;height:70px;line-height:20px;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{padding:15px 0;display:inline-block;border:1px solid #000;width:70px;height:70px;line-height:20px;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_good i,#bo_v_act .bo_v_nogood i{font-size:18px;} +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn_scrap{display:inline-block;background:#d4d4d4;color:#444;line-height:40px;width:60px;font-weight:bold;text-align:center;float:left;border-radius:3px} + +.btn_share{display:none;} +.bo_v_snswr{position:relative;float:right} +#bo_v_sns {;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:50px;text-align:center;margin-left:3px} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92;border-radius:3px} +#bo_v_sns li .sns_t{display:block;background:#35b3dc;border-radius:3px} +#bo_v_sns li .sns_g{display:block;background:#d5503a;border-radius:3px} +#bo_v_sns li .sns_k{display:block;background:#fbe300;border-radius:3px} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 79px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.167em;margin: 20px 0 10px;padding:0 0 10px ;border-bottom:1px solid #e8e8e8} +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 79px -23px} + +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:0 0 15px} +#bo_vc header {position:relative;padding:0 0 0 50px;height:40px;line-height:20px} +#bo_vc .comment_profile_img{position:absolute;top:0;left:0} +#bo_vc .comment_profile_img img, #bo_vc .profile_img img{border-radius:50%} +#bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {display:inline-block;color:#777;font-style:italic} +#bo_vc h1 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:10px 15px ;margin:5px 0 0 ;border-radius:5px;background:#f6f6f6;line-height:1.8em} +#bo_vc .cmt_contents p{font-size:1.083em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:15px !important;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc footer {zoom:1} +#bo_vc footer:after {display:block;visibility:hidden;clear:both;content:""} + +.bo_vc_act {text-align:right;;margin:0;list-style:none} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;margin:0 2px} +.bo_vc_act li a{color:#3497d9;text-decoration:underline} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px} +#wr_secret{} +.bo_vc_w_info{margin:5px 0} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;;width:49.5%;margin: 0 0 5px 0} +.bo_vc_w_info #wr_password{float:right;} +.bo_vc_w_info #captcha{;display:block;clear:both} +.bo_vc_w .btn_confirm{margin-top:5px;clear:both} +.bo_vc_w .icon_lock{display:inline-block;font-size:17px;padding: 5px;margin-right:5px;} +.bo_vc_w .btn_submit{height:50px;width:100%;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w .bo_vc_secret{float:right;display:block;} + +#bo_vc_send_sns{display:block;float:left} +#bo_vc_sns {display:block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;;padding: 10px 0 10px 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;;padding: 10px 0 10px 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + +/*글쓰기*/ +#bo_w .bo_w_select select{border:1px solid #3497d9;background:#fff;width:100%} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:5px 0 0 } + diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/view.skin.php b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/view.skin.php new file mode 100644 index 0000000..a0b0f4d --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/view.skin.php @@ -0,0 +1,278 @@ +', 0); +?> + + + + + +
                      +
                      +

                      + + + + + +

                      +

                      작성일

                      +
                      + +
                      +

                      페이지 정보

                      + 작성자 + 조회 + 댓글 +
                      + +
                      + + + + +
                      + +
                      +

                      본문

                      + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
                      \n"; + } + ?> + +
                      + + +

                      + + +
                      + + +
                      추천
                      + 이 글을 추천하셨습니다 +
                      + + + +
                      비추천
                      + +
                      + +
                      + +
                      +
                      추천
                      +
                      비추천
                      +
                      + + +
                      + 스크랩 + + +
                      + + + + + + + +
                      +

                      첨부파일

                      + +
                      + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/view_comment.skin.php b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/view_comment.skin.php new file mode 100644 index 0000000..06dd49e --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/view_comment.skin.php @@ -0,0 +1,328 @@ + + + + + + + +
                      +

                      댓글목록

                      + \]/i", "", $str); + ?> +
                      style="margin-left:px;border-top-color:#e0e0e0"> +
                      +

                      님의 댓글의 댓글

                      + + + + 아이피 + () + +
                      + 작성일 + + +
                      +
                      + +

                      + "; ?> + +

                      + + + + +
                      + + + "> + + +
                      + +

                      등록된 댓글이 없습니다.

                      + +
                      + + + + + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/board/gallery/write.skin.php b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/write.skin.php new file mode 100644 index 0000000..8e2bc03 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/board/gallery/write.skin.php @@ -0,0 +1,247 @@ +', 0); +?> + +
                      +
                      + + + + + + + + + + + '.PHP_EOL.''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.''.PHP_EOL.''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.''.PHP_EOL.''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= PHP_EOL.''.PHP_EOL.''; + } + } + + echo $option_hidden; + ?> +
                      +

                      + + +
                      + + +
                      + + + +
                      + + +
                      + + + +
                      + + class="frm_input full_input " maxlength="20" placeholder="비밀번호"> +
                      + + + +
                      + + +
                      + + + +
                      + + +
                      + + + +
                      + 옵션 + +
                      + + +
                      + + +
                      + +
                      + + + +

                      이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                      + + + + +
                      글자
                      + +
                      + + + + + + + + +
                      +
                      + + +
                      + + + + + + + + + + +
                      + + + +
                      + 자동등록방지 + + +
                      + + +
                      + +
                      + 취소 + +
                      +
                      +
                      + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/connect/basic/connect.skin.php b/web/html/theme/AT_WEB01/mobile/skin/connect/basic/connect.skin.php new file mode 100644 index 0000000..e80c74d --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/connect/basic/connect.skin.php @@ -0,0 +1,8 @@ +', 0); +?> + diff --git a/web/html/theme/AT_WEB01/mobile/skin/connect/basic/current_connect.skin.php b/web/html/theme/AT_WEB01/mobile/skin/connect/basic/current_connect.skin.php new file mode 100644 index 0000000..0f606e6 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/connect/basic/current_connect.skin.php @@ -0,0 +1,32 @@ +', 0); +?> + +
                      +
                        + + ".$location.""; + else $display_location = $location; + ?> +
                      • +
                        + +
                        + +
                        +
                      • + 현재 접속자가 없습니다."; + ?> +
                      +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/connect/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/connect/basic/style.css new file mode 100644 index 0000000..be5819f --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/connect/basic/style.css @@ -0,0 +1,17 @@ +@charset "utf-8"; +/* SIR 지운아빠 */ + +/* 현재접속자 */ +#current_connect{margin:0;padding:5px;} +#current_connect li {padding:5px;float:left;width:50%;text-align:center;} +#current_connect li:nth-child(2n+1){clear:both} +#current_connect .crt_name {padding:20px 0;display:block} +#current_connect .crt_name img{ border-radius:50%;margin: 0 0 5px} +#current_connect .crt_wr{background:#fff;position:relative; +-webkit-box-shadow: 0 1px 4px #cbd1df; + -moz-box-shadow: 0 1px 4px #cbd1df; + box-shadow: 0 1px 4px #cbd1df;} +#current_connect .crt_lct{display:block;text-align:center;border-top:1px solid #ddd;padding:10px 5px;line-height:1.4em} +#current_connect .crt_lct a{color:#3ca1ff} +#current_connect .crt_num{position:absolute;top:10px;left:10px;color:#777;font-weight:bold} +#current_connect .empty_li{width:100%;padding:100px 0;color:#777} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/content/basic/content.skin.php b/web/html/theme/AT_WEB01/mobile/skin/content/basic/content.skin.php new file mode 100644 index 0000000..79d47d9 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/content/basic/content.skin.php @@ -0,0 +1,18 @@ +', 0); + +?> + +
                      +
                      +

                      +
                      + +
                      + +
                      + +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/content/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/content/basic/style.css new file mode 100644 index 0000000..09a6462 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/content/basic/style.css @@ -0,0 +1,9 @@ +@charset "utf-8"; + +/* 내용관리 */ +#ctt {margin:10px 0;padding:10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.ctt_admin {margin:0 5px;text-align:right} +#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ctt_himg img, #ctt_timg img, #ctt_con img {max-width:100%;height:auto} +#ctt_con {padding:10px 0} +.ctt_img {text-align:center} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/faq/basic/list.skin.php b/web/html/theme/AT_WEB01/mobile/skin/faq/basic/list.skin.php new file mode 100644 index 0000000..b071fa9 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/faq/basic/list.skin.php @@ -0,0 +1,124 @@ +', 0); +?> + + +'.conv_content($fm['fm_mobile_head_html'], 1).''; +?> + + + +
                      +
                      + + + + +
                      +
                      + + + + +
                      + +
                      +

                      목록

                      +
                        + $v){ + if(empty($v)) + continue; + ?> +
                      1. +

                        Q

                        +
                        + A + +
                        +
                        +
                      2. + +
                      +
                      + 검색된 게시물이 없습니다.

                      '; + } else { + echo '
                      등록된 FAQ가 없습니다.'; + if($is_admin) + echo '
                      FAQ를 새로 등록하시려면 FAQ관리 메뉴를 이용하십시오.'; + echo '
                      '; + } + } + ?> +
                      + + + +'.conv_content($fm['fm_mobile_tail_html'], 1).''; +?> + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/faq/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/faq/basic/style.css new file mode 100644 index 0000000..d89e4da --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/faq/basic/style.css @@ -0,0 +1,34 @@ +@charset "utf-8"; + +#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {margin: 10px;padding-left:1px;zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li{display:inline-block;float:left;margin:3px 5px 3px 0} +#bo_cate a {display:block;line-height:24px;padding:0 10px;border-radius:13px;background:#fff;} +#bo_cate #bo_cate_on {background:#4162ff;color:#fff; +-webkit-box-shadow:0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow:0 0 5px rgba(65,98,255,0.8); +box-shadow: 0 0 8px rgba(65,98,255,0.8);} + +#faq_wrap {margin:10px 10px 60px} +#faq_wrap h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +.faq_admin {margin:0 5px;text-align:right} +#faq_wrap p {line-height:1.8em} +#faq_wrap ol {margin:0;padding:0;list-style:none} +#faq_wrap li{margin:10px 0;background:#fff;border-radius:3px; +-webkit-box-shadow: 0 1px 4px #cbd1df; + -moz-box-shadow: 0 1px 4px #cbd1df; + box-shadow: 0 1px 4px #cbd1df;} +#faq_con h3{position:relative;padding-left:30px;} +#faq_con h3 a {display:block;padding:10px;} +#faq_con .faq_alp{position:absolute;top:10px;left:10px;display:inline-block;background:#333;border-radius:50%;width:20px;height:20px;line-height:20px;text-align:center;color:#fff} +#faq_con .faq_alp_a{background:#aaa} +#faq_con .con_inner {;position:relative;display:none;padding:10px;padding-left:40px;line-height:1.8em;border-top:1px solid #eee;} +#faq_con .con_closer {margin:10px 0 0;text-align:right} +#faq_con .closer_btn {margin:0;padding:0 5px;line-height:24px;border:0;background:#666;color:#fff} +.faq_tolist {padding:0 10px;text-align:right} +.faq_img {text-align:center} + +#faq_sch {text-align:center;margin:10px;position:relative} +#faq_sch .frm_input {width:100%} +#faq_sch .btn_submit{position:absolute;top:0;right:0;width:40px;height:40px;background:none;color:#000;font-size:15px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_comment.png b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_comment.png new file mode 100644 index 0000000..bd7e67f Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_hot.gif b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_hot.gif new file mode 100644 index 0000000..4e8d7ff Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_img.gif b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_link.gif b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_more.gif b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_more.gif new file mode 100644 index 0000000..7cdf200 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_more.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_movie.gif b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_new.gif b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_reply.gif b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_sound.gif b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/latest.skin.php b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/latest.skin.php new file mode 100644 index 0000000..3264b14 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/latest.skin.php @@ -0,0 +1,44 @@ +', 0); +?> + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/latest/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/style.css new file mode 100644 index 0000000..fa2a2ab --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/latest/basic/style.css @@ -0,0 +1,19 @@ +@charset "utf-8"; + +/* 최근게시물 스킨 (latest) */ +.lt {position:relative;padding:15px 10px ;} +.lt ul {margin:10px 0 0 ;padding:0;list-style:none} +.lt .lt_title {display:inline-block;background: #4162ff;color: #fff;border-radius: 13px;line-height: 24px;padding: 0 10px;border-bottom:1px solid #ccc;} +.lt .lt_more {position:absolute;top:5px;right:10px} +.lt .cnt_cmt {display:inline-block;margin:0 5px 0 3px;} +.lt .lt_info{border-top: 1px solid #eee;margin: 10px 0 0;line-height: 20px;color: #666;position: relative;padding-top: 10px;vertical-align:top} +.lt .profile_img img{border-radius:50%;vertical-align:top} +.lt .lt_tit{display: block;font-size: 1.083em;font-weight: bold;margin: 5px 0;} +.lt li .fa-download{width:16px;height:16px;line-height:16px;background:#ecaa30;color:#fff;text-align:center;font-size:10px;border-radius:2px} +.lt li .fa-link{width:16px;height:16px;line-height:16px;background:#2aa974;color:#fff;text-align:center;font-size:10px;border-radius:2px} +.lt li .fa-heart{color:#ff0000;} +.lt li .new_icon{display:inline-block;padding: 0 3px;line-height:16px ;font-size:0.833em;color:#fff;background:#c56bed} +.lt .lt_tit .fa-heart{color: #fe4560;} +.lt .lt_date{position:absolute;top:10px;right:0;color:#666;font-style:italic} +.lt .comment_icon{background:url(./img/icon_comment.png) no-repeat 50% 50% ;display:inline-block;width:20px;height:28px;text-indent:-999px;overflow:hidden;vertical-align:top;background-size:70%;margin:0 0px 0 5px} +.lt .empty_li{text-align:center;padding:40px 0;color:#777} diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/formmail.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/formmail.skin.php new file mode 100644 index 0000000..5c387c3 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/formmail.skin.php @@ -0,0 +1,94 @@ +', 0); +?> + +
                      +

                      님께 메일보내기

                      + +
                      + + + + + + + +
                      +

                      메일쓰기

                      +
                        + +
                      • + + +
                      • +
                      • + + +
                      • + +
                      • + + +
                      • +
                      • + 형식 + + + + + +
                      • +
                      • + + +
                      • +
                      • + + +
                      • +
                      • + + +
                      • +
                      • + 자동등록방지 + +
                      • +
                      + +
                      + + +
                      +
                      + + +
                      +
                      + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/img/btn_del.gif b/web/html/theme/AT_WEB01/mobile/skin/member/basic/img/btn_del.gif new file mode 100644 index 0000000..484697f Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/member/basic/img/btn_del.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/mobile/skin/member/basic/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/member/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/img/zip_ico_up.gif b/web/html/theme/AT_WEB01/mobile/skin/member/basic/img/zip_ico_up.gif new file mode 100644 index 0000000..a1eff70 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/member/basic/img/zip_ico_up.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/login.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/login.skin.php new file mode 100644 index 0000000..266ca9b --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/login.skin.php @@ -0,0 +1,58 @@ +', 0); +?> + +
                      +

                      + +
                      + + +
                      + + + + +
                      + + +
                      + +
                      + + + + + + +
                      + +
                      + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/login_check.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/login_check.skin.php new file mode 100644 index 0000000..1b18291 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/login_check.skin.php @@ -0,0 +1,5 @@ + diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/member_confirm.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/member_confirm.skin.php new file mode 100644 index 0000000..73de086 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/member_confirm.skin.php @@ -0,0 +1,42 @@ +', 0); +?> + +
                      +

                      + +

                      + 비밀번호를 한번 더 입력해주세요. + + 비밀번호를 입력하시면 회원탈퇴가 완료됩니다. + + 회원님의 정보를 안전하게 보호하기 위해 비밀번호를 한번 더 확인합니다. + +

                      + +
                      + + + +
                      + 회원아이디 + + + +
                      + +
                      + +
                      + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/memo.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/memo.skin.php new file mode 100644 index 0000000..4a54d64 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/memo.skin.php @@ -0,0 +1,45 @@ +', 0); +?> + +
                      +

                      + + +
                      +
                      + 전체 쪽지
                      +
                      + +
                        + +
                      • + + + 쪽지 - + + + 삭제 +
                      • + + 자료가 없습니다."; } ?> +
                      + + + + +

                      + 쪽지 보관일수는 최장 일 입니다. +

                      +
                      + +
                      +
                      +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/memo_form.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/memo_form.skin.php new file mode 100644 index 0000000..37535e6 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/memo_form.skin.php @@ -0,0 +1,54 @@ +', 0); +?> + +
                      +

                      쪽지보내기

                      + + +
                      +
                      +

                      쪽지쓰기

                      +
                        +
                      • + + + + 여러 회원에게 보낼때는 컴마(,)로 구분하세요. + +
                        쪽지 보낼때 회원당 점의 포인트를 차감합니다. + +
                      • +
                      • + + +
                      • +
                      • + 자동등록방지 + +
                      • +
                      +
                      + +
                      + + +
                      +
                      +
                      + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/memo_view.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/memo_view.skin.php new file mode 100644 index 0000000..9f79607 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/memo_view.skin.php @@ -0,0 +1,57 @@ +', 0); +?> + +
                      +

                      + + +
                      +
                      +
                      +

                      쪽지 내용

                      +
                      +
                        +
                      • + 사람 + +
                      • +
                      • + 시간 + +
                      • +
                      +

                      + +

                      +
                      + +
                      + 답장 + + 이전쪽지 + + + 다음쪽지 + + 목록보기 + +
                      +
                      +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/password.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/password.skin.php new file mode 100644 index 0000000..5004db5 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/password.skin.php @@ -0,0 +1,44 @@ +', 0); +?> + +
                      +

                      +

                      + + 작성자만 글을 수정할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 수정할 수 있습니다. + + 작성자만 글을 삭제할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 삭제할 수 있습니다. + + 비밀글 기능으로 보호된 글입니다. + 작성자와 관리자만 열람하실 수 있습니다. 본인이라면 비밀번호를 입력하세요. + +

                      + +
                      + + + + + + + + +
                      + + +
                      +
                      + + +
                      diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/password_lost.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/password_lost.skin.php new file mode 100644 index 0000000..ce266e9 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/password_lost.skin.php @@ -0,0 +1,47 @@ +', 0); +?> + +
                      +

                      아이디/비밀번호 찾기

                      +
                      +
                      +
                      +

                      + 회원가입 시 등록하신 이메일 주소를 입력해 주세요.
                      + 해당 이메일로 아이디와 비밀번호 정보를 보내드립니다. +

                      + +
                      + + + +
                      + + +
                      +
                      +
                      +
                      + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/point.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/point.skin.php new file mode 100644 index 0000000..79c9047 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/point.skin.php @@ -0,0 +1,82 @@ +', 0); +?> + +
                      +

                      +
                      +
                        + 0) { + $point1 = '+' .number_format($row['po_point']); + $sum_point1 += $row['po_point']; + } else { + $point2 = number_format($row['po_point']); + $sum_point2 += $row['po_point']; + } + + $po_content = $row['po_content']; + + $expr = ''; + // if($row['po_expired'] == 1) + $expr = ' txt_expired'; + ?> +
                      • +
                        + + +
                        +
                        + + + + 만료: + + +
                        +
                      • + 자료가 없습니다.'; + else { + if ($sum_point1 > 0) + $sum_point1 = "+" . number_format($sum_point1); + $sum_point2 = number_format($sum_point2); + } + ?> +
                      + +
                      +
                      + 지급 + +
                      +
                      + 사용 + +
                      +
                      + 보유 + +
                      +
                      + + + +
                      +
                      +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/profile.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/profile.skin.php new file mode 100644 index 0000000..fd887c2 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/profile.skin.php @@ -0,0 +1,48 @@ +', 0); +?> + +
                      +

                      님의 프로필

                      + +
                      + + + + + + + + + + + + + + + + + + + + + + + + + +
                      회원권한
                      포인트
                      홈페이지
                      회원가입일= $mb['mb_level']) ? substr($mb['mb_datetime'],0,10) ." (".number_format($mb_reg_after)." 일)" : "알 수 없음"; ?>
                      최종접속일= $mb['mb_level']) ? $mb['mb_today_login'] : "알 수 없음"; ?>
                      +
                      + +
                      +

                      인사말

                      +

                      +
                      + +
                      + +
                      +
                      diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/register.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/register.skin.php new file mode 100644 index 0000000..e49fc9c --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/register.skin.php @@ -0,0 +1,105 @@ +', 0); +?> + +
                      + + + +
                      + +
                      + + + +
                      +
                      +

                      회원가입약관

                      + +
                      + + +
                      +
                      + +
                      +

                      개인정보처리방침안내

                      +
                      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                      개인정보처리방침안내
                      목적
                      항목보유기간
                      이용자 식별 및 본인여부 확인
                      아이디, 이름, 비밀번호회원 탈퇴 시까지
                      고객서비스 이용에 관한 통지,
                      CS대응을 위한 이용자 식별
                      연락처 (이메일, 휴대전화번호)회원 탈퇴 시까지
                      +
                      +
                      + + +
                      +
                      + +
                      + +
                      + +
                      + + + +
                      diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/register_form.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/register_form.skin.php new file mode 100644 index 0000000..8fa6161 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/register_form.skin.php @@ -0,0 +1,465 @@ +', 0); +?> + +
                      + + + + + +
                      + + + + + + + + date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면 ?> + + + + +
                      +

                      사이트 이용정보 입력

                      +
                    • + + placeholder="아이디"> + + 영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요. +
                    • +
                    • + + placeholder="비밀번호"> +
                    • +
                    • + + placeholder="비밀번호확인"> +
                    • +
                      + +
                      + +

                      개인정보 입력

                      +
                    • + + class="frm_input full_input " placeholder="이름"> + 아이핀 본인확인'.PHP_EOL; + if($config['cf_cert_hp']) + echo ''.PHP_EOL; + + echo ''.PHP_EOL; + } + ?> + + + 아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다. + +
                      + 본인확인성인인증 완료 +
                      + + +
                    • + +
                    • + + + + 공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)
                      + 닉네임을 바꾸시면 앞으로 일 이내에는 변경 할 수 없습니다. +
                      + + + + +
                    • + + +
                    • + + + + + + + + + + + +
                    • + + +
                    • + + " maxlength="255" placeholder="홈페이지"> +
                    • + + + +
                    • + + " maxlength="20" placeholder="전화번호"> +
                    • + + + +
                    • + + + class="frm_input full_input " maxlength="20" placeholder="휴대폰번호"> + + + + +
                    • + + + +
                    • + 주소필수 + + class="frm_input " size="5" maxlength="6" placeholder="우편번호"> +
                      + + class="frm_input frm_address " size="50" placeholder="주소">
                      + + +
                      + + + + +
                    • + +
                      + +
                      + +

                      기타 개인설정

                      + +
                    • + + +
                    • + + + +
                    • + + +
                    • + + + = $config['cf_icon_level']) { ?> +
                    • + + + + 이미지 크기는 가로 픽셀, 세로 픽셀 이하로 해주세요.
                      + gif, jpg, png파일만 가능하며 용량 바이트 이하만 등록됩니다. +
                      + + 회원아이콘 + + + + +
                    • + + + = $config['cf_icon_level'] && $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height']) { ?> +
                    • + + + + 이미지 크기는 가로 픽셀, 세로 픽셀 이하로 해주세요.
                      + gif, jpg, png파일만 가능하며 용량 바이트 이하만 등록됩니다. +
                      + + 회원아이콘 + + + + +
                    • + + +
                    • + + >정보 메일을 받겠습니다. + +
                    • + + +
                    • + + + > + 휴대폰 문자메세지를 받겠습니다. + +
                    • + + + +
                    • + + > + 다른분들이 나의 정보를 볼 수 있도록 합니다. + + 정보공개를 바꾸시면 앞으로 일 이내에는 변경이 안됩니다. + + + +
                    • + +
                    • + 정보공개 + + + + 정보공개는 수정후 일 이내, 까지는 변경이 안됩니다.
                      + 이렇게 하는 이유는 잦은 정보공개 수정으로 인하여 쪽지를 보낸 후 받지 않는 경우를 막기 위해서 입니다. +
                      + +
                    • + + + + + +
                    • + + +
                    • + + +
                    • + 자동등록방지 + +
                    • + +
                      + +
                      + 취소 + +
                      +
                      + + +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/register_result.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/register_result.skin.php new file mode 100644 index 0000000..5b98fe9 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/register_result.skin.php @@ -0,0 +1,45 @@ +', 0); +?> +
                      +

                      회원가입이 완료되었습니다.

                      +
                      +

                      + 님의 회원가입을 진심으로 축하합니다.
                      +

                      + + +

                      + 회원 가입 시 입력하신 이메일 주소로 인증메일이 발송되었습니다.
                      + 발송된 인증메일을 확인하신 후 인증처리를 하시면 사이트를 원활하게 이용하실 수 있습니다. +

                      +
                      + 아이디 +
                      + 이메일 주소 + +
                      +

                      + 이메일 주소를 잘못 입력하셨다면, 사이트 관리자에게 문의해주시기 바랍니다. +

                      + + +

                      + 회원님의 비밀번호는 아무도 알 수 없는 암호화 코드로 저장되므로 안심하셔도 좋습니다.
                      + 아이디, 비밀번호 분실시에는 회원가입시 입력하신 이메일 주소를 이용하여 찾을 수 있습니다. +

                      + +

                      + 회원 탈퇴는 언제든지 가능하며 일정기간이 지난 후, 회원님의 정보는 삭제하고 있습니다.
                      + 감사합니다. +

                      +
                      + + + +
                      diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/scrap.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/scrap.skin.php new file mode 100644 index 0000000..4eef037 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/scrap.skin.php @@ -0,0 +1,27 @@ +', 0); +?> + +
                      +

                      + +
                        + +
                      • + + + 삭제 +
                      • + + 자료가 없습니다."; ?> +
                      + + + +
                      + +
                      +
                      diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/scrap_popin.skin.php b/web/html/theme/AT_WEB01/mobile/skin/member/basic/scrap_popin.skin.php new file mode 100644 index 0000000..3113e8c --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/scrap_popin.skin.php @@ -0,0 +1,38 @@ +', 0); +?> + +
                      +

                      스크랩하기

                      + +
                      + + + +
                      +

                      제목 확인 및 댓글 쓰기

                      +
                        +
                      • + 제목 + +
                      • +
                      • + + +
                      • +
                      + +

                      + 스크랩을 하시면서 감사 혹은 격려의 댓글을 남기실 수 있습니다. +

                      + +
                      + +
                      +
                      + +
                      +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/member/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/member/basic/style.css new file mode 100644 index 0000000..7d21238 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/member/basic/style.css @@ -0,0 +1,242 @@ +@charset "utf-8"; +/* ### 기본 스타일 커스터마이징 시작 ### */ +.mbskin{text-align:center;padding:10px} +.mbskin h1{font-size:1.75em;margin:40px 0 25px} +.mbskin p {padding-bottom:20px;border-bottom:1px solid #c8c8c8} +.mbskin p strong{color:#4162ff;padding-bottom:5px;display:block;font-size:1.083em} + +/* 버튼 */ +.mbskin a.btn01 {} +.mbskin a.btn01:focus, .mbskin a.btn01:hover {} +.mbskin a.btn02 {} +.mbskin a.btn02:focus, .mbskin .btn02:hover {} +.mbskin .btn_confirm {} /* 서식단계 진행 */ +.mbskin .btn_submit {} +.mbskin .btn_cancel {} +.mbskin .btn_frmline {} /* 우편번호검색버튼 등 */ +.mbskin .win_btn {} /* 새창용 */ +.mbskin .win_btn a {} +.mbskin .win_btn button {} +.mbskin .win_btn input {} +/* 게시판용 버튼 */ +.mbskin a.btn_b01 {} +.mbskin a.btn_b01:focus, .mbskin .btn_b01:hover {} +.mbskin a.btn_b02 {} +.mbskin a.btn_b02:focus, .mbskin .btn_b02:hover {} +.mbskin a.btn_admin {} /* 관리자 전용 버튼 */ +.mbskin a.btn_admin:focus, .mbskin a.btn_admin:hover {} + +/* 기본테이블 */ +.mbskin .tbl_head01 {} +.mbskin .tbl_head01 caption {} +.mbskin .tbl_head01 thead th {} +.mbskin .tbl_head01 thead a {} +.mbskin .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.mbskin .tbl_head01 tfoot th {} +.mbskin .tbl_head01 tfoot td {} +.mbskin .tbl_head01 tbody th {} +.mbskin .tbl_head01 td {} +.mbskin .tbl_head01 a {} +.mbskin td.empty_table {} + +/* 폼 테이블 */ +.mb_skin table {} +.mb_skin caption {} +.mb_skin .frm_info {} +.mb_skin .frm_file {} + +.mbskin .tbl_frm01 {} +.mbskin .tbl_frm01 caption {} +.mbskin .tbl_frm01 th {} +.mbskin .tbl_frm01 td {} +.mbskin .tbl_frm01 textarea, .mbskin .frm_input {} +.mbskin .tbl_frm01 textarea {} +/* +.mbskin .tbl_frm01 #captcha {} +.mbskin .tbl_frm01 #captcha input {} +*/ +.mbskin .tbl_frm01 a {} + +.mbskin .required, .mbskin textarea.required {} /* 필수입력 */ + +/* 테이블 항목별 정의 */ +.mbskin .td_board {} +.mbskin .td_chk {} +.mbskin .td_date {} +.mbskin .td_datetime {} +.mbskin .td_group {} +.mbskin .td_mb_id {} +.mbskin .td_mng {} +.mbskin .td_name {} +.mbskin .td_nick {} +.mbskin .td_num {} +.mbskin .td_numbig {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 회원가입 약관 */ +#fregister section {background:#fff;margin:10px 0;border:1px solid #dbdbdb; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#fregister .chk_all{text-align:left} +#fregister h2 {text-align:left;border-bottom:1px solid #dbdbdb;padding:10px 15px;line-height:1.7em;font-size:1.167em} +#fregister textarea {display:block;padding:10px;width:100%;border:0;background:#fff;height:180px;line-height:1.5em;color:#555} +.fregister_agree {border-top:1px solid #dbdbdb;padding:10px 15px;line-height:1.7em;text-align:left;font-size:1.083em} +.fregister_agree label {display:inline-block;margin-right:5px} +#fregister p {border:0;padding:0 0 5px;} +#fregister .btn_confirm {margin:15px 0} +#fregister_private .tbl_head01 {padding:20px;margin:0} +#fregister_private .tbl_head01 caption{position:absolute;font-size:0;line-height:0;overflow:hidden;top:0;color:#fff} + +/* 회원가입 입력 */ +#fregisterform #reg_mb_email, #fregisterform .frm_address {width:100%} +#fregisterform textarea {width:100%;height:50px} +#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center} +#fregisterform .frm_address {margin:5px 0 0} +#fregisterform #mb_addr3 {display:block;margin:5px 0 0} +#fregisterform #mb_addr_jibeon {display:block;margin:5px 0 0} +#fregisterform .form_01{margin-bottom: 30px} +#fregisterform .form_01 h2{font-size:1.167em;margin:0 0 5px} +#fregisterform .frm_label{display:block;font-size:1.083em;margin:15px 0 5px;color:#555} +#fregisterform .btn_frmline {height:40px;padding:0 10px} +#fregisterform .rgs_name_li button{margin:5px 0 0 } +#fregisterform .reg_mb_img_file img{max-width:100%;height:auto} + +/* 회원가입 완료 */ +#reg_result {padding:20px 10px 10px} +#reg_result #result_email {margin:20px 0;padding:10px 50px;border-top:1px solid #eee;border-bottom:1px solid #eee;background:#fff;line-height:2em} +#reg_result #result_email span {display:inline-block;width:150px} +#reg_result #result_email strong {color:#e8180c;font-size:1.2em} +#reg_result h2{text-align:center;font-size:1.25em;margin:0 0 10px} +#reg_result h2 strong{color:#ed6478} +#reg_result p {line-height:1.7em} +#reg_result .btn_confirm {margin:20px 0 30px} +#reg_result .reg_result_wr{background:#fff;padding:10px 20px} +#reg_result .reg_cong{margin:10px 0;font-size:1.083em;font-weight:bold} +#reg_result .reg_cong strong{color:#3497d9} +#reg_result .btn_confirm a{display:inline-block;padding:0 20px;height:40px;line-height:38px;border:1px solid #ed6478;color:#ed6478;border-radius:3px;font-weight:bold} + +/* 아이디/비밀번호 찾기 */ +/*#find_info #info_fs {margin:0 20px 10px}*/ +#find_info #info_fs p {margin:0 0 10px;line-height:1.5em;font-size:0.92em;color:#4162ff} +#find_info #info_fs #mb_email {width:100%} +#find_info #captcha{margin:5px 0 } + +/* 로그인 */ +#mb_login {margin:40px auto 10px;;max-width:500px;padding:20px;} +#mb_login h1 {font-size:2em;text-align:center;margin:0 0 20px} +#mb_login h2 {margin:0} +#mb_login p {padding:10px 0;line-height:1.5em} +#mb_login #login_frm {position:relative} +#mb_login #login_frm div {padding:10px 0 ;text-align:right} +#mb_login .frm_input {width:100%;margin:5px 0} +#mb_login .btn_submit {width:100%;border-radius:3px;height:40px;margin:5px 0;font-size:1.083em;font-weight:bold} +#mb_login .mb_login_join{border-top:1px solid #ddd;margin:20px 0 0 ;padding:10px 0} +#mb_login .mb_login_join:after {display:block;visibility:hidden;clear:both;content:""} +#mb_login .mb_login_join h2{position:absolute;font-size:0;line-height:0;overflow:hidden} +#mb_login .mb_login_join a{display:block;float:left;width:50%;} +#login_password_lost{border-right:1px solid #cdcdcd;} + +#flogin{background:#fff;padding:20px;margin:20px 0;border-bottom:1px solid #ddd;} + +#mb_login_notmb{background:#fff;border-bottom:1px solid #ccc;padding:20px;} +#mb_login_notmb h2{font-size:1.25em;padding:10px;background:#f3f3f3} +#mb_login_notmb p{border:0;padding:0;margin:10px;color:#} +#guest_privacy p{border:1px solid #ddd;background:#fff;color:#666;min-height:20px;height:200px;padding:10px;text-align:left;overflow-y:auto;margin:10px 0} +#mb_login_notmb .btn_submit{width:100%;display:block;height:40px;line-height:40px} + +#mb_login_od_wr{background:#fff;border-bottom:1px solid #ccc;padding:20px;} +#mb_login_od_wr p{border:0;text-align:left;} +#mb_login_od_wr p strong{display:inline} +#mb_login_odinfo{margin:10px 0 0 ;background:#f3f3f3;padding:10px} +#mb_login_odinfo h2{font-size:1.167em} +/* 쪽지 */ +#memo_view_contents {} +#memo_view_contents h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#memo_view_ul {margin:0 0 3px;background:#fff;padding:5px 10px;border-radius:3px; +-webkit-box-shadow: 0 0 5px rgba(50,50,50,0.2); +-moz-box-shadow: 0 0 5px rgba(50,50,50,0.2); +box-shadow: 0 1px 5px rgba(50,50,50,0.2);} +.memo_view_li {position:relative;padding:2px 0} +.memo_view_subj {display:inline-block;width:60px;font-size:0.92em;color:#777} +#memo_view_ul a {} +#memo_view p {padding:10px 15px;border-radius:3px;;min-height:150px;height:auto !important;height:150px;line-height:1.8em;background:#fff; +-webkit-box-shadow: 0 0 5px rgba(50,50,50,0.2); +-moz-box-shadow: 0 0 5px rgba(50,50,50,0.2); +box-shadow: 0 1px 5px rgba(50,50,50,0.2);} + +#memo_list_ul {} +#memo_list_ul li {position:relative;background:#fff;margin:10px 0;border-radius:3px;padding:10px 15px; +-webkit-box-shadow: 0 0 5px rgba(50,50,50,0.2); +-moz-box-shadow: 0 0 5px rgba(50,50,50,0.2); +box-shadow: 0 1px 5px rgba(50,50,50,0.2);} + +#memo_list_ul .memo_link {display:block;font-weight:bold;font-size:1.083em;margin:0 0 5px} +#memo_list_ul .memo_date{font-size:0.92em;color:#777;font-style:italic} +#memo_list_ul .memo_del{display:block;position:absolute;top:0;right:0;width:40px;height:40px;background:url(./img/btn_del.gif) no-repeat 50% 50%; text-indent:-9999px;overflow:hidden} + +#memo_write #me_recv_mb_id {width:100%} +#memo_write textarea {width:100%;height:100px} +#memo_write .win_btn{margin:10px;} + +/* 스크랩 */ +#scrap_ul li{position:relative;} +#scrap_ul .scrap_board {display:block;color:#4162ff;margin:0 0 5px} +#scrap_ul .scrap_del {display:block;position:absolute;top:0;right:0;width:40px;height:40px;background:url(./img/btn_del.gif) no-repeat 50% 50%; text-indent:-9999px;overflow:hidden} +#scrap_ul .scrap_link{font-weight:bold;font-size:1.083em;} +.scrap_tit{font-weight:bold;border-bottom:1px solid #d7d7d7;padding:0 0 10px;font-size:1.167em} +#scrap_do #wr_content{margin-top:5px} +#scrap_do label{color:#666} + +/* 포인트 */ +#point_ul {;padding:0;border-top:1px solid #e9e9e9;list-style:none} +#point_ul li {position:relative;} +#point_ul li:after {display:block;visibility:hidden;clear:both;content:""} +#point_ul .point_wrap01 {float:left} +#point_ul .point_wrap02 {float:right;text-align:right} +#point_ul .point_log{display:block;font-weight:bold;margin:0 0 5px;font-size:1.083em} +#point_ul .point_inout{display:block;font-weight:bold;margin:0 0 5px;color:#4162ff;font-size:1.083em} +#point_ul .point_date{font-style:italic} + +#point_sum{margin:10px 0 20px} +#point_sum:after {display:block;visibility:hidden;clear:both;content:''} +#point_sum .sum_row {float:left;width:33.333%;text-align:center;background:#939db8;color:#fff;} +#point_sum .sum_row:nth-child(even){background:#8490af} +#point_sum .sum_tit, #point_sum .sum_val {display:block;margin:0 0 1px;padding:10px} +#point_sum .sum_tit {} +#point_sum .sum_val {} + +/* 회원 비밀번호 확인 */ +#mb_confirm {margin:30px 0} +#mb_confirm h1 {margin:0 0 15px;padding:0 10px;font-size:1.3em} +#mb_confirm p {padding:15px 10px;border-bottom:1px solid #cfded8;border-bottom:0;background:#fff} +#mb_confirm p strong {display:block} +#mb_confirm fieldset {position:relative;margin:20px 0;text-align:left;color:#555} +#mb_confirm_id{font-weight:bold;display:block;font-size:1.083em;margin:5px 0} +#mb_confirm_pw {display:block;margin-top:10px;width:100%} +#mb_confirm .btn_submit {width:100%;height:40px;border-radius:3px;margin:10px 0} + +/* 비밀글 비밀번호 확인 */ +#pw_confirm fieldset {position:relative;margin:0 0 5px;padding:15px 0;border-top:1px solid #fffefe} +#pw_wr_password {width:100%} +#pw_confirm .btn_submit {margin:5px 0;width:100%;border-radius:3px;height:45px;font-weight:bold;font-size:1.083em} + +/* 폼메일 */ +#formmail #subject {width:100%} +#formmail textarea {width:100%;height:100px} +#formmail .frm_file{padding-left:50px;} +#formmail .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;} +#formmail .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;overflow:hidden;text-indent:-999px;background:url(./img/icon_file.gif) no-repeat 50% 50% #eee} + +/* 자기소개 */ +#profile section {margin:10px; } +#profile h2 {margin:0} +#profile .sv_wrap a {color:#fdff2f} +#profile table{width:100%;border-collapse:collapse} +#profile table th{background:#fff;padding:10px;width:90px;text-align:left;border-bottom:1px solid #eee} +#profile table td{background:#fff;padding:10px;border-bottom:1px solid #eee} +#profile p{background:#fff;padding:10px;margin:10px 0; +-webkit-box-shadow: 0 0 5px rgba(50,50,50,0.2); +-moz-box-shadow: 0 0 5px rgba(50,50,50,0.2); +box-shadow: 0 1px 5px rgba(50,50,50,0.2);} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/new/basic/new.skin.php b/web/html/theme/AT_WEB01/mobile/skin/new/basic/new.skin.php new file mode 100644 index 0000000..679ca9e --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/new/basic/new.skin.php @@ -0,0 +1,58 @@ +', 0); +?> + + +
                      + 상세검색 +
                      + + + + + +
                      + +
                      + + + +
                      +
                        + + +
                      • + + + +
                      • + + + 게시물이 없습니다.'; + ?> +
                      +
                      + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/new/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/new/basic/style.css new file mode 100644 index 0000000..cfcd972 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/new/basic/style.css @@ -0,0 +1,11 @@ +@charset "utf-8"; + +/* 새글 */ +#new_sch {margin:10px;border:1px solid #bdc2d8;background:#fff;position:relative} +#new_sch select{float:left;width:50%;border:0;height:40px} +#new_sch #view{border-left:1px solid #e2e2e2} +#new_sch .frm_input {border:0;border-top:1px solid #e2e2e2;width:100% } +#new_sch .btn_submit {position:absolute;bottom:0;right:0;width:40px;height:40px;background:none;color:#000;font-size:15px} +#new_list .new_tit{display:block;font-weight:bold;margin:0 0 5px;font-size:1.083em} +#new_list .new_date{float:right;color:#666;font-style:italic} +#new_list .new_board{color:#3ca1ff} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_edit.png b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_edit.png new file mode 100644 index 0000000..cea6ea7 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_edit.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_memo.png b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_memo.png new file mode 100644 index 0000000..5b86133 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_memo.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_point.png b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_point.png new file mode 100644 index 0000000..27fa832 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_point.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_scrap.png b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_scrap.png new file mode 100644 index 0000000..43e10b1 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/img/icon_scrap.png differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/outlogin.skin.1.php b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/outlogin.skin.1.php new file mode 100644 index 0000000..e1d4a0e --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/outlogin.skin.1.php @@ -0,0 +1,72 @@ +', 0); +?> + + + + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/outlogin.skin.2.php b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/outlogin.skin.2.php new file mode 100644 index 0000000..98fde50 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/outlogin.skin.2.php @@ -0,0 +1,53 @@ +', 0); +?> + + + + + + diff --git a/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/style.css new file mode 100644 index 0000000..d6d4f7c --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/outlogin/basic/style.css @@ -0,0 +1,29 @@ +@charset "utf-8"; +.ol {position:relative;margin:0 0 10px;padding:20px;background:#292929;text-align:center;} +.ol h2 {width:0;height:0;overflow:hidden} + +#ol_before{padding:20px 30px 30px} +#ol_before input[type=text], #ol_before input[type=password] {width:100%;border:0;border-bottom:1px solid #434242;background:none;height:40px;;margin:0 0 10px;color:#fff} +#ol_submit {width:100%;height:40px;border-radius:23px;font-weight:bold;font-size:1.083em; } +#ol_svc {text-align:left;color:#dadada;font-size:0.92em;margin:5px 0 20px} +.ol_before_btn{margin:15px 0 0;color:#aaa;line-height:1em} +.ol_before_btn a{color:#fff;display:inline-block;width:50%;float:left} +#ol_password_lost{border-left:1px solid #777} + +#ol_after_hd strong {display:block;color:#fff;} +#ol_after_hd .btn_admin {display:block;padding:0 !important;text-align:center} +#ol_after_hd .profile_img{display:inline-block;position:relative;margin:0 0 10px} +#ol_after_hd .profile_img img{border-radius:50%;} +#ol_after_info{position:absolute;bottom:-5px;right:-5px;background:url(./img/icon_edit.png) no-repeat 50% 50% #292929;background-size:15px;width:30px;height:30px;text-indent:-9999px;overflow:hidden;border-radius:50%} + +#ol_after_private {margin:0;padding:0;list-style:none} +#ol_after_private:after {display:block;visibility:hidden;clear:both;content:""} +#ol_after_private li {float:left;width:33.333%} +#ol_after_memo {background:url(./img/icon_memo.png) no-repeat 36px 22px #2c2d2e;background-size:19px} +#ol_after_pt {background:url(./img/icon_point.png) no-repeat 38px 24px #313334;background-size:16px} +#ol_after_scrap {background:url(./img/icon_scrap.png) no-repeat 38px 22px #2c2d2e;background-size:18px} +#ol_after_private a {color:#fff;height:90px;display:block;padding-top:60px} + +#ol_after_btn {margin:15px 0} +#ol_after_btn a{display:inline-block;padding:0 10px;line-height:25px;border-radius:15px;font-weight:bold} +#ol_after_logout{background:#fff;color:#555} diff --git a/web/html/theme/AT_WEB01/mobile/skin/poll/basic/poll.skin.php b/web/html/theme/AT_WEB01/mobile/skin/poll/basic/poll.skin.php new file mode 100644 index 0000000..93dbec4 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/poll/basic/poll.skin.php @@ -0,0 +1,65 @@ +', 0); +?> + +
                      + + + +
                      + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/poll/basic/poll_result.skin.php b/web/html/theme/AT_WEB01/mobile/skin/poll/basic/poll_result.skin.php new file mode 100644 index 0000000..b4531ab --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/poll/basic/poll_result.skin.php @@ -0,0 +1,113 @@ +', 0); +?> + +
                      +

                      +
                      + 전체 +
                      +

                      결과

                      +
                        + +
                      1. + + % +
                        + +
                        +
                      2. + +
                      +
                      + + +
                      +

                      이 설문에 대한 기타의견

                      + + +
                      +
                      +

                      님의 의견

                      + + + 삭제"; } ?> + +
                      +

                      + +

                      + +
                      + + + = $po['po_level']) { ?> +
                      + + + + +

                      + +
                      + + + + + + + + + + + + + + + + +
                      +
                      + +
                      + +
                      +
                      + + +
                      + + + + +
                      + +
                      +
                      +
                      + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/poll/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/poll/basic/style.css new file mode 100644 index 0000000..65da79a --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/poll/basic/style.css @@ -0,0 +1,103 @@ +@charset "utf-8"; +/* SIR 지운아빠 */ + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +#poll a.btn_admin {} /* 관리자 전용 버튼 */ +#poll a.btn_admin:focus, #poll a.btn_admin:hover {} + +/* 폼 테이블 */ +#poll .tbl_frm table {} +#poll .tbl_frm .frm_address {} +#poll .tbl_frm .frm_file {} +#poll .tbl_frm .frm_info {} + +#poll .tbl_frm01 {} +#poll .tbl_frm01 caption {} +#poll .tbl_frm01 th {} +#poll .tbl_frm01 td {} +#poll .tbl_frm01 textarea, #poll .frm_input {} +#poll .tbl_frm01 textarea {} +/* +#poll .tbl_frm01 #captcha {} +#poll .tbl_frm01 #captcha input {} +*/ +#poll .tbl_frm01 a {} + +#poll .required, #poll textarea.required {} + +#poll .btn_confirm {} /* 서식단계 진행 */ +#poll .btn_submit {} +#poll .btn_cancel {} +#poll .btn_frmline {} /* 우편번호검색버튼 등 */ +#poll .win_btn {} /* 새창용 */ +#poll .win_btn a {} +#poll .win_btn button {} +#poll .win_btn input {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 설문조사 스킨 */ +#poll {margin:30px 10px } +#poll header {position:relative;} +#poll h2 {display:inline-block;background: #4162ff;color: #fff;border-radius: 13px;line-height: 24px;padding: 0 10px;margin:0 0 10px; +-webkit-box-shadow: 0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow: 0 0 5px rgba(65,98,255,0.8); +box-shadow: 0 0 8px rgba(65,98,255,0.8); +} +#poll header .btn_admin {display:block;margin:0 0 5px;color:#fff;text-align:center;text-decoration:none;line-height:2em;vertical-align:middle} +#poll header p {padding:0;font-weight:bold} +#poll li {background:#fff;margin: 8px 0;padding:10px; + -webkit-box-shadow: 0 1px 4px #cbd1df; + -moz-box-shadow: 0 1px 4px #cbd1df; + box-shadow: 0 1px 4px #cbd1df;} +#poll footer:after {display:block;visibility:hidden;clear:both;content:""} +#poll footer input {float:right;font-weight:bold;} +#poll footer a {display:inline-block;float:left;background:#c6c6d2;color:#333;font-weight:bold} +#poll footer a:focus, #poll footer a:hover {text-decoration:none !important} + +/* 설문조사 결과 (새창) */ +#poll_result {} +#poll_result section {margin:0 0 20px;padding:25px;border:1px solid #dbdbdb;background:#fff; +-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.1)); + -moz-box-shadow: 0 0 5px rgba(55,55,5,0.1)); + box-shadow: 0 0 5px rgba(55,55,5,0.1); } +#poll_result .tbl_wrap {margin:0} +#poll_result h2 {} +#poll_result a {} +#poll_result .sv_member, +#poll_result .sv_guest {font-weight:bold} +#poll_result .poll_all{float:right;display:inline-block;padding:0 5px;margin:0 0 10px;line-height:26px;border:1px solid #ddd;border-radius:3px;font-size:0.92em;background:#fff} +#poll_result .btn_confirm{text-align:right;margin:5px 0 0} +#poll_result_list {margin:0 auto 20px;clear:both} +#poll_result_list h2 {margin:0;font-size:1.083em;padding: 0 0 15px;margin:0 0 15px;border-bottom:1px solid #ddd;text-align:center;} +#poll_result_list dt {margin-right:5%;color:#e8180d;text-align:right} +#poll_result_list ol {margin:0;padding:0} +#poll_result_list li {margin:20px 0;position:relative;list-style-position:inside} +#poll_result_list .poll_percent{position:absolute;top:0;right:0;color:#415b72;font-weight:bold} +.poll_result_graph {position:relative;margin-right:5%;margin:5px 0 ;height:15px;background:#f4f4f4;border-radius:10px 10px} +.poll_result_graph span {position:absolute;top:0;left:0;height:15px;background:#ae99da;border-radius:10px 10px} +.poll_result_graph span .poll_cnt {display:none;position:absolute;top:18px;right:0;font-size:0.92em;text-align:right;background:#333;color:#fff;padding:0 7px;line-height:22px;border-radius:3px} +.poll_result_graph span:hover .poll_cnt {display:block;white-space: nowrap;} +.poll_result_graph span .poll_cnt:before{content: "";position: absolute;top: -6px;left: 50%;margin-left:-4px;width: 0;height: 0;border-style: solid;border-width: 0 4px 6px 4px;border-color: transparent transparent #333 transparent;} +#poll_result_cmt {} +#poll_result_cmt h2 {;font-size:1.083em;} +#poll_result_cmt h3 {margin:0;font-size:1.083em;padding: 0 0 15px;margin:0 0 15px;border-bottom:1px solid #ddd;text-align:center;} +#poll_result_cmt article {margin:15px 0 ;position:relative;} +#poll_result_cmt h2 {position:absolute;margin:0;padding:0;border:0;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#poll_result_cmt header{margin:0 0 5px} +#poll_result_cmt .poll_datetime{display:inline-block;position:absolute;top:0;right:0;font-size:0.92em;color:#777;font-style:italic} +#poll_result_cmt .profile_img img{border-radius:50%} +#poll_result_cmt p {padding:10px;background:#f6f6f6;border-radius:5px;} +#poll_result_cmt fieldset {margin-bottom:0;text-align:left} +#poll_result_cmt fieldset p {margin:0 0 15px;padding:3px 0 0px;text-align:left} +#poll_result_cmt footer {text-align:right} +#poll_result_cmt .btn_submit {height:40px;padding:0 20px} + +.poll_cmt_del a {display:inline-block;margin-left:5px;color:#49857c;font-size:16px;} +.poll_cmt_del a:hover{color:#98ca69} +#poll_result_oth {padding:0} +#poll_result_oth ul {margin:0;padding:0;list-style:none;} +#poll_result_oth li{position:relative} +#poll_result_oth li:after {display:block;visibility:hidden;clear:both;content:""} +#poll_result_oth li span{float:right;color:#777;font-size:0.92em;font-style:italic} diff --git a/web/html/theme/AT_WEB01/mobile/skin/popular/basic/popular.skin.php b/web/html/theme/AT_WEB01/mobile/skin/popular/basic/popular.skin.php new file mode 100644 index 0000000..c7f38a5 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/popular/basic/popular.skin.php @@ -0,0 +1,21 @@ +', 0); +?> + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/popular/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/popular/basic/style.css new file mode 100644 index 0000000..74f4e37 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/popular/basic/style.css @@ -0,0 +1,10 @@ +@charset "utf-8"; + +/* 인기검색어 */ +#popular {margin:30px 10px } +#popular h2 {display:inline-block;background: #4162ff;color: #fff;border-radius: 13px;line-height: 24px;padding: 0 10px;margin:0 0 10px; +-webkit-box-shadow: 0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow: 0 0 5px rgba(65,98,255,0.8); +box-shadow: 0 0 8px rgba(65,98,255,0.8); } +#popular a{display:inline-block;height:22px;line-height:22px;background:#b9bdd3;color:#fff;margin:2px 0;padding: 0 5px;border-radius:3px} +#popular a:hover{background:#646982} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/btn_close.gif b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_answer.gif b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_answer.gif new file mode 100644 index 0000000..91c1359 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_answer.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_file.gif new file mode 100644 index 0000000..cca47f5 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_hot.gif b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_hot.gif new file mode 100644 index 0000000..c95b839 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_img.gif b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_img.gif new file mode 100644 index 0000000..fefa10d Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_link.gif b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_link.gif new file mode 100644 index 0000000..0f3cb1a Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_mobile.gif new file mode 100644 index 0000000..ad934d2 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_movie.gif b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_new.gif b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_secret.gif new file mode 100644 index 0000000..c04899f Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_sound.gif b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/list.skin.php b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/list.skin.php new file mode 100644 index 0000000..c375cbb --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/list.skin.php @@ -0,0 +1,151 @@ +', 0); +?> + +
                      + + + + + + + + + + + +
                      +
                      + Total + 페이지 +
                      + + +
                      + + +
                      + + + + + +
                      + + +
                      + + +
                      +
                        + +
                      • + +
                        + + +
                        + +
                        + + + + +
                        +
                        + + + +
                        답변완료' : ' 답변대기'); ?>
                        + +
                        +
                      • + + + 게시물이 없습니다.'; } ?> +
                      +
                      + +
                      + +
                        +
                      • +
                      + + + +
                      +
                      +
                      + + + + + + + + + +
                      + 게시물 검색 + +
                      + + + + +
                      +
                      + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/style.css new file mode 100644 index 0000000..fb12555 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/style.css @@ -0,0 +1,275 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list .btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list .btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list a.btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v .btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v .btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {} +#bo_w .btn_cancel {} +#bo_w .btn_frmline {} /* 우편번호검색버튼 등 */ + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_address {} +#bo_w .frm_file {} +#bo_w .frm_info {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 caption {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +#bo_w .required, #bo_w textarea.required {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list #list_chk {padding:0 10px } + +#bo_list .li_stat{float:right;display:inline-block;height:25px;padding:0 10px;border-radius:15px;margin-top:3px} +#bo_list .txt_rdy{border:1px solid #ff63ab;color:#ff63ab;line-height:23px} +#bo_list .txt_done{background:#ff63ab;color:#fff;line-height:25px} + +#bo_list .li_title{display: block;font-weight: bold;margin: 5px 0;} +#bo_list .li_title strong{color: #3ca1ff !important;font-weight: normal;text-decoration: none;font-size: 0.92em;} +#bo_list .li_info{border-top: 1px solid #eee;margin: 10px 0 0;line-height: 28px;color: #666;position: relative;padding-top: 3px;} +#bo_list .li_info:after {display:block;visibility:hidden;clear:both;content:""}#bo_list .profile_img img{border-radius:50%;} +#bo_list .li_sbj{display: block;font-weight: bold;margin: 5px 0;font-size: 1.083em;} + +#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {margin: 10px;padding-left:1px;zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li{display:inline-block;float:left;margin:3px 5px 3px 0} +#bo_cate a {display:block;line-height:24px;padding:0 10px;border-radius:13px;background:#fff;} +#bo_cate #bo_cate_on {background:#4162ff;color:#fff; +-webkit-box-shadow:0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow:0 0 5px rgba(65,98,255,0.8); +box-shadow: 0 0 8px rgba(65,98,255,0.8);} + +/* 관리자일 때 */ +#bo_list_admin th label {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_list_admin th:nth-of-type(1) {width:40px} +#bo_list_admin th:nth-of-type(3) {width:100px} + +#bo_list_admin td:nth-of-type(1) {text-align:center} +#bo_list_admin td:nth-of-type(3) {text-align:center} + +/* 관리자가 아닐 때 */ +#bo_list th:nth-of-type(2) {width:100px} + +#bo_list td:nth-of-type(2) {text-align:center} + +/* 게시판 목록 공통 */ +.bo_fx {margin-bottom:5px;padding:5px 10px} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;padding:0;height:2.5em;line-height:2.5em} +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 10px;height:2em;border:1px solid #e8180c !important;background:#e8180c;color:#fff;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-appearance:none} +.bo_notice td {background:#f7f7f7} +.bo_notice td a {font-weight:bold} +.td_num strong {color:#000} +.bo_cate_link {display:inline-block;margin:0 3px 0 0;padding:0 6px 0 0;border-right:1px solid #e7f1ed;color:#999 !important;font-weight:bold;text-decoration:none} /* 글제목줄 분류스타일 */ +.bo_current {color:#e8180c} +.td_subject img {margin-left:3px} +#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold} + +#bo_sch {margin-bottom:10px;padding-top:5px;text-align:center} +#bo_sch .btn_submit{width:40px;height:40px} + + +/* 게시판 쓰기 */ +#bo_w #wr_email, #bo_w #wr_homepage, #bo_w #wr_subject {width:100%} + +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrp {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#qa_subject {width:100%} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:15px;padding-bottom:15px} +#bo_v .bo_v_wr{background:#fff;margin:10px;border-radius:5px;padding:15px; +-webkit-box-shadow: 0 1px 4px #cbd1df; +-moz-box-shadow: 0 1px 4px #cbd1df; +box-shadow: 0 1px 4px #cbd1df;} + +#bo_v_table {margin:0 0 5px;padding:0 10px;color:#999;font-size:0.9em;font-weight:bold} + +#bo_v_title {padding:0 0 10px;font-size:1.2em} +#bo_v_title span{display:block;font-size:11px;color:#4162ff} + +#bo_v_info {padding:0 0 10px;border-bottom:1px solid #eee;position:relative;} +#bo_v_info h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 ;font-weight:normal} +#bo_v_info .info_date{position:absolute;top:0;right:0;color:#777} +#bo_v_info .profile_img img{border-radius:50%} + +#bo_v_file {} +#bo_v_file h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;padding:0;list-style:none} +#bo_v_file li {padding:0 10px;border-bottom:1px solid #eee;background:#f7f7f7} +#bo_v_file a {display:inline-block;padding:5px 0;color:#000;text-decoration:none} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +.bo_v_file_cnt {display:inline-block;margin:0 10px} + +#bo_v_link {} +#bo_v_link h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_link ul {margin:0;padding:0;list-style:none} +#bo_v_link li {padding:0 10px;border-bottom:1px solid #eee;background:#f7f7f7} +#bo_v_link a {display:inline-block;padding:5px 0;color:#000;text-decoration:none} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {display:inline-block;margin:0 10px} + +#bo_v_contact {border-bottom:1px solid #eee} +#bo_v_contact h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_contact dl {margin:0;padding:5px 0;color:#666;list-style:none} +#bo_v_contact dl:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_contact dt, #bo_v_contact dd {float:left;margin:0} +#bo_v_contact dt {clear:both;padding:3px 0 ;width:30px;text-align:center;font-weight:bold} +#bo_v_contact dd {padding:3px 0;width:80%} + +#bo_v_top {margin:0 0 10px;padding:10px} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_top ul {margin:0;padding:0;list-style:none} + +#bo_v_bot {padding:0 10px} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#bo_v_bot ul {margin:0;padding:0;list-style:none} + +.bo_v_nb {float:left} +.bo_v_nb li {float:left;margin-right:5px} +.bo_v_com {float:right} +.bo_v_com li {float:left;margin-left:5px} + +#bo_v_atc {padding:10px 0;min-height:100px} +#bo_v_atc_title {margin:0;padding:0;height:0;overflow:hidden} + +#bo_v_img {margin:0 0 10px;width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img img {margin-bottom:15px;max-width:100%;height:auto} + +#bo_v_con {margin-bottom:20px;width:100%;line-height:1.7em;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:20px;text-align:center} +#bo_v_act a {margin-right:5px;vertical-align:top} +#bo_v_act span {display:inline-block;margin-right:5px;padding:0 10px;border:1px solid #eee !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:2em;vertical-align:top} +#bo_v_act strong {color:#ff3061} +#bo_v_act_good, #bo_v_act_nogood {display:inline-block;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} + +#bo_v_sns {margin:0 0 20px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;margin:0 5px 0 0} + +#bo_v_addq {margin:0 0 30px;text-align:right} + +#bo_v_ans {} +#bo_v_ans h2 {font-size:1.2em;margin:10px} +#bo_v_ans h2 span{display:block} +#bo_v_ans h2 .tit_rpl{display:inline-block;font-size:11px;padding:0 5px;line-height:23px;font-weight:normal;background:#646982;color:#fff;} +#bo_v_ans #ans_datetime {padding:5px 0 10px;border-bottom:1px solid #eee;color:#777} +#bo_v_ans #ans_con {margin:10px 0 ;line-height:1.8em} +#bo_v_ans #ans_con img{max-width:100%;height:auto} +#bo_v_ans #ans_add {text-align:right} +#bo_v_ans #ans_msg {padding:40px 0;background:#f2f5f9;text-align:center} +#bo_v_ans .btn_submit{width:100%;height:40px;border-radius:5px} +#bo_v_ans .btn_confirm{margin:0 10px} + +#bo_v_rel {} +#bo_v_rel h2 {margin:0 10px 10px;font-size:1.2em} +#bo_v_rel .li_stat{float:right;display:inline-block;height:25px;padding:0 10px;border-radius:15px;margin-top:3px} +#bo_v_rel .txt_rdy{border:1px solid #ff63ab;color:#ff63ab;line-height:23px} +#bo_v_rel .txt_done{background:#ff63ab;color:#fff;line-height:25px} + +#bo_v_rel .li_title{display: block;font-weight: bold;margin: 5px 0;} +#bo_v_rel .li_title strong{color: #3ca1ff !important;font-weight: normal;text-decoration: none;font-size: 0.92em;} +#bo_v_rel .li_info{border-top: 1px solid #eee;margin: 10px 0 0;line-height: 28px;color: #666;position: relative;padding-top: 3px;} +#bo_v_rel .li_info:after {display:block;visibility:hidden;clear:both;content:""}#bo_list .profile_img img{border-radius:50%;} +#bo_v_rel .li_sbj{display: block;font-weight: bold;margin: 5px 0;font-size: 1.083em;} + + + +/* 게시판 댓글 */ +#bo_vc {margin:0 0 5px;padding:15px 15px 5px;border-top:1px solid #cfded8;border-bottom:1px solid #cfded8;background:#f7f7f7} +#bo_vc h2 {margin-bottom:5px} +#bo_vc article {padding:0 0 5px;border-top:1px dotted #ccc} +#bo_vc header {position:relative;padding:13px 0 5px} +#bo_vc header .icon_reply {position:absolute;top:13px;left:-20px} +#bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {display:inline-block;margin:0 10px 0 5px} +#bo_vc h1 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} +#bo_vc a {color:#000;text-decoration:none} +#bo_vc p {padding:0 0 5px;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc_empty {margin:0;padding:15px !important;border-bottom:1px dotted #ccc;text-align:center} +#bo_vc fieldset {margin:0 0 10px;padding:0} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc footer {zoom:1} +#bo_vc footer:after {display:block;visibility:hidden;clear:both;content:""} + +.bo_vc_act {float:right;margin:0;list-style:none} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {float:left;margin-left:5px} + +#bo_vc_w {position:relative;margin-bottom:10px;padding:0 15px 15px;border-bottom:1px solid #cfded8} +#bo_vc_w h2 {padding:10px 0 5px} +#bo_vc_w #char_cnt {display:block;margin-bottom:5px} +#bo_vc_w textarea {width:99%} + +#bo_vc_sns {margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 10px 0 0} +#bo_vc_sns input {margin:0 0 0 5px} + +#bo_vc form {padding:0} + +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:5px 0 0 } diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/view.answer.skin.php b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/view.answer.skin.php new file mode 100644 index 0000000..7c5b5b7 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/view.answer.skin.php @@ -0,0 +1,25 @@ + + +
                      +

                      답변

                      + +
                      + +
                      +
                      + +
                      + + +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/view.answerform.skin.php b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/view.answerform.skin.php new file mode 100644 index 0000000..f52a228 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/view.answerform.skin.php @@ -0,0 +1,121 @@ + + +
                      + +

                      답변등록

                      + +
                      + + + + + + '; + } else { + $option .= "\n".''."\n".''; + } + + echo $option_hidden; + ?> + +
                      +
                        + +
                      • + 옵션 + +
                      • + +
                      • + + +
                      • +
                      • + + +
                      • +
                      +
                      + +
                      + +
                      +
                      + + + +

                      고객님의 문의에 대한 답변을 준비 중입니다.

                      + +
                      \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/view.skin.php b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/view.skin.php new file mode 100644 index 0000000..b3b8234 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/view.skin.php @@ -0,0 +1,182 @@ +', 0); +?> + + + + + +
                      +
                      +
                      +

                      + + +

                      +
                      +
                      +

                      페이지 정보

                      + 작성자 + 작성일 +
                      + + +
                      +

                      연락처정보

                      +
                      + +
                      이메일
                      +
                      + + +
                      휴대폰
                      +
                      + +
                      +
                      + + +
                      +

                      본문

                      + + \n"; + + for ($i=0; $i<$view['img_count']; $i++) { + //echo $view['img_file'][$i]; + echo get_view_thumbnail($view['img_file'][$i], $qaconfig['qa_image_width']); + } + + echo "
                      \n"; + } + ?> + + +
                      + + + + + + + + + +
                      +

                      첨부파일

                      + +
                      + + + + + + + + +
                      + +
                      + +
                      + + + + + + + +
                      + + + + + +
                      +

                      연관질문

                      + +
                      + +
                        + +
                      • +
                        + + + + + +
                        +
                        + + +
                        +
                      • + +
                      +
                      +
                      + + + + +
                      + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/qa/basic/write.skin.php b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/write.skin.php new file mode 100644 index 0000000..eadfe50 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/qa/basic/write.skin.php @@ -0,0 +1,174 @@ +', 0); +?> + +
                      + +
                      + + + + + + '; + } else { + $option .= "\n".''."\n".''; + } + + echo $option_hidden; + ?> + +
                      +
                        + +
                      • + + +
                      • + + + +
                      • + 옵션 + +
                      • + + + +
                      • + + class="frm_input full_input email" maxlength="100" placeholder="이메일"> + > + +
                      • + + + +
                      • + + class="frm_input full_input" size="30" placeholder="휴대폰"> + + > 답변등록 SMS알림 수신 + +
                      • + + +
                      • + + +
                      • + +
                      • + +
                        + +
                        +
                      • + +
                      • +
                        + 파일 #1 + + + + +
                        +
                      • + +
                      • +
                        + 파일 #2 + + + + +
                        +
                      • + +
                      +
                      + +
                      + 목록 + +
                      +
                      + + +
                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/search/basic/search.skin.php b/web/html/theme/AT_WEB01/mobile/skin/search/basic/search.skin.php new file mode 100644 index 0000000..b0c5468 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/search/basic/search.skin.php @@ -0,0 +1,147 @@ +', 0); +?> + +
                      + +
                      + 상세검색 +
                      + + + + + + + + + + + +
                      +
                      + id="sop_or" name="sop"> + + id="sop_and" name="sop"> + +
                      +
                      +
                      + +
                      + + +
                      +

                      전체검색 결과

                      +
                      +
                      게시판
                      +
                      +
                      게시물
                      +
                      +
                      +

                      / 페이지 열람 중

                      +
                      + + + + + +
                      검색된 자료가 하나도 없습니다.
                      + + +
                      +
                      +
                      + +

                      게시판 내 결과

                      +
                        + 댓글 '; + $comment_href = '#c_'.$list[$idx][$i]['wr_id']; + } + else + { + $comment_def = ''; + $comment_href = ''; + } + ?> +
                      • +
                        + + 새창 +
                        +

                        +
                        + + +
                        +
                      • + +
                      + + +
                      + + +
                      +
                      + + + +
                      diff --git a/web/html/theme/AT_WEB01/mobile/skin/search/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/search/basic/style.css new file mode 100644 index 0000000..3206a75 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/search/basic/style.css @@ -0,0 +1,43 @@ +@charset "utf-8"; +/* 전체검색결과 스킨 */ +#sch_res_detail {margin:10px;text-align:center} +#sch_res_detail legend {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sch_res_detail .sch_wr {position:relative;border:1px solid #bdc2d8;background:#fff;margin:0 0 5px} +#sch_res_detail select{width:50%;float:left;height:40px;border:0} +#sch_res_detail #sfl{border-left:1px solid #e2e2e2;} +#sch_res_detail .frm_input {position:relative;width:100%;border:0;border-top:1px solid #e2e2e2;border-radius:0;clear:both} +#sch_res_detail .btn_submit{position:absolute;bottom:0;right:0;width:40px;height:40px;background:none;color:#000;font-size:15px} + +#sch_res_ov {margin: 10px;padding:20px;background:#e4e4e4;text-align:center;zoom:1} +#sch_res_ov:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_ov h2 {font-size:1.25em;margin:0 0 5px} +#sch_res_ov dl {margin:0 0 5px;display:inline-block;;zoom:1} +#sch_res_ov dt {display:inline-block} +#sch_res_ov dd {display:inline-block;margin:0 2px 0 5px} +#sch_res_ov p {margin:0;padding:0;color:#666;font-size:0.92em} + +#sch_res_board {margin: 10px;padding-left:1px;zoom:1} +#sch_res_board:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_board li {display:inline-block;float:left;margin:3px 5px 3px 0} +#sch_res_board a {display:block;line-height:24px;border-radius:13px;padding:0 10px;background:#fff} +#sch_res_board .sch_on {background:#4162ff;color:#fff; +-webkit-box-shadow:0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow:0 0 5px rgba(65,98,255,0.8); +box-shadow: 0 0 8px rgba(65,98,255,0.8);} + + +.sch_res_list {margin:0 0 10px;padding:10px 0} +.sch_res_list h2 {margin:0 0 10px;font-size:1.083m} +.sch_res_list ul {margin:0;padding:0;list-style:none} +.sch_res_list li {margin:0 0 10px;padding:0 10px 10px;border-bottom:1px solid #e9e9e9} +.sch_res_list a {text-decoration:none} +.sch_res_title {display:block;font-weight:bold;padding:10px 0;padding-right:30px;position:relative} +.sch_res_info{line-height:28px;border-top:1px solid #eee;padding:3px 0 0;margin: 10px 0 0;color:#666 } +.sch_res_info:after {display:block;visibility:hidden;clear:both;content:""} +.sch_res_new{position:absolute;top:10px;right:0;font-size:0.92em;color:#777;width:20px;height:20px;line-height:20px;display:block;background:#eee;text-align:center} +.sch_res_list p {margin:0 0 10px;line-height:1.4em;color:#777;font-size:0.92em} +.sch_more {padding:0 0 30px;font-size:0.92em;text-align:right } +.sch_more a{;color:#f2664f} +.sch_more i{font-size:13px} +.sch_datetime{float:right;font-style:italic} +.sch_res_info .profile_img img{border-radius:50%} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/visit/basic/style.css b/web/html/theme/AT_WEB01/mobile/skin/visit/basic/style.css new file mode 100644 index 0000000..26ee1ad --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/visit/basic/style.css @@ -0,0 +1,15 @@ +@charset "utf-8"; + +#visit {margin:30px 10px} +#visit h2 {display:inline-block;background: #4162ff;color: #fff;border-radius: 13px;line-height: 24px;padding: 0 10px;margin:0 0 10px; +-webkit-box-shadow: 0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow: 0 0 5px rgba(65,98,255,0.8); +box-shadow: 0 0 8px rgba(65,98,255,0.8); } +#visit dl{background:#fff;padding:10px;border-radius:3px;line-height:20px; +-webkit-box-shadow: 0 1px 4px #cbd1df; + -moz-box-shadow: 0 1px 4px #cbd1df; + box-shadow: 0 1px 4px #cbd1df;} +#visit dl:after {display:block;visibility:hidden;clear:both;content:""} +#visit dt {float:left;width:50%} +#visit dd {float:left;width:50%;text-align:right} +#visit a {display:inline-block;padding:10px 3px;text-decoration:none} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/mobile/skin/visit/basic/visit.skin.php b/web/html/theme/AT_WEB01/mobile/skin/visit/basic/visit.skin.php new file mode 100644 index 0000000..8406964 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/skin/visit/basic/visit.skin.php @@ -0,0 +1,23 @@ +', 0); +?> + + diff --git a/web/html/theme/AT_WEB01/mobile/tail.php b/web/html/theme/AT_WEB01/mobile/tail.php new file mode 100644 index 0000000..3d39eb5 --- /dev/null +++ b/web/html/theme/AT_WEB01/mobile/tail.php @@ -0,0 +1,70 @@ + + + + + + + + + + +
                      +
                      + + Copyright © 소유하신 도메인. All rights reserved.
                      +
                      + + + PC 버전으로 보기 + +
                      + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/readme.txt b/web/html/theme/AT_WEB01/readme.txt new file mode 100644 index 0000000..b018a6f --- /dev/null +++ b/web/html/theme/AT_WEB01/readme.txt @@ -0,0 +1,19 @@ +Theme Name: [골뱅이] 반응형_WEB01 +Theme URI: http://atstore.co.kr/at01/ +Maker: 골뱅이스토어 +Maker URI: http://atstore.co.kr +Version: 1.0.0 +Detail: 반응형_WEB01 테마는 골뱅이스토어에서 제작하는 테마입니다. 반응형_WEB01 테마는 웹표준 및 접근성을 준수합니다. +License: GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 +License URI: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html + +1. 모바일 기능 끄기 : 반응형이기때문에 반드시 모바일 홈페이지 사용을 하지 않음으로 설정해야 합니다. +config.php 파일 define('G5_USE_MOBILE', false); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정 + +2. 압축 파일을 풀고 theme폴더에 AT_WEB01를 올립니다. + +3. 그누보드 설치후 테마 (테마)AT_WEB01 선택하기 누릅니다. + +4. 기본환경설정 - 회원가입설정 - 회원스킨 - (테마) basic 선택하고 저장합니다. + +5.재판매 금지 \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/screenshot.png b/web/html/theme/AT_WEB01/screenshot.png new file mode 100644 index 0000000..0e0f384 Binary files /dev/null and b/web/html/theme/AT_WEB01/screenshot.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/basic/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic/img/chk.png b/web/html/theme/AT_WEB01/skin/board/basic/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/basic/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/basic/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/basic/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/basic/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/basic/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic/list.skin.php b/web/html/theme/AT_WEB01/skin/board/basic/list.skin.php new file mode 100644 index 0000000..1896283 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic/list.skin.php @@ -0,0 +1,310 @@ +', 0); +?> + + +
                      +
                      + + + + + + +
                      + + + + + + + + + + + + +
                      +
                      + Total + 페이지 +
                      + + +
                      + + +
                      + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                      목록
                      + + + 번호제목글쓴이조회 추천 비추천 날짜
                      + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
                      + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                      +
                      게시물이 없습니다.
                      +
                      + +
                      +
                      + + + +
                      + +
                      + + + + +
                      + + +
                      + + + +
                      + + + + +
                      +
                      +

                      검색

                      +
                      + + + + + + +
                      + + +
                      + +
                      +
                      +
                      +
                      + + +
                      + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/skin/board/basic/style.css b/web/html/theme/AT_WEB01/skin/board/basic/style.css new file mode 100644 index 0000000..684b3c3 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic/style.css @@ -0,0 +1,436 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {font-size:1.167em;border-radius:3px} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} +#bo_list tbody .even td {background:#fbfbfb} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc {} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:center;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_hit {text-align:center;} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} +/* +#bo_cate {margin:25px 0} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px 10px; border:0; } +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} +.td_subject img {margin-left:5px} +*/ +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;/*width:40px;*/text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +#bo_list .bo_cate_link {/*float:left;*/display:block;/*margin-right:10px;background:#e2eaf6;*/color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 0px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +#bo_list .bo_cate_link:hover {text-decoration:none} +#bo_list .bo_tit {display:block;color:#000;font-weight:bold} +#bo_list .bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all;line-height:1em;} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#c80e21} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#c80e21;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:62px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic/view.skin.php b/web/html/theme/AT_WEB01/skin/board/basic/view.skin.php new file mode 100644 index 0000000..24361cb --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic/view.skin.php @@ -0,0 +1,316 @@ +', 0); +?> + + + + +
                      +
                      +
                      +

                      + + + + + +

                      +
                      +
                      + +
                      +
                      +

                      페이지 정보

                      +
                      +
                      +
                      + 작성자
                      + 댓글 + 조회 + 작성일 +
                      +
                      + + +
                      + + + + + +
                      + +
                      +
                      + +
                      +
                      +

                      본문

                      +
                      + + 스크랩 +
                      + \n"; + + for ($i=0; $i<=$v_img_count; $i++) { + if (!isset($view['file'][$i])) break; + // 동영상이면 + if (preg_match("/\.($config[cf_movie_extension])$/i", $view['file'][$i]['source'])) { + echo "
                      \n"; + echo ''; + echo '
                      '; + echo '
                      '; + echo "
                      \n"; + } else { + echo get_file_thumbnail($view['file'][$i]); + } + } + + echo "\n"; + } + ?> + + +
                      + + + +

                      + +
                      + + +
                      + + + 추천 + + + + + + 비추천 + + + +
                      + +
                      + 추천 + 비추천 +
                      + + +
                      + + + + + +
                      +

                      첨부파일

                      +
                        + +
                      • + + + () + +
                        + 회 다운로드 | DATE : +
                      • + +
                      +
                      + + + + + + + + + + +
                      +
                        +
                      • 이전글
                      • +
                      • 다음글
                      • +
                      +
                      + + + +
                      + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/basic/view_comment.skin.php new file mode 100644 index 0000000..2f5e20c --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic/view_comment.skin.php @@ -0,0 +1,359 @@ + +
                      + + + +
                      +
                      +

                      댓글목록

                      + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                      style="margin-left:px;border-top-color:#e0e0e0"> +
                      + +
                      + +
                      +

                      님의 댓글의 댓글

                      + + + 아이피 + () + + 작성일 + + +
                      + + +
                      +

                      + 비밀글 + +

                      + + +
                      + + + + " id="secret_comment_"> + +
                      + +
                      + + +
                      + + +
                      + +

                      등록된 댓글이 없습니다.

                      + +
                      +
                      + + + + + +
                      + +
                      + + + + +
                      + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic/write.skin.php b/web/html/theme/AT_WEB01/skin/board/basic/write.skin.php new file mode 100644 index 0000000..47d0c1c --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic/write.skin.php @@ -0,0 +1,256 @@ +', 0); +?> +
                      +
                      +

                      + +
                      + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                    • '.PHP_EOL.'
                    • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                    • '.PHP_EOL.'
                    • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                    • '.PHP_EOL.'
                    • '; + } + } + echo $option_hidden; + ?> + + +
                      + + +
                      + + +
                      + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + + +
                      + + +
                      + 옵션 +
                        + +
                      +
                      + + +
                      + + +
                      + + + + + +
                      + 임시 저장된 글 목록 +
                        +
                        +
                        + +
                        + +
                        + +
                        + +
                        + + +

                        이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                        + + + + +
                        글자
                        + +
                        + +
                        + + + + + + +
                        +
                        + + +
                        + + + + + + + + + + +
                        + + + + +
                        + +
                        + + +
                        + 취소 + +
                        +
                        + + +
                        +
                        + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/img/chk.png b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_faq/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/list.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_faq/list.skin.php new file mode 100644 index 0000000..5e0748c --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_faq/list.skin.php @@ -0,0 +1,343 @@ +', 0); +?> + + +
                        +
                        + + + + + + +
                        + + + + + + + + + + + + +
                        +
                        + Total + 페이지 +
                        + + +
                        + + +
                        + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                        목록
                        + + + 번호제목글쓴이조회 추천 비추천 날짜
                        + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
                        + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                        +
                        게시물이 없습니다.
                        +
                        + +
                        +
                        + +
                          + +
                        • +
                        • +
                        • + +
                        • 목록
                        • +
                        • 글쓰기
                        • +
                        • + +
                        • +
                        + +
                        + +
                        + + + + + + +
                        +
                        + + 게시물 검색 + + + + + + + + + + + + +
                        + +
                        + +
                        + + +
                        + + + +
                        + + + + +
                        +
                        +

                        검색

                        +
                        + + + + + + +
                        + + +
                        + +
                        +
                        +
                        +
                        + + +
                        + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/style.css b/web/html/theme/AT_WEB01/skin/board/basic_faq/style.css new file mode 100644 index 0000000..3266377 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_faq/style.css @@ -0,0 +1,436 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {font-size:1.167em;border-radius:3px} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} +#bo_list tbody .even td {background:#fbfbfb} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc {} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:center;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_hit {text-align:center;} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} +/* +#bo_cate {margin:25px 0} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px 10px; border:0; } +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} +.td_subject img {margin-left:5px} +*/ +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;/*width:40px;*/text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +#bo_list .bo_cate_link {/*float:left;*/display:block;/*margin-right:10px;background:#e2eaf6;*/color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 0px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +#bo_list .bo_cate_link:hover {text-decoration:none} +#bo_list .bo_tit {display:block;color:#000;font-weight:bold} +#bo_list .bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all;line-height:1em;} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#c80e21} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#c80e21;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/view.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_faq/view.skin.php new file mode 100644 index 0000000..ca4e18a --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_faq/view.skin.php @@ -0,0 +1,314 @@ +', 0); +?> + + + + +
                        +
                        +
                        +

                        + + + + + +

                        +
                        +
                        + +
                        +
                        +

                        페이지 정보

                        +
                        +
                        +
                        + 작성자
                        + 댓글 + 조회 + 작성일 +
                        +
                        + + +
                        + + + + + +
                        + +
                        +
                        + +
                        +
                        +

                        본문

                        +
                        + + 스크랩 +
                        + \n"; + + for ($i=0; $i<=$v_img_count; $i++) { + if (!isset($view['file'][$i])) break; + // 동영상이면 + if (preg_match("/\.($config[cf_movie_extension])$/i", $view['file'][$i]['source'])) { + echo "
                        \n"; + echo ''; + echo '
                        '; + echo '
                        '; + echo "
                        \n"; + } else { + echo get_file_thumbnail($view['file'][$i]); + } + } + + echo "\n"; + } + ?> + + +
                        + + + +

                        + +
                        + + +
                        + + + 추천 + + + + + + 비추천 + + + +
                        + +
                        + 추천 + 비추천 +
                        + + +
                        + + + + + +
                        +

                        첨부파일

                        +
                          + +
                        • + + + () + +
                          + 회 다운로드 | DATE : +
                        • + +
                        +
                        + + + + + + + + + + +
                          +
                        • 이전글
                        • +
                        • 다음글
                        • +
                        + + + +
                        + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_faq/view_comment.skin.php new file mode 100644 index 0000000..ae8fc34 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_faq/view_comment.skin.php @@ -0,0 +1,359 @@ + +
                        + + + +
                        +
                        +

                        댓글목록

                        + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                        style="margin-left:px;border-top-color:#e0e0e0"> +
                        + +
                        + +
                        +

                        님의 댓글의 댓글

                        + + + 아이피 + () + + 작성일 + + +
                        + + +
                        +

                        + 비밀글 + +

                        + + +
                        + + + + " id="secret_comment_"> + +
                        + +
                        + + +
                        + + +
                        + +

                        등록된 댓글이 없습니다.

                        + +
                        +
                        + + + + + +
                        + +
                        + + + + +
                        + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_faq/write.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_faq/write.skin.php new file mode 100644 index 0000000..47d0c1c --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_faq/write.skin.php @@ -0,0 +1,256 @@ +', 0); +?> +
                        +
                        +

                        + +
                        + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                      • '.PHP_EOL.'
                      • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                      • '.PHP_EOL.'
                      • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                      • '.PHP_EOL.'
                      • '; + } + } + echo $option_hidden; + ?> + + +
                        + + +
                        + + +
                        + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + + +
                        + + +
                        + 옵션 +
                          + +
                        +
                        + + +
                        + + +
                        + + + + + +
                        + 임시 저장된 글 목록 +
                          +
                          +
                          + +
                          + +
                          + +
                          + +
                          + + +

                          이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                          + + + + +
                          글자
                          + +
                          + +
                          + + + + + + +
                          +
                          + + +
                          + + + + + + + + + + +
                          + + + + +
                          + +
                          + + +
                          + 취소 + +
                          +
                          + + +
                          +
                          + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/img/chk.png b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_qa/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/list.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_qa/list.skin.php new file mode 100644 index 0000000..5e0748c --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_qa/list.skin.php @@ -0,0 +1,343 @@ +', 0); +?> + + +
                          +
                          + + + + + + +
                          + + + + + + + + + + + + +
                          +
                          + Total + 페이지 +
                          + + +
                          + + +
                          + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                          목록
                          + + + 번호제목글쓴이조회 추천 비추천 날짜
                          + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
                          + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                          +
                          게시물이 없습니다.
                          +
                          + +
                          +
                          + +
                            + +
                          • +
                          • +
                          • + +
                          • 목록
                          • +
                          • 글쓰기
                          • +
                          • + +
                          • +
                          + +
                          + +
                          + + + + + + +
                          +
                          + + 게시물 검색 + + + + + + + + + + + + +
                          + +
                          + +
                          + + +
                          + + + +
                          + + + + +
                          +
                          +

                          검색

                          +
                          + + + + + + +
                          + + +
                          + +
                          +
                          +
                          +
                          + + +
                          + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/style.css b/web/html/theme/AT_WEB01/skin/board/basic_qa/style.css new file mode 100644 index 0000000..3266377 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_qa/style.css @@ -0,0 +1,436 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {font-size:1.167em;border-radius:3px} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} +#bo_list tbody .even td {background:#fbfbfb} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc {} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:center;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_hit {text-align:center;} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} +/* +#bo_cate {margin:25px 0} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px 10px; border:0; } +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} +.td_subject img {margin-left:5px} +*/ +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;/*width:40px;*/text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +#bo_list .bo_cate_link {/*float:left;*/display:block;/*margin-right:10px;background:#e2eaf6;*/color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 0px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +#bo_list .bo_cate_link:hover {text-decoration:none} +#bo_list .bo_tit {display:block;color:#000;font-weight:bold} +#bo_list .bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all;line-height:1em;} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#c80e21} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#c80e21;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/view.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_qa/view.skin.php new file mode 100644 index 0000000..fcd4c85 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_qa/view.skin.php @@ -0,0 +1,317 @@ +', 0); +?> + + + + +
                          +
                          +
                          +

                          + + + + + +

                          +
                          +
                          + +
                          +
                          +

                          페이지 정보

                          +
                          +
                          +
                          + 작성자
                          + 댓글 + 조회 + 작성일 +
                          +
                          + + +
                          + + + + + +
                          + +
                          +
                          + +
                          +
                          +

                          본문

                          +
                          + + 스크랩 +
                          + \n"; + + for ($i=0; $i<=$v_img_count; $i++) { + if (!isset($view['file'][$i])) break; + // 동영상이면 + if (preg_match("/\.($config[cf_movie_extension])$/i", $view['file'][$i]['source'])) { + echo "
                          \n"; + echo ''; + echo '
                          '; + echo '
                          '; + echo "
                          \n"; + } else { + echo get_file_thumbnail($view['file'][$i]); + } + } + + echo "\n"; + } + ?> + + +
                          + + + +

                          + +
                          + + +
                          + + + 추천 + + + + + + 비추천 + + + +
                          + +
                          + 추천 + 비추천 +
                          + + +
                          + + + + + +
                          +

                          첨부파일

                          +
                            + +
                          • + + + () + +
                            + 회 다운로드 | DATE : +
                          • + +
                          +
                          + + + + + + + + + + +
                          +
                            +
                          • 이전글
                          • +
                          • 다음글
                          • +
                          +
                          + + + +
                          + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_qa/view_comment.skin.php new file mode 100644 index 0000000..ae8fc34 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_qa/view_comment.skin.php @@ -0,0 +1,359 @@ + +
                          + + + +
                          +
                          +

                          댓글목록

                          + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                          style="margin-left:px;border-top-color:#e0e0e0"> +
                          + +
                          + +
                          +

                          님의 댓글의 댓글

                          + + + 아이피 + () + + 작성일 + + +
                          + + +
                          +

                          + 비밀글 + +

                          + + +
                          + + + + " id="secret_comment_"> + +
                          + +
                          + + +
                          + + +
                          + +

                          등록된 댓글이 없습니다.

                          + +
                          +
                          + + + + + +
                          + +
                          + + + + +
                          + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_qa/write.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_qa/write.skin.php new file mode 100644 index 0000000..47d0c1c --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_qa/write.skin.php @@ -0,0 +1,256 @@ +', 0); +?> +
                          +
                          +

                          + +
                          + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                        • '.PHP_EOL.'
                        • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                        • '.PHP_EOL.'
                        • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                        • '.PHP_EOL.'
                        • '; + } + } + echo $option_hidden; + ?> + + +
                          + + +
                          + + +
                          + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + + +
                          + + +
                          + 옵션 +
                            + +
                          +
                          + + +
                          + + +
                          + + + + + +
                          + 임시 저장된 글 목록 +
                            +
                            +
                            + +
                            + +
                            + +
                            + +
                            + + +

                            이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                            + + + + +
                            글자
                            + +
                            + +
                            + + + + + + +
                            +
                            + + +
                            + + + + + + + + + + +
                            + + + + +
                            + +
                            + + +
                            + 취소 + +
                            +
                            + + +
                            +
                            + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/btn_close.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/btn_next2.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/btn_prev2.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/basic_table/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/cmt_btn.png b/web/html/theme/AT_WEB01/skin/board/basic_table/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_bad.png b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_comment.png b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_file.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_good.png b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_hot.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_img.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_link.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_movie.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_new.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_share.png b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_sound.gif b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_view.png b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/sch_bg.png b/web/html/theme/AT_WEB01/skin/board/basic_table/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/img/sch_btn.png b/web/html/theme/AT_WEB01/skin/board/basic_table/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/basic_table/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/list.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_table/list.skin.php new file mode 100644 index 0000000..ed0e509 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_table/list.skin.php @@ -0,0 +1,309 @@ +', 0); +?> + + + +
                            +
                            +
                            + +
                            + +
                            +
                            + 전체 + +
                            + + + + +
                            + + + + + + +
                            + 전체 + + + + +
                            + + + +
                            + + + + + + + + + + +
                            + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                            목록
                            + + + 번호제목글쓴이추천 비추천 날짜
                            + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
                            + + + + + + + + '; } + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> + 댓글+ +
                            + +
                            게시물이 없습니다.
                            +
                            + +
                            +
                            + + + +
                            + +
                            + +
                            + + + +
                            + +
                            + + +
                            + +
                            +
                            + + 게시물 검색 + +
                            + + + + + + + + +
                            + +
                            + +
                            + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/style.css b/web/html/theme/AT_WEB01/skin/board/basic_table/style.css new file mode 100644 index 0000000..bb9779b --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_table/style.css @@ -0,0 +1,370 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left; display:inline-block;} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#e6f8ff !important;border-bottom:1px solid #c3dfe8;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/view.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_table/view.skin.php new file mode 100644 index 0000000..2162b75 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_table/view.skin.php @@ -0,0 +1,311 @@ +', 0); +?> + + + + + +
                            +
                            +
                            +

                            + + + + + +

                            +
                            + +
                            +

                            페이지 정보

                            + 작성자 + 댓글댓글 + 조회조회 + 작성일 + +
                            + +
                            +

                            본문

                            + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
                            \n"; + } + ?> + + +
                            + + + +

                            + + + + +
                            + + + 추천 + + + + + + 비추천 + + + +
                            + +
                            + 추천 + 비추천 +
                            + + + + +
                            + 스크랩 + + +
                            + + + + + +
                            +

                            첨부파일

                            +
                              + +
                            • + + + + + () + 회 다운로드 | DATE : +
                            • + +
                            +
                            + + + + + + + + + + +
                            + + + + + + + +
                              +
                            • + + 이전글 + + + + + +
                            • + +
                            • 다음글
                            • +
                            + + +
                            + + + + + +
                            + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_table/view_comment.skin.php new file mode 100644 index 0000000..a372ff0 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_table/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
                            +

                            댓글목록

                            + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                            style="margin-left:px;border-top-color:#e0e0e0"> +
                            +

                            님의 댓글의 댓글

                            + + + 아이피 + () + + 작성일 + + +
                            + + +
                            +

                            + 비밀글 + +

                            + + + +
                            + + + + " id="secret_comment_"> + + +
                            + +

                            등록된 댓글이 없습니다.

                            + +
                            + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/basic_table/write.skin.php b/web/html/theme/AT_WEB01/skin/board/basic_table/write.skin.php new file mode 100644 index 0000000..14f1d81 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/basic_table/write.skin.php @@ -0,0 +1,261 @@ +', 0); +?> + +
                            +
                            +

                            + + +
                            + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
                            + + +
                            + + +
                            + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                            + + +
                            + + +
                            + + + +
                            + 옵션 + +
                            + + +
                            + + +
                            + + + + + +
                            + 임시 저장된 글 목록 +
                              +
                              +
                              + +
                              + +
                              + +
                              + +
                              + + +

                              이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                              + + + + +
                              글자
                              + +
                              + +
                              + + + + + + +
                              +
                              + + +
                              + + + + + + + + + + +
                              + + + + +
                              + +
                              + + + +
                              + 취소 + +
                              +
                              + + +
                              +
                              + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/faq/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/faq/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/faq/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/faq/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/faq/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/faq/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/img/faq_arrow.png b/web/html/theme/AT_WEB01/skin/board/board/faq/img/faq_arrow.png new file mode 100644 index 0000000..8eedb9a Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/faq/img/faq_arrow.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/faq/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/faq/list.skin.php new file mode 100644 index 0000000..6c90132 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/faq/list.skin.php @@ -0,0 +1,420 @@ +', 0); +?> + + + + + + + + + + + + + Document + + + + + + +
                              + + + +
                              +
                              + +
                              + +
                              + + + + + + + + + + + + +
                              + +
                                +
                              • 관리자
                              • +
                              • RSS
                              • +
                              • + +
                              • +
                              • 글쓰기
                              • + +
                              • + + +
                                  +
                                • +
                                • +
                                • +
                                + +
                              • + +
                              +
                              + + + + + + +
                              +
                                + +
                              • +
                                +
                                +

                                + Q +

                                +

                                +

                                + +

                                +
                                +
                                + + + +
                                +
                                +
                                +
                                +

                                + A +

                                +

                                +
                                + +
                                +
                              • + + +
                              +

                              + 게시물이 없습니다.'; } ?> +

                              +
                              + + + + + +
                              + + + +
                              + +
                              + + +
                              +
                              +

                              검색

                              +
                              + + + + + + +
                              + + +
                              + +
                              +
                              +
                              +
                              + + +
                              + + + + + + + + + +
                              +
                              +
                              + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/style.css b/web/html/theme/AT_WEB01/skin/board/board/faq/style.css new file mode 100644 index 0000000..e6e043f --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/faq/style.css @@ -0,0 +1,341 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + +#bo_cate {margin:25px 0} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px} +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/faq/view.skin.php new file mode 100644 index 0000000..848d492 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/faq/view.skin.php @@ -0,0 +1,300 @@ +', 0); +?> + + + + + +
                              +
                              +

                              + + + + + +

                              +
                              + +
                              +

                              페이지 정보

                              +
                              +
                              +
                              + 작성자
                              + 댓글 + 조회 + 작성일 +
                              +
                              + + +
                              + + + + + +
                              + +
                              + +
                              +

                              본문

                              +
                              + + 스크랩 +
                              + + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "\n"; + } + ?> + + +
                              + + + +

                              + + + + +
                              + + + 추천 + + + + + + 비추천 + + + +
                              + +
                              + 추천 + 비추천 +
                              + + +
                              + + + + + +
                              +

                              첨부파일

                              +
                                + +
                              • + + + () + +
                                + 회 다운로드 | DATE : +
                              • + +
                              +
                              + + + + + + + + + + +
                                +
                              • 이전글
                              • +
                              • 다음글
                              • +
                              + + + +
                              + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/faq/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/faq/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                              +

                              댓글목록

                              + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                              style="margin-left:px;border-top-color:#e0e0e0"> +
                              + +
                              + +
                              +

                              님의 댓글의 댓글

                              + + + 아이피 + () + + 작성일 + + +
                              + + +
                              +

                              + 비밀글 + +

                              + + +
                              + + + + " id="secret_comment_"> + +
                              + +
                              + + +
                              + + +
                              + +

                              등록된 댓글이 없습니다.

                              + +
                              + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/faq/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/faq/write.skin.php new file mode 100644 index 0000000..5e341d2 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/faq/write.skin.php @@ -0,0 +1,255 @@ +', 0); +?> + +
                              +

                              + + +
                              + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                            • '.PHP_EOL.'
                            • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                            • '.PHP_EOL.'
                            • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                            • '.PHP_EOL.'
                            • '; + } + } + echo $option_hidden; + ?> + + +
                              + + +
                              + + +
                              + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + + +
                              + + +
                              + 옵션 +
                                + +
                              +
                              + + +
                              + + +
                              + + + + + +
                              + 임시 저장된 글 목록 +
                                +
                                +
                                + +
                                + +
                                + +
                                + +
                                + + +

                                이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                + + + + +
                                글자
                                + +
                                + +
                                + + + + + + +
                                +
                                + + +
                                + + + + + + + + + + +
                                + + + + +
                                + +
                                + + +
                                + 취소 + +
                                +
                                + + +
                                + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery01/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/gallery01/list.skin.php new file mode 100644 index 0000000..ecedbf5 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/gallery01/list.skin.php @@ -0,0 +1,297 @@ +', 0); + +$board['bo_gallery_width']= 383; +$board['bo_gallery_height']= 220; + +?> + + + + + + + + + + + Document + + + + + +
                                + + + +
                                +
                                + +
                                + +
                                + + + + + + + + + + + + +
                                + +
                                  +
                                • 관리자
                                • +
                                • RSS
                                • +
                                • + +
                                • +
                                • 글쓰기
                                • + +
                                • + + +
                                    +
                                  • +
                                  • +
                                  • +
                                  + +
                                • + +
                                +
                                + + + + + + +
                                + +
                                + + + + + +
                                + + + +
                                + +
                                + + +
                                +
                                +

                                검색

                                +
                                + + + + + + +
                                + + +
                                + +
                                +
                                +
                                +
                                + + +
                                + + + + + + + + + +
                                +
                                +
                                + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/style.css b/web/html/theme/AT_WEB01/skin/board/board/gallery01/style.css new file mode 100644 index 0000000..ad82f2d --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/gallery01/style.css @@ -0,0 +1,330 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/gallery01/view.skin.php new file mode 100644 index 0000000..25928ba --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/gallery01/view.skin.php @@ -0,0 +1,304 @@ +', 0); +?> + + + + + + + + + + + + + + + Document + + + + + + +
                                + + + +
                                +
                                +

                                게시판 리스트 옵션

                                +
                                + + + + + +
                                + +
                                +
                                +
                                +
                                +

                                갤러리 카테고리

                                +
                                +

                                + + + +

                                +

                                +
                                +
                                등록일
                                +
                                +
                                +
                                +
                                +
                                + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                \n"; + } + ?> +
                                +
                                +

                                + +
                                + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/gallery01/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/gallery01/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                +

                                댓글목록

                                + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                style="margin-left:px;border-top-color:#e0e0e0"> +
                                + +
                                + +
                                +

                                님의 댓글의 댓글

                                + + + 아이피 + () + + 작성일 + + +
                                + + +
                                +

                                + 비밀글 + +

                                + + +
                                + + + + " id="secret_comment_"> + +
                                + +
                                + + +
                                + + +
                                + +

                                등록된 댓글이 없습니다.

                                + +
                                + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery01/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/gallery01/write.skin.php new file mode 100644 index 0000000..50a9046 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/gallery01/write.skin.php @@ -0,0 +1,296 @@ +', 0); +?> + +', 0); +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + + + + + + + Document + + + + +
                                + + + +
                                +
                                +
                                +

                                + + +
                                + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                              • '.PHP_EOL.'
                              • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                              • '.PHP_EOL.'
                              • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                              • '.PHP_EOL.'
                              • '; + } + } + echo $option_hidden; + ?> + + +
                                + + +
                                + + +
                                + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                + + +
                                + 옵션 +
                                  + +
                                +
                                + + +
                                + + +
                                + + + + + +
                                + 임시 저장된 글 목록 +
                                  +
                                  +
                                  + +
                                  +
                                  + +
                                  + +
                                  + + +

                                  이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                  + + + + +
                                  글자
                                  + +
                                  + +
                                  + + + + + + +
                                  +
                                  + + +
                                  + + + + + + + + + + +
                                  + + + + +
                                  + +
                                  + + +
                                  + 취소 + +
                                  +
                                  + + +
                                  + +
                                  +
                                  +
                                  + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/gallery02/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/gallery02/list.skin.php new file mode 100644 index 0000000..4f6f69b --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/gallery02/list.skin.php @@ -0,0 +1,298 @@ +', 0); + +$board['bo_gallery_width']= 383; +$board['bo_gallery_height']= 300; + +?> + + + + + + + + + + + Document + + + + + + +
                                  + + + +
                                  +
                                  + +
                                  + +
                                  + + + + + + + + + + + + +
                                  + +
                                    +
                                  • 관리자
                                  • +
                                  • RSS
                                  • +
                                  • + +
                                  • +
                                  • 글쓰기
                                  • + +
                                  • + + +
                                      +
                                    • +
                                    • +
                                    • +
                                    + +
                                  • + +
                                  +
                                  + + + + + + +
                                  + +
                                  + + + + + +
                                  + + + +
                                  + +
                                  + + +
                                  +
                                  +

                                  검색

                                  +
                                  + + + + + + +
                                  + + +
                                  + +
                                  +
                                  +
                                  +
                                  + + +
                                  + + + + + + + + + +
                                  +
                                  +
                                  + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/style.css b/web/html/theme/AT_WEB01/skin/board/board/gallery02/style.css new file mode 100644 index 0000000..11c1bb4 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/gallery02/style.css @@ -0,0 +1,330 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/gallery02/view.skin.php new file mode 100644 index 0000000..5a3adab --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/gallery02/view.skin.php @@ -0,0 +1,303 @@ +', 0); +?> + + + + + + + + + + + + + + Document + + + + + + +
                                  + + + +
                                  +
                                  +

                                  게시판 리스트 옵션

                                  +
                                  + + + + + +
                                  + +
                                  +
                                  +
                                  +
                                  +

                                  갤러리 카테고리

                                  +
                                  +

                                  + + + +

                                  +

                                  +
                                  +
                                  등록일
                                  +
                                  +
                                  +
                                  +
                                  +
                                  + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                  \n"; + } + ?> +
                                  +
                                  +

                                  + +
                                  + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/gallery02/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/gallery02/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                  +

                                  댓글목록

                                  + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                  style="margin-left:px;border-top-color:#e0e0e0"> +
                                  + +
                                  + +
                                  +

                                  님의 댓글의 댓글

                                  + + + 아이피 + () + + 작성일 + + +
                                  + + +
                                  +

                                  + 비밀글 + +

                                  + + +
                                  + + + + " id="secret_comment_"> + +
                                  + +
                                  + + +
                                  + + +
                                  + +

                                  등록된 댓글이 없습니다.

                                  + +
                                  + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/gallery02/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/gallery02/write.skin.php new file mode 100644 index 0000000..e0f9ca5 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/gallery02/write.skin.php @@ -0,0 +1,296 @@ +', 0); +?> + +', 0); +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + + + + + + + Document + + + + +
                                  + + + +
                                  +
                                  +
                                  +

                                  + + +
                                  + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                • '.PHP_EOL.'
                                • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                • '.PHP_EOL.'
                                • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                • '.PHP_EOL.'
                                • '; + } + } + echo $option_hidden; + ?> + + +
                                  + + +
                                  + + +
                                  + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                  + + +
                                  + 옵션 +
                                    + +
                                  +
                                  + + +
                                  + + +
                                  + + + + + +
                                  + 임시 저장된 글 목록 +
                                    +
                                    +
                                    + +
                                    +
                                    + +
                                    + +
                                    + + +

                                    이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                    + + + + +
                                    글자
                                    + +
                                    + +
                                    + + + + + + +
                                    +
                                    + + +
                                    + + + + + + + + + + +
                                    + + + + +
                                    + +
                                    + + +
                                    + 취소 + +
                                    +
                                    + + +
                                    + +
                                    +
                                    +
                                    + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/list01/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list01/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/list01/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list01/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/list01/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list01/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list01/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/list01/list.skin.php new file mode 100644 index 0000000..67e86c5 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/list01/list.skin.php @@ -0,0 +1,276 @@ +', 0); +?> + + + + + + + + + + + Document + + + + + + +
                                    + + + +
                                    +
                                    + +
                                    + +
                                    + + + + + + + + + + + + +
                                    + +
                                      +
                                    • 관리자
                                    • +
                                    • RSS
                                    • +
                                    • + +
                                    • +
                                    • 글쓰기
                                    • + +
                                    • + + +
                                        +
                                      • +
                                      • +
                                      • +
                                      + +
                                    • + +
                                    +
                                    + + + + + + +
                                    +
                                      + + +
                                      + + +
                                      + +
                                    • +
                                      +
                                      +
                                      +
                                      +
                                      +
                                      +

                                      + + +

                                      +

                                      + + +

                                      +
                                      +
                                      +
                                      + +
                                      +
                                    • + +
                                    +

                                    + 게시물이 없습니다.'; } ?> +

                                    +
                                    + + + + + +
                                    + + + +
                                    + +
                                    + + +
                                    +
                                    +

                                    검색

                                    +
                                    + + + + + + +
                                    + + +
                                    + +
                                    +
                                    +
                                    +
                                    + + +
                                    + + + + + + + + + +
                                    +
                                    +
                                    + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/style.css b/web/html/theme/AT_WEB01/skin/board/board/list01/style.css new file mode 100644 index 0000000..11c1bb4 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/list01/style.css @@ -0,0 +1,330 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/list01/view.skin.php new file mode 100644 index 0000000..3fea3a1 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/list01/view.skin.php @@ -0,0 +1,303 @@ +', 0); + +?> + + + + + + + + + + + + + + + Document + + + + + + +
                                    + + + +
                                    +
                                    +

                                    게시판 리스트 옵션

                                    +
                                    + + + + + +
                                    + +
                                    +
                                    +
                                    +
                                    +

                                    갤러리 카테고리

                                    +
                                    +

                                    + + + +

                                    +

                                    +
                                    +
                                    등록일
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                    \n"; + } + ?> +
                                    + +
                                    +

                                    + +
                                    + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/list01/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/list01/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                    +

                                    댓글목록

                                    + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                    style="margin-left:px;border-top-color:#e0e0e0"> +
                                    + +
                                    + +
                                    +

                                    님의 댓글의 댓글

                                    + + + 아이피 + () + + 작성일 + + +
                                    + + +
                                    +

                                    + 비밀글 + +

                                    + + +
                                    + + + + " id="secret_comment_"> + +
                                    + +
                                    + + +
                                    + + +
                                    + +

                                    등록된 댓글이 없습니다.

                                    + +
                                    + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/list01/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/list01/write.skin.php new file mode 100644 index 0000000..56a8e60 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/list01/write.skin.php @@ -0,0 +1,296 @@ +', 0); +?> + +', 0); +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + + + + + + + Document + + + + +
                                    + + + +
                                    +
                                    +
                                    +

                                    + + +
                                    + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                  • '.PHP_EOL.'
                                  • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                  • '.PHP_EOL.'
                                  • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                  • '.PHP_EOL.'
                                  • '; + } + } + echo $option_hidden; + ?> + + +
                                    + + +
                                    + + +
                                    + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                    + + +
                                    + 옵션 +
                                      + +
                                    +
                                    + + +
                                    + + +
                                    + + + + + +
                                    + 임시 저장된 글 목록 +
                                      +
                                      +
                                      + +
                                      +
                                      + +
                                      + +
                                      + + +

                                      이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                      + + + + +
                                      글자
                                      + +
                                      + +
                                      + + + + + + +
                                      +
                                      + + +
                                      + + + + + + + + + + +
                                      + + + + +
                                      + +
                                      + + +
                                      + 취소 + +
                                      +
                                      + + +
                                      + +
                                      +
                                      +
                                      + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/list02/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list02/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/list02/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list02/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/list02/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list02/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/list02/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/list02/list.skin.php new file mode 100644 index 0000000..aa45c8f --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/list02/list.skin.php @@ -0,0 +1,319 @@ +', 0); +?> + + + + + + + + + + + Document + + + + + + +
                                      + + + +
                                      +
                                      + +
                                      + +
                                      + + + + + + + + + + + + +
                                      + +
                                        +
                                      • 관리자
                                      • +
                                      • RSS
                                      • +
                                      • + +
                                      • +
                                      • 글쓰기
                                      • + +
                                      • + + +
                                          +
                                        • +
                                        • +
                                        • +
                                        + +
                                      • + +
                                      +
                                      + + + + + + +
                                      + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                                      목록
                                      + + + 번호제목글쓴이조회 추천 비추천 날짜
                                      + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
                                      + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                                      +
                                      게시물이 없습니다.
                                      +
                                      + + + + + +
                                      + + + +
                                      + +
                                      + + +
                                      +
                                      +

                                      검색

                                      +
                                      + + + + + + +
                                      + + +
                                      + +
                                      +
                                      +
                                      +
                                      + + +
                                      + + + + + + + + + +
                                      +
                                      +
                                      + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/style.css b/web/html/theme/AT_WEB01/skin/board/board/list02/style.css new file mode 100644 index 0000000..8440533 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/list02/style.css @@ -0,0 +1,341 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + +@media screen and (max-width:900px) { + #bo_list .td_name { + width:53px; + } + #bo_list .td_datetime { + width:41px; + } + #bo_list .td_num2 { + width:25px; + } +} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/list02/view.skin.php new file mode 100644 index 0000000..cf8b898 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/list02/view.skin.php @@ -0,0 +1,302 @@ +', 0); +?> + + + + + + + + + + + + + + Document + + + + + + +
                                      + + + +
                                      +
                                      +

                                      게시판 리스트 옵션

                                      +
                                      + + + + + +
                                      + +
                                      +
                                      +
                                      +
                                      +

                                      갤러리 카테고리

                                      +
                                      +

                                      + + + +

                                      +

                                      +
                                      +
                                      등록일
                                      +
                                      +
                                      +
                                      +
                                      +
                                      + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                      \n"; + } + ?> +
                                      +
                                      +

                                      + +
                                      + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/list02/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/list02/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                      +

                                      댓글목록

                                      + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                      style="margin-left:px;border-top-color:#e0e0e0"> +
                                      + +
                                      + +
                                      +

                                      님의 댓글의 댓글

                                      + + + 아이피 + () + + 작성일 + + +
                                      + + +
                                      +

                                      + 비밀글 + +

                                      + + +
                                      + + + + " id="secret_comment_"> + +
                                      + +
                                      + + +
                                      + + +
                                      + +

                                      등록된 댓글이 없습니다.

                                      + +
                                      + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/list02/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/list02/write.skin.php new file mode 100644 index 0000000..2a52e82 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/list02/write.skin.php @@ -0,0 +1,296 @@ +', 0); +?> + +', 0); +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + + + + + + + Document + + + + +
                                      + + + +
                                      +
                                      +
                                      +

                                      + + +
                                      + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                    • '.PHP_EOL.'
                                    • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                    • '.PHP_EOL.'
                                    • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                    • '.PHP_EOL.'
                                    • '; + } + } + echo $option_hidden; + ?> + + +
                                      + + +
                                      + + +
                                      + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                      + + +
                                      + 옵션 +
                                        + +
                                      +
                                      + + +
                                      + + +
                                      + + + + + +
                                      + 임시 저장된 글 목록 +
                                        +
                                        +
                                        + +
                                        +
                                        + +
                                        + +
                                        + + +

                                        이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                        + + + + +
                                        글자
                                        + +
                                        + +
                                        + + + + + + +
                                        +
                                        + + +
                                        + + + + + + + + + + +
                                        + + + + +
                                        + +
                                        + + +
                                        + 취소 + +
                                        +
                                        + + +
                                        + +
                                        +
                                        +
                                        + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/notice/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/notice/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/notice/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/notice/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/notice/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/notice/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/notice/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/notice/list.skin.php new file mode 100644 index 0000000..d65a381 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/notice/list.skin.php @@ -0,0 +1,318 @@ +', 0); +?> + + + + + + + + + + + Document + + + + + +
                                        + + + +
                                        +
                                        + +
                                        + +
                                        + + + + + + + + + + + + +
                                        + +
                                          +
                                        • 관리자
                                        • +
                                        • RSS
                                        • +
                                        • + +
                                        • +
                                        • 글쓰기
                                        • + +
                                        • + + +
                                            +
                                          • +
                                          • +
                                          • +
                                          + +
                                        • + +
                                        +
                                        + + + + + + +
                                        + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                                        목록
                                        + + + 번호제목글쓴이조회 추천 비추천 날짜
                                        + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
                                        + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                                        +
                                        게시물이 없습니다.
                                        +
                                        + + + + + +
                                        + + + +
                                        + +
                                        + + +
                                        +
                                        +

                                        검색

                                        +
                                        + + + + + + +
                                        + + +
                                        + +
                                        +
                                        +
                                        +
                                        + + +
                                        + + + + + + + + + +
                                        +
                                        +
                                        + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/style.css b/web/html/theme/AT_WEB01/skin/board/board/notice/style.css new file mode 100644 index 0000000..cdaeb85 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/notice/style.css @@ -0,0 +1,344 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f6f6f6 !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#333;} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + +@media screen and (max-width:900px) { + .col4 { + display:none; + } + .col5 { + display:none; + } + .td_num { + display:none; + } + .td_name { + display:none; + } +} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/notice/view.skin.php new file mode 100644 index 0000000..e8814c5 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/notice/view.skin.php @@ -0,0 +1,239 @@ +', 0); +?> + + + + + + + + + + + + + + + Document + + + + + + +
                                        + + + +
                                        +
                                        +

                                        게시판 리스트 옵션

                                        +
                                        + + + + + +
                                        + +
                                        +
                                        +
                                        +
                                        +

                                        갤러리 카테고리

                                        +
                                        +

                                        + + + +

                                        +

                                        +
                                        +
                                        등록일
                                        +
                                        +
                                        +
                                        +
                                        +
                                        + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                        \n"; + } + ?> +
                                        +
                                        +

                                        + +
                                        + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/notice/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/notice/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                        +

                                        댓글목록

                                        + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                        style="margin-left:px;border-top-color:#e0e0e0"> +
                                        + +
                                        + +
                                        +

                                        님의 댓글의 댓글

                                        + + + 아이피 + () + + 작성일 + + +
                                        + + +
                                        +

                                        + 비밀글 + +

                                        + + +
                                        + + + + " id="secret_comment_"> + +
                                        + +
                                        + + +
                                        + + +
                                        + +

                                        등록된 댓글이 없습니다.

                                        + +
                                        + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/notice/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/notice/write.skin.php new file mode 100644 index 0000000..68f37c7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/notice/write.skin.php @@ -0,0 +1,300 @@ +', 0); +?> + +', 0); +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + + + + + + + Document + + + + +
                                        + + + +
                                        +
                                        +
                                        +

                                        + + +
                                        + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                      • '.PHP_EOL.'
                                      • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                      • '.PHP_EOL.'
                                      • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                      • '.PHP_EOL.'
                                      • '; + } + } + echo $option_hidden; + ?> + + +
                                        + + +
                                        + + +
                                        + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                        + + +
                                        + 옵션 +
                                          + +
                                        +
                                        + + +
                                        + + +
                                        + + + + + +
                                        + 임시 저장된 글 목록 +
                                          +
                                          +
                                          + +
                                          +
                                          + +
                                          + +
                                          + + +

                                          이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                          + + + + +
                                          글자
                                          + +
                                          + +
                                          + + + + + + +
                                          +
                                          + + +
                                          + + + + + + + + + + +
                                          + + + + +
                                          + +
                                          + + +
                                          + 취소 + +
                                          +
                                          + + +
                                          + +
                                          +
                                          +
                                          + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/product01/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product01/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/product01/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product01/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/product01/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product01/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product01/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product01/list.skin.php new file mode 100644 index 0000000..2e396f2 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product01/list.skin.php @@ -0,0 +1,492 @@ +', 0); + +$board['bo_gallery_width']= 550; +$board['bo_gallery_height']= 320; +?> + + + + + + + + + + + Document + + + + + + +
                                          + + + +
                                          +
                                          + +
                                          + +
                                          + + + + + + + + + + + + +
                                          + +
                                            +
                                          • 관리자
                                          • +
                                          • RSS
                                          • +
                                          • + +
                                          • +
                                          • 글쓰기
                                          • + +
                                          • + + +
                                              +
                                            • +
                                            • +
                                            • +
                                            + +
                                          • + +
                                          +
                                          + + + + + + +
                                          +
                                            + 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : ''; + ?> +
                                          • +
                                            +
                                            + + 공지 + '; + } else { + $img_content = 'no image'; + } + + echo run_replace('thumb_image_tag', $img_content, $thumb); + } + ?> +
                                            +
                                            + + + +

                                            + +

                                            + + more + + +
                                            +
                                            +
                                            + + 자세히 보기 + + +
                                            +
                                              +
                                            • +

                                              테마

                                              +

                                              +
                                            • +
                                            • +

                                              가격

                                              +

                                              +
                                            • +
                                            • +

                                              버전

                                              +

                                              +
                                            • +
                                            • +

                                              주요사업

                                              +

                                              +
                                            • +
                                            +
                                            +
                                            +
                                          • + + 게시물이 없습니다."; } ?> +
                                          +
                                          + + + + + +
                                          + + + +
                                          + +
                                          + + +
                                          +
                                          +

                                          검색

                                          +
                                          + + + + + + +
                                          + + +
                                          + +
                                          +
                                          +
                                          +
                                          + + +
                                          + + + + + + + + + +
                                          +
                                          +
                                          + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/style.css b/web/html/theme/AT_WEB01/skin/board/board/product01/style.css new file mode 100644 index 0000000..11c1bb4 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product01/style.css @@ -0,0 +1,330 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product01/view.skin.php new file mode 100644 index 0000000..9c4c2c7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product01/view.skin.php @@ -0,0 +1,324 @@ +', 0); + +?> + + + + + + + + + + + + + + + Document + + + + + + +
                                          + + + +
                                          +
                                          +

                                          게시판 리스트 옵션

                                          +
                                          + + + + + +
                                          + +
                                          +
                                          +
                                          +
                                          +

                                          갤러리 카테고리

                                          +
                                          +

                                          + + + +

                                          +

                                          +
                                          +
                                          등록일
                                          +
                                          +
                                          +
                                          +
                                          +
                                          + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                          \n"; + } + ?> +
                                          +
                                          +
                                            +
                                          • +

                                            테마

                                            +

                                            +
                                          • +
                                          • +

                                            가격

                                            +

                                            +
                                          • +
                                          • +

                                            버전

                                            +

                                            +
                                          • +
                                          • +

                                            주요사업

                                            +

                                            +
                                          • +
                                          +
                                          +
                                          +

                                          + +
                                          + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product01/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product01/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                          +

                                          댓글목록

                                          + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                          style="margin-left:px;border-top-color:#e0e0e0"> +
                                          + +
                                          + +
                                          +

                                          님의 댓글의 댓글

                                          + + + 아이피 + () + + 작성일 + + +
                                          + + +
                                          +

                                          + 비밀글 + +

                                          + + +
                                          + + + + " id="secret_comment_"> + +
                                          + +
                                          + + +
                                          + + +
                                          + +

                                          등록된 댓글이 없습니다.

                                          + +
                                          + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product01/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product01/write.skin.php new file mode 100644 index 0000000..b4c3e67 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product01/write.skin.php @@ -0,0 +1,330 @@ +', 0); +?> + +', 0); + +?> + + + + + + + + + + + Document + + + + +
                                          + + + +
                                          +
                                          +
                                          +

                                          + + +
                                          + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                        • '.PHP_EOL.'
                                        • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                        • '.PHP_EOL.'
                                        • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                        • '.PHP_EOL.'
                                        • '; + } + } + echo $option_hidden; + ?> + + +
                                          + + +
                                          + + +
                                          + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                          + + +
                                          + 옵션 +
                                            + +
                                          +
                                          + + +
                                          + + +
                                          + + + + + +
                                          + 임시 저장된 글 목록 +
                                            +
                                            +
                                            + +
                                            +
                                            + +
                                            + +
                                            + + +

                                            이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                            + + + + +
                                            글자
                                            + +
                                            + +
                                            +
                                            +
                                              +
                                            • + + +
                                            • +
                                            • + + +
                                            • +
                                            • + + +
                                            • +
                                            • + + +
                                            • +
                                            +
                                            + + + + + +
                                            +
                                            + + +
                                            + + + + + + + + + + +
                                            + + + + +
                                            + +
                                            + + +
                                            + 취소 + +
                                            +
                                            + + +
                                            + +
                                            +
                                            +
                                            + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/product02/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product02/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/product02/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product02/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/product02/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product02/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product02/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product02/list.skin.php new file mode 100644 index 0000000..a44cd9b --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product02/list.skin.php @@ -0,0 +1,493 @@ +', 0); + +$board['bo_gallery_width']= 550; +$board['bo_gallery_height']= 320; +?> + + + + + + + + + + + Document + + + + + + +
                                            + + + +
                                            +
                                            + +
                                            + +
                                            + + + + + + + + + + + + +
                                            + +
                                              +
                                            • 관리자
                                            • +
                                            • RSS
                                            • +
                                            • + +
                                            • +
                                            • 글쓰기
                                            • + +
                                            • + + +
                                                +
                                              • +
                                              • +
                                              • +
                                              + +
                                            • + +
                                            +
                                            + + + + + + +
                                            +
                                              + 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : ''; + ?> +
                                            • +
                                              +
                                              + + + +

                                              + +

                                              + + more + + +
                                              +
                                              + + 공지 + '; + } else { + $img_content = 'no image'; + } + + echo run_replace('thumb_image_tag', $img_content, $thumb); + } + ?> +
                                              +
                                              +
                                              + + 자세히 보기 + + +
                                              +
                                                +
                                              • +

                                                테마

                                                +

                                                +
                                              • +
                                              • +

                                                가격

                                                +

                                                +
                                              • +
                                              • +

                                                버전

                                                +

                                                +
                                              • +
                                              • +

                                                주요사업

                                                +

                                                +
                                              • +
                                              +
                                              +
                                              +
                                            • + + 게시물이 없습니다."; } ?> +
                                            +
                                            + + + + + +
                                            + + + +
                                            + +
                                            + + +
                                            +
                                            +

                                            검색

                                            +
                                            + + + + + + +
                                            + + +
                                            + +
                                            +
                                            +
                                            +
                                            + + +
                                            + + + + + + + + + +
                                            +
                                            +
                                            + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/style.css b/web/html/theme/AT_WEB01/skin/board/board/product02/style.css new file mode 100644 index 0000000..11c1bb4 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product02/style.css @@ -0,0 +1,330 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product02/view.skin.php new file mode 100644 index 0000000..36f8ff2 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product02/view.skin.php @@ -0,0 +1,324 @@ +', 0); + +?> + + + + + + + + + + + + + + + Document + + + + + + +
                                            + + + +
                                            +
                                            +

                                            게시판 리스트 옵션

                                            +
                                            + + + + + +
                                            + +
                                            +
                                            +
                                            +
                                            +

                                            갤러리 카테고리

                                            +
                                            +

                                            + + + +

                                            +

                                            +
                                            +
                                            등록일
                                            +
                                            +
                                            +
                                            +
                                            +
                                            + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                            \n"; + } + ?> +
                                            +
                                            +
                                              +
                                            • +

                                              테마

                                              +

                                              +
                                            • +
                                            • +

                                              가격

                                              +

                                              +
                                            • +
                                            • +

                                              버전

                                              +

                                              +
                                            • +
                                            • +

                                              주요사업

                                              +

                                              +
                                            • +
                                            +
                                            +
                                            +

                                            + +
                                            + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product02/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product02/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                            +

                                            댓글목록

                                            + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                            style="margin-left:px;border-top-color:#e0e0e0"> +
                                            + +
                                            + +
                                            +

                                            님의 댓글의 댓글

                                            + + + 아이피 + () + + 작성일 + + +
                                            + + +
                                            +

                                            + 비밀글 + +

                                            + + +
                                            + + + + " id="secret_comment_"> + +
                                            + +
                                            + + +
                                            + + +
                                            + +

                                            등록된 댓글이 없습니다.

                                            + +
                                            + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product02/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product02/write.skin.php new file mode 100644 index 0000000..0ef0559 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product02/write.skin.php @@ -0,0 +1,330 @@ +', 0); +?> + +', 0); + +?> + + + + + + + + + + + Document + + + + +
                                            + + + +
                                            +
                                            +
                                            +

                                            + + +
                                            + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                          • '.PHP_EOL.'
                                          • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                          • '.PHP_EOL.'
                                          • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                          • '.PHP_EOL.'
                                          • '; + } + } + echo $option_hidden; + ?> + + +
                                            + + +
                                            + + +
                                            + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                            + + +
                                            + 옵션 +
                                              + +
                                            +
                                            + + +
                                            + + +
                                            + + + + + +
                                            + 임시 저장된 글 목록 +
                                              +
                                              +
                                              + +
                                              +
                                              + +
                                              + +
                                              + + +

                                              이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                              + + + + +
                                              글자
                                              + +
                                              + +
                                              +
                                              +
                                                +
                                              • + + +
                                              • +
                                              • + + +
                                              • +
                                              • + + +
                                              • +
                                              • + + +
                                              • +
                                              +
                                              + + + + + +
                                              +
                                              + + +
                                              + + + + + + + + + + +
                                              + + + + +
                                              + +
                                              + + +
                                              + 취소 + +
                                              +
                                              + + +
                                              + +
                                              +
                                              +
                                              + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/product03/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product03/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/product03/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product03/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/product03/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product03/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product03/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product03/list.skin.php new file mode 100644 index 0000000..9a73cd5 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product03/list.skin.php @@ -0,0 +1,423 @@ +', 0); + +$board['bo_gallery_width']= 383; +$board['bo_gallery_height']= 220; + +?> + + + + + + + + + + + Document + + + + + + +
                                              + + + +
                                              +
                                              + +
                                              + +
                                              + + + + + + + + + + + + +
                                              + +
                                                +
                                              • 관리자
                                              • +
                                              • RSS
                                              • +
                                              • + +
                                              • +
                                              • 글쓰기
                                              • + +
                                              • + + +
                                                  +
                                                • +
                                                • +
                                                • +
                                                + +
                                              • + +
                                              +
                                              + + + + + + + + + + + + +
                                              + + + +
                                              + +
                                              + + +
                                              +
                                              +

                                              검색

                                              +
                                              + + + + + + +
                                              + + +
                                              + +
                                              +
                                              +
                                              +
                                              + + +
                                              + + + + + + + + + +
                                              +
                                              +
                                              + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/style.css b/web/html/theme/AT_WEB01/skin/board/board/product03/style.css new file mode 100644 index 0000000..11c1bb4 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product03/style.css @@ -0,0 +1,330 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product03/view.skin.php new file mode 100644 index 0000000..04fb846 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product03/view.skin.php @@ -0,0 +1,324 @@ +', 0); + +?> + + + + + + + + + + + + + + + Document + + + + + + +
                                              + + + +
                                              +
                                              +

                                              게시판 리스트 옵션

                                              +
                                              + + + + + +
                                              + +
                                              +
                                              +
                                              +
                                              +

                                              갤러리 카테고리

                                              +
                                              +

                                              + + + +

                                              +

                                              +
                                              +
                                              등록일
                                              +
                                              +
                                              +
                                              +
                                              +
                                              + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                              \n"; + } + ?> +
                                              +
                                              +
                                                +
                                              • +

                                                테마

                                                +

                                                +
                                              • +
                                              • +

                                                가격

                                                +

                                                +
                                              • +
                                              • +

                                                버전

                                                +

                                                +
                                              • +
                                              • +

                                                주요사업

                                                +

                                                +
                                              • +
                                              +
                                              +
                                              +

                                              + +
                                              + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product03/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product03/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                              +

                                              댓글목록

                                              + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                              style="margin-left:px;border-top-color:#e0e0e0"> +
                                              + +
                                              + +
                                              +

                                              님의 댓글의 댓글

                                              + + + 아이피 + () + + 작성일 + + +
                                              + + +
                                              +

                                              + 비밀글 + +

                                              + + +
                                              + + + + " id="secret_comment_"> + +
                                              + +
                                              + + +
                                              + + +
                                              + +

                                              등록된 댓글이 없습니다.

                                              + +
                                              + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product03/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product03/write.skin.php new file mode 100644 index 0000000..0fa4501 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product03/write.skin.php @@ -0,0 +1,330 @@ +', 0); +?> + +', 0); + +?> + + + + + + + + + + + Document + + + + +
                                              + + + +
                                              +
                                              +
                                              +

                                              + + +
                                              + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                            • '.PHP_EOL.'
                                            • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                            • '.PHP_EOL.'
                                            • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                            • '.PHP_EOL.'
                                            • '; + } + } + echo $option_hidden; + ?> + + +
                                              + + +
                                              + + +
                                              + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                              + + +
                                              + 옵션 +
                                                + +
                                              +
                                              + + +
                                              + + +
                                              + + + + + +
                                              + 임시 저장된 글 목록 +
                                                +
                                                +
                                                + +
                                                +
                                                + +
                                                + +
                                                + + +

                                                이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                + + + + +
                                                글자
                                                + +
                                                + +
                                                +
                                                +
                                                  +
                                                • + + +
                                                • +
                                                • + + +
                                                • +
                                                • + + +
                                                • +
                                                • + + +
                                                • +
                                                +
                                                + + + + + +
                                                +
                                                + + +
                                                + + + + + + + + + + +
                                                + + + + +
                                                + +
                                                + + +
                                                + 취소 + +
                                                +
                                                + + +
                                                + +
                                                +
                                                +
                                                + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/product04/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product04/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/product04/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product04/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/product04/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product04/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/product04/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product04/list.skin.php new file mode 100644 index 0000000..8bab718 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product04/list.skin.php @@ -0,0 +1,360 @@ +', 0); + +$board['bo_gallery_width']= 383; +$board['bo_gallery_height']= 220; + +?> + + + + + + + + + + + Document + + + + + + +
                                                + + + +
                                                + + + + + + + + + + + +
                                                +
                                                + +
                                                + +
                                                  +
                                                • 관리자
                                                • +
                                                • RSS
                                                • +
                                                • + +
                                                • +
                                                • 글쓰기
                                                • + +
                                                • + + +
                                                    +
                                                  • +
                                                  • +
                                                  • +
                                                  + +
                                                • + +
                                                +
                                                + +

                                                Lorem Ipsum dolor

                                                +
                                                + 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : ''; + ?> +
                                                +
                                                +
                                                + +
                                                + +

                                                +

                                                +

                                                +
                                                +
                                                +
                                                + + 게시물이 없습니다."; } ?> +
                                                +
                                                +
                                                +
                                                +
                                                +
                                                +
                                                +

                                                문의사항이 있으신가요?

                                                +

                                                문의사항을 빠르게 답변 드립니다. 온라인으로 문의해주세요!

                                                + LEARN MORE +

                                                +
                                                + +
                                                + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/style.css b/web/html/theme/AT_WEB01/skin/board/board/product04/style.css new file mode 100644 index 0000000..11c1bb4 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product04/style.css @@ -0,0 +1,330 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product04/view.skin.php new file mode 100644 index 0000000..cc3dde5 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product04/view.skin.php @@ -0,0 +1,304 @@ +', 0); + +?> + + + + + + + + + + + + + + + Document + + + + + + +
                                                + + + +
                                                +
                                                +

                                                게시판 리스트 옵션

                                                +
                                                + + + + + +
                                                + +
                                                +
                                                +
                                                +
                                                +

                                                갤러리 카테고리

                                                +
                                                +

                                                + + + +

                                                +

                                                +
                                                +
                                                등록일
                                                +
                                                +
                                                +
                                                +
                                                +
                                                + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                \n"; + } + ?> +
                                                +
                                                +

                                                + +
                                                + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product04/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product04/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                +

                                                댓글목록

                                                + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                style="margin-left:px;border-top-color:#e0e0e0"> +
                                                + +
                                                + +
                                                +

                                                님의 댓글의 댓글

                                                + + + 아이피 + () + + 작성일 + + +
                                                + + +
                                                +

                                                + 비밀글 + +

                                                + + +
                                                + + + + " id="secret_comment_"> + +
                                                + +
                                                + + +
                                                + + +
                                                + +

                                                등록된 댓글이 없습니다.

                                                + +
                                                + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/product04/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/product04/write.skin.php new file mode 100644 index 0000000..9e90803 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/product04/write.skin.php @@ -0,0 +1,310 @@ +', 0); +?> + +', 0); + +?> + + + + + + + + + + + Document + + + + +
                                                + + + +
                                                +
                                                +
                                                +

                                                + + +
                                                + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                              • '.PHP_EOL.'
                                              • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                              • '.PHP_EOL.'
                                              • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                              • '.PHP_EOL.'
                                              • '; + } + } + echo $option_hidden; + ?> + + +
                                                + + +
                                                + + +
                                                + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                + + +
                                                + 옵션 +
                                                  + +
                                                +
                                                + + +
                                                + + +
                                                + + + + + +
                                                + 임시 저장된 글 목록 +
                                                  +
                                                  +
                                                  + +
                                                  +
                                                  + +
                                                  + +
                                                  + + +

                                                  이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                  + + + + +
                                                  글자
                                                  + +
                                                  + +
                                                  + + + + + +
                                                  +
                                                  + + +
                                                  + + + + + + + + + + +
                                                  + + + + +
                                                  + +
                                                  + + +
                                                  + 취소 + +
                                                  +
                                                  + + +
                                                  + +
                                                  +
                                                  +
                                                  + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/qna/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/qna/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/qna/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/qna/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/qna/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/qna/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/qna/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/qna/list.skin.php new file mode 100644 index 0000000..8124668 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/qna/list.skin.php @@ -0,0 +1,332 @@ +', 0); +?> + + + + + + + + + + + Document + + + + + + +
                                                  + + + +
                                                  +
                                                  + +
                                                  + +
                                                  + + + + + + + + + + + + +
                                                  + +
                                                    +
                                                  • 관리자
                                                  • +
                                                  • RSS
                                                  • +
                                                  • + +
                                                  • +
                                                  • 글쓰기
                                                  • + +
                                                  • + + +
                                                      +
                                                    • +
                                                    • +
                                                    • +
                                                    + +
                                                  • + +
                                                  +
                                                  + + + + + + +
                                                  + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                                                  목록
                                                  + + + 진행상황제목글쓴이조회 추천 비추천 날짜
                                                  + + + + +

                                                  + + 공지사항 +

                                                  + + + +

                                                  + + 답변완료 +

                                                  + +

                                                  + + 접수완료 +

                                                  + + +
                                                  + + + +
                                                  + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                                                  +
                                                  게시물이 없습니다.
                                                  +
                                                  + + + + + +
                                                  + + + +
                                                  + +
                                                  + + +
                                                  +
                                                  +

                                                  검색

                                                  +
                                                  + + + + + + +
                                                  + + +
                                                  + +
                                                  +
                                                  +
                                                  +
                                                  + + +
                                                  + + + + + + + + + +
                                                  +
                                                  +
                                                  + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/style.css b/web/html/theme/AT_WEB01/skin/board/board/qna/style.css new file mode 100644 index 0000000..6aa0ab9 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/qna/style.css @@ -0,0 +1,360 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:60px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:150px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + +#bo_cate {margin:25px 0} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px} +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + +@media screen and (max-width:900px) { + + .tbl_head01 .col4 { + display:none; + } + .tbl_head01 .col5 { + display:none; + } + .td_num { + display:none; + } + .tbl_head01 td { + padding:0; + } + #bo_list .td_name { + display:none; + } +} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/qna/view.skin.php new file mode 100644 index 0000000..a00a842 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/qna/view.skin.php @@ -0,0 +1,315 @@ +', 0); +?> + + + + + + + + + +
                                                  + + +
                                                  +
                                                  +
                                                  +

                                                  + + + + + +

                                                  +
                                                  + +
                                                  +

                                                  페이지 정보

                                                  +
                                                  +
                                                  +
                                                  + 작성자
                                                  + 댓글 + 조회 + 작성일 +
                                                  +
                                                  + + +
                                                  + + + + + +
                                                  + +
                                                  + +
                                                  +

                                                  본문

                                                  +
                                                  + + 스크랩 +
                                                  + + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                  \n"; + } + ?> + + +
                                                  + + + +

                                                  + + + + +
                                                  + + + 추천 + + + + + + 비추천 + + + +
                                                  + +
                                                  + 추천 + 비추천 +
                                                  + + + + + + + + +
                                                  +

                                                  첨부파일

                                                  +
                                                    + +
                                                  • + + + () + +
                                                    + 회 다운로드 | DATE : +
                                                  • + +
                                                  +
                                                  + + + + + + + + + + +
                                                    +
                                                  • 이전글
                                                  • +
                                                  • 다음글
                                                  • +
                                                  + + + + + + +
                                                  + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/qna/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/qna/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                  +

                                                  댓글목록

                                                  + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                  style="margin-left:px;border-top-color:#e0e0e0"> +
                                                  + +
                                                  + +
                                                  +

                                                  님의 댓글의 댓글

                                                  + + + 아이피 + () + + 작성일 + + +
                                                  + + +
                                                  +

                                                  + 비밀글 + +

                                                  + + +
                                                  + + + + " id="secret_comment_"> + +
                                                  + +
                                                  + + +
                                                  + + +
                                                  + +

                                                  등록된 댓글이 없습니다.

                                                  + +
                                                  + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/qna/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/qna/write.skin.php new file mode 100644 index 0000000..ceaf017 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/qna/write.skin.php @@ -0,0 +1,300 @@ +', 0); +?> + +', 0); +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + + + + + + + Document + + + + +
                                                  + + + +
                                                  +
                                                  +
                                                  +

                                                  + + +
                                                  + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                • '.PHP_EOL.'
                                                • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                • '.PHP_EOL.'
                                                • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                • '.PHP_EOL.'
                                                • '; + } + } + echo $option_hidden; + ?> + + +
                                                  + + +
                                                  + + +
                                                  + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                  + + +
                                                  + 옵션 +
                                                    + +
                                                  +
                                                  + + +
                                                  + + +
                                                  + + + + + +
                                                  + 임시 저장된 글 목록 +
                                                    +
                                                    +
                                                    + +
                                                    +
                                                    + +
                                                    + +
                                                    + + +

                                                    이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                    + + + + +
                                                    글자
                                                    + +
                                                    + +
                                                    + + + + + + +
                                                    +
                                                    + + +
                                                    + + + + + + + + + + +
                                                    + + + + +
                                                    + +
                                                    + + +
                                                    + 취소 + +
                                                    +
                                                    + + +
                                                    + +
                                                    +
                                                    +
                                                    + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/_common.php b/web/html/theme/AT_WEB01/skin/board/board/video/_common.php new file mode 100644 index 0000000..b1cfd83 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/video/_common.php @@ -0,0 +1,3 @@ + diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_close.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_next2.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_prev2.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/cmt_btn.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_bad.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_comment.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_file.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_good.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_hot.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_img.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_link.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_movie.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_new.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_share.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_sound.gif b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_view.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/noimg.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/noimg.png new file mode 100644 index 0000000..b42ac9f Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/noimg.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/sch_bg.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/sch_btn.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/img/video-player.png b/web/html/theme/AT_WEB01/skin/board/board/video/img/video-player.png new file mode 100644 index 0000000..beaac10 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/video/img/video-player.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/video/list.skin.php new file mode 100644 index 0000000..8a6521d --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/video/list.skin.php @@ -0,0 +1,278 @@ +', 0); + + +?> + + + + + + + + + Document + + + + + +
                                                    + + + +
                                                    +
                                                    + +
                                                    + +
                                                    + + + + + + + + + + + + +
                                                    + +
                                                      +
                                                    • 관리자
                                                    • +
                                                    • RSS
                                                    • +
                                                    • + +
                                                    • +
                                                    • 글쓰기
                                                    • + +
                                                    • + + +
                                                        +
                                                      • +
                                                      • +
                                                      • +
                                                      + +
                                                    • + +
                                                    +
                                                    + + + + + + +
                                                    + +
                                                    + + + + + +
                                                    + + + +
                                                    + +
                                                    + + +
                                                    +
                                                    +

                                                    검색

                                                    +
                                                    + + + + + + +
                                                    + + +
                                                    + +
                                                    +
                                                    +
                                                    +
                                                    + + +
                                                    + + + + + + + + + +
                                                    +
                                                    +
                                                    + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/movie.lib.php b/web/html/theme/AT_WEB01/skin/board/board/video/movie.lib.php new file mode 100644 index 0000000..ec94333 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/video/movie.lib.php @@ -0,0 +1,151 @@ + $matches[1], //https + 'subdomain' => implode(".", $parts), //subdomain + 'domain' => "$host.$tld", //domain.co.kr + 'host'=>$host, //domain ̸ + 'tld'=>$tld //co.kr + ); + + return $host['host']; + +} + +// /޿ +function movie_id($path, $host) +{ + + if($host == "youtube"){ + + /*긵ũ ̵*/ + $youtube_link = $path; + $youtube_url = parse_url($youtube_link); + parse_str($youtube_url['query']); + $youtubeid = $v; + $movieid = $youtubeid;//$youtubeid; + + } + else if($host == "vimeo" || $host == "kakao" || $host == "naver" || $host == "dailymotion"){ + + /* ̵*/ + $vars =strrchr($path, "?"); // + $videoid = preg_replace('/'. preg_quote($vars, '/') . '$/', '', basename($path)); // + $movieid = $videoid;//$vimeoid; + + } + else if($host == "soundcloud"){ + + /* ̵*/ + $urls = parse_url($path, PHP_URL_PATH); + $videoid = explode("/",$urls); + $movieid = $videoid[1];//$vimeoid; + + } + + + else{ + $movieid = false; + } + + return $movieid; +} + +// image /޿ +function get_movie_thumb($movie_id, $movie_company) +{ + + if($movie_company == "youtube"){ + + $movieimg = "https://img.youtube.com/vi/".$movie_id."/maxresdefault.jpg"; + } + else if($movie_company == "vimeo"){ + $vimeo = unserialize(file_get_contents("http://vimeo.com/api/v2/video/{$movie_id}.php")); + //echo $small = $vimeo[0]['thumbnail_small']; + //echo $medium = $vimeo[0]['thumbnail_medium']; + $movieimg = $vimeo[0]['thumbnail_large']; + } + else if($movie_company == "kakao" || $movie_company == "dailymotion"){ + + if($movie_company == "kakao"){ + $sites_html = file_get_contents('http://tv.kakao.com/v/'.$movie_id); + }else if($movie_company == "dailymotion"){ + $sites_html = file_get_contents('https://www.dailymotion.com/video/'.$movie_id); + } + + $html = new DOMDocument(); + @$html->loadHTML($sites_html); + $meta_og_img = null; + //Get all meta tags and loop through them. + foreach($html->getElementsByTagName('meta') as $meta) { + //If the property attribute of the meta tag is og:image + if($meta->getAttribute('property')=='og:image'){ + //Assign the value from content attribute to $meta_og_img + $meta_og_img = $meta->getAttribute('content'); + } + } + $movieimg = $meta_og_img; + } + else if($movie_company == "naver" || $movie_company == "soundcloud"){ + $movieimg = xml_movie_frame($movie_id, $movie_company, 'thumb'); + } + else { + $movieimg = "noimg";// + } + +return $movieimg; +} + +//xml ҽ ° +function xml_movie_frame($movieid, $host, $type) +{ + if($host == "naver"){ + $xml=simplexml_load_file("https://tv.naver.com/oembed?url=https://tv.naver.com/v/".$movieid."&format=xml"); + //print_r($xml); + $movie_frame = $xml->html; + $movie_img = $xml->thumbnail_url; + } + + else if($host == "soundcloud"){ + //$json = file_get_contents("https://soundcloud.com/oembed?url=https%3A%2F%2Fsoundcloud.com%2F".$movieid."%2Fflox-the-words&format=json"); + $json = file_get_contents("https://soundcloud.com/oembed?url=https://soundcloud.com/".$movieid."&format=json"); + $obj = json_decode($json); + $movie_frame = $obj->html; + $movie_img = $obj->thumbnail_url; + } + if($type == "movie"){ + return $movie_frame; + }else{ + return $movie_img; + } +} + +function curl_get_contents($url) +{ + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0'); + + $data = curl_exec($ch); + curl_close($ch); + + return $data; +} + +?> \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/style.css b/web/html/theme/AT_WEB01/skin/board/board/video/style.css new file mode 100644 index 0000000..ad82f2d --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/video/style.css @@ -0,0 +1,330 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/video/view.skin.php new file mode 100644 index 0000000..84f44bb --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/video/view.skin.php @@ -0,0 +1,282 @@ +', 0); +?> + + + + + + + + + + + + + Document + + + + + + +
                                                    + + + +
                                                    +
                                                    +

                                                    게시판 리스트 옵션

                                                    +
                                                    + + + + + +
                                                    + +
                                                    +
                                                    +
                                                    +
                                                    +

                                                    갤러리 카테고리

                                                    +
                                                    +

                                                    + + + +

                                                    +

                                                    +
                                                    +
                                                    등록일
                                                    +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                    \n"; + } + ?> +
                                                    + + + +
                                                    + +
                                                    + +
                                                    + +
                                                    + + +
                                                    + +
                                                    + + +
                                                    + +
                                                    + + +
                                                    + +
                                                    + + + + + + +
                                                    +

                                                    + +
                                                    + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/video/view_comment.skin.php new file mode 100644 index 0000000..9a22694 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/video/view_comment.skin.php @@ -0,0 +1,327 @@ + + + + + +
                                                    +

                                                    댓글목록

                                                    + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                                                    style="margin-left:px;border-top-color:#e0e0e0"> +
                                                    +

                                                    님의 댓글의 댓글

                                                    + + + 아이피 + () + + 작성일 + + +
                                                    + + +
                                                    +

                                                    + 비밀글 + +

                                                    + + + +
                                                    + + + + " id="secret_comment_"> + + +
                                                    + +

                                                    등록된 댓글이 없습니다.

                                                    + +
                                                    + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/video/write.skin.php new file mode 100644 index 0000000..039ca20 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/video/write.skin.php @@ -0,0 +1,337 @@ +', 0); +?> + +', 0); + +?> + + + + + + + + + + + Document + + + + +
                                                    + + + +
                                                    +
                                                    +
                                                    +

                                                    + + +
                                                    + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                  • '.PHP_EOL.'
                                                  • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                  • '.PHP_EOL.'
                                                  • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                  • '.PHP_EOL.'
                                                  • '; + } + } + echo $option_hidden; + ?> + + +
                                                    + + +
                                                    + + +
                                                    + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                    + + +
                                                    + 옵션 +
                                                      + +
                                                    +
                                                    + + +
                                                    + + +
                                                    + + + + + +
                                                    + 임시 저장된 글 목록 +
                                                      +
                                                      +
                                                      + +
                                                      +
                                                      + +
                                                      + +
                                                      + + +

                                                      이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                      + + + + +
                                                      글자
                                                      + +
                                                      + +
                                                      +
                                                      + + 동영상 링크 입력 방법 + +
                                                      +
                                                      1.인터넷 주소창 복사
                                                      +
                                                      유투브 : 인터넷 주소창 복사 예) https://www.youtube.com/watch?v=동영상ID
                                                      +
                                                      비메오 : 인터넷 주소창 복사 예) https://vimeo.com/동영상ID
                                                      +
                                                      데일리모션 : 인터넷 주소창 복사 예) https://www.dailymotion.com/video/동영상ID
                                                      +
                                                      2.공유하기 클릭 후 복사
                                                      +
                                                      카카오TV : 공유하기 클릭 후 링크복사 예) http://tv.kakao.com/v/동영상ID
                                                      +
                                                      네이버TV : 공유하기 클릭 후 url복사 예) https://tv.naver.com/v/동영상ID
                                                      +
                                                      * 외부링크 비허용일 경우 동영상 공유가 안됩니다.
                                                      +
                                                      * 외부링크 허용일 경우에만 동영상 게시판 이용이 가능합니다.
                                                      +
                                                      +
                                                      + + + + + +
                                                      +
                                                      + + +
                                                      + + + + + + + + + + +
                                                      + + + + +
                                                      + +
                                                      + + +
                                                      + 취소 + +
                                                      +
                                                      + + +
                                                      + +
                                                      +
                                                      +
                                                      + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/video/write_update.head.skin.php b/web/html/theme/AT_WEB01/skin/board/board/video/write_update.head.skin.php new file mode 100644 index 0000000..98ce37d --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/video/write_update.head.skin.php @@ -0,0 +1,43 @@ + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine01/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/webzine01/list.skin.php new file mode 100644 index 0000000..e135a47 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/webzine01/list.skin.php @@ -0,0 +1,308 @@ +', 0); +?> + + + + + + + + + + + Document + + + + + + +
                                                      + + + +
                                                      +
                                                      + +
                                                      + +
                                                      + + + + + + + + + + + + +
                                                      + +
                                                        +
                                                      • 관리자
                                                      • +
                                                      • RSS
                                                      • +
                                                      • + +
                                                      • +
                                                      • 글쓰기
                                                      • + +
                                                      • + + +
                                                          +
                                                        • +
                                                        • +
                                                        • +
                                                        + +
                                                      • + +
                                                      +
                                                      + + + + + + +
                                                      +
                                                        + 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : ''; + ?> +
                                                      • + +
                                                        + + +
                                                        + +
                                                        +
                                                        +
                                                        +
                                                        + +
                                                        +
                                                        + + + + + + + +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        + + 공지 + '; + } else { + $img_content = 'no image'; + } + + echo run_replace('thumb_image_tag', $img_content, $thumb); + } + ?> +
                                                        +
                                                        + +
                                                        +
                                                        +
                                                      • + +

                                                        + 게시물이 없습니다.'; } ?> +

                                                        +
                                                      +
                                                      + + + + + +
                                                      + + + +
                                                      + +
                                                      + + +
                                                      +
                                                      +

                                                      검색

                                                      +
                                                      + + + + + + +
                                                      + + +
                                                      + +
                                                      +
                                                      +
                                                      +
                                                      + + +
                                                      + + + + + + + + + +
                                                      +
                                                      +
                                                      + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/style.css b/web/html/theme/AT_WEB01/skin/board/board/webzine01/style.css new file mode 100644 index 0000000..ad82f2d --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/webzine01/style.css @@ -0,0 +1,330 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/webzine01/view.skin.php new file mode 100644 index 0000000..4842311 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/webzine01/view.skin.php @@ -0,0 +1,302 @@ +', 0); +?> + + + + + + + + + + + + + + Document + + + + + + +
                                                      + + + +
                                                      +
                                                      +

                                                      게시판 리스트 옵션

                                                      +
                                                      + + + + + +
                                                      + +
                                                      +
                                                      +
                                                      +
                                                      +

                                                      갤러리 카테고리

                                                      +
                                                      +

                                                      + + + +

                                                      +

                                                      +
                                                      +
                                                      등록일
                                                      +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                      \n"; + } + ?> +
                                                      +
                                                      +

                                                      + +
                                                      + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/webzine01/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/webzine01/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                      +

                                                      댓글목록

                                                      + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                      style="margin-left:px;border-top-color:#e0e0e0"> +
                                                      + +
                                                      + +
                                                      +

                                                      님의 댓글의 댓글

                                                      + + + 아이피 + () + + 작성일 + + +
                                                      + + +
                                                      +

                                                      + 비밀글 + +

                                                      + + +
                                                      + + + + " id="secret_comment_"> + +
                                                      + +
                                                      + + +
                                                      + + +
                                                      + +

                                                      등록된 댓글이 없습니다.

                                                      + +
                                                      + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine01/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/webzine01/write.skin.php new file mode 100644 index 0000000..db0f0bc --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/webzine01/write.skin.php @@ -0,0 +1,298 @@ +', 0); +?> + +', 0); +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + + + + + + + + + Document + + + + +
                                                      + + + +
                                                      +
                                                      +
                                                      +

                                                      + + +
                                                      + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                    • '.PHP_EOL.'
                                                    • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                    • '.PHP_EOL.'
                                                    • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                    • '.PHP_EOL.'
                                                    • '; + } + } + echo $option_hidden; + ?> + + +
                                                      + + +
                                                      + + +
                                                      + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                      + + +
                                                      + 옵션 +
                                                        + +
                                                      +
                                                      + + +
                                                      + + +
                                                      + + + + + +
                                                      + 임시 저장된 글 목록 +
                                                        +
                                                        +
                                                        + +
                                                        +
                                                        + +
                                                        + +
                                                        + + +

                                                        이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                        + + + + +
                                                        글자
                                                        + +
                                                        + +
                                                        + + + + + + +
                                                        +
                                                        + + +
                                                        + + + + + + + + + + +
                                                        + + + + +
                                                        + +
                                                        + + +
                                                        + 취소 + +
                                                        +
                                                        + + +
                                                        + +
                                                        +
                                                        +
                                                        + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/btn_cmt.png b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/btn_cmt.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/chk.png b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/chk.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/board/webzine02/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/list.skin.php b/web/html/theme/AT_WEB01/skin/board/board/webzine02/list.skin.php new file mode 100644 index 0000000..664c042 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/webzine02/list.skin.php @@ -0,0 +1,308 @@ +', 0); +?> + + + + + + + + + + + Document + + + + + + +
                                                        + + + +
                                                        +
                                                        + +
                                                        + +
                                                        + + + + + + + + + + + + +
                                                        + +
                                                          +
                                                        • 관리자
                                                        • +
                                                        • RSS
                                                        • +
                                                        • + +
                                                        • +
                                                        • 글쓰기
                                                        • + +
                                                        • + + +
                                                            +
                                                          • +
                                                          • +
                                                          • +
                                                          + +
                                                        • + +
                                                        +
                                                        + + + + + + +
                                                        +
                                                          + 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : ''; + ?> +
                                                        • + +
                                                          + + +
                                                          + +
                                                          +
                                                          + + 공지 + '; + } else { + $img_content = 'no image'; + } + + echo run_replace('thumb_image_tag', $img_content, $thumb); + } + ?> +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          + + + + + + + + + + +
                                                          +
                                                          +
                                                          +
                                                        • + +

                                                          + 게시물이 없습니다.'; } ?> +

                                                          +
                                                        +
                                                        + + + + + +
                                                        + + + +
                                                        + +
                                                        + + +
                                                        +
                                                        +

                                                        검색

                                                        +
                                                        + + + + + + +
                                                        + + +
                                                        + +
                                                        +
                                                        +
                                                        +
                                                        + + +
                                                        + + + + + + + + + +
                                                        +
                                                        +
                                                        + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/style.css b/web/html/theme/AT_WEB01/skin/board/board/webzine02/style.css new file mode 100644 index 0000000..11c1bb4 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/webzine02/style.css @@ -0,0 +1,330 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/view.skin.php b/web/html/theme/AT_WEB01/skin/board/board/webzine02/view.skin.php new file mode 100644 index 0000000..0ff2c23 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/webzine02/view.skin.php @@ -0,0 +1,302 @@ +', 0); +?> + + + + + + + + + + + + + + Document + + + + + + +
                                                        + + + +
                                                        +
                                                        +

                                                        게시판 리스트 옵션

                                                        +
                                                        + + + + + +
                                                        + +
                                                        +
                                                        +
                                                        +
                                                        +

                                                        갤러리 카테고리

                                                        +
                                                        +

                                                        + + + +

                                                        +

                                                        +
                                                        +
                                                        등록일
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                        \n"; + } + ?> +
                                                        +
                                                        +

                                                        + +
                                                        + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/board/webzine02/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/webzine02/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                        +

                                                        댓글목록

                                                        + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                        style="margin-left:px;border-top-color:#e0e0e0"> +
                                                        + +
                                                        + +
                                                        +

                                                        님의 댓글의 댓글

                                                        + + + 아이피 + () + + 작성일 + + +
                                                        + + +
                                                        +

                                                        + 비밀글 + +

                                                        + + +
                                                        + + + + " id="secret_comment_"> + +
                                                        + +
                                                        + + +
                                                        + + +
                                                        + +

                                                        등록된 댓글이 없습니다.

                                                        + +
                                                        + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/board/webzine02/write.skin.php b/web/html/theme/AT_WEB01/skin/board/board/webzine02/write.skin.php new file mode 100644 index 0000000..d49c9dc --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/board/webzine02/write.skin.php @@ -0,0 +1,297 @@ +', 0); +?> + +', 0); +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + + + + + + + + Document + + + + +
                                                        + + + +
                                                        +
                                                        +
                                                        +

                                                        + + +
                                                        + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                      • '.PHP_EOL.'
                                                      • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                      • '.PHP_EOL.'
                                                      • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                      • '.PHP_EOL.'
                                                      • '; + } + } + echo $option_hidden; + ?> + + +
                                                        + + +
                                                        + + +
                                                        + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                        + + +
                                                        + 옵션 +
                                                          + +
                                                        +
                                                        + + +
                                                        + + +
                                                        + + + + + +
                                                        + 임시 저장된 글 목록 +
                                                          +
                                                          +
                                                          + +
                                                          +
                                                          + +
                                                          + +
                                                          + + +

                                                          이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                          + + + + +
                                                          글자
                                                          + +
                                                          + +
                                                          + + + + + + +
                                                          +
                                                          + + +
                                                          + + + + + + + + + + +
                                                          + + + + +
                                                          + +
                                                          + + +
                                                          + 취소 + +
                                                          +
                                                          + + +
                                                          + +
                                                          +
                                                          +
                                                          + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/faq/@eaDir/TweenMax.js@SynoEAStream b/web/html/theme/AT_WEB01/skin/board/faq/@eaDir/TweenMax.js@SynoEAStream new file mode 100644 index 0000000..1e207d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/faq/@eaDir/TweenMax.js@SynoEAStream differ diff --git a/web/html/theme/AT_WEB01/skin/board/faq/TweenMax.js b/web/html/theme/AT_WEB01/skin/board/faq/TweenMax.js new file mode 100644 index 0000000..eb03536 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/faq/TweenMax.js @@ -0,0 +1,7572 @@ +/*! + * VERSION: 1.18.0 + * DATE: 2015-09-05 + * UPDATES AND DOCS AT: http://greensock.com + * + * Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin + * + * @license Copyright (c) 2008-2015, GreenSock. All rights reserved. + * This work is subject to the terms at http://greensock.com/standard-license or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + **/ +var _gsScope = (typeof(module) !== "undefined" && module.exports && typeof(global) !== "undefined") ? global : this || window; //helps ensure compatibility with AMD/RequireJS and CommonJS/Node +(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push( function() { + + "use strict"; + + _gsScope._gsDefine("TweenMax", ["core.Animation","core.SimpleTimeline","TweenLite"], function(Animation, SimpleTimeline, TweenLite) { + + var _slice = function(a) { //don't use [].slice because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + var b = [], + l = a.length, + i; + for (i = 0; i !== l; b.push(a[i++])); + return b; + }, + _applyCycle = function(vars, targets, i) { + var alt = vars.cycle, + p, val; + for (p in alt) { + val = alt[p]; + vars[p] = (typeof(val) === "function") ? val.call(targets[i], i) : val[i % val.length]; + } + delete vars.cycle; + }, + TweenMax = function(target, duration, vars) { + TweenLite.call(this, target, duration, vars); + this._cycle = 0; + this._yoyo = (this.vars.yoyo === true); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._dirty = true; //ensures that if there is any repeat, the totalDuration will get recalculated to accurately report it. + this.render = TweenMax.prototype.render; //speed optimization (avoid prototype lookup on this "hot" method) + }, + _tinyNum = 0.0000000001, + TweenLiteInternals = TweenLite._internals, + _isSelector = TweenLiteInternals.isSelector, + _isArray = TweenLiteInternals.isArray, + p = TweenMax.prototype = TweenLite.to({}, 0.1, {}), + _blankArray = []; + + TweenMax.version = "1.18.0"; + p.constructor = TweenMax; + p.kill()._gc = false; + TweenMax.killTweensOf = TweenMax.killDelayedCallsTo = TweenLite.killTweensOf; + TweenMax.getTweensOf = TweenLite.getTweensOf; + TweenMax.lagSmoothing = TweenLite.lagSmoothing; + TweenMax.ticker = TweenLite.ticker; + TweenMax.render = TweenLite.render; + + p.invalidate = function() { + this._yoyo = (this.vars.yoyo === true); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._uncache(true); + return TweenLite.prototype.invalidate.call(this); + }; + + p.updateTo = function(vars, resetDuration) { + var curRatio = this.ratio, + immediate = this.vars.immediateRender || vars.immediateRender, + p; + if (resetDuration && this._startTime < this._timeline._time) { + this._startTime = this._timeline._time; + this._uncache(false); + if (this._gc) { + this._enabled(true, false); + } else { + this._timeline.insert(this, this._startTime - this._delay); //ensures that any necessary re-sequencing of Animations in the timeline occurs to make sure the rendering order is correct. + } + } + for (p in vars) { + this.vars[p] = vars[p]; + } + if (this._initted || immediate) { + if (resetDuration) { + this._initted = false; + if (immediate) { + this.render(0, true, true); + } + } else { + if (this._gc) { + this._enabled(true, false); + } + if (this._notifyPluginsOfEnabled && this._firstPT) { + TweenLite._onPluginEvent("_onDisable", this); //in case a plugin like MotionBlur must perform some cleanup tasks + } + if (this._time / this._duration > 0.998) { //if the tween has finished (or come extremely close to finishing), we just need to rewind it to 0 and then render it again at the end which forces it to re-initialize (parsing the new vars). We allow tweens that are close to finishing (but haven't quite finished) to work this way too because otherwise, the values are so small when determining where to project the starting values that binary math issues creep in and can make the tween appear to render incorrectly when run backwards. + var prevTime = this._time; + this.render(0, true, false); + this._initted = false; + this.render(prevTime, true, false); + } else if (this._time > 0 || immediate) { + this._initted = false; + this._init(); + var inv = 1 / (1 - curRatio), + pt = this._firstPT, endValue; + while (pt) { + endValue = pt.s + pt.c; + pt.c *= inv; + pt.s = endValue - pt.c; + pt = pt._next; + } + } + } + } + return this; + }; + + p.render = function(time, suppressEvents, force) { + if (!this._initted) if (this._duration === 0 && this.vars.repeat) { //zero duration tweens that render immediately have render() called from TweenLite's constructor, before TweenMax's constructor has finished setting _repeat, _repeatDelay, and _yoyo which are critical in determining totalDuration() so we need to call invalidate() which is a low-kb way to get those set properly. + this.invalidate(); + } + var totalDur = (!this._dirty) ? this._totalDuration : this.totalDuration(), + prevTime = this._time, + prevTotalTime = this._totalTime, + prevCycle = this._cycle, + duration = this._duration, + prevRawPrevTime = this._rawPrevTime, + isComplete, callback, pt, cycleDuration, r, type, pow, rawPrevTime; + if (time >= totalDur) { + this._totalTime = totalDur; + this._cycle = this._repeat; + if (this._yoyo && (this._cycle & 1) !== 0) { + this._time = 0; + this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0; + } else { + this._time = duration; + this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1; + } + if (!this._reversed) { + isComplete = true; + callback = "onComplete"; + force = (force || this._timeline.autoRemoveChildren); //otherwise, if the animation is unpaused/activated after it's already finished, it doesn't get removed from the parent timeline. + } + if (duration === 0) if (this._initted || !this.vars.lazy || force) { //zero-duration tweens are tricky because we must discern the momentum/direction of time in order to determine whether the starting values should be rendered or the ending values. If the "playhead" of its timeline goes past the zero-duration tween in the forward direction or lands directly on it, the end values should be rendered, but if the timeline's "playhead" moves past it in the backward direction (from a postitive time to a negative time), the starting values must be rendered. + if (this._startTime === this._timeline._duration) { //if a zero-duration tween is at the VERY end of a timeline and that timeline renders at its end, it will typically add a tiny bit of cushion to the render time to prevent rounding errors from getting in the way of tweens rendering their VERY end. If we then reverse() that timeline, the zero-duration tween will trigger its onReverseComplete even though technically the playhead didn't pass over it again. It's a very specific edge case we must accommodate. + time = 0; + } + if (time === 0 || prevRawPrevTime < 0 || prevRawPrevTime === _tinyNum) if (prevRawPrevTime !== time) { + force = true; + if (prevRawPrevTime > _tinyNum) { + callback = "onReverseComplete"; + } + } + this._rawPrevTime = rawPrevTime = (!suppressEvents || time || prevRawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + } + + } else if (time < 0.0000001) { //to work around occasional floating point math artifacts, round super small values to 0. + this._totalTime = this._time = this._cycle = 0; + this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0; + if (prevTotalTime !== 0 || (duration === 0 && prevRawPrevTime > 0)) { + callback = "onReverseComplete"; + isComplete = this._reversed; + } + if (time < 0) { + this._active = false; + if (duration === 0) if (this._initted || !this.vars.lazy || force) { //zero-duration tweens are tricky because we must discern the momentum/direction of time in order to determine whether the starting values should be rendered or the ending values. If the "playhead" of its timeline goes past the zero-duration tween in the forward direction or lands directly on it, the end values should be rendered, but if the timeline's "playhead" moves past it in the backward direction (from a postitive time to a negative time), the starting values must be rendered. + if (prevRawPrevTime >= 0) { + force = true; + } + this._rawPrevTime = rawPrevTime = (!suppressEvents || time || prevRawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + } + } + if (!this._initted) { //if we render the very beginning (time == 0) of a fromTo(), we must force the render (normal tweens wouldn't need to render at a time of 0 when the prevTime was also 0). This is also mandatory to make sure overwriting kicks in immediately. + force = true; + } + } else { + this._totalTime = this._time = time; + + if (this._repeat !== 0) { + cycleDuration = duration + this._repeatDelay; + this._cycle = (this._totalTime / cycleDuration) >> 0; //originally _totalTime % cycleDuration but floating point errors caused problems, so I normalized it. (4 % 0.8 should be 0 but Flash reports it as 0.79999999!) + if (this._cycle !== 0) if (this._cycle === this._totalTime / cycleDuration) { + this._cycle--; //otherwise when rendered exactly at the end time, it will act as though it is repeating (at the beginning) + } + this._time = this._totalTime - (this._cycle * cycleDuration); + if (this._yoyo) if ((this._cycle & 1) !== 0) { + this._time = duration - this._time; + } + if (this._time > duration) { + this._time = duration; + } else if (this._time < 0) { + this._time = 0; + } + } + + if (this._easeType) { + r = this._time / duration; + type = this._easeType; + pow = this._easePower; + if (type === 1 || (type === 3 && r >= 0.5)) { + r = 1 - r; + } + if (type === 3) { + r *= 2; + } + if (pow === 1) { + r *= r; + } else if (pow === 2) { + r *= r * r; + } else if (pow === 3) { + r *= r * r * r; + } else if (pow === 4) { + r *= r * r * r * r; + } + + if (type === 1) { + this.ratio = 1 - r; + } else if (type === 2) { + this.ratio = r; + } else if (this._time / duration < 0.5) { + this.ratio = r / 2; + } else { + this.ratio = 1 - (r / 2); + } + + } else { + this.ratio = this._ease.getRatio(this._time / duration); + } + + } + + if (prevTime === this._time && !force && prevCycle === this._cycle) { + if (prevTotalTime !== this._totalTime) if (this._onUpdate) if (!suppressEvents) { //so that onUpdate fires even during the repeatDelay - as long as the totalTime changed, we should trigger onUpdate. + this._callback("onUpdate"); + } + return; + } else if (!this._initted) { + this._init(); + if (!this._initted || this._gc) { //immediateRender tweens typically won't initialize until the playhead advances (_time is greater than 0) in order to ensure that overwriting occurs properly. Also, if all of the tweening properties have been overwritten (which would cause _gc to be true, as set in _init()), we shouldn't continue otherwise an onStart callback could be called for example. + return; + } else if (!force && this._firstPT && ((this.vars.lazy !== false && this._duration) || (this.vars.lazy && !this._duration))) { //we stick it in the queue for rendering at the very end of the tick - this is a performance optimization because browsers invalidate styles and force a recalculation if you read, write, and then read style data (so it's better to read/read/read/write/write/write than read/write/read/write/read/write). The down side, of course, is that usually you WANT things to render immediately because you may have code running right after that which depends on the change. Like imagine running TweenLite.set(...) and then immediately after that, creating a nother tween that animates the same property to another value; the starting values of that 2nd tween wouldn't be accurate if lazy is true. + this._time = prevTime; + this._totalTime = prevTotalTime; + this._rawPrevTime = prevRawPrevTime; + this._cycle = prevCycle; + TweenLiteInternals.lazyTweens.push(this); + this._lazy = [time, suppressEvents]; + return; + } + //_ease is initially set to defaultEase, so now that init() has run, _ease is set properly and we need to recalculate the ratio. Overall this is faster than using conditional logic earlier in the method to avoid having to set ratio twice because we only init() once but renderTime() gets called VERY frequently. + if (this._time && !isComplete) { + this.ratio = this._ease.getRatio(this._time / duration); + } else if (isComplete && this._ease._calcEnd) { + this.ratio = this._ease.getRatio((this._time === 0) ? 0 : 1); + } + } + if (this._lazy !== false) { + this._lazy = false; + } + + if (!this._active) if (!this._paused && this._time !== prevTime && time >= 0) { + this._active = true; //so that if the user renders a tween (as opposed to the timeline rendering it), the timeline is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the tween already finished but the user manually re-renders it as halfway done. + } + if (prevTotalTime === 0) { + if (this._initted === 2 && time > 0) { + //this.invalidate(); + this._init(); //will just apply overwriting since _initted of (2) means it was a from() tween that had immediateRender:true + } + if (this._startAt) { + if (time >= 0) { + this._startAt.render(time, suppressEvents, force); + } else if (!callback) { + callback = "_dummyGS"; //if no callback is defined, use a dummy value just so that the condition at the end evaluates as true because _startAt should render AFTER the normal render loop when the time is negative. We could handle this in a more intuitive way, of course, but the render loop is the MOST important thing to optimize, so this technique allows us to avoid adding extra conditional logic in a high-frequency area. + } + } + if (this.vars.onStart) if (this._totalTime !== 0 || duration === 0) if (!suppressEvents) { + this._callback("onStart"); + } + } + + pt = this._firstPT; + while (pt) { + if (pt.f) { + pt.t[pt.p](pt.c * this.ratio + pt.s); + } else { + pt.t[pt.p] = pt.c * this.ratio + pt.s; + } + pt = pt._next; + } + + if (this._onUpdate) { + if (time < 0) if (this._startAt && this._startTime) { //if the tween is positioned at the VERY beginning (_startTime 0) of its parent timeline, it's illegal for the playhead to go back further, so we should not render the recorded startAt values. + this._startAt.render(time, suppressEvents, force); //note: for performance reasons, we tuck this conditional logic inside less traveled areas (most tweens don't have an onUpdate). We'd just have it at the end before the onComplete, but the values should be updated before any onUpdate is called, so we ALSO put it here and then if it's not called, we do so later near the onComplete. + } + if (!suppressEvents) if (this._totalTime !== prevTotalTime || isComplete) { + this._callback("onUpdate"); + } + } + if (this._cycle !== prevCycle) if (!suppressEvents) if (!this._gc) if (this.vars.onRepeat) { + this._callback("onRepeat"); + } + if (callback) if (!this._gc || force) { //check gc because there's a chance that kill() could be called in an onUpdate + if (time < 0 && this._startAt && !this._onUpdate && this._startTime) { //if the tween is positioned at the VERY beginning (_startTime 0) of its parent timeline, it's illegal for the playhead to go back further, so we should not render the recorded startAt values. + this._startAt.render(time, suppressEvents, force); + } + if (isComplete) { + if (this._timeline.autoRemoveChildren) { + this._enabled(false, false); + } + this._active = false; + } + if (!suppressEvents && this.vars[callback]) { + this._callback(callback); + } + if (duration === 0 && this._rawPrevTime === _tinyNum && rawPrevTime !== _tinyNum) { //the onComplete or onReverseComplete could trigger movement of the playhead and for zero-duration tweens (which must discern direction) that land directly back on their start time, we don't want to fire again on the next render. Think of several addPause()'s in a timeline that forces the playhead to a certain spot, but what if it's already paused and another tween is tweening the "time" of the timeline? Each time it moves [forward] past that spot, it would move back, and since suppressEvents is true, it'd reset _rawPrevTime to _tinyNum so that when it begins again, the callback would fire (so ultimately it could bounce back and forth during that tween). Again, this is a very uncommon scenario, but possible nonetheless. + this._rawPrevTime = 0; + } + } + }; + +//---- STATIC FUNCTIONS ----------------------------------------------------------------------------------------------------------- + + TweenMax.to = function(target, duration, vars) { + return new TweenMax(target, duration, vars); + }; + + TweenMax.from = function(target, duration, vars) { + vars.runBackwards = true; + vars.immediateRender = (vars.immediateRender != false); + return new TweenMax(target, duration, vars); + }; + + TweenMax.fromTo = function(target, duration, fromVars, toVars) { + toVars.startAt = fromVars; + toVars.immediateRender = (toVars.immediateRender != false && fromVars.immediateRender != false); + return new TweenMax(target, duration, toVars); + }; + + TweenMax.staggerTo = TweenMax.allTo = function(targets, duration, vars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + stagger = stagger || 0; + var delay = vars.delay || 0, + a = [], + finalComplete = function() { + if (vars.onComplete) { + vars.onComplete.apply(vars.onCompleteScope || this, arguments); + } + onCompleteAll.apply(onCompleteAllScope || vars.callbackScope || this, onCompleteAllParams || _blankArray); + }, + cycle = vars.cycle, + fromCycle = (vars.startAt && vars.startAt.cycle), + l, copy, i, p; + if (!_isArray(targets)) { + if (typeof(targets) === "string") { + targets = TweenLite.selector(targets) || targets; + } + if (_isSelector(targets)) { + targets = _slice(targets); + } + } + targets = targets || []; + if (stagger < 0) { + targets = _slice(targets); + targets.reverse(); + stagger *= -1; + } + l = targets.length - 1; + for (i = 0; i <= l; i++) { + copy = {}; + for (p in vars) { + copy[p] = vars[p]; + } + if (cycle) { + _applyCycle(copy, targets, i); + } + if (fromCycle) { + fromCycle = copy.startAt = {}; + for (p in vars.startAt) { + fromCycle[p] = vars.startAt[p]; + } + _applyCycle(copy.startAt, targets, i); + } + copy.delay = delay; + if (i === l && onCompleteAll) { + copy.onComplete = finalComplete; + } + a[i] = new TweenMax(targets[i], duration, copy); + delay += stagger; + } + return a; + }; + + TweenMax.staggerFrom = TweenMax.allFrom = function(targets, duration, vars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + vars.runBackwards = true; + vars.immediateRender = (vars.immediateRender != false); + return TweenMax.staggerTo(targets, duration, vars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + TweenMax.staggerFromTo = TweenMax.allFromTo = function(targets, duration, fromVars, toVars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + toVars.startAt = fromVars; + toVars.immediateRender = (toVars.immediateRender != false && fromVars.immediateRender != false); + return TweenMax.staggerTo(targets, duration, toVars, stagger, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + TweenMax.delayedCall = function(delay, callback, params, scope, useFrames) { + return new TweenMax(callback, 0, {delay:delay, onComplete:callback, onCompleteParams:params, callbackScope:scope, onReverseComplete:callback, onReverseCompleteParams:params, immediateRender:false, useFrames:useFrames, overwrite:0}); + }; + + TweenMax.set = function(target, vars) { + return new TweenMax(target, 0, vars); + }; + + TweenMax.isTweening = function(target) { + return (TweenLite.getTweensOf(target, true).length > 0); + }; + + var _getChildrenOf = function(timeline, includeTimelines) { + var a = [], + cnt = 0, + tween = timeline._first; + while (tween) { + if (tween instanceof TweenLite) { + a[cnt++] = tween; + } else { + if (includeTimelines) { + a[cnt++] = tween; + } + a = a.concat(_getChildrenOf(tween, includeTimelines)); + cnt = a.length; + } + tween = tween._next; + } + return a; + }, + getAllTweens = TweenMax.getAllTweens = function(includeTimelines) { + return _getChildrenOf(Animation._rootTimeline, includeTimelines).concat( _getChildrenOf(Animation._rootFramesTimeline, includeTimelines) ); + }; + + TweenMax.killAll = function(complete, tweens, delayedCalls, timelines) { + if (tweens == null) { + tweens = true; + } + if (delayedCalls == null) { + delayedCalls = true; + } + var a = getAllTweens((timelines != false)), + l = a.length, + allTrue = (tweens && delayedCalls && timelines), + isDC, tween, i; + for (i = 0; i < l; i++) { + tween = a[i]; + if (allTrue || (tween instanceof SimpleTimeline) || ((isDC = (tween.target === tween.vars.onComplete)) && delayedCalls) || (tweens && !isDC)) { + if (complete) { + tween.totalTime(tween._reversed ? 0 : tween.totalDuration()); + } else { + tween._enabled(false, false); + } + } + } + }; + + TweenMax.killChildTweensOf = function(parent, complete) { + if (parent == null) { + return; + } + var tl = TweenLiteInternals.tweenLookup, + a, curParent, p, i, l; + if (typeof(parent) === "string") { + parent = TweenLite.selector(parent) || parent; + } + if (_isSelector(parent)) { + parent = _slice(parent); + } + if (_isArray(parent)) { + i = parent.length; + while (--i > -1) { + TweenMax.killChildTweensOf(parent[i], complete); + } + return; + } + a = []; + for (p in tl) { + curParent = tl[p].target.parentNode; + while (curParent) { + if (curParent === parent) { + a = a.concat(tl[p].tweens); + } + curParent = curParent.parentNode; + } + } + l = a.length; + for (i = 0; i < l; i++) { + if (complete) { + a[i].totalTime(a[i].totalDuration()); + } + a[i]._enabled(false, false); + } + }; + + var _changePause = function(pause, tweens, delayedCalls, timelines) { + tweens = (tweens !== false); + delayedCalls = (delayedCalls !== false); + timelines = (timelines !== false); + var a = getAllTweens(timelines), + allTrue = (tweens && delayedCalls && timelines), + i = a.length, + isDC, tween; + while (--i > -1) { + tween = a[i]; + if (allTrue || (tween instanceof SimpleTimeline) || ((isDC = (tween.target === tween.vars.onComplete)) && delayedCalls) || (tweens && !isDC)) { + tween.paused(pause); + } + } + }; + + TweenMax.pauseAll = function(tweens, delayedCalls, timelines) { + _changePause(true, tweens, delayedCalls, timelines); + }; + + TweenMax.resumeAll = function(tweens, delayedCalls, timelines) { + _changePause(false, tweens, delayedCalls, timelines); + }; + + TweenMax.globalTimeScale = function(value) { + var tl = Animation._rootTimeline, + t = TweenLite.ticker.time; + if (!arguments.length) { + return tl._timeScale; + } + value = value || _tinyNum; //can't allow zero because it'll throw the math off + tl._startTime = t - ((t - tl._startTime) * tl._timeScale / value); + tl = Animation._rootFramesTimeline; + t = TweenLite.ticker.frame; + tl._startTime = t - ((t - tl._startTime) * tl._timeScale / value); + tl._timeScale = Animation._rootTimeline._timeScale = value; + return value; + }; + + +//---- GETTERS / SETTERS ---------------------------------------------------------------------------------------------------------- + + p.progress = function(value) { + return (!arguments.length) ? this._time / this.duration() : this.totalTime( this.duration() * ((this._yoyo && (this._cycle & 1) !== 0) ? 1 - value : value) + (this._cycle * (this._duration + this._repeatDelay)), false); + }; + + p.totalProgress = function(value) { + return (!arguments.length) ? this._totalTime / this.totalDuration() : this.totalTime( this.totalDuration() * value, false); + }; + + p.time = function(value, suppressEvents) { + if (!arguments.length) { + return this._time; + } + if (this._dirty) { + this.totalDuration(); + } + if (value > this._duration) { + value = this._duration; + } + if (this._yoyo && (this._cycle & 1) !== 0) { + value = (this._duration - value) + (this._cycle * (this._duration + this._repeatDelay)); + } else if (this._repeat !== 0) { + value += this._cycle * (this._duration + this._repeatDelay); + } + return this.totalTime(value, suppressEvents); + }; + + p.duration = function(value) { + if (!arguments.length) { + return this._duration; //don't set _dirty = false because there could be repeats that haven't been factored into the _totalDuration yet. Otherwise, if you create a repeated TweenMax and then immediately check its duration(), it would cache the value and the totalDuration would not be correct, thus repeats wouldn't take effect. + } + return Animation.prototype.duration.call(this, value); + }; + + p.totalDuration = function(value) { + if (!arguments.length) { + if (this._dirty) { + //instead of Infinity, we use 999999999999 so that we can accommodate reverses + this._totalDuration = (this._repeat === -1) ? 999999999999 : this._duration * (this._repeat + 1) + (this._repeatDelay * this._repeat); + this._dirty = false; + } + return this._totalDuration; + } + return (this._repeat === -1) ? this : this.duration( (value - (this._repeat * this._repeatDelay)) / (this._repeat + 1) ); + }; + + p.repeat = function(value) { + if (!arguments.length) { + return this._repeat; + } + this._repeat = value; + return this._uncache(true); + }; + + p.repeatDelay = function(value) { + if (!arguments.length) { + return this._repeatDelay; + } + this._repeatDelay = value; + return this._uncache(true); + }; + + p.yoyo = function(value) { + if (!arguments.length) { + return this._yoyo; + } + this._yoyo = value; + return this; + }; + + + return TweenMax; + + }, true); + + + + + + + + +/* + * ---------------------------------------------------------------- + * TimelineLite + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("TimelineLite", ["core.Animation","core.SimpleTimeline","TweenLite"], function(Animation, SimpleTimeline, TweenLite) { + + var TimelineLite = function(vars) { + SimpleTimeline.call(this, vars); + this._labels = {}; + this.autoRemoveChildren = (this.vars.autoRemoveChildren === true); + this.smoothChildTiming = (this.vars.smoothChildTiming === true); + this._sortChildren = true; + this._onUpdate = this.vars.onUpdate; + var v = this.vars, + val, p; + for (p in v) { + val = v[p]; + if (_isArray(val)) if (val.join("").indexOf("{self}") !== -1) { + v[p] = this._swapSelfInParams(val); + } + } + if (_isArray(v.tweens)) { + this.add(v.tweens, 0, v.align, v.stagger); + } + }, + _tinyNum = 0.0000000001, + TweenLiteInternals = TweenLite._internals, + _internals = TimelineLite._internals = {}, + _isSelector = TweenLiteInternals.isSelector, + _isArray = TweenLiteInternals.isArray, + _lazyTweens = TweenLiteInternals.lazyTweens, + _lazyRender = TweenLiteInternals.lazyRender, + _globals = _gsScope._gsDefine.globals, + _copy = function(vars) { + var copy = {}, p; + for (p in vars) { + copy[p] = vars[p]; + } + return copy; + }, + _applyCycle = function(vars, targets, i) { + var alt = vars.cycle, + p, val; + for (p in alt) { + val = alt[p]; + vars[p] = (typeof(val) === "function") ? val.call(targets[i], i) : val[i % val.length]; + } + delete vars.cycle; + }, + _pauseCallback = _internals.pauseCallback = function() {}, + _slice = function(a) { //don't use [].slice because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + var b = [], + l = a.length, + i; + for (i = 0; i !== l; b.push(a[i++])); + return b; + }, + p = TimelineLite.prototype = new SimpleTimeline(); + + TimelineLite.version = "1.18.0"; + p.constructor = TimelineLite; + p.kill()._gc = p._forcingPlayhead = p._hasPause = false; + + /* might use later... + //translates a local time inside an animation to the corresponding time on the root/global timeline, factoring in all nesting and timeScales. + function localToGlobal(time, animation) { + while (animation) { + time = (time / animation._timeScale) + animation._startTime; + animation = animation.timeline; + } + return time; + } + + //translates the supplied time on the root/global timeline into the corresponding local time inside a particular animation, factoring in all nesting and timeScales + function globalToLocal(time, animation) { + var scale = 1; + time -= localToGlobal(0, animation); + while (animation) { + scale *= animation._timeScale; + animation = animation.timeline; + } + return time * scale; + } + */ + + p.to = function(target, duration, vars, position) { + var Engine = (vars.repeat && _globals.TweenMax) || TweenLite; + return duration ? this.add( new Engine(target, duration, vars), position) : this.set(target, vars, position); + }; + + p.from = function(target, duration, vars, position) { + return this.add( ((vars.repeat && _globals.TweenMax) || TweenLite).from(target, duration, vars), position); + }; + + p.fromTo = function(target, duration, fromVars, toVars, position) { + var Engine = (toVars.repeat && _globals.TweenMax) || TweenLite; + return duration ? this.add( Engine.fromTo(target, duration, fromVars, toVars), position) : this.set(target, toVars, position); + }; + + p.staggerTo = function(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + var tl = new TimelineLite({onComplete:onCompleteAll, onCompleteParams:onCompleteAllParams, callbackScope:onCompleteAllScope, smoothChildTiming:this.smoothChildTiming}), + cycle = vars.cycle, + copy, i; + if (typeof(targets) === "string") { + targets = TweenLite.selector(targets) || targets; + } + targets = targets || []; + if (_isSelector(targets)) { //senses if the targets object is a selector. If it is, we should translate it into an array. + targets = _slice(targets); + } + stagger = stagger || 0; + if (stagger < 0) { + targets = _slice(targets); + targets.reverse(); + stagger *= -1; + } + for (i = 0; i < targets.length; i++) { + copy = _copy(vars); + if (copy.startAt) { + copy.startAt = _copy(copy.startAt); + if (copy.startAt.cycle) { + _applyCycle(copy.startAt, targets, i); + } + } + if (cycle) { + _applyCycle(copy, targets, i); + } + tl.to(targets[i], duration, copy, i * stagger); + } + return this.add(tl, position); + }; + + p.staggerFrom = function(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + vars.immediateRender = (vars.immediateRender != false); + vars.runBackwards = true; + return this.staggerTo(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + p.staggerFromTo = function(targets, duration, fromVars, toVars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope) { + toVars.startAt = fromVars; + toVars.immediateRender = (toVars.immediateRender != false && fromVars.immediateRender != false); + return this.staggerTo(targets, duration, toVars, stagger, position, onCompleteAll, onCompleteAllParams, onCompleteAllScope); + }; + + p.call = function(callback, params, scope, position) { + return this.add( TweenLite.delayedCall(0, callback, params, scope), position); + }; + + p.set = function(target, vars, position) { + position = this._parseTimeOrLabel(position, 0, true); + if (vars.immediateRender == null) { + vars.immediateRender = (position === this._time && !this._paused); + } + return this.add( new TweenLite(target, 0, vars), position); + }; + + TimelineLite.exportRoot = function(vars, ignoreDelayedCalls) { + vars = vars || {}; + if (vars.smoothChildTiming == null) { + vars.smoothChildTiming = true; + } + var tl = new TimelineLite(vars), + root = tl._timeline, + tween, next; + if (ignoreDelayedCalls == null) { + ignoreDelayedCalls = true; + } + root._remove(tl, true); + tl._startTime = 0; + tl._rawPrevTime = tl._time = tl._totalTime = root._time; + tween = root._first; + while (tween) { + next = tween._next; + if (!ignoreDelayedCalls || !(tween instanceof TweenLite && tween.target === tween.vars.onComplete)) { + tl.add(tween, tween._startTime - tween._delay); + } + tween = next; + } + root.add(tl, 0); + return tl; + }; + + p.add = function(value, position, align, stagger) { + var curTime, l, i, child, tl, beforeRawTime; + if (typeof(position) !== "number") { + position = this._parseTimeOrLabel(position, 0, true, value); + } + if (!(value instanceof Animation)) { + if ((value instanceof Array) || (value && value.push && _isArray(value))) { + align = align || "normal"; + stagger = stagger || 0; + curTime = position; + l = value.length; + for (i = 0; i < l; i++) { + if (_isArray(child = value[i])) { + child = new TimelineLite({tweens:child}); + } + this.add(child, curTime); + if (typeof(child) !== "string" && typeof(child) !== "function") { + if (align === "sequence") { + curTime = child._startTime + (child.totalDuration() / child._timeScale); + } else if (align === "start") { + child._startTime -= child.delay(); + } + } + curTime += stagger; + } + return this._uncache(true); + } else if (typeof(value) === "string") { + return this.addLabel(value, position); + } else if (typeof(value) === "function") { + value = TweenLite.delayedCall(0, value); + } else { + throw("Cannot add " + value + " into the timeline; it is not a tween, timeline, function, or string."); + } + } + + SimpleTimeline.prototype.add.call(this, value, position); + + //if the timeline has already ended but the inserted tween/timeline extends the duration, we should enable this timeline again so that it renders properly. We should also align the playhead with the parent timeline's when appropriate. + if (this._gc || this._time === this._duration) if (!this._paused) if (this._duration < this.duration()) { + //in case any of the ancestors had completed but should now be enabled... + tl = this; + beforeRawTime = (tl.rawTime() > value._startTime); //if the tween is placed on the timeline so that it starts BEFORE the current rawTime, we should align the playhead (move the timeline). This is because sometimes users will create a timeline, let it finish, and much later append a tween and expect it to run instead of jumping to its end state. While technically one could argue that it should jump to its end state, that's not what users intuitively expect. + while (tl._timeline) { + if (beforeRawTime && tl._timeline.smoothChildTiming) { + tl.totalTime(tl._totalTime, true); //moves the timeline (shifts its startTime) if necessary, and also enables it. + } else if (tl._gc) { + tl._enabled(true, false); + } + tl = tl._timeline; + } + } + + return this; + }; + + p.remove = function(value) { + if (value instanceof Animation) { + this._remove(value, false); + var tl = value._timeline = value.vars.useFrames ? Animation._rootFramesTimeline : Animation._rootTimeline; //now that it's removed, default it to the root timeline so that if it gets played again, it doesn't jump back into this timeline. + value._startTime = (value._paused ? value._pauseTime : tl._time) - ((!value._reversed ? value._totalTime : value.totalDuration() - value._totalTime) / value._timeScale); //ensure that if it gets played again, the timing is correct. + return this; + } else if (value instanceof Array || (value && value.push && _isArray(value))) { + var i = value.length; + while (--i > -1) { + this.remove(value[i]); + } + return this; + } else if (typeof(value) === "string") { + return this.removeLabel(value); + } + return this.kill(null, value); + }; + + p._remove = function(tween, skipDisable) { + SimpleTimeline.prototype._remove.call(this, tween, skipDisable); + var last = this._last; + if (!last) { + this._time = this._totalTime = this._duration = this._totalDuration = 0; + } else if (this._time > last._startTime + last._totalDuration / last._timeScale) { + this._time = this.duration(); + this._totalTime = this._totalDuration; + } + return this; + }; + + p.append = function(value, offsetOrLabel) { + return this.add(value, this._parseTimeOrLabel(null, offsetOrLabel, true, value)); + }; + + p.insert = p.insertMultiple = function(value, position, align, stagger) { + return this.add(value, position || 0, align, stagger); + }; + + p.appendMultiple = function(tweens, offsetOrLabel, align, stagger) { + return this.add(tweens, this._parseTimeOrLabel(null, offsetOrLabel, true, tweens), align, stagger); + }; + + p.addLabel = function(label, position) { + this._labels[label] = this._parseTimeOrLabel(position); + return this; + }; + + p.addPause = function(position, callback, params, scope) { + var t = TweenLite.delayedCall(0, _pauseCallback, params, scope || this); + t.vars.onComplete = t.vars.onReverseComplete = callback; + t.data = "isPause"; + this._hasPause = true; + return this.add(t, position); + }; + + p.removeLabel = function(label) { + delete this._labels[label]; + return this; + }; + + p.getLabelTime = function(label) { + return (this._labels[label] != null) ? this._labels[label] : -1; + }; + + p._parseTimeOrLabel = function(timeOrLabel, offsetOrLabel, appendIfAbsent, ignore) { + var i; + //if we're about to add a tween/timeline (or an array of them) that's already a child of this timeline, we should remove it first so that it doesn't contaminate the duration(). + if (ignore instanceof Animation && ignore.timeline === this) { + this.remove(ignore); + } else if (ignore && ((ignore instanceof Array) || (ignore.push && _isArray(ignore)))) { + i = ignore.length; + while (--i > -1) { + if (ignore[i] instanceof Animation && ignore[i].timeline === this) { + this.remove(ignore[i]); + } + } + } + if (typeof(offsetOrLabel) === "string") { + return this._parseTimeOrLabel(offsetOrLabel, (appendIfAbsent && typeof(timeOrLabel) === "number" && this._labels[offsetOrLabel] == null) ? timeOrLabel - this.duration() : 0, appendIfAbsent); + } + offsetOrLabel = offsetOrLabel || 0; + if (typeof(timeOrLabel) === "string" && (isNaN(timeOrLabel) || this._labels[timeOrLabel] != null)) { //if the string is a number like "1", check to see if there's a label with that name, otherwise interpret it as a number (absolute value). + i = timeOrLabel.indexOf("="); + if (i === -1) { + if (this._labels[timeOrLabel] == null) { + return appendIfAbsent ? (this._labels[timeOrLabel] = this.duration() + offsetOrLabel) : offsetOrLabel; + } + return this._labels[timeOrLabel] + offsetOrLabel; + } + offsetOrLabel = parseInt(timeOrLabel.charAt(i-1) + "1", 10) * Number(timeOrLabel.substr(i+1)); + timeOrLabel = (i > 1) ? this._parseTimeOrLabel(timeOrLabel.substr(0, i-1), 0, appendIfAbsent) : this.duration(); + } else if (timeOrLabel == null) { + timeOrLabel = this.duration(); + } + return Number(timeOrLabel) + offsetOrLabel; + }; + + p.seek = function(position, suppressEvents) { + return this.totalTime((typeof(position) === "number") ? position : this._parseTimeOrLabel(position), (suppressEvents !== false)); + }; + + p.stop = function() { + return this.paused(true); + }; + + p.gotoAndPlay = function(position, suppressEvents) { + return this.play(position, suppressEvents); + }; + + p.gotoAndStop = function(position, suppressEvents) { + return this.pause(position, suppressEvents); + }; + + p.render = function(time, suppressEvents, force) { + if (this._gc) { + this._enabled(true, false); + } + var totalDur = (!this._dirty) ? this._totalDuration : this.totalDuration(), + prevTime = this._time, + prevStart = this._startTime, + prevTimeScale = this._timeScale, + prevPaused = this._paused, + tween, isComplete, next, callback, internalForce, pauseTween; + if (time >= totalDur) { + this._totalTime = this._time = totalDur; + if (!this._reversed) if (!this._hasPausedChild()) { + isComplete = true; + callback = "onComplete"; + internalForce = !!this._timeline.autoRemoveChildren; //otherwise, if the animation is unpaused/activated after it's already finished, it doesn't get removed from the parent timeline. + if (this._duration === 0) if (time === 0 || this._rawPrevTime < 0 || this._rawPrevTime === _tinyNum) if (this._rawPrevTime !== time && this._first) { + internalForce = true; + if (this._rawPrevTime > _tinyNum) { + callback = "onReverseComplete"; + } + } + } + this._rawPrevTime = (this._duration || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + time = totalDur + 0.0001; //to avoid occasional floating point rounding errors - sometimes child tweens/timelines were not being fully completed (their progress might be 0.999999999999998 instead of 1 because when _time - tween._startTime is performed, floating point errors would return a value that was SLIGHTLY off). Try (999999999999.7 - 999999999999) * 1 = 0.699951171875 instead of 0.7. + + } else if (time < 0.0000001) { //to work around occasional floating point math artifacts, round super small values to 0. + this._totalTime = this._time = 0; + if (prevTime !== 0 || (this._duration === 0 && this._rawPrevTime !== _tinyNum && (this._rawPrevTime > 0 || (time < 0 && this._rawPrevTime >= 0)))) { + callback = "onReverseComplete"; + isComplete = this._reversed; + } + if (time < 0) { + this._active = false; + if (this._timeline.autoRemoveChildren && this._reversed) { //ensures proper GC if a timeline is resumed after it's finished reversing. + internalForce = isComplete = true; + callback = "onReverseComplete"; + } else if (this._rawPrevTime >= 0 && this._first) { //when going back beyond the start, force a render so that zero-duration tweens that sit at the very beginning render their start values properly. Otherwise, if the parent timeline's playhead lands exactly at this timeline's startTime, and then moves backwards, the zero-duration tweens at the beginning would still be at their end state. + internalForce = true; + } + this._rawPrevTime = time; + } else { + this._rawPrevTime = (this._duration || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + if (time === 0 && isComplete) { //if there's a zero-duration tween at the very beginning of a timeline and the playhead lands EXACTLY at time 0, that tween will correctly render its end values, but we need to keep the timeline alive for one more render so that the beginning values render properly as the parent's playhead keeps moving beyond the begining. Imagine obj.x starts at 0 and then we do tl.set(obj, {x:100}).to(obj, 1, {x:200}) and then later we tl.reverse()...the goal is to have obj.x revert to 0. If the playhead happens to land on exactly 0, without this chunk of code, it'd complete the timeline and remove it from the rendering queue (not good). + tween = this._first; + while (tween && tween._startTime === 0) { + if (!tween._duration) { + isComplete = false; + } + tween = tween._next; + } + } + time = 0; //to avoid occasional floating point rounding errors (could cause problems especially with zero-duration tweens at the very beginning of the timeline) + if (!this._initted) { + internalForce = true; + } + } + + } else { + + if (this._hasPause && !this._forcingPlayhead && !suppressEvents) { + if (time >= prevTime) { + tween = this._first; + while (tween && tween._startTime <= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && !tween.ratio && !(tween._startTime === 0 && this._rawPrevTime === 0)) { + pauseTween = tween; + } + tween = tween._next; + } + } else { + tween = this._last; + while (tween && tween._startTime >= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && tween._rawPrevTime > 0) { + pauseTween = tween; + } + tween = tween._prev; + } + } + if (pauseTween) { + this._time = time = pauseTween._startTime; + this._totalTime = time + (this._cycle * (this._totalDuration + this._repeatDelay)); + } + } + + this._totalTime = this._time = this._rawPrevTime = time; + } + if ((this._time === prevTime || !this._first) && !force && !internalForce && !pauseTween) { + return; + } else if (!this._initted) { + this._initted = true; + } + + if (!this._active) if (!this._paused && this._time !== prevTime && time > 0) { + this._active = true; //so that if the user renders the timeline (as opposed to the parent timeline rendering it), it is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the timeline already finished but the user manually re-renders it as halfway done, for example. + } + + if (prevTime === 0) if (this.vars.onStart) if (this._time !== 0) if (!suppressEvents) { + this._callback("onStart"); + } + + if (this._time >= prevTime) { + tween = this._first; + while (tween) { + next = tween._next; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= this._time && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } else { + tween = this._last; + while (tween) { + next = tween._prev; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= prevTime && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + pauseTween = tween._prev; //the linked list is organized by _startTime, thus it's possible that a tween could start BEFORE the pause and end after it, in which case it would be positioned before the pause tween in the linked list, but we should render it before we pause() the timeline and cease rendering. This is only a concern when going in reverse. + while (pauseTween && pauseTween.endTime() > this._time) { + pauseTween.render( (pauseTween._reversed ? pauseTween.totalDuration() - ((time - pauseTween._startTime) * pauseTween._timeScale) : (time - pauseTween._startTime) * pauseTween._timeScale), suppressEvents, force); + pauseTween = pauseTween._prev; + } + pauseTween = null; + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } + + if (this._onUpdate) if (!suppressEvents) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onUpdate on a timeline that reports/checks tweened values. + _lazyRender(); + } + this._callback("onUpdate"); + } + + if (callback) if (!this._gc) if (prevStart === this._startTime || prevTimeScale !== this._timeScale) if (this._time === 0 || totalDur >= this.totalDuration()) { //if one of the tweens that was rendered altered this timeline's startTime (like if an onComplete reversed the timeline), it probably isn't complete. If it is, don't worry, because whatever call altered the startTime would complete if it was necessary at the new time. The only exception is the timeScale property. Also check _gc because there's a chance that kill() could be called in an onUpdate + if (isComplete) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onComplete on a timeline that reports/checks tweened values. + _lazyRender(); + } + if (this._timeline.autoRemoveChildren) { + this._enabled(false, false); + } + this._active = false; + } + if (!suppressEvents && this.vars[callback]) { + this._callback(callback); + } + } + }; + + p._hasPausedChild = function() { + var tween = this._first; + while (tween) { + if (tween._paused || ((tween instanceof TimelineLite) && tween._hasPausedChild())) { + return true; + } + tween = tween._next; + } + return false; + }; + + p.getChildren = function(nested, tweens, timelines, ignoreBeforeTime) { + ignoreBeforeTime = ignoreBeforeTime || -9999999999; + var a = [], + tween = this._first, + cnt = 0; + while (tween) { + if (tween._startTime < ignoreBeforeTime) { + //do nothing + } else if (tween instanceof TweenLite) { + if (tweens !== false) { + a[cnt++] = tween; + } + } else { + if (timelines !== false) { + a[cnt++] = tween; + } + if (nested !== false) { + a = a.concat(tween.getChildren(true, tweens, timelines)); + cnt = a.length; + } + } + tween = tween._next; + } + return a; + }; + + p.getTweensOf = function(target, nested) { + var disabled = this._gc, + a = [], + cnt = 0, + tweens, i; + if (disabled) { + this._enabled(true, true); //getTweensOf() filters out disabled tweens, and we have to mark them as _gc = true when the timeline completes in order to allow clean garbage collection, so temporarily re-enable the timeline here. + } + tweens = TweenLite.getTweensOf(target); + i = tweens.length; + while (--i > -1) { + if (tweens[i].timeline === this || (nested && this._contains(tweens[i]))) { + a[cnt++] = tweens[i]; + } + } + if (disabled) { + this._enabled(false, true); + } + return a; + }; + + p.recent = function() { + return this._recent; + }; + + p._contains = function(tween) { + var tl = tween.timeline; + while (tl) { + if (tl === this) { + return true; + } + tl = tl.timeline; + } + return false; + }; + + p.shiftChildren = function(amount, adjustLabels, ignoreBeforeTime) { + ignoreBeforeTime = ignoreBeforeTime || 0; + var tween = this._first, + labels = this._labels, + p; + while (tween) { + if (tween._startTime >= ignoreBeforeTime) { + tween._startTime += amount; + } + tween = tween._next; + } + if (adjustLabels) { + for (p in labels) { + if (labels[p] >= ignoreBeforeTime) { + labels[p] += amount; + } + } + } + return this._uncache(true); + }; + + p._kill = function(vars, target) { + if (!vars && !target) { + return this._enabled(false, false); + } + var tweens = (!target) ? this.getChildren(true, true, false) : this.getTweensOf(target), + i = tweens.length, + changed = false; + while (--i > -1) { + if (tweens[i]._kill(vars, target)) { + changed = true; + } + } + return changed; + }; + + p.clear = function(labels) { + var tweens = this.getChildren(false, true, true), + i = tweens.length; + this._time = this._totalTime = 0; + while (--i > -1) { + tweens[i]._enabled(false, false); + } + if (labels !== false) { + this._labels = {}; + } + return this._uncache(true); + }; + + p.invalidate = function() { + var tween = this._first; + while (tween) { + tween.invalidate(); + tween = tween._next; + } + return Animation.prototype.invalidate.call(this);; + }; + + p._enabled = function(enabled, ignoreTimeline) { + if (enabled === this._gc) { + var tween = this._first; + while (tween) { + tween._enabled(enabled, true); + tween = tween._next; + } + } + return SimpleTimeline.prototype._enabled.call(this, enabled, ignoreTimeline); + }; + + p.totalTime = function(time, suppressEvents, uncapped) { + this._forcingPlayhead = true; + var val = Animation.prototype.totalTime.apply(this, arguments); + this._forcingPlayhead = false; + return val; + }; + + p.duration = function(value) { + if (!arguments.length) { + if (this._dirty) { + this.totalDuration(); //just triggers recalculation + } + return this._duration; + } + if (this.duration() !== 0 && value !== 0) { + this.timeScale(this._duration / value); + } + return this; + }; + + p.totalDuration = function(value) { + if (!arguments.length) { + if (this._dirty) { + var max = 0, + tween = this._last, + prevStart = 999999999999, + prev, end; + while (tween) { + prev = tween._prev; //record it here in case the tween changes position in the sequence... + if (tween._dirty) { + tween.totalDuration(); //could change the tween._startTime, so make sure the tween's cache is clean before analyzing it. + } + if (tween._startTime > prevStart && this._sortChildren && !tween._paused) { //in case one of the tweens shifted out of order, it needs to be re-inserted into the correct position in the sequence + this.add(tween, tween._startTime - tween._delay); + } else { + prevStart = tween._startTime; + } + if (tween._startTime < 0 && !tween._paused) { //children aren't allowed to have negative startTimes unless smoothChildTiming is true, so adjust here if one is found. + max -= tween._startTime; + if (this._timeline.smoothChildTiming) { + this._startTime += tween._startTime / this._timeScale; + } + this.shiftChildren(-tween._startTime, false, -9999999999); + prevStart = 0; + } + end = tween._startTime + (tween._totalDuration / tween._timeScale); + if (end > max) { + max = end; + } + tween = prev; + } + this._duration = this._totalDuration = max; + this._dirty = false; + } + return this._totalDuration; + } + if (this.totalDuration() !== 0) if (value !== 0) { + this.timeScale(this._totalDuration / value); + } + return this; + }; + + p.paused = function(value) { + if (!value) { //if there's a pause directly at the spot from where we're unpausing, skip it. + var tween = this._first, + time = this._time; + while (tween) { + if (tween._startTime === time && tween.data === "isPause") { + tween._rawPrevTime = 0; //remember, _rawPrevTime is how zero-duration tweens/callbacks sense directionality and determine whether or not to fire. If _rawPrevTime is the same as _startTime on the next render, it won't fire. + } + tween = tween._next; + } + } + return Animation.prototype.paused.apply(this, arguments); + }; + + p.usesFrames = function() { + var tl = this._timeline; + while (tl._timeline) { + tl = tl._timeline; + } + return (tl === Animation._rootFramesTimeline); + }; + + p.rawTime = function() { + return this._paused ? this._totalTime : (this._timeline.rawTime() - this._startTime) * this._timeScale; + }; + + return TimelineLite; + + }, true); + + + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * TimelineMax + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("TimelineMax", ["TimelineLite","TweenLite","easing.Ease"], function(TimelineLite, TweenLite, Ease) { + + var TimelineMax = function(vars) { + TimelineLite.call(this, vars); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._cycle = 0; + this._yoyo = (this.vars.yoyo === true); + this._dirty = true; + }, + _tinyNum = 0.0000000001, + TweenLiteInternals = TweenLite._internals, + _lazyTweens = TweenLiteInternals.lazyTweens, + _lazyRender = TweenLiteInternals.lazyRender, + _easeNone = new Ease(null, null, 1, 0), + p = TimelineMax.prototype = new TimelineLite(); + + p.constructor = TimelineMax; + p.kill()._gc = false; + TimelineMax.version = "1.18.0"; + + p.invalidate = function() { + this._yoyo = (this.vars.yoyo === true); + this._repeat = this.vars.repeat || 0; + this._repeatDelay = this.vars.repeatDelay || 0; + this._uncache(true); + return TimelineLite.prototype.invalidate.call(this); + }; + + p.addCallback = function(callback, position, params, scope) { + return this.add( TweenLite.delayedCall(0, callback, params, scope), position); + }; + + p.removeCallback = function(callback, position) { + if (callback) { + if (position == null) { + this._kill(null, callback); + } else { + var a = this.getTweensOf(callback, false), + i = a.length, + time = this._parseTimeOrLabel(position); + while (--i > -1) { + if (a[i]._startTime === time) { + a[i]._enabled(false, false); + } + } + } + } + return this; + }; + + p.removePause = function(position) { + return this.removeCallback(TimelineLite._internals.pauseCallback, position); + }; + + p.tweenTo = function(position, vars) { + vars = vars || {}; + var copy = {ease:_easeNone, useFrames:this.usesFrames(), immediateRender:false}, + duration, p, t; + for (p in vars) { + copy[p] = vars[p]; + } + copy.time = this._parseTimeOrLabel(position); + duration = (Math.abs(Number(copy.time) - this._time) / this._timeScale) || 0.001; + t = new TweenLite(this, duration, copy); + copy.onStart = function() { + t.target.paused(true); + if (t.vars.time !== t.target.time() && duration === t.duration()) { //don't make the duration zero - if it's supposed to be zero, don't worry because it's already initting the tween and will complete immediately, effectively making the duration zero anyway. If we make duration zero, the tween won't run at all. + t.duration( Math.abs( t.vars.time - t.target.time()) / t.target._timeScale ); + } + if (vars.onStart) { //in case the user had an onStart in the vars - we don't want to overwrite it. + t._callback("onStart"); + } + }; + return t; + }; + + p.tweenFromTo = function(fromPosition, toPosition, vars) { + vars = vars || {}; + fromPosition = this._parseTimeOrLabel(fromPosition); + vars.startAt = {onComplete:this.seek, onCompleteParams:[fromPosition], callbackScope:this}; + vars.immediateRender = (vars.immediateRender !== false); + var t = this.tweenTo(toPosition, vars); + return t.duration((Math.abs( t.vars.time - fromPosition) / this._timeScale) || 0.001); + }; + + p.render = function(time, suppressEvents, force) { + if (this._gc) { + this._enabled(true, false); + } + var totalDur = (!this._dirty) ? this._totalDuration : this.totalDuration(), + dur = this._duration, + prevTime = this._time, + prevTotalTime = this._totalTime, + prevStart = this._startTime, + prevTimeScale = this._timeScale, + prevRawPrevTime = this._rawPrevTime, + prevPaused = this._paused, + prevCycle = this._cycle, + tween, isComplete, next, callback, internalForce, cycleDuration, pauseTween; + if (time >= totalDur) { + if (!this._locked) { + this._totalTime = totalDur; + this._cycle = this._repeat; + } + if (!this._reversed) if (!this._hasPausedChild()) { + isComplete = true; + callback = "onComplete"; + internalForce = !!this._timeline.autoRemoveChildren; //otherwise, if the animation is unpaused/activated after it's already finished, it doesn't get removed from the parent timeline. + if (this._duration === 0) if (time === 0 || prevRawPrevTime < 0 || prevRawPrevTime === _tinyNum) if (prevRawPrevTime !== time && this._first) { + internalForce = true; + if (prevRawPrevTime > _tinyNum) { + callback = "onReverseComplete"; + } + } + } + this._rawPrevTime = (this._duration || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + if (this._yoyo && (this._cycle & 1) !== 0) { + this._time = time = 0; + } else { + this._time = dur; + time = dur + 0.0001; //to avoid occasional floating point rounding errors - sometimes child tweens/timelines were not being fully completed (their progress might be 0.999999999999998 instead of 1 because when _time - tween._startTime is performed, floating point errors would return a value that was SLIGHTLY off). Try (999999999999.7 - 999999999999) * 1 = 0.699951171875 instead of 0.7. We cannot do less then 0.0001 because the same issue can occur when the duration is extremely large like 999999999999 in which case adding 0.00000001, for example, causes it to act like nothing was added. + } + + } else if (time < 0.0000001) { //to work around occasional floating point math artifacts, round super small values to 0. + if (!this._locked) { + this._totalTime = this._cycle = 0; + } + this._time = 0; + if (prevTime !== 0 || (dur === 0 && prevRawPrevTime !== _tinyNum && (prevRawPrevTime > 0 || (time < 0 && prevRawPrevTime >= 0)) && !this._locked)) { //edge case for checking time < 0 && prevRawPrevTime >= 0: a zero-duration fromTo() tween inside a zero-duration timeline (yeah, very rare) + callback = "onReverseComplete"; + isComplete = this._reversed; + } + if (time < 0) { + this._active = false; + if (this._timeline.autoRemoveChildren && this._reversed) { + internalForce = isComplete = true; + callback = "onReverseComplete"; + } else if (prevRawPrevTime >= 0 && this._first) { //when going back beyond the start, force a render so that zero-duration tweens that sit at the very beginning render their start values properly. Otherwise, if the parent timeline's playhead lands exactly at this timeline's startTime, and then moves backwards, the zero-duration tweens at the beginning would still be at their end state. + internalForce = true; + } + this._rawPrevTime = time; + } else { + this._rawPrevTime = (dur || !suppressEvents || time || this._rawPrevTime === time) ? time : _tinyNum; //when the playhead arrives at EXACTLY time 0 (right on top) of a zero-duration timeline or tween, we need to discern if events are suppressed so that when the playhead moves again (next time), it'll trigger the callback. If events are NOT suppressed, obviously the callback would be triggered in this render. Basically, the callback should fire either when the playhead ARRIVES or LEAVES this exact spot, not both. Imagine doing a timeline.seek(0) and there's a callback that sits at 0. Since events are suppressed on that seek() by default, nothing will fire, but when the playhead moves off of that position, the callback should fire. This behavior is what people intuitively expect. We set the _rawPrevTime to be a precise tiny number to indicate this scenario rather than using another property/variable which would increase memory usage. This technique is less readable, but more efficient. + if (time === 0 && isComplete) { //if there's a zero-duration tween at the very beginning of a timeline and the playhead lands EXACTLY at time 0, that tween will correctly render its end values, but we need to keep the timeline alive for one more render so that the beginning values render properly as the parent's playhead keeps moving beyond the begining. Imagine obj.x starts at 0 and then we do tl.set(obj, {x:100}).to(obj, 1, {x:200}) and then later we tl.reverse()...the goal is to have obj.x revert to 0. If the playhead happens to land on exactly 0, without this chunk of code, it'd complete the timeline and remove it from the rendering queue (not good). + tween = this._first; + while (tween && tween._startTime === 0) { + if (!tween._duration) { + isComplete = false; + } + tween = tween._next; + } + } + time = 0; //to avoid occasional floating point rounding errors (could cause problems especially with zero-duration tweens at the very beginning of the timeline) + if (!this._initted) { + internalForce = true; + } + } + + } else { + if (dur === 0 && prevRawPrevTime < 0) { //without this, zero-duration repeating timelines (like with a simple callback nested at the very beginning and a repeatDelay) wouldn't render the first time through. + internalForce = true; + } + this._time = this._rawPrevTime = time; + if (!this._locked) { + this._totalTime = time; + if (this._repeat !== 0) { + cycleDuration = dur + this._repeatDelay; + this._cycle = (this._totalTime / cycleDuration) >> 0; //originally _totalTime % cycleDuration but floating point errors caused problems, so I normalized it. (4 % 0.8 should be 0 but it gets reported as 0.79999999!) + if (this._cycle !== 0) if (this._cycle === this._totalTime / cycleDuration) { + this._cycle--; //otherwise when rendered exactly at the end time, it will act as though it is repeating (at the beginning) + } + this._time = this._totalTime - (this._cycle * cycleDuration); + if (this._yoyo) if ((this._cycle & 1) !== 0) { + this._time = dur - this._time; + } + if (this._time > dur) { + this._time = dur; + time = dur + 0.0001; //to avoid occasional floating point rounding error + } else if (this._time < 0) { + this._time = time = 0; + } else { + time = this._time; + } + } + } + + if (this._hasPause && !this._forcingPlayhead && !suppressEvents) { + time = this._time; + if (time >= prevTime) { + tween = this._first; + while (tween && tween._startTime <= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && !tween.ratio && !(tween._startTime === 0 && this._rawPrevTime === 0)) { + pauseTween = tween; + } + tween = tween._next; + } + } else { + tween = this._last; + while (tween && tween._startTime >= time && !pauseTween) { + if (!tween._duration) if (tween.data === "isPause" && tween._rawPrevTime > 0) { + pauseTween = tween; + } + tween = tween._prev; + } + } + if (pauseTween) { + this._time = time = pauseTween._startTime; + this._totalTime = time + (this._cycle * (this._totalDuration + this._repeatDelay)); + } + } + + } + + if (this._cycle !== prevCycle) if (!this._locked) { + /* + make sure children at the end/beginning of the timeline are rendered properly. If, for example, + a 3-second long timeline rendered at 2.9 seconds previously, and now renders at 3.2 seconds (which + would get transated to 2.8 seconds if the timeline yoyos or 0.2 seconds if it just repeats), there + could be a callback or a short tween that's at 2.95 or 3 seconds in which wouldn't render. So + we need to push the timeline to the end (and/or beginning depending on its yoyo value). Also we must + ensure that zero-duration tweens at the very beginning or end of the TimelineMax work. + */ + var backwards = (this._yoyo && (prevCycle & 1) !== 0), + wrap = (backwards === (this._yoyo && (this._cycle & 1) !== 0)), + recTotalTime = this._totalTime, + recCycle = this._cycle, + recRawPrevTime = this._rawPrevTime, + recTime = this._time; + + this._totalTime = prevCycle * dur; + if (this._cycle < prevCycle) { + backwards = !backwards; + } else { + this._totalTime += dur; + } + this._time = prevTime; //temporarily revert _time so that render() renders the children in the correct order. Without this, tweens won't rewind correctly. We could arhictect things in a "cleaner" way by splitting out the rendering queue into a separate method but for performance reasons, we kept it all inside this method. + + this._rawPrevTime = (dur === 0) ? prevRawPrevTime - 0.0001 : prevRawPrevTime; + this._cycle = prevCycle; + this._locked = true; //prevents changes to totalTime and skips repeat/yoyo behavior when we recursively call render() + prevTime = (backwards) ? 0 : dur; + this.render(prevTime, suppressEvents, (dur === 0)); + if (!suppressEvents) if (!this._gc) { + if (this.vars.onRepeat) { + this._callback("onRepeat"); + } + } + if (wrap) { + prevTime = (backwards) ? dur + 0.0001 : -0.0001; + this.render(prevTime, true, false); + } + this._locked = false; + if (this._paused && !prevPaused) { //if the render() triggered callback that paused this timeline, we should abort (very rare, but possible) + return; + } + this._time = recTime; + this._totalTime = recTotalTime; + this._cycle = recCycle; + this._rawPrevTime = recRawPrevTime; + } + + if ((this._time === prevTime || !this._first) && !force && !internalForce && !pauseTween) { + if (prevTotalTime !== this._totalTime) if (this._onUpdate) if (!suppressEvents) { //so that onUpdate fires even during the repeatDelay - as long as the totalTime changed, we should trigger onUpdate. + this._callback("onUpdate"); + } + return; + } else if (!this._initted) { + this._initted = true; + } + + if (!this._active) if (!this._paused && this._totalTime !== prevTotalTime && time > 0) { + this._active = true; //so that if the user renders the timeline (as opposed to the parent timeline rendering it), it is forced to re-render and align it with the proper time/frame on the next rendering cycle. Maybe the timeline already finished but the user manually re-renders it as halfway done, for example. + } + + if (prevTotalTime === 0) if (this.vars.onStart) if (this._totalTime !== 0) if (!suppressEvents) { + this._callback("onStart"); + } + + if (this._time >= prevTime) { + tween = this._first; + while (tween) { + next = tween._next; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= this._time && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } else { + tween = this._last; + while (tween) { + next = tween._prev; //record it here because the value could change after rendering... + if (this._paused && !prevPaused) { //in case a tween pauses the timeline when rendering + break; + } else if (tween._active || (tween._startTime <= prevTime && !tween._paused && !tween._gc)) { + if (pauseTween === tween) { + pauseTween = tween._prev; //the linked list is organized by _startTime, thus it's possible that a tween could start BEFORE the pause and end after it, in which case it would be positioned before the pause tween in the linked list, but we should render it before we pause() the timeline and cease rendering. This is only a concern when going in reverse. + while (pauseTween && pauseTween.endTime() > this._time) { + pauseTween.render( (pauseTween._reversed ? pauseTween.totalDuration() - ((time - pauseTween._startTime) * pauseTween._timeScale) : (time - pauseTween._startTime) * pauseTween._timeScale), suppressEvents, force); + pauseTween = pauseTween._prev; + } + pauseTween = null; + this.pause(); + } + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + } + + if (this._onUpdate) if (!suppressEvents) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onUpdate on a timeline that reports/checks tweened values. + _lazyRender(); + } + this._callback("onUpdate"); + } + if (callback) if (!this._locked) if (!this._gc) if (prevStart === this._startTime || prevTimeScale !== this._timeScale) if (this._time === 0 || totalDur >= this.totalDuration()) { //if one of the tweens that was rendered altered this timeline's startTime (like if an onComplete reversed the timeline), it probably isn't complete. If it is, don't worry, because whatever call altered the startTime would complete if it was necessary at the new time. The only exception is the timeScale property. Also check _gc because there's a chance that kill() could be called in an onUpdate + if (isComplete) { + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when a timeline finishes, users expect things to have rendered fully. Imagine an onComplete on a timeline that reports/checks tweened values. + _lazyRender(); + } + if (this._timeline.autoRemoveChildren) { + this._enabled(false, false); + } + this._active = false; + } + if (!suppressEvents && this.vars[callback]) { + this._callback(callback); + } + } + }; + + p.getActive = function(nested, tweens, timelines) { + if (nested == null) { + nested = true; + } + if (tweens == null) { + tweens = true; + } + if (timelines == null) { + timelines = false; + } + var a = [], + all = this.getChildren(nested, tweens, timelines), + cnt = 0, + l = all.length, + i, tween; + for (i = 0; i < l; i++) { + tween = all[i]; + if (tween.isActive()) { + a[cnt++] = tween; + } + } + return a; + }; + + + p.getLabelAfter = function(time) { + if (!time) if (time !== 0) { //faster than isNan() + time = this._time; + } + var labels = this.getLabelsArray(), + l = labels.length, + i; + for (i = 0; i < l; i++) { + if (labels[i].time > time) { + return labels[i].name; + } + } + return null; + }; + + p.getLabelBefore = function(time) { + if (time == null) { + time = this._time; + } + var labels = this.getLabelsArray(), + i = labels.length; + while (--i > -1) { + if (labels[i].time < time) { + return labels[i].name; + } + } + return null; + }; + + p.getLabelsArray = function() { + var a = [], + cnt = 0, + p; + for (p in this._labels) { + a[cnt++] = {time:this._labels[p], name:p}; + } + a.sort(function(a,b) { + return a.time - b.time; + }); + return a; + }; + + +//---- GETTERS / SETTERS ------------------------------------------------------------------------------------------------------- + + p.progress = function(value, suppressEvents) { + return (!arguments.length) ? this._time / this.duration() : this.totalTime( this.duration() * ((this._yoyo && (this._cycle & 1) !== 0) ? 1 - value : value) + (this._cycle * (this._duration + this._repeatDelay)), suppressEvents); + }; + + p.totalProgress = function(value, suppressEvents) { + return (!arguments.length) ? this._totalTime / this.totalDuration() : this.totalTime( this.totalDuration() * value, suppressEvents); + }; + + p.totalDuration = function(value) { + if (!arguments.length) { + if (this._dirty) { + TimelineLite.prototype.totalDuration.call(this); //just forces refresh + //Instead of Infinity, we use 999999999999 so that we can accommodate reverses. + this._totalDuration = (this._repeat === -1) ? 999999999999 : this._duration * (this._repeat + 1) + (this._repeatDelay * this._repeat); + } + return this._totalDuration; + } + return (this._repeat === -1) ? this : this.duration( (value - (this._repeat * this._repeatDelay)) / (this._repeat + 1) ); + }; + + p.time = function(value, suppressEvents) { + if (!arguments.length) { + return this._time; + } + if (this._dirty) { + this.totalDuration(); + } + if (value > this._duration) { + value = this._duration; + } + if (this._yoyo && (this._cycle & 1) !== 0) { + value = (this._duration - value) + (this._cycle * (this._duration + this._repeatDelay)); + } else if (this._repeat !== 0) { + value += this._cycle * (this._duration + this._repeatDelay); + } + return this.totalTime(value, suppressEvents); + }; + + p.repeat = function(value) { + if (!arguments.length) { + return this._repeat; + } + this._repeat = value; + return this._uncache(true); + }; + + p.repeatDelay = function(value) { + if (!arguments.length) { + return this._repeatDelay; + } + this._repeatDelay = value; + return this._uncache(true); + }; + + p.yoyo = function(value) { + if (!arguments.length) { + return this._yoyo; + } + this._yoyo = value; + return this; + }; + + p.currentLabel = function(value) { + if (!arguments.length) { + return this.getLabelBefore(this._time + 0.00000001); + } + return this.seek(value, true); + }; + + return TimelineMax; + + }, true); + + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * BezierPlugin + * ---------------------------------------------------------------- + */ + (function() { + + var _RAD2DEG = 180 / Math.PI, + _r1 = [], + _r2 = [], + _r3 = [], + _corProps = {}, + _globals = _gsScope._gsDefine.globals, + Segment = function(a, b, c, d) { + this.a = a; + this.b = b; + this.c = c; + this.d = d; + this.da = d - a; + this.ca = c - a; + this.ba = b - a; + }, + _correlate = ",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,", + cubicToQuadratic = function(a, b, c, d) { + var q1 = {a:a}, + q2 = {}, + q3 = {}, + q4 = {c:d}, + mab = (a + b) / 2, + mbc = (b + c) / 2, + mcd = (c + d) / 2, + mabc = (mab + mbc) / 2, + mbcd = (mbc + mcd) / 2, + m8 = (mbcd - mabc) / 8; + q1.b = mab + (a - mab) / 4; + q2.b = mabc + m8; + q1.c = q2.a = (q1.b + q2.b) / 2; + q2.c = q3.a = (mabc + mbcd) / 2; + q3.b = mbcd - m8; + q4.b = mcd + (d - mcd) / 4; + q3.c = q4.a = (q3.b + q4.b) / 2; + return [q1, q2, q3, q4]; + }, + _calculateControlPoints = function(a, curviness, quad, basic, correlate) { + var l = a.length - 1, + ii = 0, + cp1 = a[0].a, + i, p1, p2, p3, seg, m1, m2, mm, cp2, qb, r1, r2, tl; + for (i = 0; i < l; i++) { + seg = a[ii]; + p1 = seg.a; + p2 = seg.d; + p3 = a[ii+1].d; + + if (correlate) { + r1 = _r1[i]; + r2 = _r2[i]; + tl = ((r2 + r1) * curviness * 0.25) / (basic ? 0.5 : _r3[i] || 0.5); + m1 = p2 - (p2 - p1) * (basic ? curviness * 0.5 : (r1 !== 0 ? tl / r1 : 0)); + m2 = p2 + (p3 - p2) * (basic ? curviness * 0.5 : (r2 !== 0 ? tl / r2 : 0)); + mm = p2 - (m1 + (((m2 - m1) * ((r1 * 3 / (r1 + r2)) + 0.5) / 4) || 0)); + } else { + m1 = p2 - (p2 - p1) * curviness * 0.5; + m2 = p2 + (p3 - p2) * curviness * 0.5; + mm = p2 - (m1 + m2) / 2; + } + m1 += mm; + m2 += mm; + + seg.c = cp2 = m1; + if (i !== 0) { + seg.b = cp1; + } else { + seg.b = cp1 = seg.a + (seg.c - seg.a) * 0.6; //instead of placing b on a exactly, we move it inline with c so that if the user specifies an ease like Back.easeIn or Elastic.easeIn which goes BEYOND the beginning, it will do so smoothly. + } + + seg.da = p2 - p1; + seg.ca = cp2 - p1; + seg.ba = cp1 - p1; + + if (quad) { + qb = cubicToQuadratic(p1, cp1, cp2, p2); + a.splice(ii, 1, qb[0], qb[1], qb[2], qb[3]); + ii += 4; + } else { + ii++; + } + + cp1 = m2; + } + seg = a[ii]; + seg.b = cp1; + seg.c = cp1 + (seg.d - cp1) * 0.4; //instead of placing c on d exactly, we move it inline with b so that if the user specifies an ease like Back.easeOut or Elastic.easeOut which goes BEYOND the end, it will do so smoothly. + seg.da = seg.d - seg.a; + seg.ca = seg.c - seg.a; + seg.ba = cp1 - seg.a; + if (quad) { + qb = cubicToQuadratic(seg.a, cp1, seg.c, seg.d); + a.splice(ii, 1, qb[0], qb[1], qb[2], qb[3]); + } + }, + _parseAnchors = function(values, p, correlate, prepend) { + var a = [], + l, i, p1, p2, p3, tmp; + if (prepend) { + values = [prepend].concat(values); + i = values.length; + while (--i > -1) { + if (typeof( (tmp = values[i][p]) ) === "string") if (tmp.charAt(1) === "=") { + values[i][p] = prepend[p] + Number(tmp.charAt(0) + tmp.substr(2)); //accommodate relative values. Do it inline instead of breaking it out into a function for speed reasons + } + } + } + l = values.length - 2; + if (l < 0) { + a[0] = new Segment(values[0][p], 0, 0, values[(l < -1) ? 0 : 1][p]); + return a; + } + for (i = 0; i < l; i++) { + p1 = values[i][p]; + p2 = values[i+1][p]; + a[i] = new Segment(p1, 0, 0, p2); + if (correlate) { + p3 = values[i+2][p]; + _r1[i] = (_r1[i] || 0) + (p2 - p1) * (p2 - p1); + _r2[i] = (_r2[i] || 0) + (p3 - p2) * (p3 - p2); + } + } + a[i] = new Segment(values[i][p], 0, 0, values[i+1][p]); + return a; + }, + bezierThrough = function(values, curviness, quadratic, basic, correlate, prepend) { + var obj = {}, + props = [], + first = prepend || values[0], + i, p, a, j, r, l, seamless, last; + correlate = (typeof(correlate) === "string") ? ","+correlate+"," : _correlate; + if (curviness == null) { + curviness = 1; + } + for (p in values[0]) { + props.push(p); + } + //check to see if the last and first values are identical (well, within 0.05). If so, make seamless by appending the second element to the very end of the values array and the 2nd-to-last element to the very beginning (we'll remove those segments later) + if (values.length > 1) { + last = values[values.length - 1]; + seamless = true; + i = props.length; + while (--i > -1) { + p = props[i]; + if (Math.abs(first[p] - last[p]) > 0.05) { //build in a tolerance of +/-0.05 to accommodate rounding errors. For example, if you set an object's position to 4.945, Flash will make it 4.9 + seamless = false; + break; + } + } + if (seamless) { + values = values.concat(); //duplicate the array to avoid contaminating the original which the user may be reusing for other tweens + if (prepend) { + values.unshift(prepend); + } + values.push(values[1]); + prepend = values[values.length - 3]; + } + } + _r1.length = _r2.length = _r3.length = 0; + i = props.length; + while (--i > -1) { + p = props[i]; + _corProps[p] = (correlate.indexOf(","+p+",") !== -1); + obj[p] = _parseAnchors(values, p, _corProps[p], prepend); + } + i = _r1.length; + while (--i > -1) { + _r1[i] = Math.sqrt(_r1[i]); + _r2[i] = Math.sqrt(_r2[i]); + } + if (!basic) { + i = props.length; + while (--i > -1) { + if (_corProps[p]) { + a = obj[props[i]]; + l = a.length - 1; + for (j = 0; j < l; j++) { + r = a[j+1].da / _r2[j] + a[j].da / _r1[j]; + _r3[j] = (_r3[j] || 0) + r * r; + } + } + } + i = _r3.length; + while (--i > -1) { + _r3[i] = Math.sqrt(_r3[i]); + } + } + i = props.length; + j = quadratic ? 4 : 1; + while (--i > -1) { + p = props[i]; + a = obj[p]; + _calculateControlPoints(a, curviness, quadratic, basic, _corProps[p]); //this method requires that _parseAnchors() and _setSegmentRatios() ran first so that _r1, _r2, and _r3 values are populated for all properties + if (seamless) { + a.splice(0, j); + a.splice(a.length - j, j); + } + } + return obj; + }, + _parseBezierData = function(values, type, prepend) { + type = type || "soft"; + var obj = {}, + inc = (type === "cubic") ? 3 : 2, + soft = (type === "soft"), + props = [], + a, b, c, d, cur, i, j, l, p, cnt, tmp; + if (soft && prepend) { + values = [prepend].concat(values); + } + if (values == null || values.length < inc + 1) { throw "invalid Bezier data"; } + for (p in values[0]) { + props.push(p); + } + i = props.length; + while (--i > -1) { + p = props[i]; + obj[p] = cur = []; + cnt = 0; + l = values.length; + for (j = 0; j < l; j++) { + a = (prepend == null) ? values[j][p] : (typeof( (tmp = values[j][p]) ) === "string" && tmp.charAt(1) === "=") ? prepend[p] + Number(tmp.charAt(0) + tmp.substr(2)) : Number(tmp); + if (soft) if (j > 1) if (j < l - 1) { + cur[cnt++] = (a + cur[cnt-2]) / 2; + } + cur[cnt++] = a; + } + l = cnt - inc + 1; + cnt = 0; + for (j = 0; j < l; j += inc) { + a = cur[j]; + b = cur[j+1]; + c = cur[j+2]; + d = (inc === 2) ? 0 : cur[j+3]; + cur[cnt++] = tmp = (inc === 3) ? new Segment(a, b, c, d) : new Segment(a, (2 * b + a) / 3, (2 * b + c) / 3, c); + } + cur.length = cnt; + } + return obj; + }, + _addCubicLengths = function(a, steps, resolution) { + var inc = 1 / resolution, + j = a.length, + d, d1, s, da, ca, ba, p, i, inv, bez, index; + while (--j > -1) { + bez = a[j]; + s = bez.a; + da = bez.d - s; + ca = bez.c - s; + ba = bez.b - s; + d = d1 = 0; + for (i = 1; i <= resolution; i++) { + p = inc * i; + inv = 1 - p; + d = d1 - (d1 = (p * p * da + 3 * inv * (p * ca + inv * ba)) * p); + index = j * resolution + i - 1; + steps[index] = (steps[index] || 0) + d * d; + } + } + }, + _parseLengthData = function(obj, resolution) { + resolution = resolution >> 0 || 6; + var a = [], + lengths = [], + d = 0, + total = 0, + threshold = resolution - 1, + segments = [], + curLS = [], //current length segments array + p, i, l, index; + for (p in obj) { + _addCubicLengths(obj[p], a, resolution); + } + l = a.length; + for (i = 0; i < l; i++) { + d += Math.sqrt(a[i]); + index = i % resolution; + curLS[index] = d; + if (index === threshold) { + total += d; + index = (i / resolution) >> 0; + segments[index] = curLS; + lengths[index] = total; + d = 0; + curLS = []; + } + } + return {length:total, lengths:lengths, segments:segments}; + }, + + + + BezierPlugin = _gsScope._gsDefine.plugin({ + propName: "bezier", + priority: -1, + version: "1.3.4", + API: 2, + global:true, + + //gets called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, vars, tween) { + this._target = target; + if (vars instanceof Array) { + vars = {values:vars}; + } + this._func = {}; + this._round = {}; + this._props = []; + this._timeRes = (vars.timeResolution == null) ? 6 : parseInt(vars.timeResolution, 10); + var values = vars.values || [], + first = {}, + second = values[0], + autoRotate = vars.autoRotate || tween.vars.orientToBezier, + p, isFunc, i, j, prepend; + + this._autoRotate = autoRotate ? (autoRotate instanceof Array) ? autoRotate : [["x","y","rotation",((autoRotate === true) ? 0 : Number(autoRotate) || 0)]] : null; + for (p in second) { + this._props.push(p); + } + + i = this._props.length; + while (--i > -1) { + p = this._props[i]; + + this._overwriteProps.push(p); + isFunc = this._func[p] = (typeof(target[p]) === "function"); + first[p] = (!isFunc) ? parseFloat(target[p]) : target[ ((p.indexOf("set") || typeof(target["get" + p.substr(3)]) !== "function") ? p : "get" + p.substr(3)) ](); + if (!prepend) if (first[p] !== values[0][p]) { + prepend = first; + } + } + this._beziers = (vars.type !== "cubic" && vars.type !== "quadratic" && vars.type !== "soft") ? bezierThrough(values, isNaN(vars.curviness) ? 1 : vars.curviness, false, (vars.type === "thruBasic"), vars.correlate, prepend) : _parseBezierData(values, vars.type, first); + this._segCount = this._beziers[p].length; + + if (this._timeRes) { + var ld = _parseLengthData(this._beziers, this._timeRes); + this._length = ld.length; + this._lengths = ld.lengths; + this._segments = ld.segments; + this._l1 = this._li = this._s1 = this._si = 0; + this._l2 = this._lengths[0]; + this._curSeg = this._segments[0]; + this._s2 = this._curSeg[0]; + this._prec = 1 / this._curSeg.length; + } + + if ((autoRotate = this._autoRotate)) { + this._initialRotations = []; + if (!(autoRotate[0] instanceof Array)) { + this._autoRotate = autoRotate = [autoRotate]; + } + i = autoRotate.length; + while (--i > -1) { + for (j = 0; j < 3; j++) { + p = autoRotate[i][j]; + this._func[p] = (typeof(target[p]) === "function") ? target[ ((p.indexOf("set") || typeof(target["get" + p.substr(3)]) !== "function") ? p : "get" + p.substr(3)) ] : false; + } + p = autoRotate[i][2]; + this._initialRotations[i] = this._func[p] ? this._func[p].call(this._target) : this._target[p]; + } + } + this._startRatio = tween.vars.runBackwards ? 1 : 0; //we determine the starting ratio when the tween inits which is always 0 unless the tween has runBackwards:true (indicating it's a from() tween) in which case it's 1. + return true; + }, + + //called each time the values should be updated, and the ratio gets passed as the only parameter (typically it's a value between 0 and 1, but it can exceed those when using an ease like Elastic.easeOut or Back.easeOut, etc.) + set: function(v) { + var segments = this._segCount, + func = this._func, + target = this._target, + notStart = (v !== this._startRatio), + curIndex, inv, i, p, b, t, val, l, lengths, curSeg; + if (!this._timeRes) { + curIndex = (v < 0) ? 0 : (v >= 1) ? segments - 1 : (segments * v) >> 0; + t = (v - (curIndex * (1 / segments))) * segments; + } else { + lengths = this._lengths; + curSeg = this._curSeg; + v *= this._length; + i = this._li; + //find the appropriate segment (if the currently cached one isn't correct) + if (v > this._l2 && i < segments - 1) { + l = segments - 1; + while (i < l && (this._l2 = lengths[++i]) <= v) { } + this._l1 = lengths[i-1]; + this._li = i; + this._curSeg = curSeg = this._segments[i]; + this._s2 = curSeg[(this._s1 = this._si = 0)]; + } else if (v < this._l1 && i > 0) { + while (i > 0 && (this._l1 = lengths[--i]) >= v) { } + if (i === 0 && v < this._l1) { + this._l1 = 0; + } else { + i++; + } + this._l2 = lengths[i]; + this._li = i; + this._curSeg = curSeg = this._segments[i]; + this._s1 = curSeg[(this._si = curSeg.length - 1) - 1] || 0; + this._s2 = curSeg[this._si]; + } + curIndex = i; + //now find the appropriate sub-segment (we split it into the number of pieces that was defined by "precision" and measured each one) + v -= this._l1; + i = this._si; + if (v > this._s2 && i < curSeg.length - 1) { + l = curSeg.length - 1; + while (i < l && (this._s2 = curSeg[++i]) <= v) { } + this._s1 = curSeg[i-1]; + this._si = i; + } else if (v < this._s1 && i > 0) { + while (i > 0 && (this._s1 = curSeg[--i]) >= v) { } + if (i === 0 && v < this._s1) { + this._s1 = 0; + } else { + i++; + } + this._s2 = curSeg[i]; + this._si = i; + } + t = (i + (v - this._s1) / (this._s2 - this._s1)) * this._prec; + } + inv = 1 - t; + + i = this._props.length; + while (--i > -1) { + p = this._props[i]; + b = this._beziers[p][curIndex]; + val = (t * t * b.da + 3 * inv * (t * b.ca + inv * b.ba)) * t + b.a; + if (this._round[p]) { + val = Math.round(val); + } + if (func[p]) { + target[p](val); + } else { + target[p] = val; + } + } + + if (this._autoRotate) { + var ar = this._autoRotate, + b2, x1, y1, x2, y2, add, conv; + i = ar.length; + while (--i > -1) { + p = ar[i][2]; + add = ar[i][3] || 0; + conv = (ar[i][4] === true) ? 1 : _RAD2DEG; + b = this._beziers[ar[i][0]]; + b2 = this._beziers[ar[i][1]]; + + if (b && b2) { //in case one of the properties got overwritten. + b = b[curIndex]; + b2 = b2[curIndex]; + + x1 = b.a + (b.b - b.a) * t; + x2 = b.b + (b.c - b.b) * t; + x1 += (x2 - x1) * t; + x2 += ((b.c + (b.d - b.c) * t) - x2) * t; + + y1 = b2.a + (b2.b - b2.a) * t; + y2 = b2.b + (b2.c - b2.b) * t; + y1 += (y2 - y1) * t; + y2 += ((b2.c + (b2.d - b2.c) * t) - y2) * t; + + val = notStart ? Math.atan2(y2 - y1, x2 - x1) * conv + add : this._initialRotations[i]; + + if (func[p]) { + target[p](val); + } else { + target[p] = val; + } + } + } + } + } + }), + p = BezierPlugin.prototype; + + + BezierPlugin.bezierThrough = bezierThrough; + BezierPlugin.cubicToQuadratic = cubicToQuadratic; + BezierPlugin._autoCSS = true; //indicates that this plugin can be inserted into the "css" object using the autoCSS feature of TweenLite + BezierPlugin.quadraticToCubic = function(a, b, c) { + return new Segment(a, (2 * b + a) / 3, (2 * b + c) / 3, c); + }; + + BezierPlugin._cssRegister = function() { + var CSSPlugin = _globals.CSSPlugin; + if (!CSSPlugin) { + return; + } + var _internals = CSSPlugin._internals, + _parseToProxy = _internals._parseToProxy, + _setPluginRatio = _internals._setPluginRatio, + CSSPropTween = _internals.CSSPropTween; + _internals._registerComplexSpecialProp("bezier", {parser:function(t, e, prop, cssp, pt, plugin) { + if (e instanceof Array) { + e = {values:e}; + } + plugin = new BezierPlugin(); + var values = e.values, + l = values.length - 1, + pluginValues = [], + v = {}, + i, p, data; + if (l < 0) { + return pt; + } + for (i = 0; i <= l; i++) { + data = _parseToProxy(t, values[i], cssp, pt, plugin, (l !== i)); + pluginValues[i] = data.end; + } + for (p in e) { + v[p] = e[p]; //duplicate the vars object because we need to alter some things which would cause problems if the user plans to reuse the same vars object for another tween. + } + v.values = pluginValues; + pt = new CSSPropTween(t, "bezier", 0, 0, data.pt, 2); + pt.data = data; + pt.plugin = plugin; + pt.setRatio = _setPluginRatio; + if (v.autoRotate === 0) { + v.autoRotate = true; + } + if (v.autoRotate && !(v.autoRotate instanceof Array)) { + i = (v.autoRotate === true) ? 0 : Number(v.autoRotate); + v.autoRotate = (data.end.left != null) ? [["left","top","rotation",i,false]] : (data.end.x != null) ? [["x","y","rotation",i,false]] : false; + } + if (v.autoRotate) { + if (!cssp._transform) { + cssp._enableTransforms(false); + } + data.autoRotate = cssp._target._gsTransform; + } + plugin._onInitTween(data.proxy, v, cssp._tween); + return pt; + }}); + }; + + p._roundProps = function(lookup, value) { + var op = this._overwriteProps, + i = op.length; + while (--i > -1) { + if (lookup[op[i]] || lookup.bezier || lookup.bezierThrough) { + this._round[op[i]] = value; + } + } + }; + + p._kill = function(lookup) { + var a = this._props, + p, i; + for (p in this._beziers) { + if (p in lookup) { + delete this._beziers[p]; + delete this._func[p]; + i = a.length; + while (--i > -1) { + if (a[i] === p) { + a.splice(i, 1); + } + } + } + } + return this._super._kill.call(this, lookup); + }; + + }()); + + + + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * CSSPlugin + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin","TweenLite"], function(TweenPlugin, TweenLite) { + + /** @constructor **/ + var CSSPlugin = function() { + TweenPlugin.call(this, "css"); + this._overwriteProps.length = 0; + this.setRatio = CSSPlugin.prototype.setRatio; //speed optimization (avoid prototype lookup on this "hot" method) + }, + _globals = _gsScope._gsDefine.globals, + _hasPriority, //turns true whenever a CSSPropTween instance is created that has a priority other than 0. This helps us discern whether or not we should spend the time organizing the linked list or not after a CSSPlugin's _onInitTween() method is called. + _suffixMap, //we set this in _onInitTween() each time as a way to have a persistent variable we can use in other methods like _parse() without having to pass it around as a parameter and we keep _parse() decoupled from a particular CSSPlugin instance + _cs, //computed style (we store this in a shared variable to conserve memory and make minification tighter + _overwriteProps, //alias to the currently instantiating CSSPlugin's _overwriteProps array. We use this closure in order to avoid having to pass a reference around from method to method and aid in minification. + _specialProps = {}, + p = CSSPlugin.prototype = new TweenPlugin("css"); + + p.constructor = CSSPlugin; + CSSPlugin.version = "1.18.0"; + CSSPlugin.API = 2; + CSSPlugin.defaultTransformPerspective = 0; + CSSPlugin.defaultSkewType = "compensated"; + CSSPlugin.defaultSmoothOrigin = true; + p = "px"; //we'll reuse the "p" variable to keep file size down + CSSPlugin.suffixMap = {top:p, right:p, bottom:p, left:p, width:p, height:p, fontSize:p, padding:p, margin:p, perspective:p, lineHeight:""}; + + + var _numExp = /(?:\d|\-\d|\.\d|\-\.\d)+/g, + _relNumExp = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g, + _valuesExp = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi, //finds all the values that begin with numbers or += or -= and then a number. Includes suffixes. We use this to split complex values apart like "1px 5px 20px rgb(255,102,51)" + _NaNExp = /(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g, //also allows scientific notation and doesn't kill the leading -/+ in -= and += + _suffixExp = /(?:\d|\-|\+|=|#|\.)*/g, + _opacityExp = /opacity *= *([^)]*)/i, + _opacityValExp = /opacity:([^;]*)/i, + _alphaFilterExp = /alpha\(opacity *=.+?\)/i, + _rgbhslExp = /^(rgb|hsl)/, + _capsExp = /([A-Z])/g, + _camelExp = /-([a-z])/gi, + _urlExp = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi, //for pulling out urls from url(...) or url("...") strings (some browsers wrap urls in quotes, some don't when reporting things like backgroundImage) + _camelFunc = function(s, g) { return g.toUpperCase(); }, + _horizExp = /(?:Left|Right|Width)/i, + _ieGetMatrixExp = /(M11|M12|M21|M22)=[\d\-\.e]+/gi, + _ieSetMatrixExp = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i, + _commasOutsideParenExp = /,(?=[^\)]*(?:\(|$))/gi, //finds any commas that are not within parenthesis + _DEG2RAD = Math.PI / 180, + _RAD2DEG = 180 / Math.PI, + _forcePT = {}, + _doc = document, + _createElement = function(type) { + return _doc.createElementNS ? _doc.createElementNS("http://www.w3.org/1999/xhtml", type) : _doc.createElement(type); + }, + _tempDiv = _createElement("div"), + _tempImg = _createElement("img"), + _internals = CSSPlugin._internals = {_specialProps:_specialProps}, //provides a hook to a few internal methods that we need to access from inside other plugins + _agent = navigator.userAgent, + _autoRound, + _reqSafariFix, //we won't apply the Safari transform fix until we actually come across a tween that affects a transform property (to maintain best performance). + + _isSafari, + _isFirefox, //Firefox has a bug that causes 3D transformed elements to randomly disappear unless a repaint is forced after each update on each element. + _isSafariLT6, //Safari (and Android 4 which uses a flavor of Safari) has a bug that prevents changes to "top" and "left" properties from rendering properly if changed on the same frame as a transform UNLESS we set the element's WebkitBackfaceVisibility to hidden (weird, I know). Doing this for Android 3 and earlier seems to actually cause other problems, though (fun!) + _ieVers, + _supportsOpacity = (function() { //we set _isSafari, _ieVers, _isFirefox, and _supportsOpacity all in one function here to reduce file size slightly, especially in the minified version. + var i = _agent.indexOf("Android"), + a = _createElement("a"); + _isSafari = (_agent.indexOf("Safari") !== -1 && _agent.indexOf("Chrome") === -1 && (i === -1 || Number(_agent.substr(i+8, 1)) > 3)); + _isSafariLT6 = (_isSafari && (Number(_agent.substr(_agent.indexOf("Version/")+8, 1)) < 6)); + _isFirefox = (_agent.indexOf("Firefox") !== -1); + if ((/MSIE ([0-9]{1,}[\.0-9]{0,})/).exec(_agent) || (/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/).exec(_agent)) { + _ieVers = parseFloat( RegExp.$1 ); + } + if (!a) { + return false; + } + a.style.cssText = "top:1px;opacity:.55;"; + return /^0.55/.test(a.style.opacity); + }()), + _getIEOpacity = function(v) { + return (_opacityExp.test( ((typeof(v) === "string") ? v : (v.currentStyle ? v.currentStyle.filter : v.style.filter) || "") ) ? ( parseFloat( RegExp.$1 ) / 100 ) : 1); + }, + _log = function(s) {//for logging messages, but in a way that won't throw errors in old versions of IE. + if (window.console) { + console.log(s); + } + }, + + _prefixCSS = "", //the non-camelCase vendor prefix like "-o-", "-moz-", "-ms-", or "-webkit-" + _prefix = "", //camelCase vendor prefix like "O", "ms", "Webkit", or "Moz". + + // @private feed in a camelCase property name like "transform" and it will check to see if it is valid as-is or if it needs a vendor prefix. It returns the corrected camelCase property name (i.e. "WebkitTransform" or "MozTransform" or "transform" or null if no such property is found, like if the browser is IE8 or before, "transform" won't be found at all) + _checkPropPrefix = function(p, e) { + e = e || _tempDiv; + var s = e.style, + a, i; + if (s[p] !== undefined) { + return p; + } + p = p.charAt(0).toUpperCase() + p.substr(1); + a = ["O","Moz","ms","Ms","Webkit"]; + i = 5; + while (--i > -1 && s[a[i]+p] === undefined) { } + if (i >= 0) { + _prefix = (i === 3) ? "ms" : a[i]; + _prefixCSS = "-" + _prefix.toLowerCase() + "-"; + return _prefix + p; + } + return null; + }, + + _getComputedStyle = _doc.defaultView ? _doc.defaultView.getComputedStyle : function() {}, + + /** + * @private Returns the css style for a particular property of an element. For example, to get whatever the current "left" css value for an element with an ID of "myElement", you could do: + * var currentLeft = CSSPlugin.getStyle( document.getElementById("myElement"), "left"); + * + * @param {!Object} t Target element whose style property you want to query + * @param {!string} p Property name (like "left" or "top" or "marginTop", etc.) + * @param {Object=} cs Computed style object. This just provides a way to speed processing if you're going to get several properties on the same element in quick succession - you can reuse the result of the getComputedStyle() call. + * @param {boolean=} calc If true, the value will not be read directly from the element's "style" property (if it exists there), but instead the getComputedStyle() result will be used. This can be useful when you want to ensure that the browser itself is interpreting the value. + * @param {string=} dflt Default value that should be returned in the place of null, "none", "auto" or "auto auto". + * @return {?string} The current property value + */ + _getStyle = CSSPlugin.getStyle = function(t, p, cs, calc, dflt) { + var rv; + if (!_supportsOpacity) if (p === "opacity") { //several versions of IE don't use the standard "opacity" property - they use things like filter:alpha(opacity=50), so we parse that here. + return _getIEOpacity(t); + } + if (!calc && t.style[p]) { + rv = t.style[p]; + } else if ((cs = cs || _getComputedStyle(t))) { + rv = cs[p] || cs.getPropertyValue(p) || cs.getPropertyValue(p.replace(_capsExp, "-$1").toLowerCase()); + } else if (t.currentStyle) { + rv = t.currentStyle[p]; + } + return (dflt != null && (!rv || rv === "none" || rv === "auto" || rv === "auto auto")) ? dflt : rv; + }, + + /** + * @private Pass the target element, the property name, the numeric value, and the suffix (like "%", "em", "px", etc.) and it will spit back the equivalent pixel number. + * @param {!Object} t Target element + * @param {!string} p Property name (like "left", "top", "marginLeft", etc.) + * @param {!number} v Value + * @param {string=} sfx Suffix (like "px" or "%" or "em") + * @param {boolean=} recurse If true, the call is a recursive one. In some browsers (like IE7/8), occasionally the value isn't accurately reported initially, but if we run the function again it will take effect. + * @return {number} value in pixels + */ + _convertToPixels = _internals.convertToPixels = function(t, p, v, sfx, recurse) { + if (sfx === "px" || !sfx) { return v; } + if (sfx === "auto" || !v) { return 0; } + var horiz = _horizExp.test(p), + node = t, + style = _tempDiv.style, + neg = (v < 0), + pix, cache, time; + if (neg) { + v = -v; + } + if (sfx === "%" && p.indexOf("border") !== -1) { + pix = (v / 100) * (horiz ? t.clientWidth : t.clientHeight); + } else { + style.cssText = "border:0 solid red;position:" + _getStyle(t, "position") + ";line-height:0;"; + if (sfx === "%" || !node.appendChild || sfx.charAt(0) === "v" || sfx === "rem") { + node = t.parentNode || _doc.body; + cache = node._gsCache; + time = TweenLite.ticker.frame; + if (cache && horiz && cache.time === time) { //performance optimization: we record the width of elements along with the ticker frame so that we can quickly get it again on the same tick (seems relatively safe to assume it wouldn't change on the same tick) + return cache.width * v / 100; + } + style[(horiz ? "width" : "height")] = v + sfx; + } else { + style[(horiz ? "borderLeftWidth" : "borderTopWidth")] = v + sfx; + } + node.appendChild(_tempDiv); + pix = parseFloat(_tempDiv[(horiz ? "offsetWidth" : "offsetHeight")]); + node.removeChild(_tempDiv); + if (horiz && sfx === "%" && CSSPlugin.cacheWidths !== false) { + cache = node._gsCache = node._gsCache || {}; + cache.time = time; + cache.width = pix / v * 100; + } + if (pix === 0 && !recurse) { + pix = _convertToPixels(t, p, v, sfx, true); + } + } + return neg ? -pix : pix; + }, + _calculateOffset = _internals.calculateOffset = function(t, p, cs) { //for figuring out "top" or "left" in px when it's "auto". We need to factor in margin with the offsetLeft/offsetTop + if (_getStyle(t, "position", cs) !== "absolute") { return 0; } + var dim = ((p === "left") ? "Left" : "Top"), + v = _getStyle(t, "margin" + dim, cs); + return t["offset" + dim] - (_convertToPixels(t, p, parseFloat(v), v.replace(_suffixExp, "")) || 0); + }, + + // @private returns at object containing ALL of the style properties in camelCase and their associated values. + _getAllStyles = function(t, cs) { + var s = {}, + i, tr, p; + if ((cs = cs || _getComputedStyle(t, null))) { + if ((i = cs.length)) { + while (--i > -1) { + p = cs[i]; + if (p.indexOf("-transform") === -1 || _transformPropCSS === p) { //Some webkit browsers duplicate transform values, one non-prefixed and one prefixed ("transform" and "WebkitTransform"), so we must weed out the extra one here. + s[p.replace(_camelExp, _camelFunc)] = cs.getPropertyValue(p); + } + } + } else { //some browsers behave differently - cs.length is always 0, so we must do a for...in loop. + for (i in cs) { + if (i.indexOf("Transform") === -1 || _transformProp === i) { //Some webkit browsers duplicate transform values, one non-prefixed and one prefixed ("transform" and "WebkitTransform"), so we must weed out the extra one here. + s[i] = cs[i]; + } + } + } + } else if ((cs = t.currentStyle || t.style)) { + for (i in cs) { + if (typeof(i) === "string" && s[i] === undefined) { + s[i.replace(_camelExp, _camelFunc)] = cs[i]; + } + } + } + if (!_supportsOpacity) { + s.opacity = _getIEOpacity(t); + } + tr = _getTransform(t, cs, false); + s.rotation = tr.rotation; + s.skewX = tr.skewX; + s.scaleX = tr.scaleX; + s.scaleY = tr.scaleY; + s.x = tr.x; + s.y = tr.y; + if (_supports3D) { + s.z = tr.z; + s.rotationX = tr.rotationX; + s.rotationY = tr.rotationY; + s.scaleZ = tr.scaleZ; + } + if (s.filters) { + delete s.filters; + } + return s; + }, + + // @private analyzes two style objects (as returned by _getAllStyles()) and only looks for differences between them that contain tweenable values (like a number or color). It returns an object with a "difs" property which refers to an object containing only those isolated properties and values for tweening, and a "firstMPT" property which refers to the first MiniPropTween instance in a linked list that recorded all the starting values of the different properties so that we can revert to them at the end or beginning of the tween - we don't want the cascading to get messed up. The forceLookup parameter is an optional generic object with properties that should be forced into the results - this is necessary for className tweens that are overwriting others because imagine a scenario where a rollover/rollout adds/removes a class and the user swipes the mouse over the target SUPER fast, thus nothing actually changed yet and the subsequent comparison of the properties would indicate they match (especially when px rounding is taken into consideration), thus no tweening is necessary even though it SHOULD tween and remove those properties after the tween (otherwise the inline styles will contaminate things). See the className SpecialProp code for details. + _cssDif = function(t, s1, s2, vars, forceLookup) { + var difs = {}, + style = t.style, + val, p, mpt; + for (p in s2) { + if (p !== "cssText") if (p !== "length") if (isNaN(p)) if (s1[p] !== (val = s2[p]) || (forceLookup && forceLookup[p])) if (p.indexOf("Origin") === -1) if (typeof(val) === "number" || typeof(val) === "string") { + difs[p] = (val === "auto" && (p === "left" || p === "top")) ? _calculateOffset(t, p) : ((val === "" || val === "auto" || val === "none") && typeof(s1[p]) === "string" && s1[p].replace(_NaNExp, "") !== "") ? 0 : val; //if the ending value is defaulting ("" or "auto"), we check the starting value and if it can be parsed into a number (a string which could have a suffix too, like 700px), then we swap in 0 for "" or "auto" so that things actually tween. + if (style[p] !== undefined) { //for className tweens, we must remember which properties already existed inline - the ones that didn't should be removed when the tween isn't in progress because they were only introduced to facilitate the transition between classes. + mpt = new MiniPropTween(style, p, style[p], mpt); + } + } + } + if (vars) { + for (p in vars) { //copy properties (except className) + if (p !== "className") { + difs[p] = vars[p]; + } + } + } + return {difs:difs, firstMPT:mpt}; + }, + _dimensions = {width:["Left","Right"], height:["Top","Bottom"]}, + _margins = ["marginLeft","marginRight","marginTop","marginBottom"], + + /** + * @private Gets the width or height of an element + * @param {!Object} t Target element + * @param {!string} p Property name ("width" or "height") + * @param {Object=} cs Computed style object (if one exists). Just a speed optimization. + * @return {number} Dimension (in pixels) + */ + _getDimension = function(t, p, cs) { + var v = parseFloat((p === "width") ? t.offsetWidth : t.offsetHeight), + a = _dimensions[p], + i = a.length; + cs = cs || _getComputedStyle(t, null); + while (--i > -1) { + v -= parseFloat( _getStyle(t, "padding" + a[i], cs, true) ) || 0; + v -= parseFloat( _getStyle(t, "border" + a[i] + "Width", cs, true) ) || 0; + } + return v; + }, + + // @private Parses position-related complex strings like "top left" or "50px 10px" or "70% 20%", etc. which are used for things like transformOrigin or backgroundPosition. Optionally decorates a supplied object (recObj) with the following properties: "ox" (offsetX), "oy" (offsetY), "oxp" (if true, "ox" is a percentage not a pixel value), and "oxy" (if true, "oy" is a percentage not a pixel value) + _parsePosition = function(v, recObj) { + if (v === "contain" || v === "auto" || v === "auto auto") { + return v + " "; + } + if (v == null || v === "") { //note: Firefox uses "auto auto" as default whereas Chrome uses "auto". + v = "0 0"; + } + var a = v.split(" "), + x = (v.indexOf("left") !== -1) ? "0%" : (v.indexOf("right") !== -1) ? "100%" : a[0], + y = (v.indexOf("top") !== -1) ? "0%" : (v.indexOf("bottom") !== -1) ? "100%" : a[1]; + if (y == null) { + y = (x === "center") ? "50%" : "0"; + } else if (y === "center") { + y = "50%"; + } + if (x === "center" || (isNaN(parseFloat(x)) && (x + "").indexOf("=") === -1)) { //remember, the user could flip-flop the values and say "bottom center" or "center bottom", etc. "center" is ambiguous because it could be used to describe horizontal or vertical, hence the isNaN(). If there's an "=" sign in the value, it's relative. + x = "50%"; + } + v = x + " " + y + ((a.length > 2) ? " " + a[2] : ""); + if (recObj) { + recObj.oxp = (x.indexOf("%") !== -1); + recObj.oyp = (y.indexOf("%") !== -1); + recObj.oxr = (x.charAt(1) === "="); + recObj.oyr = (y.charAt(1) === "="); + recObj.ox = parseFloat(x.replace(_NaNExp, "")); + recObj.oy = parseFloat(y.replace(_NaNExp, "")); + recObj.v = v; + } + return recObj || v; + }, + + /** + * @private Takes an ending value (typically a string, but can be a number) and a starting value and returns the change between the two, looking for relative value indicators like += and -= and it also ignores suffixes (but make sure the ending value starts with a number or +=/-= and that the starting value is a NUMBER!) + * @param {(number|string)} e End value which is typically a string, but could be a number + * @param {(number|string)} b Beginning value which is typically a string but could be a number + * @return {number} Amount of change between the beginning and ending values (relative values that have a "+=" or "-=" are recognized) + */ + _parseChange = function(e, b) { + return (typeof(e) === "string" && e.charAt(1) === "=") ? parseInt(e.charAt(0) + "1", 10) * parseFloat(e.substr(2)) : parseFloat(e) - parseFloat(b); + }, + + /** + * @private Takes a value and a default number, checks if the value is relative, null, or numeric and spits back a normalized number accordingly. Primarily used in the _parseTransform() function. + * @param {Object} v Value to be parsed + * @param {!number} d Default value (which is also used for relative calculations if "+=" or "-=" is found in the first parameter) + * @return {number} Parsed value + */ + _parseVal = function(v, d) { + return (v == null) ? d : (typeof(v) === "string" && v.charAt(1) === "=") ? parseInt(v.charAt(0) + "1", 10) * parseFloat(v.substr(2)) + d : parseFloat(v); + }, + + /** + * @private Translates strings like "40deg" or "40" or 40rad" or "+=40deg" or "270_short" or "-90_cw" or "+=45_ccw" to a numeric radian angle. Of course a starting/default value must be fed in too so that relative values can be calculated properly. + * @param {Object} v Value to be parsed + * @param {!number} d Default value (which is also used for relative calculations if "+=" or "-=" is found in the first parameter) + * @param {string=} p property name for directionalEnd (optional - only used when the parsed value is directional ("_short", "_cw", or "_ccw" suffix). We need a way to store the uncompensated value so that at the end of the tween, we set it to exactly what was requested with no directional compensation). Property name would be "rotation", "rotationX", or "rotationY" + * @param {Object=} directionalEnd An object that will store the raw end values for directional angles ("_short", "_cw", or "_ccw" suffix). We need a way to store the uncompensated value so that at the end of the tween, we set it to exactly what was requested with no directional compensation. + * @return {number} parsed angle in radians + */ + _parseAngle = function(v, d, p, directionalEnd) { + var min = 0.000001, + cap, split, dif, result, isRelative; + if (v == null) { + result = d; + } else if (typeof(v) === "number") { + result = v; + } else { + cap = 360; + split = v.split("_"); + isRelative = (v.charAt(1) === "="); + dif = (isRelative ? parseInt(v.charAt(0) + "1", 10) * parseFloat(split[0].substr(2)) : parseFloat(split[0])) * ((v.indexOf("rad") === -1) ? 1 : _RAD2DEG) - (isRelative ? 0 : d); + if (split.length) { + if (directionalEnd) { + directionalEnd[p] = d + dif; + } + if (v.indexOf("short") !== -1) { + dif = dif % cap; + if (dif !== dif % (cap / 2)) { + dif = (dif < 0) ? dif + cap : dif - cap; + } + } + if (v.indexOf("_cw") !== -1 && dif < 0) { + dif = ((dif + cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } else if (v.indexOf("ccw") !== -1 && dif > 0) { + dif = ((dif - cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } + } + result = d + dif; + } + if (result < min && result > -min) { + result = 0; + } + return result; + }, + + _colorLookup = {aqua:[0,255,255], + lime:[0,255,0], + silver:[192,192,192], + black:[0,0,0], + maroon:[128,0,0], + teal:[0,128,128], + blue:[0,0,255], + navy:[0,0,128], + white:[255,255,255], + fuchsia:[255,0,255], + olive:[128,128,0], + yellow:[255,255,0], + orange:[255,165,0], + gray:[128,128,128], + purple:[128,0,128], + green:[0,128,0], + red:[255,0,0], + pink:[255,192,203], + cyan:[0,255,255], + transparent:[255,255,255,0]}, + + _hue = function(h, m1, m2) { + h = (h < 0) ? h + 1 : (h > 1) ? h - 1 : h; + return ((((h * 6 < 1) ? m1 + (m2 - m1) * h * 6 : (h < 0.5) ? m2 : (h * 3 < 2) ? m1 + (m2 - m1) * (2 / 3 - h) * 6 : m1) * 255) + 0.5) | 0; + }, + + /** + * @private Parses a color (like #9F0, #FF9900, rgb(255,51,153) or hsl(108, 50%, 10%)) into an array with 3 elements for red, green, and blue or if toHSL parameter is true, it will populate the array with hue, saturation, and lightness values. If a relative value is found in an hsl() or hsla() string, it will preserve those relative prefixes and all the values in the array will be strings instead of numbers (in all other cases it will be populated with numbers). + * @param {(string|number)} v The value the should be parsed which could be a string like #9F0 or rgb(255,102,51) or rgba(255,0,0,0.5) or it could be a number like 0xFF00CC or even a named color like red, blue, purple, etc. + * @param {(boolean)} toHSL If true, an hsl() or hsla() value will be returned instead of rgb() or rgba() + * @return {Array.} An array containing red, green, and blue (and optionally alpha) in that order, or if the toHSL parameter was true, the array will contain hue, saturation and lightness (and optionally alpha) in that order. Always numbers unless there's a relative prefix found in an hsl() or hsla() string and toHSL is true. + */ + _parseColor = CSSPlugin.parseColor = function(v, toHSL) { + var a, r, g, b, h, s, l, max, min, d, wasHSL; + if (!v) { + a = _colorLookup.black; + } else if (typeof(v) === "number") { + a = [v >> 16, (v >> 8) & 255, v & 255]; + } else { + if (v.charAt(v.length - 1) === ",") { //sometimes a trailing comma is included and we should chop it off (typically from a comma-delimited list of values like a textShadow:"2px 2px 2px blue, 5px 5px 5px rgb(255,0,0)" - in this example "blue," has a trailing comma. We could strip it out inside parseComplex() but we'd need to do it to the beginning and ending values plus it wouldn't provide protection from other potential scenarios like if the user passes in a similar value. + v = v.substr(0, v.length - 1); + } + if (_colorLookup[v]) { + a = _colorLookup[v]; + } else if (v.charAt(0) === "#") { + if (v.length === 4) { //for shorthand like #9F0 + r = v.charAt(1); + g = v.charAt(2); + b = v.charAt(3); + v = "#" + r + r + g + g + b + b; + } + v = parseInt(v.substr(1), 16); + a = [v >> 16, (v >> 8) & 255, v & 255]; + } else if (v.substr(0, 3) === "hsl") { + a = wasHSL = v.match(_numExp); + if (!toHSL) { + h = (Number(a[0]) % 360) / 360; + s = Number(a[1]) / 100; + l = Number(a[2]) / 100; + g = (l <= 0.5) ? l * (s + 1) : l + s - l * s; + r = l * 2 - g; + if (a.length > 3) { + a[3] = Number(v[3]); + } + a[0] = _hue(h + 1 / 3, r, g); + a[1] = _hue(h, r, g); + a[2] = _hue(h - 1 / 3, r, g); + } else if (v.indexOf("=") !== -1) { //if relative values are found, just return the raw strings with the relative prefixes in place. + return v.match(_relNumExp); + } + } else { + a = v.match(_numExp) || _colorLookup.transparent; + } + a[0] = Number(a[0]); + a[1] = Number(a[1]); + a[2] = Number(a[2]); + if (a.length > 3) { + a[3] = Number(a[3]); + } + } + if (toHSL && !wasHSL) { + r = a[0] / 255; + g = a[1] / 255; + b = a[2] / 255; + max = Math.max(r, g, b); + min = Math.min(r, g, b); + l = (max + min) / 2; + if (max === min) { + h = s = 0; + } else { + d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + h = (max === r) ? (g - b) / d + (g < b ? 6 : 0) : (max === g) ? (b - r) / d + 2 : (r - g) / d + 4; + h *= 60; + } + a[0] = (h + 0.5) | 0; + a[1] = (s * 100 + 0.5) | 0; + a[2] = (l * 100 + 0.5) | 0; + } + return a; + }, + _formatColors = function(s, toHSL) { + var colors = s.match(_colorExp) || [], + charIndex = 0, + parsed = colors.length ? "" : s, + i, color, temp; + for (i = 0; i < colors.length; i++) { + color = colors[i]; + temp = s.substr(charIndex, s.indexOf(color, charIndex)-charIndex); + charIndex += temp.length + color.length; + color = _parseColor(color, toHSL); + if (color.length === 3) { + color.push(1); + } + parsed += temp + (toHSL ? "hsla(" + color[0] + "," + color[1] + "%," + color[2] + "%," + color[3] : "rgba(" + color.join(",")) + ")"; + } + return parsed; + }, + _colorExp = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b"; //we'll dynamically build this Regular Expression to conserve file size. After building it, it will be able to find rgb(), rgba(), # (hexadecimal), and named color values like red, blue, purple, etc. + + for (p in _colorLookup) { + _colorExp += "|" + p + "\\b"; + } + _colorExp = new RegExp(_colorExp+")", "gi"); + + CSSPlugin.colorStringFilter = function(a) { + var combined = a[0] + a[1], + toHSL; + _colorExp.lastIndex = 0; + if (_colorExp.test(combined)) { + toHSL = (combined.indexOf("hsl(") !== -1 || combined.indexOf("hsla(") !== -1); + a[0] = _formatColors(a[0], toHSL); + a[1] = _formatColors(a[1], toHSL); + } + }; + + if (!TweenLite.defaultStringFilter) { + TweenLite.defaultStringFilter = CSSPlugin.colorStringFilter; + } + + /** + * @private Returns a formatter function that handles taking a string (or number in some cases) and returning a consistently formatted one in terms of delimiters, quantity of values, etc. For example, we may get boxShadow values defined as "0px red" or "0px 0px 10px rgb(255,0,0)" or "0px 0px 20px 20px #F00" and we need to ensure that what we get back is described with 4 numbers and a color. This allows us to feed it into the _parseComplex() method and split the values up appropriately. The neat thing about this _getFormatter() function is that the dflt defines a pattern as well as a default, so for example, _getFormatter("0px 0px 0px 0px #777", true) not only sets the default as 0px for all distances and #777 for the color, but also sets the pattern such that 4 numbers and a color will always get returned. + * @param {!string} dflt The default value and pattern to follow. So "0px 0px 0px 0px #777" will ensure that 4 numbers and a color will always get returned. + * @param {boolean=} clr If true, the values should be searched for color-related data. For example, boxShadow values typically contain a color whereas borderRadius don't. + * @param {boolean=} collapsible If true, the value is a top/left/right/bottom style one that acts like margin or padding, where if only one value is received, it's used for all 4; if 2 are received, the first is duplicated for 3rd (bottom) and the 2nd is duplicated for the 4th spot (left), etc. + * @return {Function} formatter function + */ + var _getFormatter = function(dflt, clr, collapsible, multi) { + if (dflt == null) { + return function(v) {return v;}; + } + var dColor = clr ? (dflt.match(_colorExp) || [""])[0] : "", + dVals = dflt.split(dColor).join("").match(_valuesExp) || [], + pfx = dflt.substr(0, dflt.indexOf(dVals[0])), + sfx = (dflt.charAt(dflt.length - 1) === ")") ? ")" : "", + delim = (dflt.indexOf(" ") !== -1) ? " " : ",", + numVals = dVals.length, + dSfx = (numVals > 0) ? dVals[0].replace(_numExp, "") : "", + formatter; + if (!numVals) { + return function(v) {return v;}; + } + if (clr) { + formatter = function(v) { + var color, vals, i, a; + if (typeof(v) === "number") { + v += dSfx; + } else if (multi && _commasOutsideParenExp.test(v)) { + a = v.replace(_commasOutsideParenExp, "|").split("|"); + for (i = 0; i < a.length; i++) { + a[i] = formatter(a[i]); + } + return a.join(","); + } + color = (v.match(_colorExp) || [dColor])[0]; + vals = v.split(color).join("").match(_valuesExp) || []; + i = vals.length; + if (numVals > i--) { + while (++i < numVals) { + vals[i] = collapsible ? vals[(((i - 1) / 2) | 0)] : dVals[i]; + } + } + return pfx + vals.join(delim) + delim + color + sfx + (v.indexOf("inset") !== -1 ? " inset" : ""); + }; + return formatter; + + } + formatter = function(v) { + var vals, a, i; + if (typeof(v) === "number") { + v += dSfx; + } else if (multi && _commasOutsideParenExp.test(v)) { + a = v.replace(_commasOutsideParenExp, "|").split("|"); + for (i = 0; i < a.length; i++) { + a[i] = formatter(a[i]); + } + return a.join(","); + } + vals = v.match(_valuesExp) || []; + i = vals.length; + if (numVals > i--) { + while (++i < numVals) { + vals[i] = collapsible ? vals[(((i - 1) / 2) | 0)] : dVals[i]; + } + } + return pfx + vals.join(delim) + sfx; + }; + return formatter; + }, + + /** + * @private returns a formatter function that's used for edge-related values like marginTop, marginLeft, paddingBottom, paddingRight, etc. Just pass a comma-delimited list of property names related to the edges. + * @param {!string} props a comma-delimited list of property names in order from top to left, like "marginTop,marginRight,marginBottom,marginLeft" + * @return {Function} a formatter function + */ + _getEdgeParser = function(props) { + props = props.split(","); + return function(t, e, p, cssp, pt, plugin, vars) { + var a = (e + "").split(" "), + i; + vars = {}; + for (i = 0; i < 4; i++) { + vars[props[i]] = a[i] = a[i] || a[(((i - 1) / 2) >> 0)]; + } + return cssp.parse(t, vars, pt, plugin); + }; + }, + + // @private used when other plugins must tween values first, like BezierPlugin or ThrowPropsPlugin, etc. That plugin's setRatio() gets called first so that the values are updated, and then we loop through the MiniPropTweens which handle copying the values into their appropriate slots so that they can then be applied correctly in the main CSSPlugin setRatio() method. Remember, we typically create a proxy object that has a bunch of uniquely-named properties that we feed to the sub-plugin and it does its magic normally, and then we must interpret those values and apply them to the css because often numbers must get combined/concatenated, suffixes added, etc. to work with css, like boxShadow could have 4 values plus a color. + _setPluginRatio = _internals._setPluginRatio = function(v) { + this.plugin.setRatio(v); + var d = this.data, + proxy = d.proxy, + mpt = d.firstMPT, + min = 0.000001, + val, pt, i, str; + while (mpt) { + val = proxy[mpt.v]; + if (mpt.r) { + val = Math.round(val); + } else if (val < min && val > -min) { + val = 0; + } + mpt.t[mpt.p] = val; + mpt = mpt._next; + } + if (d.autoRotate) { + d.autoRotate.rotation = proxy.rotation; + } + //at the end, we must set the CSSPropTween's "e" (end) value dynamically here because that's what is used in the final setRatio() method. + if (v === 1) { + mpt = d.firstMPT; + while (mpt) { + pt = mpt.t; + if (!pt.type) { + pt.e = pt.s + pt.xs0; + } else if (pt.type === 1) { + str = pt.xs0 + pt.s + pt.xs1; + for (i = 1; i < pt.l; i++) { + str += pt["xn"+i] + pt["xs"+(i+1)]; + } + pt.e = str; + } + mpt = mpt._next; + } + } + }, + + /** + * @private @constructor Used by a few SpecialProps to hold important values for proxies. For example, _parseToProxy() creates a MiniPropTween instance for each property that must get tweened on the proxy, and we record the original property name as well as the unique one we create for the proxy, plus whether or not the value needs to be rounded plus the original value. + * @param {!Object} t target object whose property we're tweening (often a CSSPropTween) + * @param {!string} p property name + * @param {(number|string|object)} v value + * @param {MiniPropTween=} next next MiniPropTween in the linked list + * @param {boolean=} r if true, the tweened value should be rounded to the nearest integer + */ + MiniPropTween = function(t, p, v, next, r) { + this.t = t; + this.p = p; + this.v = v; + this.r = r; + if (next) { + next._prev = this; + this._next = next; + } + }, + + /** + * @private Most other plugins (like BezierPlugin and ThrowPropsPlugin and others) can only tween numeric values, but CSSPlugin must accommodate special values that have a bunch of extra data (like a suffix or strings between numeric values, etc.). For example, boxShadow has values like "10px 10px 20px 30px rgb(255,0,0)" which would utterly confuse other plugins. This method allows us to split that data apart and grab only the numeric data and attach it to uniquely-named properties of a generic proxy object ({}) so that we can feed that to virtually any plugin to have the numbers tweened. However, we must also keep track of which properties from the proxy go with which CSSPropTween values and instances. So we create a linked list of MiniPropTweens. Each one records a target (the original CSSPropTween), property (like "s" or "xn1" or "xn2") that we're tweening and the unique property name that was used for the proxy (like "boxShadow_xn1" and "boxShadow_xn2") and whether or not they need to be rounded. That way, in the _setPluginRatio() method we can simply copy the values over from the proxy to the CSSPropTween instance(s). Then, when the main CSSPlugin setRatio() method runs and applies the CSSPropTween values accordingly, they're updated nicely. So the external plugin tweens the numbers, _setPluginRatio() copies them over, and setRatio() acts normally, applying css-specific values to the element. + * This method returns an object that has the following properties: + * - proxy: a generic object containing the starting values for all the properties that will be tweened by the external plugin. This is what we feed to the external _onInitTween() as the target + * - end: a generic object containing the ending values for all the properties that will be tweened by the external plugin. This is what we feed to the external plugin's _onInitTween() as the destination values + * - firstMPT: the first MiniPropTween in the linked list + * - pt: the first CSSPropTween in the linked list that was created when parsing. If shallow is true, this linked list will NOT attach to the one passed into the _parseToProxy() as the "pt" (4th) parameter. + * @param {!Object} t target object to be tweened + * @param {!(Object|string)} vars the object containing the information about the tweening values (typically the end/destination values) that should be parsed + * @param {!CSSPlugin} cssp The CSSPlugin instance + * @param {CSSPropTween=} pt the next CSSPropTween in the linked list + * @param {TweenPlugin=} plugin the external TweenPlugin instance that will be handling tweening the numeric values + * @param {boolean=} shallow if true, the resulting linked list from the parse will NOT be attached to the CSSPropTween that was passed in as the "pt" (4th) parameter. + * @return An object containing the following properties: proxy, end, firstMPT, and pt (see above for descriptions) + */ + _parseToProxy = _internals._parseToProxy = function(t, vars, cssp, pt, plugin, shallow) { + var bpt = pt, + start = {}, + end = {}, + transform = cssp._transform, + oldForce = _forcePT, + i, p, xp, mpt, firstPT; + cssp._transform = null; + _forcePT = vars; + pt = firstPT = cssp.parse(t, vars, pt, plugin); + _forcePT = oldForce; + //break off from the linked list so the new ones are isolated. + if (shallow) { + cssp._transform = transform; + if (bpt) { + bpt._prev = null; + if (bpt._prev) { + bpt._prev._next = null; + } + } + } + while (pt && pt !== bpt) { + if (pt.type <= 1) { + p = pt.p; + end[p] = pt.s + pt.c; + start[p] = pt.s; + if (!shallow) { + mpt = new MiniPropTween(pt, "s", p, mpt, pt.r); + pt.c = 0; + } + if (pt.type === 1) { + i = pt.l; + while (--i > 0) { + xp = "xn" + i; + p = pt.p + "_" + xp; + end[p] = pt.data[xp]; + start[p] = pt[xp]; + if (!shallow) { + mpt = new MiniPropTween(pt, xp, p, mpt, pt.rxp[xp]); + } + } + } + } + pt = pt._next; + } + return {proxy:start, end:end, firstMPT:mpt, pt:firstPT}; + }, + + + + /** + * @constructor Each property that is tweened has at least one CSSPropTween associated with it. These instances store important information like the target, property, starting value, amount of change, etc. They can also optionally have a number of "extra" strings and numeric values named xs1, xn1, xs2, xn2, xs3, xn3, etc. where "s" indicates string and "n" indicates number. These can be pieced together in a complex-value tween (type:1) that has alternating types of data like a string, number, string, number, etc. For example, boxShadow could be "5px 5px 8px rgb(102, 102, 51)". In that value, there are 6 numbers that may need to tween and then pieced back together into a string again with spaces, suffixes, etc. xs0 is special in that it stores the suffix for standard (type:0) tweens, -OR- the first string (prefix) in a complex-value (type:1) CSSPropTween -OR- it can be the non-tweening value in a type:-1 CSSPropTween. We do this to conserve memory. + * CSSPropTweens have the following optional properties as well (not defined through the constructor): + * - l: Length in terms of the number of extra properties that the CSSPropTween has (default: 0). For example, for a boxShadow we may need to tween 5 numbers in which case l would be 5; Keep in mind that the start/end values for the first number that's tweened are always stored in the s and c properties to conserve memory. All additional values thereafter are stored in xn1, xn2, etc. + * - xfirst: The first instance of any sub-CSSPropTweens that are tweening properties of this instance. For example, we may split up a boxShadow tween so that there's a main CSSPropTween of type:1 that has various xs* and xn* values associated with the h-shadow, v-shadow, blur, color, etc. Then we spawn a CSSPropTween for each of those that has a higher priority and runs BEFORE the main CSSPropTween so that the values are all set by the time it needs to re-assemble them. The xfirst gives us an easy way to identify the first one in that chain which typically ends at the main one (because they're all prepende to the linked list) + * - plugin: The TweenPlugin instance that will handle the tweening of any complex values. For example, sometimes we don't want to use normal subtweens (like xfirst refers to) to tween the values - we might want ThrowPropsPlugin or BezierPlugin some other plugin to do the actual tweening, so we create a plugin instance and store a reference here. We need this reference so that if we get a request to round values or disable a tween, we can pass along that request. + * - data: Arbitrary data that needs to be stored with the CSSPropTween. Typically if we're going to have a plugin handle the tweening of a complex-value tween, we create a generic object that stores the END values that we're tweening to and the CSSPropTween's xs1, xs2, etc. have the starting values. We store that object as data. That way, we can simply pass that object to the plugin and use the CSSPropTween as the target. + * - setRatio: Only used for type:2 tweens that require custom functionality. In this case, we call the CSSPropTween's setRatio() method and pass the ratio each time the tween updates. This isn't quite as efficient as doing things directly in the CSSPlugin's setRatio() method, but it's very convenient and flexible. + * @param {!Object} t Target object whose property will be tweened. Often a DOM element, but not always. It could be anything. + * @param {string} p Property to tween (name). For example, to tween element.width, p would be "width". + * @param {number} s Starting numeric value + * @param {number} c Change in numeric value over the course of the entire tween. For example, if element.width starts at 5 and should end at 100, c would be 95. + * @param {CSSPropTween=} next The next CSSPropTween in the linked list. If one is defined, we will define its _prev as the new instance, and the new instance's _next will be pointed at it. + * @param {number=} type The type of CSSPropTween where -1 = a non-tweening value, 0 = a standard simple tween, 1 = a complex value (like one that has multiple numbers in a comma- or space-delimited string like border:"1px solid red"), and 2 = one that uses a custom setRatio function that does all of the work of applying the values on each update. + * @param {string=} n Name of the property that should be used for overwriting purposes which is typically the same as p but not always. For example, we may need to create a subtween for the 2nd part of a "clip:rect(...)" tween in which case "p" might be xs1 but "n" is still "clip" + * @param {boolean=} r If true, the value(s) should be rounded + * @param {number=} pr Priority in the linked list order. Higher priority CSSPropTweens will be updated before lower priority ones. The default priority is 0. + * @param {string=} b Beginning value. We store this to ensure that it is EXACTLY what it was when the tween began without any risk of interpretation issues. + * @param {string=} e Ending value. We store this to ensure that it is EXACTLY what the user defined at the end of the tween without any risk of interpretation issues. + */ + CSSPropTween = _internals.CSSPropTween = function(t, p, s, c, next, type, n, r, pr, b, e) { + this.t = t; //target + this.p = p; //property + this.s = s; //starting value + this.c = c; //change value + this.n = n || p; //name that this CSSPropTween should be associated to (usually the same as p, but not always - n is what overwriting looks at) + if (!(t instanceof CSSPropTween)) { + _overwriteProps.push(this.n); + } + this.r = r; //round (boolean) + this.type = type || 0; //0 = normal tween, -1 = non-tweening (in which case xs0 will be applied to the target's property, like tp.t[tp.p] = tp.xs0), 1 = complex-value SpecialProp, 2 = custom setRatio() that does all the work + if (pr) { + this.pr = pr; + _hasPriority = true; + } + this.b = (b === undefined) ? s : b; + this.e = (e === undefined) ? s + c : e; + if (next) { + this._next = next; + next._prev = this; + } + }, + + _addNonTweeningNumericPT = function(target, prop, start, end, next, overwriteProp) { //cleans up some code redundancies and helps minification. Just a fast way to add a NUMERIC non-tweening CSSPropTween + var pt = new CSSPropTween(target, prop, start, end - start, next, -1, overwriteProp); + pt.b = start; + pt.e = pt.xs0 = end; + return pt; + }, + + /** + * Takes a target, the beginning value and ending value (as strings) and parses them into a CSSPropTween (possibly with child CSSPropTweens) that accommodates multiple numbers, colors, comma-delimited values, etc. For example: + * sp.parseComplex(element, "boxShadow", "5px 10px 20px rgb(255,102,51)", "0px 0px 0px red", true, "0px 0px 0px rgb(0,0,0,0)", pt); + * It will walk through the beginning and ending values (which should be in the same format with the same number and type of values) and figure out which parts are numbers, what strings separate the numeric/tweenable values, and then create the CSSPropTweens accordingly. If a plugin is defined, no child CSSPropTweens will be created. Instead, the ending values will be stored in the "data" property of the returned CSSPropTween like: {s:-5, xn1:-10, xn2:-20, xn3:255, xn4:0, xn5:0} so that it can be fed to any other plugin and it'll be plain numeric tweens but the recomposition of the complex value will be handled inside CSSPlugin's setRatio(). + * If a setRatio is defined, the type of the CSSPropTween will be set to 2 and recomposition of the values will be the responsibility of that method. + * + * @param {!Object} t Target whose property will be tweened + * @param {!string} p Property that will be tweened (its name, like "left" or "backgroundColor" or "boxShadow") + * @param {string} b Beginning value + * @param {string} e Ending value + * @param {boolean} clrs If true, the value could contain a color value like "rgb(255,0,0)" or "#F00" or "red". The default is false, so no colors will be recognized (a performance optimization) + * @param {(string|number|Object)} dflt The default beginning value that should be used if no valid beginning value is defined or if the number of values inside the complex beginning and ending values don't match + * @param {?CSSPropTween} pt CSSPropTween instance that is the current head of the linked list (we'll prepend to this). + * @param {number=} pr Priority in the linked list order. Higher priority properties will be updated before lower priority ones. The default priority is 0. + * @param {TweenPlugin=} plugin If a plugin should handle the tweening of extra properties, pass the plugin instance here. If one is defined, then NO subtweens will be created for any extra properties (the properties will be created - just not additional CSSPropTween instances to tween them) because the plugin is expected to do so. However, the end values WILL be populated in the "data" property, like {s:100, xn1:50, xn2:300} + * @param {function(number)=} setRatio If values should be set in a custom function instead of being pieced together in a type:1 (complex-value) CSSPropTween, define that custom function here. + * @return {CSSPropTween} The first CSSPropTween in the linked list which includes the new one(s) added by the parseComplex() call. + */ + _parseComplex = CSSPlugin.parseComplex = function(t, p, b, e, clrs, dflt, pt, pr, plugin, setRatio) { + //DEBUG: _log("parseComplex: "+p+", b: "+b+", e: "+e); + b = b || dflt || ""; + pt = new CSSPropTween(t, p, 0, 0, pt, (setRatio ? 2 : 1), null, false, pr, b, e); + e += ""; //ensures it's a string + var ba = b.split(", ").join(",").split(" "), //beginning array + ea = e.split(", ").join(",").split(" "), //ending array + l = ba.length, + autoRound = (_autoRound !== false), + i, xi, ni, bv, ev, bnums, enums, bn, hasAlpha, temp, cv, str, useHSL; + if (e.indexOf(",") !== -1 || b.indexOf(",") !== -1) { + ba = ba.join(" ").replace(_commasOutsideParenExp, ", ").split(" "); + ea = ea.join(" ").replace(_commasOutsideParenExp, ", ").split(" "); + l = ba.length; + } + if (l !== ea.length) { + //DEBUG: _log("mismatched formatting detected on " + p + " (" + b + " vs " + e + ")"); + ba = (dflt || "").split(" "); + l = ba.length; + } + pt.plugin = plugin; + pt.setRatio = setRatio; + _colorExp.lastIndex = 0; + for (i = 0; i < l; i++) { + bv = ba[i]; + ev = ea[i]; + bn = parseFloat(bv); + //if the value begins with a number (most common). It's fine if it has a suffix like px + if (bn || bn === 0) { + pt.appendXtra("", bn, _parseChange(ev, bn), ev.replace(_relNumExp, ""), (autoRound && ev.indexOf("px") !== -1), true); + + //if the value is a color + } else if (clrs && _colorExp.test(bv)) { + str = ev.charAt(ev.length - 1) === "," ? ")," : ")"; //if there's a comma at the end, retain it. + useHSL = (ev.indexOf("hsl") !== -1 && _supportsOpacity); + bv = _parseColor(bv, useHSL); + ev = _parseColor(ev, useHSL); + hasAlpha = (bv.length + ev.length > 6); + if (hasAlpha && !_supportsOpacity && ev[3] === 0) { //older versions of IE don't support rgba(), so if the destination alpha is 0, just use "transparent" for the end color + pt["xs" + pt.l] += pt.l ? " transparent" : "transparent"; + pt.e = pt.e.split(ea[i]).join("transparent"); + } else { + if (!_supportsOpacity) { //old versions of IE don't support rgba(). + hasAlpha = false; + } + if (useHSL) { + pt.appendXtra((hasAlpha ? "hsla(" : "hsl("), bv[0], _parseChange(ev[0], bv[0]), ",", false, true) + .appendXtra("", bv[1], _parseChange(ev[1], bv[1]), "%,", false) + .appendXtra("", bv[2], _parseChange(ev[2], bv[2]), (hasAlpha ? "%," : "%" + str), false); + } else { + pt.appendXtra((hasAlpha ? "rgba(" : "rgb("), bv[0], ev[0] - bv[0], ",", true, true) + .appendXtra("", bv[1], ev[1] - bv[1], ",", true) + .appendXtra("", bv[2], ev[2] - bv[2], (hasAlpha ? "," : str), true); + } + + if (hasAlpha) { + bv = (bv.length < 4) ? 1 : bv[3]; + pt.appendXtra("", bv, ((ev.length < 4) ? 1 : ev[3]) - bv, str, false); + } + } + _colorExp.lastIndex = 0; //otherwise the test() on the RegExp could move the lastIndex and taint future results. + + } else { + bnums = bv.match(_numExp); //gets each group of numbers in the beginning value string and drops them into an array + + //if no number is found, treat it as a non-tweening value and just append the string to the current xs. + if (!bnums) { + pt["xs" + pt.l] += pt.l ? " " + bv : bv; + + //loop through all the numbers that are found and construct the extra values on the pt. + } else { + enums = ev.match(_relNumExp); //get each group of numbers in the end value string and drop them into an array. We allow relative values too, like +=50 or -=.5 + if (!enums || enums.length !== bnums.length) { + //DEBUG: _log("mismatched formatting detected on " + p + " (" + b + " vs " + e + ")"); + return pt; + } + ni = 0; + for (xi = 0; xi < bnums.length; xi++) { + cv = bnums[xi]; + temp = bv.indexOf(cv, ni); + pt.appendXtra(bv.substr(ni, temp - ni), Number(cv), _parseChange(enums[xi], cv), "", (autoRound && bv.substr(temp + cv.length, 2) === "px"), (xi === 0)); + ni = temp + cv.length; + } + pt["xs" + pt.l] += bv.substr(ni); + } + } + } + //if there are relative values ("+=" or "-=" prefix), we need to adjust the ending value to eliminate the prefixes and combine the values properly. + if (e.indexOf("=") !== -1) if (pt.data) { + str = pt.xs0 + pt.data.s; + for (i = 1; i < pt.l; i++) { + str += pt["xs" + i] + pt.data["xn" + i]; + } + pt.e = str + pt["xs" + i]; + } + if (!pt.l) { + pt.type = -1; + pt.xs0 = pt.e; + } + return pt.xfirst || pt; + }, + i = 9; + + + p = CSSPropTween.prototype; + p.l = p.pr = 0; //length (number of extra properties like xn1, xn2, xn3, etc. + while (--i > 0) { + p["xn" + i] = 0; + p["xs" + i] = ""; + } + p.xs0 = ""; + p._next = p._prev = p.xfirst = p.data = p.plugin = p.setRatio = p.rxp = null; + + + /** + * Appends and extra tweening value to a CSSPropTween and automatically manages any prefix and suffix strings. The first extra value is stored in the s and c of the main CSSPropTween instance, but thereafter any extras are stored in the xn1, xn2, xn3, etc. The prefixes and suffixes are stored in the xs0, xs1, xs2, etc. properties. For example, if I walk through a clip value like "rect(10px, 5px, 0px, 20px)", the values would be stored like this: + * xs0:"rect(", s:10, xs1:"px, ", xn1:5, xs2:"px, ", xn2:0, xs3:"px, ", xn3:20, xn4:"px)" + * And they'd all get joined together when the CSSPlugin renders (in the setRatio() method). + * @param {string=} pfx Prefix (if any) + * @param {!number} s Starting value + * @param {!number} c Change in numeric value over the course of the entire tween. For example, if the start is 5 and the end is 100, the change would be 95. + * @param {string=} sfx Suffix (if any) + * @param {boolean=} r Round (if true). + * @param {boolean=} pad If true, this extra value should be separated by the previous one by a space. If there is no previous extra and pad is true, it will automatically drop the space. + * @return {CSSPropTween} returns itself so that multiple methods can be chained together. + */ + p.appendXtra = function(pfx, s, c, sfx, r, pad) { + var pt = this, + l = pt.l; + pt["xs" + l] += (pad && l) ? " " + pfx : pfx || ""; + if (!c) if (l !== 0 && !pt.plugin) { //typically we'll combine non-changing values right into the xs to optimize performance, but we don't combine them when there's a plugin that will be tweening the values because it may depend on the values being split apart, like for a bezier, if a value doesn't change between the first and second iteration but then it does on the 3rd, we'll run into trouble because there's no xn slot for that value! + pt["xs" + l] += s + (sfx || ""); + return pt; + } + pt.l++; + pt.type = pt.setRatio ? 2 : 1; + pt["xs" + pt.l] = sfx || ""; + if (l > 0) { + pt.data["xn" + l] = s + c; + pt.rxp["xn" + l] = r; //round extra property (we need to tap into this in the _parseToProxy() method) + pt["xn" + l] = s; + if (!pt.plugin) { + pt.xfirst = new CSSPropTween(pt, "xn" + l, s, c, pt.xfirst || pt, 0, pt.n, r, pt.pr); + pt.xfirst.xs0 = 0; //just to ensure that the property stays numeric which helps modern browsers speed up processing. Remember, in the setRatio() method, we do pt.t[pt.p] = val + pt.xs0 so if pt.xs0 is "" (the default), it'll cast the end value as a string. When a property is a number sometimes and a string sometimes, it prevents the compiler from locking in the data type, slowing things down slightly. + } + return pt; + } + pt.data = {s:s + c}; + pt.rxp = {}; + pt.s = s; + pt.c = c; + pt.r = r; + return pt; + }; + + /** + * @constructor A SpecialProp is basically a css property that needs to be treated in a non-standard way, like if it may contain a complex value like boxShadow:"5px 10px 15px rgb(255, 102, 51)" or if it is associated with another plugin like ThrowPropsPlugin or BezierPlugin. Every SpecialProp is associated with a particular property name like "boxShadow" or "throwProps" or "bezier" and it will intercept those values in the vars object that's passed to the CSSPlugin and handle them accordingly. + * @param {!string} p Property name (like "boxShadow" or "throwProps") + * @param {Object=} options An object containing any of the following configuration options: + * - defaultValue: the default value + * - parser: A function that should be called when the associated property name is found in the vars. This function should return a CSSPropTween instance and it should ensure that it is properly inserted into the linked list. It will receive 4 paramters: 1) The target, 2) The value defined in the vars, 3) The CSSPlugin instance (whose _firstPT should be used for the linked list), and 4) A computed style object if one was calculated (this is a speed optimization that allows retrieval of starting values quicker) + * - formatter: a function that formats any value received for this special property (for example, boxShadow could take "5px 5px red" and format it to "5px 5px 0px 0px red" so that both the beginning and ending values have a common order and quantity of values.) + * - prefix: if true, we'll determine whether or not this property requires a vendor prefix (like Webkit or Moz or ms or O) + * - color: set this to true if the value for this SpecialProp may contain color-related values like rgb(), rgba(), etc. + * - priority: priority in the linked list order. Higher priority SpecialProps will be updated before lower priority ones. The default priority is 0. + * - multi: if true, the formatter should accommodate a comma-delimited list of values, like boxShadow could have multiple boxShadows listed out. + * - collapsible: if true, the formatter should treat the value like it's a top/right/bottom/left value that could be collapsed, like "5px" would apply to all, "5px, 10px" would use 5px for top/bottom and 10px for right/left, etc. + * - keyword: a special keyword that can [optionally] be found inside the value (like "inset" for boxShadow). This allows us to validate beginning/ending values to make sure they match (if the keyword is found in one, it'll be added to the other for consistency by default). + */ + var SpecialProp = function(p, options) { + options = options || {}; + this.p = options.prefix ? _checkPropPrefix(p) || p : p; + _specialProps[p] = _specialProps[this.p] = this; + this.format = options.formatter || _getFormatter(options.defaultValue, options.color, options.collapsible, options.multi); + if (options.parser) { + this.parse = options.parser; + } + this.clrs = options.color; + this.multi = options.multi; + this.keyword = options.keyword; + this.dflt = options.defaultValue; + this.pr = options.priority || 0; + }, + + //shortcut for creating a new SpecialProp that can accept multiple properties as a comma-delimited list (helps minification). dflt can be an array for multiple values (we don't do a comma-delimited list because the default value may contain commas, like rect(0px,0px,0px,0px)). We attach this method to the SpecialProp class/object instead of using a private _createSpecialProp() method so that we can tap into it externally if necessary, like from another plugin. + _registerComplexSpecialProp = _internals._registerComplexSpecialProp = function(p, options, defaults) { + if (typeof(options) !== "object") { + options = {parser:defaults}; //to make backwards compatible with older versions of BezierPlugin and ThrowPropsPlugin + } + var a = p.split(","), + d = options.defaultValue, + i, temp; + defaults = defaults || [d]; + for (i = 0; i < a.length; i++) { + options.prefix = (i === 0 && options.prefix); + options.defaultValue = defaults[i] || d; + temp = new SpecialProp(a[i], options); + } + }, + + //creates a placeholder special prop for a plugin so that the property gets caught the first time a tween of it is attempted, and at that time it makes the plugin register itself, thus taking over for all future tweens of that property. This allows us to not mandate that things load in a particular order and it also allows us to log() an error that informs the user when they attempt to tween an external plugin-related property without loading its .js file. + _registerPluginProp = function(p) { + if (!_specialProps[p]) { + var pluginName = p.charAt(0).toUpperCase() + p.substr(1) + "Plugin"; + _registerComplexSpecialProp(p, {parser:function(t, e, p, cssp, pt, plugin, vars) { + var pluginClass = _globals.com.greensock.plugins[pluginName]; + if (!pluginClass) { + _log("Error: " + pluginName + " js file not loaded."); + return pt; + } + pluginClass._cssRegister(); + return _specialProps[p].parse(t, e, p, cssp, pt, plugin, vars); + }}); + } + }; + + + p = SpecialProp.prototype; + + /** + * Alias for _parseComplex() that automatically plugs in certain values for this SpecialProp, like its property name, whether or not colors should be sensed, the default value, and priority. It also looks for any keyword that the SpecialProp defines (like "inset" for boxShadow) and ensures that the beginning and ending values have the same number of values for SpecialProps where multi is true (like boxShadow and textShadow can have a comma-delimited list) + * @param {!Object} t target element + * @param {(string|number|object)} b beginning value + * @param {(string|number|object)} e ending (destination) value + * @param {CSSPropTween=} pt next CSSPropTween in the linked list + * @param {TweenPlugin=} plugin If another plugin will be tweening the complex value, that TweenPlugin instance goes here. + * @param {function=} setRatio If a custom setRatio() method should be used to handle this complex value, that goes here. + * @return {CSSPropTween=} First CSSPropTween in the linked list + */ + p.parseComplex = function(t, b, e, pt, plugin, setRatio) { + var kwd = this.keyword, + i, ba, ea, l, bi, ei; + //if this SpecialProp's value can contain a comma-delimited list of values (like boxShadow or textShadow), we must parse them in a special way, and look for a keyword (like "inset" for boxShadow) and ensure that the beginning and ending BOTH have it if the end defines it as such. We also must ensure that there are an equal number of values specified (we can't tween 1 boxShadow to 3 for example) + if (this.multi) if (_commasOutsideParenExp.test(e) || _commasOutsideParenExp.test(b)) { + ba = b.replace(_commasOutsideParenExp, "|").split("|"); + ea = e.replace(_commasOutsideParenExp, "|").split("|"); + } else if (kwd) { + ba = [b]; + ea = [e]; + } + if (ea) { + l = (ea.length > ba.length) ? ea.length : ba.length; + for (i = 0; i < l; i++) { + b = ba[i] = ba[i] || this.dflt; + e = ea[i] = ea[i] || this.dflt; + if (kwd) { + bi = b.indexOf(kwd); + ei = e.indexOf(kwd); + if (bi !== ei) { + if (ei === -1) { //if the keyword isn't in the end value, remove it from the beginning one. + ba[i] = ba[i].split(kwd).join(""); + } else if (bi === -1) { //if the keyword isn't in the beginning, add it. + ba[i] += " " + kwd; + } + } + } + } + b = ba.join(", "); + e = ea.join(", "); + } + return _parseComplex(t, this.p, b, e, this.clrs, this.dflt, pt, this.pr, plugin, setRatio); + }; + + /** + * Accepts a target and end value and spits back a CSSPropTween that has been inserted into the CSSPlugin's linked list and conforms with all the conventions we use internally, like type:-1, 0, 1, or 2, setting up any extra property tweens, priority, etc. For example, if we have a boxShadow SpecialProp and call: + * this._firstPT = sp.parse(element, "5px 10px 20px rgb(2550,102,51)", "boxShadow", this); + * It should figure out the starting value of the element's boxShadow, compare it to the provided end value and create all the necessary CSSPropTweens of the appropriate types to tween the boxShadow. The CSSPropTween that gets spit back should already be inserted into the linked list (the 4th parameter is the current head, so prepend to that). + * @param {!Object} t Target object whose property is being tweened + * @param {Object} e End value as provided in the vars object (typically a string, but not always - like a throwProps would be an object). + * @param {!string} p Property name + * @param {!CSSPlugin} cssp The CSSPlugin instance that should be associated with this tween. + * @param {?CSSPropTween} pt The CSSPropTween that is the current head of the linked list (we'll prepend to it) + * @param {TweenPlugin=} plugin If a plugin will be used to tween the parsed value, this is the plugin instance. + * @param {Object=} vars Original vars object that contains the data for parsing. + * @return {CSSPropTween} The first CSSPropTween in the linked list which includes the new one(s) added by the parse() call. + */ + p.parse = function(t, e, p, cssp, pt, plugin, vars) { + return this.parseComplex(t.style, this.format(_getStyle(t, this.p, _cs, false, this.dflt)), this.format(e), pt, plugin); + }; + + /** + * Registers a special property that should be intercepted from any "css" objects defined in tweens. This allows you to handle them however you want without CSSPlugin doing it for you. The 2nd parameter should be a function that accepts 3 parameters: + * 1) Target object whose property should be tweened (typically a DOM element) + * 2) The end/destination value (could be a string, number, object, or whatever you want) + * 3) The tween instance (you probably don't need to worry about this, but it can be useful for looking up information like the duration) + * + * Then, your function should return a function which will be called each time the tween gets rendered, passing a numeric "ratio" parameter to your function that indicates the change factor (usually between 0 and 1). For example: + * + * CSSPlugin.registerSpecialProp("myCustomProp", function(target, value, tween) { + * var start = target.style.width; + * return function(ratio) { + * target.style.width = (start + value * ratio) + "px"; + * console.log("set width to " + target.style.width); + * } + * }, 0); + * + * Then, when I do this tween, it will trigger my special property: + * + * TweenLite.to(element, 1, {css:{myCustomProp:100}}); + * + * In the example, of course, we're just changing the width, but you can do anything you want. + * + * @param {!string} name Property name (or comma-delimited list of property names) that should be intercepted and handled by your function. For example, if I define "myCustomProp", then it would handle that portion of the following tween: TweenLite.to(element, 1, {css:{myCustomProp:100}}) + * @param {!function(Object, Object, Object, string):function(number)} onInitTween The function that will be called when a tween of this special property is performed. The function will receive 4 parameters: 1) Target object that should be tweened, 2) Value that was passed to the tween, 3) The tween instance itself (rarely used), and 4) The property name that's being tweened. Your function should return a function that should be called on every update of the tween. That function will receive a single parameter that is a "change factor" value (typically between 0 and 1) indicating the amount of change as a ratio. You can use this to determine how to set the values appropriately in your function. + * @param {number=} priority Priority that helps the engine determine the order in which to set the properties (default: 0). Higher priority properties will be updated before lower priority ones. + */ + CSSPlugin.registerSpecialProp = function(name, onInitTween, priority) { + _registerComplexSpecialProp(name, {parser:function(t, e, p, cssp, pt, plugin, vars) { + var rv = new CSSPropTween(t, p, 0, 0, pt, 2, p, false, priority); + rv.plugin = plugin; + rv.setRatio = onInitTween(t, e, cssp._tween, p); + return rv; + }, priority:priority}); + }; + + + + + + + //transform-related methods and properties + CSSPlugin.useSVGTransformAttr = _isSafari || _isFirefox; //Safari and Firefox both have some rendering bugs when applying CSS transforms to SVG elements, so default to using the "transform" attribute instead (users can override this). + var _transformProps = ("scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent").split(","), + _transformProp = _checkPropPrefix("transform"), //the Javascript (camelCase) transform property, like msTransform, WebkitTransform, MozTransform, or OTransform. + _transformPropCSS = _prefixCSS + "transform", + _transformOriginProp = _checkPropPrefix("transformOrigin"), + _supports3D = (_checkPropPrefix("perspective") !== null), + Transform = _internals.Transform = function() { + this.perspective = parseFloat(CSSPlugin.defaultTransformPerspective) || 0; + this.force3D = (CSSPlugin.defaultForce3D === false || !_supports3D) ? false : CSSPlugin.defaultForce3D || "auto"; + }, + _SVGElement = window.SVGElement, + _useSVGTransformAttr, + //Some browsers (like Firefox and IE) don't honor transform-origin properly in SVG elements, so we need to manually adjust the matrix accordingly. We feature detect here rather than always doing the conversion for certain browsers because they may fix the problem at some point in the future. + + _createSVG = function(type, container, attributes) { + var element = _doc.createElementNS("http://www.w3.org/2000/svg", type), + reg = /([a-z])([A-Z])/g, + p; + for (p in attributes) { + element.setAttributeNS(null, p.replace(reg, "$1-$2").toLowerCase(), attributes[p]); + } + container.appendChild(element); + return element; + }, + _docElement = _doc.documentElement, + _forceSVGTransformAttr = (function() { + //IE and Android stock don't support CSS transforms on SVG elements, so we must write them to the "transform" attribute. We populate this variable in the _parseTransform() method, and only if/when we come across an SVG element + var force = _ieVers || (/Android/i.test(_agent) && !window.chrome), + svg, rect, width; + if (_doc.createElementNS && !force) { //IE8 and earlier doesn't support SVG anyway + svg = _createSVG("svg", _docElement); + rect = _createSVG("rect", svg, {width:100, height:50, x:100}); + width = rect.getBoundingClientRect().width; + rect.style[_transformOriginProp] = "50% 50%"; + rect.style[_transformProp] = "scaleX(0.5)"; + force = (width === rect.getBoundingClientRect().width && !(_isFirefox && _supports3D)); //note: Firefox fails the test even though it does support CSS transforms in 3D. Since we can't push 3D stuff into the transform attribute, we force Firefox to pass the test here (as long as it does truly support 3D). + _docElement.removeChild(svg); + } + return force; + })(), + _parseSVGOrigin = function(e, local, decoratee, absolute, smoothOrigin) { + var tm = e._gsTransform, + m = _getMatrix(e, true), + v, x, y, xOrigin, yOrigin, a, b, c, d, tx, ty, determinant, xOriginOld, yOriginOld; + if (tm) { + xOriginOld = tm.xOrigin; //record the original values before we alter them. + yOriginOld = tm.yOrigin; + } + if (!absolute || (v = absolute.split(" ")).length < 2) { + b = e.getBBox(); + local = _parsePosition(local).split(" "); + v = [(local[0].indexOf("%") !== -1 ? parseFloat(local[0]) / 100 * b.width : parseFloat(local[0])) + b.x, + (local[1].indexOf("%") !== -1 ? parseFloat(local[1]) / 100 * b.height : parseFloat(local[1])) + b.y]; + } + decoratee.xOrigin = xOrigin = parseFloat(v[0]); + decoratee.yOrigin = yOrigin = parseFloat(v[1]); + if (absolute && m !== _identity2DMatrix) { //if svgOrigin is being set, we must invert the matrix and determine where the absolute point is, factoring in the current transforms. Otherwise, the svgOrigin would be based on the element's non-transformed position on the canvas. + a = m[0]; + b = m[1]; + c = m[2]; + d = m[3]; + tx = m[4]; + ty = m[5]; + determinant = (a * d - b * c); + x = xOrigin * (d / determinant) + yOrigin * (-c / determinant) + ((c * ty - d * tx) / determinant); + y = xOrigin * (-b / determinant) + yOrigin * (a / determinant) - ((a * ty - b * tx) / determinant); + xOrigin = decoratee.xOrigin = v[0] = x; + yOrigin = decoratee.yOrigin = v[1] = y; + } + if (tm) { //avoid jump when transformOrigin is changed - adjust the x/y values accordingly + if (smoothOrigin || (smoothOrigin !== false && CSSPlugin.defaultSmoothOrigin !== false)) { + x = xOrigin - xOriginOld; + y = yOrigin - yOriginOld; + //originally, we simply adjusted the x and y values, but that would cause problems if, for example, you created a rotational tween part-way through an x/y tween. Managing the offset in a separate variable gives us ultimate flexibility. + //tm.x -= x - (x * m[0] + y * m[2]); + //tm.y -= y - (x * m[1] + y * m[3]); + tm.xOffset += (x * m[0] + y * m[2]) - x; + tm.yOffset += (x * m[1] + y * m[3]) - y; + } else { + tm.xOffset = tm.yOffset = 0; + } + } + e.setAttribute("data-svg-origin", v.join(" ")); + }, + _isSVG = function(e) { + return !!(_SVGElement && typeof(e.getBBox) === "function" && e.getCTM && (!e.parentNode || (e.parentNode.getBBox && e.parentNode.getCTM))); + }, + _identity2DMatrix = [1,0,0,1,0,0], + _getMatrix = function(e, force2D) { + var tm = e._gsTransform || new Transform(), + rnd = 100000, + isDefault, s, m, n, dec; + if (_transformProp) { + s = _getStyle(e, _transformPropCSS, null, true); + } else if (e.currentStyle) { + //for older versions of IE, we need to interpret the filter portion that is in the format: progid:DXImageTransform.Microsoft.Matrix(M11=6.123233995736766e-17, M12=-1, M21=1, M22=6.123233995736766e-17, sizingMethod='auto expand') Notice that we need to swap b and c compared to a normal matrix. + s = e.currentStyle.filter.match(_ieGetMatrixExp); + s = (s && s.length === 4) ? [s[0].substr(4), Number(s[2].substr(4)), Number(s[1].substr(4)), s[3].substr(4), (tm.x || 0), (tm.y || 0)].join(",") : ""; + } + isDefault = (!s || s === "none" || s === "matrix(1, 0, 0, 1, 0, 0)"); + if (tm.svg || (e.getBBox && _isSVG(e))) { + if (isDefault && (e.style[_transformProp] + "").indexOf("matrix") !== -1) { //some browsers (like Chrome 40) don't correctly report transforms that are applied inline on an SVG element (they don't get included in the computed style), so we double-check here and accept matrix values + s = e.style[_transformProp]; + isDefault = 0; + } + m = e.getAttribute("transform"); + if (isDefault && m) { + if (m.indexOf("matrix") !== -1) { //just in case there's a "transform" value specified as an attribute instead of CSS style. Accept either a matrix() or simple translate() value though. + s = m; + isDefault = 0; + } else if (m.indexOf("translate") !== -1) { + s = "matrix(1,0,0,1," + m.match(/(?:\-|\b)[\d\-\.e]+\b/gi).join(",") + ")"; + isDefault = 0; + } + } + } + if (isDefault) { + return _identity2DMatrix; + } + //split the matrix values out into an array (m for matrix) + m = (s || "").match(/(?:\-|\b)[\d\-\.e]+\b/gi) || []; + i = m.length; + while (--i > -1) { + n = Number(m[i]); + m[i] = (dec = n - (n |= 0)) ? ((dec * rnd + (dec < 0 ? -0.5 : 0.5)) | 0) / rnd + n : n; //convert strings to Numbers and round to 5 decimal places to avoid issues with tiny numbers. Roughly 20x faster than Number.toFixed(). We also must make sure to round before dividing so that values like 0.9999999999 become 1 to avoid glitches in browser rendering and interpretation of flipped/rotated 3D matrices. And don't just multiply the number by rnd, floor it, and then divide by rnd because the bitwise operations max out at a 32-bit signed integer, thus it could get clipped at a relatively low value (like 22,000.00000 for example). + } + return (force2D && m.length > 6) ? [m[0], m[1], m[4], m[5], m[12], m[13]] : m; + }, + + /** + * Parses the transform values for an element, returning an object with x, y, z, scaleX, scaleY, scaleZ, rotation, rotationX, rotationY, skewX, and skewY properties. Note: by default (for performance reasons), all skewing is combined into skewX and rotation but skewY still has a place in the transform object so that we can record how much of the skew is attributed to skewX vs skewY. Remember, a skewY of 10 looks the same as a rotation of 10 and skewX of -10. + * @param {!Object} t target element + * @param {Object=} cs computed style object (optional) + * @param {boolean=} rec if true, the transform values will be recorded to the target element's _gsTransform object, like target._gsTransform = {x:0, y:0, z:0, scaleX:1...} + * @param {boolean=} parse if true, we'll ignore any _gsTransform values that already exist on the element, and force a reparsing of the css (calculated style) + * @return {object} object containing all of the transform properties/values like {x:0, y:0, z:0, scaleX:1...} + */ + _getTransform = _internals.getTransform = function(t, cs, rec, parse) { + if (t._gsTransform && rec && !parse) { + return t._gsTransform; //if the element already has a _gsTransform, use that. Note: some browsers don't accurately return the calculated style for the transform (particularly for SVG), so it's almost always safest to just use the values we've already applied rather than re-parsing things. + } + var tm = rec ? t._gsTransform || new Transform() : new Transform(), + invX = (tm.scaleX < 0), //in order to interpret things properly, we need to know if the user applied a negative scaleX previously so that we can adjust the rotation and skewX accordingly. Otherwise, if we always interpret a flipped matrix as affecting scaleY and the user only wants to tween the scaleX on multiple sequential tweens, it would keep the negative scaleY without that being the user's intent. + min = 0.00002, + rnd = 100000, + zOrigin = _supports3D ? parseFloat(_getStyle(t, _transformOriginProp, cs, false, "0 0 0").split(" ")[2]) || tm.zOrigin || 0 : 0, + defaultTransformPerspective = parseFloat(CSSPlugin.defaultTransformPerspective) || 0, + m, i, scaleX, scaleY, rotation, skewX; + + tm.svg = !!(t.getBBox && _isSVG(t)); + if (tm.svg) { + _parseSVGOrigin(t, _getStyle(t, _transformOriginProp, _cs, false, "50% 50%") + "", tm, t.getAttribute("data-svg-origin")); + _useSVGTransformAttr = CSSPlugin.useSVGTransformAttr || _forceSVGTransformAttr; + } + m = _getMatrix(t); + if (m !== _identity2DMatrix) { + + if (m.length === 16) { + //we'll only look at these position-related 6 variables first because if x/y/z all match, it's relatively safe to assume we don't need to re-parse everything which risks losing important rotational information (like rotationX:180 plus rotationY:180 would look the same as rotation:180 - there's no way to know for sure which direction was taken based solely on the matrix3d() values) + var a11 = m[0], a21 = m[1], a31 = m[2], a41 = m[3], + a12 = m[4], a22 = m[5], a32 = m[6], a42 = m[7], + a13 = m[8], a23 = m[9], a33 = m[10], + a14 = m[12], a24 = m[13], a34 = m[14], + a43 = m[11], + angle = Math.atan2(a32, a33), + t1, t2, t3, t4, cos, sin; + + //we manually compensate for non-zero z component of transformOrigin to work around bugs in Safari + if (tm.zOrigin) { + a34 = -tm.zOrigin; + a14 = a13*a34-m[12]; + a24 = a23*a34-m[13]; + a34 = a33*a34+tm.zOrigin-m[14]; + } + tm.rotationX = angle * _RAD2DEG; + //rotationX + if (angle) { + cos = Math.cos(-angle); + sin = Math.sin(-angle); + t1 = a12*cos+a13*sin; + t2 = a22*cos+a23*sin; + t3 = a32*cos+a33*sin; + a13 = a12*-sin+a13*cos; + a23 = a22*-sin+a23*cos; + a33 = a32*-sin+a33*cos; + a43 = a42*-sin+a43*cos; + a12 = t1; + a22 = t2; + a32 = t3; + } + //rotationY + angle = Math.atan2(a13, a33); + tm.rotationY = angle * _RAD2DEG; + if (angle) { + cos = Math.cos(-angle); + sin = Math.sin(-angle); + t1 = a11*cos-a13*sin; + t2 = a21*cos-a23*sin; + t3 = a31*cos-a33*sin; + a23 = a21*sin+a23*cos; + a33 = a31*sin+a33*cos; + a43 = a41*sin+a43*cos; + a11 = t1; + a21 = t2; + a31 = t3; + } + //rotationZ + angle = Math.atan2(a21, a11); + tm.rotation = angle * _RAD2DEG; + if (angle) { + cos = Math.cos(-angle); + sin = Math.sin(-angle); + a11 = a11*cos+a12*sin; + t2 = a21*cos+a22*sin; + a22 = a21*-sin+a22*cos; + a32 = a31*-sin+a32*cos; + a21 = t2; + } + + if (tm.rotationX && Math.abs(tm.rotationX) + Math.abs(tm.rotation) > 359.9) { //when rotationY is set, it will often be parsed as 180 degrees different than it should be, and rotationX and rotation both being 180 (it looks the same), so we adjust for that here. + tm.rotationX = tm.rotation = 0; + tm.rotationY += 180; + } + + tm.scaleX = ((Math.sqrt(a11 * a11 + a21 * a21) * rnd + 0.5) | 0) / rnd; + tm.scaleY = ((Math.sqrt(a22 * a22 + a23 * a23) * rnd + 0.5) | 0) / rnd; + tm.scaleZ = ((Math.sqrt(a32 * a32 + a33 * a33) * rnd + 0.5) | 0) / rnd; + tm.skewX = 0; + tm.perspective = a43 ? 1 / ((a43 < 0) ? -a43 : a43) : 0; + tm.x = a14; + tm.y = a24; + tm.z = a34; + if (tm.svg) { + tm.x -= tm.xOrigin - (tm.xOrigin * a11 - tm.yOrigin * a12); + tm.y -= tm.yOrigin - (tm.yOrigin * a21 - tm.xOrigin * a22); + } + + } else if ((!_supports3D || parse || !m.length || tm.x !== m[4] || tm.y !== m[5] || (!tm.rotationX && !tm.rotationY)) && !(tm.x !== undefined && _getStyle(t, "display", cs) === "none")) { //sometimes a 6-element matrix is returned even when we performed 3D transforms, like if rotationX and rotationY are 180. In cases like this, we still need to honor the 3D transforms. If we just rely on the 2D info, it could affect how the data is interpreted, like scaleY might get set to -1 or rotation could get offset by 180 degrees. For example, do a TweenLite.to(element, 1, {css:{rotationX:180, rotationY:180}}) and then later, TweenLite.to(element, 1, {css:{rotationX:0}}) and without this conditional logic in place, it'd jump to a state of being unrotated when the 2nd tween starts. Then again, we need to honor the fact that the user COULD alter the transforms outside of CSSPlugin, like by manually applying new css, so we try to sense that by looking at x and y because if those changed, we know the changes were made outside CSSPlugin and we force a reinterpretation of the matrix values. Also, in Webkit browsers, if the element's "display" is "none", its calculated style value will always return empty, so if we've already recorded the values in the _gsTransform object, we'll just rely on those. + var k = (m.length >= 6), + a = k ? m[0] : 1, + b = m[1] || 0, + c = m[2] || 0, + d = k ? m[3] : 1; + tm.x = m[4] || 0; + tm.y = m[5] || 0; + scaleX = Math.sqrt(a * a + b * b); + scaleY = Math.sqrt(d * d + c * c); + rotation = (a || b) ? Math.atan2(b, a) * _RAD2DEG : tm.rotation || 0; //note: if scaleX is 0, we cannot accurately measure rotation. Same for skewX with a scaleY of 0. Therefore, we default to the previously recorded value (or zero if that doesn't exist). + skewX = (c || d) ? Math.atan2(c, d) * _RAD2DEG + rotation : tm.skewX || 0; + if (Math.abs(skewX) > 90 && Math.abs(skewX) < 270) { + if (invX) { + scaleX *= -1; + skewX += (rotation <= 0) ? 180 : -180; + rotation += (rotation <= 0) ? 180 : -180; + } else { + scaleY *= -1; + skewX += (skewX <= 0) ? 180 : -180; + } + } + tm.scaleX = scaleX; + tm.scaleY = scaleY; + tm.rotation = rotation; + tm.skewX = skewX; + if (_supports3D) { + tm.rotationX = tm.rotationY = tm.z = 0; + tm.perspective = defaultTransformPerspective; + tm.scaleZ = 1; + } + if (tm.svg) { + tm.x -= tm.xOrigin - (tm.xOrigin * a + tm.yOrigin * c); + tm.y -= tm.yOrigin - (tm.xOrigin * b + tm.yOrigin * d); + } + } + tm.zOrigin = zOrigin; + //some browsers have a hard time with very small values like 2.4492935982947064e-16 (notice the "e-" towards the end) and would render the object slightly off. So we round to 0 in these cases. The conditional logic here is faster than calling Math.abs(). Also, browsers tend to render a SLIGHTLY rotated object in a fuzzy way, so we need to snap to exactly 0 when appropriate. + for (i in tm) { + if (tm[i] < min) if (tm[i] > -min) { + tm[i] = 0; + } + } + } + //DEBUG: _log("parsed rotation of " + t.getAttribute("id")+": "+(tm.rotationX)+", "+(tm.rotationY)+", "+(tm.rotation)+", scale: "+tm.scaleX+", "+tm.scaleY+", "+tm.scaleZ+", position: "+tm.x+", "+tm.y+", "+tm.z+", perspective: "+tm.perspective+ ", origin: "+ tm.xOrigin+ ","+ tm.yOrigin); + if (rec) { + t._gsTransform = tm; //record to the object's _gsTransform which we use so that tweens can control individual properties independently (we need all the properties to accurately recompose the matrix in the setRatio() method) + if (tm.svg) { //if we're supposed to apply transforms to the SVG element's "transform" attribute, make sure there aren't any CSS transforms applied or they'll override the attribute ones. Also clear the transform attribute if we're using CSS, just to be clean. + if (_useSVGTransformAttr && t.style[_transformProp]) { + TweenLite.delayedCall(0.001, function(){ //if we apply this right away (before anything has rendered), we risk there being no transforms for a brief moment and it also interferes with adjusting the transformOrigin in a tween with immediateRender:true (it'd try reading the matrix and it wouldn't have the appropriate data in place because we just removed it). + _removeProp(t.style, _transformProp); + }); + } else if (!_useSVGTransformAttr && t.getAttribute("transform")) { + TweenLite.delayedCall(0.001, function(){ + t.removeAttribute("transform"); + }); + } + } + } + return tm; + }, + + //for setting 2D transforms in IE6, IE7, and IE8 (must use a "filter" to emulate the behavior of modern day browser transforms) + _setIETransformRatio = function(v) { + var t = this.data, //refers to the element's _gsTransform object + ang = -t.rotation * _DEG2RAD, + skew = ang + t.skewX * _DEG2RAD, + rnd = 100000, + a = ((Math.cos(ang) * t.scaleX * rnd) | 0) / rnd, + b = ((Math.sin(ang) * t.scaleX * rnd) | 0) / rnd, + c = ((Math.sin(skew) * -t.scaleY * rnd) | 0) / rnd, + d = ((Math.cos(skew) * t.scaleY * rnd) | 0) / rnd, + style = this.t.style, + cs = this.t.currentStyle, + filters, val; + if (!cs) { + return; + } + val = b; //just for swapping the variables an inverting them (reused "val" to avoid creating another variable in memory). IE's filter matrix uses a non-standard matrix configuration (angle goes the opposite way, and b and c are reversed and inverted) + b = -c; + c = -val; + filters = cs.filter; + style.filter = ""; //remove filters so that we can accurately measure offsetWidth/offsetHeight + var w = this.t.offsetWidth, + h = this.t.offsetHeight, + clip = (cs.position !== "absolute"), + m = "progid:DXImageTransform.Microsoft.Matrix(M11=" + a + ", M12=" + b + ", M21=" + c + ", M22=" + d, + ox = t.x + (w * t.xPercent / 100), + oy = t.y + (h * t.yPercent / 100), + dx, dy; + + //if transformOrigin is being used, adjust the offset x and y + if (t.ox != null) { + dx = ((t.oxp) ? w * t.ox * 0.01 : t.ox) - w / 2; + dy = ((t.oyp) ? h * t.oy * 0.01 : t.oy) - h / 2; + ox += dx - (dx * a + dy * b); + oy += dy - (dx * c + dy * d); + } + + if (!clip) { + m += ", sizingMethod='auto expand')"; + } else { + dx = (w / 2); + dy = (h / 2); + //translate to ensure that transformations occur around the correct origin (default is center). + m += ", Dx=" + (dx - (dx * a + dy * b) + ox) + ", Dy=" + (dy - (dx * c + dy * d) + oy) + ")"; + } + if (filters.indexOf("DXImageTransform.Microsoft.Matrix(") !== -1) { + style.filter = filters.replace(_ieSetMatrixExp, m); + } else { + style.filter = m + " " + filters; //we must always put the transform/matrix FIRST (before alpha(opacity=xx)) to avoid an IE bug that slices part of the object when rotation is applied with alpha. + } + + //at the end or beginning of the tween, if the matrix is normal (1, 0, 0, 1) and opacity is 100 (or doesn't exist), remove the filter to improve browser performance. + if (v === 0 || v === 1) if (a === 1) if (b === 0) if (c === 0) if (d === 1) if (!clip || m.indexOf("Dx=0, Dy=0") !== -1) if (!_opacityExp.test(filters) || parseFloat(RegExp.$1) === 100) if (filters.indexOf("gradient(" && filters.indexOf("Alpha")) === -1) { + style.removeAttribute("filter"); + } + + //we must set the margins AFTER applying the filter in order to avoid some bugs in IE8 that could (in rare scenarios) cause them to be ignored intermittently (vibration). + if (!clip) { + var mult = (_ieVers < 8) ? 1 : -1, //in Internet Explorer 7 and before, the box model is broken, causing the browser to treat the width/height of the actual rotated filtered image as the width/height of the box itself, but Microsoft corrected that in IE8. We must use a negative offset in IE8 on the right/bottom + marg, prop, dif; + dx = t.ieOffsetX || 0; + dy = t.ieOffsetY || 0; + t.ieOffsetX = Math.round((w - ((a < 0 ? -a : a) * w + (b < 0 ? -b : b) * h)) / 2 + ox); + t.ieOffsetY = Math.round((h - ((d < 0 ? -d : d) * h + (c < 0 ? -c : c) * w)) / 2 + oy); + for (i = 0; i < 4; i++) { + prop = _margins[i]; + marg = cs[prop]; + //we need to get the current margin in case it is being tweened separately (we want to respect that tween's changes) + val = (marg.indexOf("px") !== -1) ? parseFloat(marg) : _convertToPixels(this.t, prop, parseFloat(marg), marg.replace(_suffixExp, "")) || 0; + if (val !== t[prop]) { + dif = (i < 2) ? -t.ieOffsetX : -t.ieOffsetY; //if another tween is controlling a margin, we cannot only apply the difference in the ieOffsets, so we essentially zero-out the dx and dy here in that case. We record the margin(s) later so that we can keep comparing them, making this code very flexible. + } else { + dif = (i < 2) ? dx - t.ieOffsetX : dy - t.ieOffsetY; + } + style[prop] = (t[prop] = Math.round( val - dif * ((i === 0 || i === 2) ? 1 : mult) )) + "px"; + } + } + }, + + /* translates a super small decimal to a string WITHOUT scientific notation + _safeDecimal = function(n) { + var s = (n < 0 ? -n : n) + "", + a = s.split("e-"); + return (n < 0 ? "-0." : "0.") + new Array(parseInt(a[1], 10) || 0).join("0") + a[0].split(".").join(""); + }, + */ + + _setTransformRatio = _internals.set3DTransformRatio = _internals.setTransformRatio = function(v) { + var t = this.data, //refers to the element's _gsTransform object + style = this.t.style, + angle = t.rotation, + rotationX = t.rotationX, + rotationY = t.rotationY, + sx = t.scaleX, + sy = t.scaleY, + sz = t.scaleZ, + x = t.x, + y = t.y, + z = t.z, + isSVG = t.svg, + perspective = t.perspective, + force3D = t.force3D, + a11, a12, a13, a21, a22, a23, a31, a32, a33, a41, a42, a43, + zOrigin, min, cos, sin, t1, t2, transform, comma, zero, skew, rnd; + //check to see if we should render as 2D (and SVGs must use 2D when _useSVGTransformAttr is true) + if (((((v === 1 || v === 0) && force3D === "auto" && (this.tween._totalTime === this.tween._totalDuration || !this.tween._totalTime)) || !force3D) && !z && !perspective && !rotationY && !rotationX) || (_useSVGTransformAttr && isSVG) || !_supports3D) { //on the final render (which could be 0 for a from tween), if there are no 3D aspects, render in 2D to free up memory and improve performance especially on mobile devices. Check the tween's totalTime/totalDuration too in order to make sure it doesn't happen between repeats if it's a repeating tween. + + //2D + if (angle || t.skewX || isSVG) { + angle *= _DEG2RAD; + skew = t.skewX * _DEG2RAD; + rnd = 100000; + a11 = Math.cos(angle) * sx; + a21 = Math.sin(angle) * sx; + a12 = Math.sin(angle - skew) * -sy; + a22 = Math.cos(angle - skew) * sy; + if (skew && t.skewType === "simple") { //by default, we compensate skewing on the other axis to make it look more natural, but you can set the skewType to "simple" to use the uncompensated skewing that CSS does + t1 = Math.tan(skew); + t1 = Math.sqrt(1 + t1 * t1); + a12 *= t1; + a22 *= t1; + if (t.skewY) { + a11 *= t1; + a21 *= t1; + } + } + if (isSVG) { + x += t.xOrigin - (t.xOrigin * a11 + t.yOrigin * a12) + t.xOffset; + y += t.yOrigin - (t.xOrigin * a21 + t.yOrigin * a22) + t.yOffset; + if (_useSVGTransformAttr && (t.xPercent || t.yPercent)) { //The SVG spec doesn't support percentage-based translation in the "transform" attribute, so we merge it into the matrix to simulate it. + min = this.t.getBBox(); + x += t.xPercent * 0.01 * min.width; + y += t.yPercent * 0.01 * min.height; + } + min = 0.000001; + if (x < min) if (x > -min) { + x = 0; + } + if (y < min) if (y > -min) { + y = 0; + } + } + transform = (((a11 * rnd) | 0) / rnd) + "," + (((a21 * rnd) | 0) / rnd) + "," + (((a12 * rnd) | 0) / rnd) + "," + (((a22 * rnd) | 0) / rnd) + "," + x + "," + y + ")"; + if (isSVG && _useSVGTransformAttr) { + this.t.setAttribute("transform", "matrix(" + transform); + } else { + //some browsers have a hard time with very small values like 2.4492935982947064e-16 (notice the "e-" towards the end) and would render the object slightly off. So we round to 5 decimal places. + style[_transformProp] = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) matrix(" : "matrix(") + transform; + } + } else { + style[_transformProp] = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) matrix(" : "matrix(") + sx + ",0,0," + sy + "," + x + "," + y + ")"; + } + return; + + } + if (_isFirefox) { //Firefox has a bug (at least in v25) that causes it to render the transparent part of 32-bit PNG images as black when displayed inside an iframe and the 3D scale is very small and doesn't change sufficiently enough between renders (like if you use a Power4.easeInOut to scale from 0 to 1 where the beginning values only change a tiny amount to begin the tween before accelerating). In this case, we force the scale to be 0.00002 instead which is visually the same but works around the Firefox issue. + min = 0.0001; + if (sx < min && sx > -min) { + sx = sz = 0.00002; + } + if (sy < min && sy > -min) { + sy = sz = 0.00002; + } + if (perspective && !t.z && !t.rotationX && !t.rotationY) { //Firefox has a bug that causes elements to have an odd super-thin, broken/dotted black border on elements that have a perspective set but aren't utilizing 3D space (no rotationX, rotationY, or z). + perspective = 0; + } + } + if (angle || t.skewX) { + angle *= _DEG2RAD; + cos = a11 = Math.cos(angle); + sin = a21 = Math.sin(angle); + if (t.skewX) { + angle -= t.skewX * _DEG2RAD; + cos = Math.cos(angle); + sin = Math.sin(angle); + if (t.skewType === "simple") { //by default, we compensate skewing on the other axis to make it look more natural, but you can set the skewType to "simple" to use the uncompensated skewing that CSS does + t1 = Math.tan(t.skewX * _DEG2RAD); + t1 = Math.sqrt(1 + t1 * t1); + cos *= t1; + sin *= t1; + if (t.skewY) { + a11 *= t1; + a21 *= t1; + } + } + } + a12 = -sin; + a22 = cos; + + } else if (!rotationY && !rotationX && sz === 1 && !perspective && !isSVG) { //if we're only translating and/or 2D scaling, this is faster... + style[_transformProp] = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) translate3d(" : "translate3d(") + x + "px," + y + "px," + z +"px)" + ((sx !== 1 || sy !== 1) ? " scale(" + sx + "," + sy + ")" : ""); + return; + } else { + a11 = a22 = 1; + a12 = a21 = 0; + } + // KEY INDEX AFFECTS + // a11 0 rotation, rotationY, scaleX + // a21 1 rotation, rotationY, scaleX + // a31 2 rotationY, scaleX + // a41 3 rotationY, scaleX + // a12 4 rotation, skewX, rotationX, scaleY + // a22 5 rotation, skewX, rotationX, scaleY + // a32 6 rotationX, scaleY + // a42 7 rotationX, scaleY + // a13 8 rotationY, rotationX, scaleZ + // a23 9 rotationY, rotationX, scaleZ + // a33 10 rotationY, rotationX, scaleZ + // a43 11 rotationY, rotationX, perspective, scaleZ + // a14 12 x, zOrigin, svgOrigin + // a24 13 y, zOrigin, svgOrigin + // a34 14 z, zOrigin + // a44 15 + // rotation: Math.atan2(a21, a11) + // rotationY: Math.atan2(a13, a33) (or Math.atan2(a13, a11)) + // rotationX: Math.atan2(a32, a33) + a33 = 1; + a13 = a23 = a31 = a32 = a41 = a42 = 0; + a43 = (perspective) ? -1 / perspective : 0; + zOrigin = t.zOrigin; + min = 0.000001; //threshold below which browsers use scientific notation which won't work. + comma = ","; + zero = "0"; + angle = rotationY * _DEG2RAD; + if (angle) { + cos = Math.cos(angle); + sin = Math.sin(angle); + a31 = -sin; + a41 = a43*-sin; + a13 = a11*sin; + a23 = a21*sin; + a33 = cos; + a43 *= cos; + a11 *= cos; + a21 *= cos; + } + angle = rotationX * _DEG2RAD; + if (angle) { + cos = Math.cos(angle); + sin = Math.sin(angle); + t1 = a12*cos+a13*sin; + t2 = a22*cos+a23*sin; + a32 = a33*sin; + a42 = a43*sin; + a13 = a12*-sin+a13*cos; + a23 = a22*-sin+a23*cos; + a33 = a33*cos; + a43 = a43*cos; + a12 = t1; + a22 = t2; + } + if (sz !== 1) { + a13*=sz; + a23*=sz; + a33*=sz; + a43*=sz; + } + if (sy !== 1) { + a12*=sy; + a22*=sy; + a32*=sy; + a42*=sy; + } + if (sx !== 1) { + a11*=sx; + a21*=sx; + a31*=sx; + a41*=sx; + } + + if (zOrigin || isSVG) { + if (zOrigin) { + x += a13*-zOrigin; + y += a23*-zOrigin; + z += a33*-zOrigin+zOrigin; + } + if (isSVG) { //due to bugs in some browsers, we need to manage the transform-origin of SVG manually + x += t.xOrigin - (t.xOrigin * a11 + t.yOrigin * a12) + t.xOffset; + y += t.yOrigin - (t.xOrigin * a21 + t.yOrigin * a22) + t.yOffset; + } + if (x < min && x > -min) { + x = zero; + } + if (y < min && y > -min) { + y = zero; + } + if (z < min && z > -min) { + z = 0; //don't use string because we calculate perspective later and need the number. + } + } + + //optimized way of concatenating all the values into a string. If we do it all in one shot, it's slower because of the way browsers have to create temp strings and the way it affects memory. If we do it piece-by-piece with +=, it's a bit slower too. We found that doing it in these sized chunks works best overall: + transform = ((t.xPercent || t.yPercent) ? "translate(" + t.xPercent + "%," + t.yPercent + "%) matrix3d(" : "matrix3d("); + transform += ((a11 < min && a11 > -min) ? zero : a11) + comma + ((a21 < min && a21 > -min) ? zero : a21) + comma + ((a31 < min && a31 > -min) ? zero : a31); + transform += comma + ((a41 < min && a41 > -min) ? zero : a41) + comma + ((a12 < min && a12 > -min) ? zero : a12) + comma + ((a22 < min && a22 > -min) ? zero : a22); + if (rotationX || rotationY) { //performance optimization (often there's no rotationX or rotationY, so we can skip these calculations) + transform += comma + ((a32 < min && a32 > -min) ? zero : a32) + comma + ((a42 < min && a42 > -min) ? zero : a42) + comma + ((a13 < min && a13 > -min) ? zero : a13); + transform += comma + ((a23 < min && a23 > -min) ? zero : a23) + comma + ((a33 < min && a33 > -min) ? zero : a33) + comma + ((a43 < min && a43 > -min) ? zero : a43) + comma; + } else { + transform += ",0,0,0,0,1,0,"; + } + transform += x + comma + y + comma + z + comma + (perspective ? (1 + (-z / perspective)) : 1) + ")"; + + style[_transformProp] = transform; + }; + + p = Transform.prototype; + p.x = p.y = p.z = p.skewX = p.skewY = p.rotation = p.rotationX = p.rotationY = p.zOrigin = p.xPercent = p.yPercent = p.xOffset = p.yOffset = 0; + p.scaleX = p.scaleY = p.scaleZ = 1; + + _registerComplexSpecialProp("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin", {parser:function(t, e, p, cssp, pt, plugin, vars) { + if (cssp._lastParsedTransform === vars) { return pt; } //only need to parse the transform once, and only if the browser supports it. + cssp._lastParsedTransform = vars; + var originalGSTransform = t._gsTransform, + style = t.style, + min = 0.000001, + i = _transformProps.length, + v = vars, + endRotations = {}, + transformOriginString = "transformOrigin", + m1, m2, skewY, copy, orig, has3D, hasChange, dr, x, y; + if (vars.display) { //if the user is setting display during this tween, it may not be instantiated yet but we must force it here in order to get accurate readings. If display is "none", some browsers refuse to report the transform properties correctly. + copy = _getStyle(t, "display"); + style.display = "block"; + m1 = _getTransform(t, _cs, true, vars.parseTransform); + style.display = copy; + } else { + m1 = _getTransform(t, _cs, true, vars.parseTransform); + } + cssp._transform = m1; + if (typeof(v.transform) === "string" && _transformProp) { //for values like transform:"rotate(60deg) scale(0.5, 0.8)" + copy = _tempDiv.style; //don't use the original target because it might be SVG in which case some browsers don't report computed style correctly. + copy[_transformProp] = v.transform; + copy.display = "block"; //if display is "none", the browser often refuses to report the transform properties correctly. + copy.position = "absolute"; + _doc.body.appendChild(_tempDiv); + m2 = _getTransform(_tempDiv, null, false); + _doc.body.removeChild(_tempDiv); + if (!m2.perspective) { + m2.perspective = m1.perspective; //tweening to no perspective gives very unintuitive results - just keep the same perspective in that case. + } + if (v.xPercent != null) { + m2.xPercent = _parseVal(v.xPercent, m1.xPercent); + } + if (v.yPercent != null) { + m2.yPercent = _parseVal(v.yPercent, m1.yPercent); + } + } else if (typeof(v) === "object") { //for values like scaleX, scaleY, rotation, x, y, skewX, and skewY or transform:{...} (object) + m2 = {scaleX:_parseVal((v.scaleX != null) ? v.scaleX : v.scale, m1.scaleX), + scaleY:_parseVal((v.scaleY != null) ? v.scaleY : v.scale, m1.scaleY), + scaleZ:_parseVal(v.scaleZ, m1.scaleZ), + x:_parseVal(v.x, m1.x), + y:_parseVal(v.y, m1.y), + z:_parseVal(v.z, m1.z), + xPercent:_parseVal(v.xPercent, m1.xPercent), + yPercent:_parseVal(v.yPercent, m1.yPercent), + perspective:_parseVal(v.transformPerspective, m1.perspective)}; + dr = v.directionalRotation; + if (dr != null) { + if (typeof(dr) === "object") { + for (copy in dr) { + v[copy] = dr[copy]; + } + } else { + v.rotation = dr; + } + } + if (typeof(v.x) === "string" && v.x.indexOf("%") !== -1) { + m2.x = 0; + m2.xPercent = _parseVal(v.x, m1.xPercent); + } + if (typeof(v.y) === "string" && v.y.indexOf("%") !== -1) { + m2.y = 0; + m2.yPercent = _parseVal(v.y, m1.yPercent); + } + + m2.rotation = _parseAngle(("rotation" in v) ? v.rotation : ("shortRotation" in v) ? v.shortRotation + "_short" : ("rotationZ" in v) ? v.rotationZ : m1.rotation, m1.rotation, "rotation", endRotations); + if (_supports3D) { + m2.rotationX = _parseAngle(("rotationX" in v) ? v.rotationX : ("shortRotationX" in v) ? v.shortRotationX + "_short" : m1.rotationX || 0, m1.rotationX, "rotationX", endRotations); + m2.rotationY = _parseAngle(("rotationY" in v) ? v.rotationY : ("shortRotationY" in v) ? v.shortRotationY + "_short" : m1.rotationY || 0, m1.rotationY, "rotationY", endRotations); + } + m2.skewX = (v.skewX == null) ? m1.skewX : _parseAngle(v.skewX, m1.skewX); + + //note: for performance reasons, we combine all skewing into the skewX and rotation values, ignoring skewY but we must still record it so that we can discern how much of the overall skew is attributed to skewX vs. skewY. Otherwise, if the skewY would always act relative (tween skewY to 10deg, for example, multiple times and if we always combine things into skewX, we can't remember that skewY was 10 from last time). Remember, a skewY of 10 degrees looks the same as a rotation of 10 degrees plus a skewX of -10 degrees. + m2.skewY = (v.skewY == null) ? m1.skewY : _parseAngle(v.skewY, m1.skewY); + if ((skewY = m2.skewY - m1.skewY)) { + m2.skewX += skewY; + m2.rotation += skewY; + } + } + if (_supports3D && v.force3D != null) { + m1.force3D = v.force3D; + hasChange = true; + } + + m1.skewType = v.skewType || m1.skewType || CSSPlugin.defaultSkewType; + + has3D = (m1.force3D || m1.z || m1.rotationX || m1.rotationY || m2.z || m2.rotationX || m2.rotationY || m2.perspective); + if (!has3D && v.scale != null) { + m2.scaleZ = 1; //no need to tween scaleZ. + } + + while (--i > -1) { + p = _transformProps[i]; + orig = m2[p] - m1[p]; + if (orig > min || orig < -min || v[p] != null || _forcePT[p] != null) { + hasChange = true; + pt = new CSSPropTween(m1, p, m1[p], orig, pt); + if (p in endRotations) { + pt.e = endRotations[p]; //directional rotations typically have compensated values during the tween, but we need to make sure they end at exactly what the user requested + } + pt.xs0 = 0; //ensures the value stays numeric in setRatio() + pt.plugin = plugin; + cssp._overwriteProps.push(pt.n); + } + } + + orig = v.transformOrigin; + if (m1.svg && (orig || v.svgOrigin)) { + x = m1.xOffset; //when we change the origin, in order to prevent things from jumping we adjust the x/y so we must record those here so that we can create PropTweens for them and flip them at the same time as the origin + y = m1.yOffset; + _parseSVGOrigin(t, _parsePosition(orig), m2, v.svgOrigin, v.smoothOrigin); + pt = _addNonTweeningNumericPT(m1, "xOrigin", (originalGSTransform ? m1 : m2).xOrigin, m2.xOrigin, pt, transformOriginString); //note: if there wasn't a transformOrigin defined yet, just start with the destination one; it's wasteful otherwise, and it causes problems with fromTo() tweens. For example, TweenLite.to("#wheel", 3, {rotation:180, transformOrigin:"50% 50%", delay:1}); TweenLite.fromTo("#wheel", 3, {scale:0.5, transformOrigin:"50% 50%"}, {scale:1, delay:2}); would cause a jump when the from values revert at the beginning of the 2nd tween. + pt = _addNonTweeningNumericPT(m1, "yOrigin", (originalGSTransform ? m1 : m2).yOrigin, m2.yOrigin, pt, transformOriginString); + if (x !== m1.xOffset || y !== m1.yOffset) { + pt = _addNonTweeningNumericPT(m1, "xOffset", (originalGSTransform ? x : m1.xOffset), m1.xOffset, pt, transformOriginString); + pt = _addNonTweeningNumericPT(m1, "yOffset", (originalGSTransform ? y : m1.yOffset), m1.yOffset, pt, transformOriginString); + } + orig = _useSVGTransformAttr ? null : "0px 0px"; //certain browsers (like firefox) completely botch transform-origin, so we must remove it to prevent it from contaminating transforms. We manage it ourselves with xOrigin and yOrigin + } + if (orig || (_supports3D && has3D && m1.zOrigin)) { //if anything 3D is happening and there's a transformOrigin with a z component that's non-zero, we must ensure that the transformOrigin's z-component is set to 0 so that we can manually do those calculations to get around Safari bugs. Even if the user didn't specifically define a "transformOrigin" in this particular tween (maybe they did it via css directly). + if (_transformProp) { + hasChange = true; + p = _transformOriginProp; + orig = (orig || _getStyle(t, p, _cs, false, "50% 50%")) + ""; //cast as string to avoid errors + pt = new CSSPropTween(style, p, 0, 0, pt, -1, transformOriginString); + pt.b = style[p]; + pt.plugin = plugin; + if (_supports3D) { + copy = m1.zOrigin; + orig = orig.split(" "); + m1.zOrigin = ((orig.length > 2 && !(copy !== 0 && orig[2] === "0px")) ? parseFloat(orig[2]) : copy) || 0; //Safari doesn't handle the z part of transformOrigin correctly, so we'll manually handle it in the _set3DTransformRatio() method. + pt.xs0 = pt.e = orig[0] + " " + (orig[1] || "50%") + " 0px"; //we must define a z value of 0px specifically otherwise iOS 5 Safari will stick with the old one (if one was defined)! + pt = new CSSPropTween(m1, "zOrigin", 0, 0, pt, -1, pt.n); //we must create a CSSPropTween for the _gsTransform.zOrigin so that it gets reset properly at the beginning if the tween runs backward (as opposed to just setting m1.zOrigin here) + pt.b = copy; + pt.xs0 = pt.e = m1.zOrigin; + } else { + pt.xs0 = pt.e = orig; + } + + //for older versions of IE (6-8), we need to manually calculate things inside the setRatio() function. We record origin x and y (ox and oy) and whether or not the values are percentages (oxp and oyp). + } else { + _parsePosition(orig + "", m1); + } + } + if (hasChange) { + cssp._transformType = (!(m1.svg && _useSVGTransformAttr) && (has3D || this._transformType === 3)) ? 3 : 2; //quicker than calling cssp._enableTransforms(); + } + return pt; + }, prefix:true}); + + _registerComplexSpecialProp("boxShadow", {defaultValue:"0px 0px 0px 0px #999", prefix:true, color:true, multi:true, keyword:"inset"}); + + _registerComplexSpecialProp("borderRadius", {defaultValue:"0px", parser:function(t, e, p, cssp, pt, plugin) { + e = this.format(e); + var props = ["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"], + style = t.style, + ea1, i, es2, bs2, bs, es, bn, en, w, h, esfx, bsfx, rel, hn, vn, em; + w = parseFloat(t.offsetWidth); + h = parseFloat(t.offsetHeight); + ea1 = e.split(" "); + for (i = 0; i < props.length; i++) { //if we're dealing with percentages, we must convert things separately for the horizontal and vertical axis! + if (this.p.indexOf("border")) { //older browsers used a prefix + props[i] = _checkPropPrefix(props[i]); + } + bs = bs2 = _getStyle(t, props[i], _cs, false, "0px"); + if (bs.indexOf(" ") !== -1) { + bs2 = bs.split(" "); + bs = bs2[0]; + bs2 = bs2[1]; + } + es = es2 = ea1[i]; + bn = parseFloat(bs); + bsfx = bs.substr((bn + "").length); + rel = (es.charAt(1) === "="); + if (rel) { + en = parseInt(es.charAt(0)+"1", 10); + es = es.substr(2); + en *= parseFloat(es); + esfx = es.substr((en + "").length - (en < 0 ? 1 : 0)) || ""; + } else { + en = parseFloat(es); + esfx = es.substr((en + "").length); + } + if (esfx === "") { + esfx = _suffixMap[p] || bsfx; + } + if (esfx !== bsfx) { + hn = _convertToPixels(t, "borderLeft", bn, bsfx); //horizontal number (we use a bogus "borderLeft" property just because the _convertToPixels() method searches for the keywords "Left", "Right", "Top", and "Bottom" to determine of it's a horizontal or vertical property, and we need "border" in the name so that it knows it should measure relative to the element itself, not its parent. + vn = _convertToPixels(t, "borderTop", bn, bsfx); //vertical number + if (esfx === "%") { + bs = (hn / w * 100) + "%"; + bs2 = (vn / h * 100) + "%"; + } else if (esfx === "em") { + em = _convertToPixels(t, "borderLeft", 1, "em"); + bs = (hn / em) + "em"; + bs2 = (vn / em) + "em"; + } else { + bs = hn + "px"; + bs2 = vn + "px"; + } + if (rel) { + es = (parseFloat(bs) + en) + esfx; + es2 = (parseFloat(bs2) + en) + esfx; + } + } + pt = _parseComplex(style, props[i], bs + " " + bs2, es + " " + es2, false, "0px", pt); + } + return pt; + }, prefix:true, formatter:_getFormatter("0px 0px 0px 0px", false, true)}); + _registerComplexSpecialProp("backgroundPosition", {defaultValue:"0 0", parser:function(t, e, p, cssp, pt, plugin) { + var bp = "background-position", + cs = (_cs || _getComputedStyle(t, null)), + bs = this.format( ((cs) ? _ieVers ? cs.getPropertyValue(bp + "-x") + " " + cs.getPropertyValue(bp + "-y") : cs.getPropertyValue(bp) : t.currentStyle.backgroundPositionX + " " + t.currentStyle.backgroundPositionY) || "0 0"), //Internet Explorer doesn't report background-position correctly - we must query background-position-x and background-position-y and combine them (even in IE10). Before IE9, we must do the same with the currentStyle object and use camelCase + es = this.format(e), + ba, ea, i, pct, overlap, src; + if ((bs.indexOf("%") !== -1) !== (es.indexOf("%") !== -1)) { + src = _getStyle(t, "backgroundImage").replace(_urlExp, ""); + if (src && src !== "none") { + ba = bs.split(" "); + ea = es.split(" "); + _tempImg.setAttribute("src", src); //set the temp IMG's src to the background-image so that we can measure its width/height + i = 2; + while (--i > -1) { + bs = ba[i]; + pct = (bs.indexOf("%") !== -1); + if (pct !== (ea[i].indexOf("%") !== -1)) { + overlap = (i === 0) ? t.offsetWidth - _tempImg.width : t.offsetHeight - _tempImg.height; + ba[i] = pct ? (parseFloat(bs) / 100 * overlap) + "px" : (parseFloat(bs) / overlap * 100) + "%"; + } + } + bs = ba.join(" "); + } + } + return this.parseComplex(t.style, bs, es, pt, plugin); + }, formatter:_parsePosition}); + _registerComplexSpecialProp("backgroundSize", {defaultValue:"0 0", formatter:_parsePosition}); + _registerComplexSpecialProp("perspective", {defaultValue:"0px", prefix:true}); + _registerComplexSpecialProp("perspectiveOrigin", {defaultValue:"50% 50%", prefix:true}); + _registerComplexSpecialProp("transformStyle", {prefix:true}); + _registerComplexSpecialProp("backfaceVisibility", {prefix:true}); + _registerComplexSpecialProp("userSelect", {prefix:true}); + _registerComplexSpecialProp("margin", {parser:_getEdgeParser("marginTop,marginRight,marginBottom,marginLeft")}); + _registerComplexSpecialProp("padding", {parser:_getEdgeParser("paddingTop,paddingRight,paddingBottom,paddingLeft")}); + _registerComplexSpecialProp("clip", {defaultValue:"rect(0px,0px,0px,0px)", parser:function(t, e, p, cssp, pt, plugin){ + var b, cs, delim; + if (_ieVers < 9) { //IE8 and earlier don't report a "clip" value in the currentStyle - instead, the values are split apart into clipTop, clipRight, clipBottom, and clipLeft. Also, in IE7 and earlier, the values inside rect() are space-delimited, not comma-delimited. + cs = t.currentStyle; + delim = _ieVers < 8 ? " " : ","; + b = "rect(" + cs.clipTop + delim + cs.clipRight + delim + cs.clipBottom + delim + cs.clipLeft + ")"; + e = this.format(e).split(",").join(delim); + } else { + b = this.format(_getStyle(t, this.p, _cs, false, this.dflt)); + e = this.format(e); + } + return this.parseComplex(t.style, b, e, pt, plugin); + }}); + _registerComplexSpecialProp("textShadow", {defaultValue:"0px 0px 0px #999", color:true, multi:true}); + _registerComplexSpecialProp("autoRound,strictUnits", {parser:function(t, e, p, cssp, pt) {return pt;}}); //just so that we can ignore these properties (not tween them) + _registerComplexSpecialProp("border", {defaultValue:"0px solid #000", parser:function(t, e, p, cssp, pt, plugin) { + return this.parseComplex(t.style, this.format(_getStyle(t, "borderTopWidth", _cs, false, "0px") + " " + _getStyle(t, "borderTopStyle", _cs, false, "solid") + " " + _getStyle(t, "borderTopColor", _cs, false, "#000")), this.format(e), pt, plugin); + }, color:true, formatter:function(v) { + var a = v.split(" "); + return a[0] + " " + (a[1] || "solid") + " " + (v.match(_colorExp) || ["#000"])[0]; + }}); + _registerComplexSpecialProp("borderWidth", {parser:_getEdgeParser("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}); //Firefox doesn't pick up on borderWidth set in style sheets (only inline). + _registerComplexSpecialProp("float,cssFloat,styleFloat", {parser:function(t, e, p, cssp, pt, plugin) { + var s = t.style, + prop = ("cssFloat" in s) ? "cssFloat" : "styleFloat"; + return new CSSPropTween(s, prop, 0, 0, pt, -1, p, false, 0, s[prop], e); + }}); + + //opacity-related + var _setIEOpacityRatio = function(v) { + var t = this.t, //refers to the element's style property + filters = t.filter || _getStyle(this.data, "filter") || "", + val = (this.s + this.c * v) | 0, + skip; + if (val === 100) { //for older versions of IE that need to use a filter to apply opacity, we should remove the filter if opacity hits 1 in order to improve performance, but make sure there isn't a transform (matrix) or gradient in the filters. + if (filters.indexOf("atrix(") === -1 && filters.indexOf("radient(") === -1 && filters.indexOf("oader(") === -1) { + t.removeAttribute("filter"); + skip = (!_getStyle(this.data, "filter")); //if a class is applied that has an alpha filter, it will take effect (we don't want that), so re-apply our alpha filter in that case. We must first remove it and then check. + } else { + t.filter = filters.replace(_alphaFilterExp, ""); + skip = true; + } + } + if (!skip) { + if (this.xn1) { + t.filter = filters = filters || ("alpha(opacity=" + val + ")"); //works around bug in IE7/8 that prevents changes to "visibility" from being applied properly if the filter is changed to a different alpha on the same frame. + } + if (filters.indexOf("pacity") === -1) { //only used if browser doesn't support the standard opacity style property (IE 7 and 8). We omit the "O" to avoid case-sensitivity issues + if (val !== 0 || !this.xn1) { //bugs in IE7/8 won't render the filter properly if opacity is ADDED on the same frame/render as "visibility" changes (this.xn1 is 1 if this tween is an "autoAlpha" tween) + t.filter = filters + " alpha(opacity=" + val + ")"; //we round the value because otherwise, bugs in IE7/8 can prevent "visibility" changes from being applied properly. + } + } else { + t.filter = filters.replace(_opacityExp, "opacity=" + val); + } + } + }; + _registerComplexSpecialProp("opacity,alpha,autoAlpha", {defaultValue:"1", parser:function(t, e, p, cssp, pt, plugin) { + var b = parseFloat(_getStyle(t, "opacity", _cs, false, "1")), + style = t.style, + isAutoAlpha = (p === "autoAlpha"); + if (typeof(e) === "string" && e.charAt(1) === "=") { + e = ((e.charAt(0) === "-") ? -1 : 1) * parseFloat(e.substr(2)) + b; + } + if (isAutoAlpha && b === 1 && _getStyle(t, "visibility", _cs) === "hidden" && e !== 0) { //if visibility is initially set to "hidden", we should interpret that as intent to make opacity 0 (a convenience) + b = 0; + } + if (_supportsOpacity) { + pt = new CSSPropTween(style, "opacity", b, e - b, pt); + } else { + pt = new CSSPropTween(style, "opacity", b * 100, (e - b) * 100, pt); + pt.xn1 = isAutoAlpha ? 1 : 0; //we need to record whether or not this is an autoAlpha so that in the setRatio(), we know to duplicate the setting of the alpha in order to work around a bug in IE7 and IE8 that prevents changes to "visibility" from taking effect if the filter is changed to a different alpha(opacity) at the same time. Setting it to the SAME value first, then the new value works around the IE7/8 bug. + style.zoom = 1; //helps correct an IE issue. + pt.type = 2; + pt.b = "alpha(opacity=" + pt.s + ")"; + pt.e = "alpha(opacity=" + (pt.s + pt.c) + ")"; + pt.data = t; + pt.plugin = plugin; + pt.setRatio = _setIEOpacityRatio; + } + if (isAutoAlpha) { //we have to create the "visibility" PropTween after the opacity one in the linked list so that they run in the order that works properly in IE8 and earlier + pt = new CSSPropTween(style, "visibility", 0, 0, pt, -1, null, false, 0, ((b !== 0) ? "inherit" : "hidden"), ((e === 0) ? "hidden" : "inherit")); + pt.xs0 = "inherit"; + cssp._overwriteProps.push(pt.n); + cssp._overwriteProps.push(p); + } + return pt; + }}); + + + var _removeProp = function(s, p) { + if (p) { + if (s.removeProperty) { + if (p.substr(0,2) === "ms" || p.substr(0,6) === "webkit") { //Microsoft and some Webkit browsers don't conform to the standard of capitalizing the first prefix character, so we adjust so that when we prefix the caps with a dash, it's correct (otherwise it'd be "ms-transform" instead of "-ms-transform" for IE9, for example) + p = "-" + p; + } + s.removeProperty(p.replace(_capsExp, "-$1").toLowerCase()); + } else { //note: old versions of IE use "removeAttribute()" instead of "removeProperty()" + s.removeAttribute(p); + } + } + }, + _setClassNameRatio = function(v) { + this.t._gsClassPT = this; + if (v === 1 || v === 0) { + this.t.setAttribute("class", (v === 0) ? this.b : this.e); + var mpt = this.data, //first MiniPropTween + s = this.t.style; + while (mpt) { + if (!mpt.v) { + _removeProp(s, mpt.p); + } else { + s[mpt.p] = mpt.v; + } + mpt = mpt._next; + } + if (v === 1 && this.t._gsClassPT === this) { + this.t._gsClassPT = null; + } + } else if (this.t.getAttribute("class") !== this.e) { + this.t.setAttribute("class", this.e); + } + }; + _registerComplexSpecialProp("className", {parser:function(t, e, p, cssp, pt, plugin, vars) { + var b = t.getAttribute("class") || "", //don't use t.className because it doesn't work consistently on SVG elements; getAttribute("class") and setAttribute("class", value") is more reliable. + cssText = t.style.cssText, + difData, bs, cnpt, cnptLookup, mpt; + pt = cssp._classNamePT = new CSSPropTween(t, p, 0, 0, pt, 2); + pt.setRatio = _setClassNameRatio; + pt.pr = -11; + _hasPriority = true; + pt.b = b; + bs = _getAllStyles(t, _cs); + //if there's a className tween already operating on the target, force it to its end so that the necessary inline styles are removed and the class name is applied before we determine the end state (we don't want inline styles interfering that were there just for class-specific values) + cnpt = t._gsClassPT; + if (cnpt) { + cnptLookup = {}; + mpt = cnpt.data; //first MiniPropTween which stores the inline styles - we need to force these so that the inline styles don't contaminate things. Otherwise, there's a small chance that a tween could start and the inline values match the destination values and they never get cleaned. + while (mpt) { + cnptLookup[mpt.p] = 1; + mpt = mpt._next; + } + cnpt.setRatio(1); + } + t._gsClassPT = pt; + pt.e = (e.charAt(1) !== "=") ? e : b.replace(new RegExp("\\s*\\b" + e.substr(2) + "\\b"), "") + ((e.charAt(0) === "+") ? " " + e.substr(2) : ""); + t.setAttribute("class", pt.e); + difData = _cssDif(t, bs, _getAllStyles(t), vars, cnptLookup); + t.setAttribute("class", b); + pt.data = difData.firstMPT; + t.style.cssText = cssText; //we recorded cssText before we swapped classes and ran _getAllStyles() because in cases when a className tween is overwritten, we remove all the related tweening properties from that class change (otherwise class-specific stuff can't override properties we've directly set on the target's style object due to specificity). + pt = pt.xfirst = cssp.parse(t, difData.difs, pt, plugin); //we record the CSSPropTween as the xfirst so that we can handle overwriting propertly (if "className" gets overwritten, we must kill all the properties associated with the className part of the tween, so we can loop through from xfirst to the pt itself) + return pt; + }}); + + + var _setClearPropsRatio = function(v) { + if (v === 1 || v === 0) if (this.data._totalTime === this.data._totalDuration && this.data.data !== "isFromStart") { //this.data refers to the tween. Only clear at the END of the tween (remember, from() tweens make the ratio go from 1 to 0, so we can't just check that and if the tween is the zero-duration one that's created internally to render the starting values in a from() tween, ignore that because otherwise, for example, from(...{height:100, clearProps:"height", delay:1}) would wipe the height at the beginning of the tween and after 1 second, it'd kick back in). + var s = this.t.style, + transformParse = _specialProps.transform.parse, + a, p, i, clearTransform, transform; + if (this.e === "all") { + s.cssText = ""; + clearTransform = true; + } else { + a = this.e.split(" ").join("").split(","); + i = a.length; + while (--i > -1) { + p = a[i]; + if (_specialProps[p]) { + if (_specialProps[p].parse === transformParse) { + clearTransform = true; + } else { + p = (p === "transformOrigin") ? _transformOriginProp : _specialProps[p].p; //ensures that special properties use the proper browser-specific property name, like "scaleX" might be "-webkit-transform" or "boxShadow" might be "-moz-box-shadow" + } + } + _removeProp(s, p); + } + } + if (clearTransform) { + _removeProp(s, _transformProp); + transform = this.t._gsTransform; + if (transform) { + if (transform.svg) { + this.t.removeAttribute("data-svg-origin"); + } + delete this.t._gsTransform; + } + } + + } + }; + _registerComplexSpecialProp("clearProps", {parser:function(t, e, p, cssp, pt) { + pt = new CSSPropTween(t, p, 0, 0, pt, 2); + pt.setRatio = _setClearPropsRatio; + pt.e = e; + pt.pr = -10; + pt.data = cssp._tween; + _hasPriority = true; + return pt; + }}); + + p = "bezier,throwProps,physicsProps,physics2D".split(","); + i = p.length; + while (i--) { + _registerPluginProp(p[i]); + } + + + + + + + + + p = CSSPlugin.prototype; + p._firstPT = p._lastParsedTransform = p._transform = null; + + //gets called when the tween renders for the first time. This kicks everything off, recording start/end values, etc. + p._onInitTween = function(target, vars, tween) { + if (!target.nodeType) { //css is only for dom elements + return false; + } + this._target = target; + this._tween = tween; + this._vars = vars; + _autoRound = vars.autoRound; + _hasPriority = false; + _suffixMap = vars.suffixMap || CSSPlugin.suffixMap; + _cs = _getComputedStyle(target, ""); + _overwriteProps = this._overwriteProps; + var style = target.style, + v, pt, pt2, first, last, next, zIndex, tpt, threeD; + if (_reqSafariFix) if (style.zIndex === "") { + v = _getStyle(target, "zIndex", _cs); + if (v === "auto" || v === "") { + //corrects a bug in [non-Android] Safari that prevents it from repainting elements in their new positions if they don't have a zIndex set. We also can't just apply this inside _parseTransform() because anything that's moved in any way (like using "left" or "top" instead of transforms like "x" and "y") can be affected, so it is best to ensure that anything that's tweening has a z-index. Setting "WebkitPerspective" to a non-zero value worked too except that on iOS Safari things would flicker randomly. Plus zIndex is less memory-intensive. + this._addLazySet(style, "zIndex", 0); + } + } + + if (typeof(vars) === "string") { + first = style.cssText; + v = _getAllStyles(target, _cs); + style.cssText = first + ";" + vars; + v = _cssDif(target, v, _getAllStyles(target)).difs; + if (!_supportsOpacity && _opacityValExp.test(vars)) { + v.opacity = parseFloat( RegExp.$1 ); + } + vars = v; + style.cssText = first; + } + + if (vars.className) { //className tweens will combine any differences they find in the css with the vars that are passed in, so {className:"myClass", scale:0.5, left:20} would work. + this._firstPT = pt = _specialProps.className.parse(target, vars.className, "className", this, null, null, vars); + } else { + this._firstPT = pt = this.parse(target, vars, null); + } + + if (this._transformType) { + threeD = (this._transformType === 3); + if (!_transformProp) { + style.zoom = 1; //helps correct an IE issue. + } else if (_isSafari) { + _reqSafariFix = true; + //if zIndex isn't set, iOS Safari doesn't repaint things correctly sometimes (seemingly at random). + if (style.zIndex === "") { + zIndex = _getStyle(target, "zIndex", _cs); + if (zIndex === "auto" || zIndex === "") { + this._addLazySet(style, "zIndex", 0); + } + } + //Setting WebkitBackfaceVisibility corrects 3 bugs: + // 1) [non-Android] Safari skips rendering changes to "top" and "left" that are made on the same frame/render as a transform update. + // 2) iOS Safari sometimes neglects to repaint elements in their new positions. Setting "WebkitPerspective" to a non-zero value worked too except that on iOS Safari things would flicker randomly. + // 3) Safari sometimes displayed odd artifacts when tweening the transform (or WebkitTransform) property, like ghosts of the edges of the element remained. Definitely a browser bug. + //Note: we allow the user to override the auto-setting by defining WebkitBackfaceVisibility in the vars of the tween. + if (_isSafariLT6) { + this._addLazySet(style, "WebkitBackfaceVisibility", this._vars.WebkitBackfaceVisibility || (threeD ? "visible" : "hidden")); + } + } + pt2 = pt; + while (pt2 && pt2._next) { + pt2 = pt2._next; + } + tpt = new CSSPropTween(target, "transform", 0, 0, null, 2); + this._linkCSSP(tpt, null, pt2); + tpt.setRatio = _transformProp ? _setTransformRatio : _setIETransformRatio; + tpt.data = this._transform || _getTransform(target, _cs, true); + tpt.tween = tween; + tpt.pr = -1; //ensures that the transforms get applied after the components are updated. + _overwriteProps.pop(); //we don't want to force the overwrite of all "transform" tweens of the target - we only care about individual transform properties like scaleX, rotation, etc. The CSSPropTween constructor automatically adds the property to _overwriteProps which is why we need to pop() here. + } + + if (_hasPriority) { + //reorders the linked list in order of pr (priority) + while (pt) { + next = pt._next; + pt2 = first; + while (pt2 && pt2.pr > pt.pr) { + pt2 = pt2._next; + } + if ((pt._prev = pt2 ? pt2._prev : last)) { + pt._prev._next = pt; + } else { + first = pt; + } + if ((pt._next = pt2)) { + pt2._prev = pt; + } else { + last = pt; + } + pt = next; + } + this._firstPT = first; + } + return true; + }; + + + p.parse = function(target, vars, pt, plugin) { + var style = target.style, + p, sp, bn, en, bs, es, bsfx, esfx, isStr, rel; + for (p in vars) { + es = vars[p]; //ending value string + sp = _specialProps[p]; //SpecialProp lookup. + if (sp) { + pt = sp.parse(target, es, p, this, pt, plugin, vars); + + } else { + bs = _getStyle(target, p, _cs) + ""; + isStr = (typeof(es) === "string"); + if (p === "color" || p === "fill" || p === "stroke" || p.indexOf("Color") !== -1 || (isStr && _rgbhslExp.test(es))) { //Opera uses background: to define color sometimes in addition to backgroundColor: + if (!isStr) { + es = _parseColor(es); + es = ((es.length > 3) ? "rgba(" : "rgb(") + es.join(",") + ")"; + } + pt = _parseComplex(style, p, bs, es, true, "transparent", pt, 0, plugin); + + } else if (isStr && (es.indexOf(" ") !== -1 || es.indexOf(",") !== -1)) { + pt = _parseComplex(style, p, bs, es, true, null, pt, 0, plugin); + + } else { + bn = parseFloat(bs); + bsfx = (bn || bn === 0) ? bs.substr((bn + "").length) : ""; //remember, bs could be non-numeric like "normal" for fontWeight, so we should default to a blank suffix in that case. + + if (bs === "" || bs === "auto") { + if (p === "width" || p === "height") { + bn = _getDimension(target, p, _cs); + bsfx = "px"; + } else if (p === "left" || p === "top") { + bn = _calculateOffset(target, p, _cs); + bsfx = "px"; + } else { + bn = (p !== "opacity") ? 0 : 1; + bsfx = ""; + } + } + + rel = (isStr && es.charAt(1) === "="); + if (rel) { + en = parseInt(es.charAt(0) + "1", 10); + es = es.substr(2); + en *= parseFloat(es); + esfx = es.replace(_suffixExp, ""); + } else { + en = parseFloat(es); + esfx = isStr ? es.replace(_suffixExp, "") : ""; + } + + if (esfx === "") { + esfx = (p in _suffixMap) ? _suffixMap[p] : bsfx; //populate the end suffix, prioritizing the map, then if none is found, use the beginning suffix. + } + + es = (en || en === 0) ? (rel ? en + bn : en) + esfx : vars[p]; //ensures that any += or -= prefixes are taken care of. Record the end value before normalizing the suffix because we always want to end the tween on exactly what they intended even if it doesn't match the beginning value's suffix. + + //if the beginning/ending suffixes don't match, normalize them... + if (bsfx !== esfx) if (esfx !== "") if (en || en === 0) if (bn) { //note: if the beginning value (bn) is 0, we don't need to convert units! + bn = _convertToPixels(target, p, bn, bsfx); + if (esfx === "%") { + bn /= _convertToPixels(target, p, 100, "%") / 100; + if (vars.strictUnits !== true) { //some browsers report only "px" values instead of allowing "%" with getComputedStyle(), so we assume that if we're tweening to a %, we should start there too unless strictUnits:true is defined. This approach is particularly useful for responsive designs that use from() tweens. + bs = bn + "%"; + } + + } else if (esfx === "em" || esfx === "rem") { + bn /= _convertToPixels(target, p, 1, esfx); + + //otherwise convert to pixels. + } else if (esfx !== "px") { + en = _convertToPixels(target, p, en, esfx); + esfx = "px"; //we don't use bsfx after this, so we don't need to set it to px too. + } + if (rel) if (en || en === 0) { + es = (en + bn) + esfx; //the changes we made affect relative calculations, so adjust the end value here. + } + } + + if (rel) { + en += bn; + } + + if ((bn || bn === 0) && (en || en === 0)) { //faster than isNaN(). Also, previously we required en !== bn but that doesn't really gain much performance and it prevents _parseToProxy() from working properly if beginning and ending values match but need to get tweened by an external plugin anyway. For example, a bezier tween where the target starts at left:0 and has these points: [{left:50},{left:0}] wouldn't work properly because when parsing the last point, it'd match the first (current) one and a non-tweening CSSPropTween would be recorded when we actually need a normal tween (type:0) so that things get updated during the tween properly. + pt = new CSSPropTween(style, p, bn, en - bn, pt, 0, p, (_autoRound !== false && (esfx === "px" || p === "zIndex")), 0, bs, es); + pt.xs0 = esfx; + //DEBUG: _log("tween "+p+" from "+pt.b+" ("+bn+esfx+") to "+pt.e+" with suffix: "+pt.xs0); + } else if (style[p] === undefined || !es && (es + "" === "NaN" || es == null)) { + _log("invalid " + p + " tween value: " + vars[p]); + } else { + pt = new CSSPropTween(style, p, en || bn || 0, 0, pt, -1, p, false, 0, bs, es); + pt.xs0 = (es === "none" && (p === "display" || p.indexOf("Style") !== -1)) ? bs : es; //intermediate value should typically be set immediately (end value) except for "display" or things like borderTopStyle, borderBottomStyle, etc. which should use the beginning value during the tween. + //DEBUG: _log("non-tweening value "+p+": "+pt.xs0); + } + } + } + if (plugin) if (pt && !pt.plugin) { + pt.plugin = plugin; + } + } + return pt; + }; + + + //gets called every time the tween updates, passing the new ratio (typically a value between 0 and 1, but not always (for example, if an Elastic.easeOut is used, the value can jump above 1 mid-tween). It will always start and 0 and end at 1. + p.setRatio = function(v) { + var pt = this._firstPT, + min = 0.000001, + val, str, i; + //at the end of the tween, we set the values to exactly what we received in order to make sure non-tweening values (like "position" or "float" or whatever) are set and so that if the beginning/ending suffixes (units) didn't match and we normalized to px, the value that the user passed in is used here. We check to see if the tween is at its beginning in case it's a from() tween in which case the ratio will actually go from 1 to 0 over the course of the tween (backwards). + if (v === 1 && (this._tween._time === this._tween._duration || this._tween._time === 0)) { + while (pt) { + if (pt.type !== 2) { + if (pt.r && pt.type !== -1) { + val = Math.round(pt.s + pt.c); + if (!pt.type) { + pt.t[pt.p] = val + pt.xs0; + } else if (pt.type === 1) { //complex value (one that typically has multiple numbers inside a string, like "rect(5px,10px,20px,25px)" + i = pt.l; + str = pt.xs0 + val + pt.xs1; + for (i = 1; i < pt.l; i++) { + str += pt["xn"+i] + pt["xs"+(i+1)]; + } + pt.t[pt.p] = str; + } + } else { + pt.t[pt.p] = pt.e; + } + } else { + pt.setRatio(v); + } + pt = pt._next; + } + + } else if (v || !(this._tween._time === this._tween._duration || this._tween._time === 0) || this._tween._rawPrevTime === -0.000001) { + while (pt) { + val = pt.c * v + pt.s; + if (pt.r) { + val = Math.round(val); + } else if (val < min) if (val > -min) { + val = 0; + } + if (!pt.type) { + pt.t[pt.p] = val + pt.xs0; + } else if (pt.type === 1) { //complex value (one that typically has multiple numbers inside a string, like "rect(5px,10px,20px,25px)" + i = pt.l; + if (i === 2) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2; + } else if (i === 3) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2 + pt.xn2 + pt.xs3; + } else if (i === 4) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2 + pt.xn2 + pt.xs3 + pt.xn3 + pt.xs4; + } else if (i === 5) { + pt.t[pt.p] = pt.xs0 + val + pt.xs1 + pt.xn1 + pt.xs2 + pt.xn2 + pt.xs3 + pt.xn3 + pt.xs4 + pt.xn4 + pt.xs5; + } else { + str = pt.xs0 + val + pt.xs1; + for (i = 1; i < pt.l; i++) { + str += pt["xn"+i] + pt["xs"+(i+1)]; + } + pt.t[pt.p] = str; + } + + } else if (pt.type === -1) { //non-tweening value + pt.t[pt.p] = pt.xs0; + + } else if (pt.setRatio) { //custom setRatio() for things like SpecialProps, external plugins, etc. + pt.setRatio(v); + } + pt = pt._next; + } + + //if the tween is reversed all the way back to the beginning, we need to restore the original values which may have different units (like % instead of px or em or whatever). + } else { + while (pt) { + if (pt.type !== 2) { + pt.t[pt.p] = pt.b; + } else { + pt.setRatio(v); + } + pt = pt._next; + } + } + }; + + /** + * @private + * Forces rendering of the target's transforms (rotation, scale, etc.) whenever the CSSPlugin's setRatio() is called. + * Basically, this tells the CSSPlugin to create a CSSPropTween (type 2) after instantiation that runs last in the linked + * list and calls the appropriate (3D or 2D) rendering function. We separate this into its own method so that we can call + * it from other plugins like BezierPlugin if, for example, it needs to apply an autoRotation and this CSSPlugin + * doesn't have any transform-related properties of its own. You can call this method as many times as you + * want and it won't create duplicate CSSPropTweens. + * + * @param {boolean} threeD if true, it should apply 3D tweens (otherwise, just 2D ones are fine and typically faster) + */ + p._enableTransforms = function(threeD) { + this._transform = this._transform || _getTransform(this._target, _cs, true); //ensures that the element has a _gsTransform property with the appropriate values. + this._transformType = (!(this._transform.svg && _useSVGTransformAttr) && (threeD || this._transformType === 3)) ? 3 : 2; + }; + + var lazySet = function(v) { + this.t[this.p] = this.e; + this.data._linkCSSP(this, this._next, null, true); //we purposefully keep this._next even though it'd make sense to null it, but this is a performance optimization, as this happens during the while (pt) {} loop in setRatio() at the bottom of which it sets pt = pt._next, so if we null it, the linked list will be broken in that loop. + }; + /** @private Gives us a way to set a value on the first render (and only the first render). **/ + p._addLazySet = function(t, p, v) { + var pt = this._firstPT = new CSSPropTween(t, p, 0, 0, this._firstPT, 2); + pt.e = v; + pt.setRatio = lazySet; + pt.data = this; + }; + + /** @private **/ + p._linkCSSP = function(pt, next, prev, remove) { + if (pt) { + if (next) { + next._prev = pt; + } + if (pt._next) { + pt._next._prev = pt._prev; + } + if (pt._prev) { + pt._prev._next = pt._next; + } else if (this._firstPT === pt) { + this._firstPT = pt._next; + remove = true; //just to prevent resetting this._firstPT 5 lines down in case pt._next is null. (optimized for speed) + } + if (prev) { + prev._next = pt; + } else if (!remove && this._firstPT === null) { + this._firstPT = pt; + } + pt._next = next; + pt._prev = prev; + } + return pt; + }; + + //we need to make sure that if alpha or autoAlpha is killed, opacity is too. And autoAlpha affects the "visibility" property. + p._kill = function(lookup) { + var copy = lookup, + pt, p, xfirst; + if (lookup.autoAlpha || lookup.alpha) { + copy = {}; + for (p in lookup) { //copy the lookup so that we're not changing the original which may be passed elsewhere. + copy[p] = lookup[p]; + } + copy.opacity = 1; + if (copy.autoAlpha) { + copy.visibility = 1; + } + } + if (lookup.className && (pt = this._classNamePT)) { //for className tweens, we need to kill any associated CSSPropTweens too; a linked list starts at the className's "xfirst". + xfirst = pt.xfirst; + if (xfirst && xfirst._prev) { + this._linkCSSP(xfirst._prev, pt._next, xfirst._prev._prev); //break off the prev + } else if (xfirst === this._firstPT) { + this._firstPT = pt._next; + } + if (pt._next) { + this._linkCSSP(pt._next, pt._next._next, xfirst._prev); + } + this._classNamePT = null; + } + return TweenPlugin.prototype._kill.call(this, copy); + }; + + + + //used by cascadeTo() for gathering all the style properties of each child element into an array for comparison. + var _getChildStyles = function(e, props, targets) { + var children, i, child, type; + if (e.slice) { + i = e.length; + while (--i > -1) { + _getChildStyles(e[i], props, targets); + } + return; + } + children = e.childNodes; + i = children.length; + while (--i > -1) { + child = children[i]; + type = child.type; + if (child.style) { + props.push(_getAllStyles(child)); + if (targets) { + targets.push(child); + } + } + if ((type === 1 || type === 9 || type === 11) && child.childNodes.length) { + _getChildStyles(child, props, targets); + } + } + }; + + /** + * Typically only useful for className tweens that may affect child elements, this method creates a TweenLite + * and then compares the style properties of all the target's child elements at the tween's start and end, and + * if any are different, it also creates tweens for those and returns an array containing ALL of the resulting + * tweens (so that you can easily add() them to a TimelineLite, for example). The reason this functionality is + * wrapped into a separate static method of CSSPlugin instead of being integrated into all regular className tweens + * is because it creates entirely new tweens that may have completely different targets than the original tween, + * so if they were all lumped into the original tween instance, it would be inconsistent with the rest of the API + * and it would create other problems. For example: + * - If I create a tween of elementA, that tween instance may suddenly change its target to include 50 other elements (unintuitive if I specifically defined the target I wanted) + * - We can't just create new independent tweens because otherwise, what happens if the original/parent tween is reversed or pause or dropped into a TimelineLite for tight control? You'd expect that tween's behavior to affect all the others. + * - Analyzing every style property of every child before and after the tween is an expensive operation when there are many children, so this behavior shouldn't be imposed on all className tweens by default, especially since it's probably rare that this extra functionality is needed. + * + * @param {Object} target object to be tweened + * @param {number} Duration in seconds (or frames for frames-based tweens) + * @param {Object} Object containing the end values, like {className:"newClass", ease:Linear.easeNone} + * @return {Array} An array of TweenLite instances + */ + CSSPlugin.cascadeTo = function(target, duration, vars) { + var tween = TweenLite.to(target, duration, vars), + results = [tween], + b = [], + e = [], + targets = [], + _reservedProps = TweenLite._internals.reservedProps, + i, difs, p, from; + target = tween._targets || tween.target; + _getChildStyles(target, b, targets); + tween.render(duration, true, true); + _getChildStyles(target, e); + tween.render(0, true, true); + tween._enabled(true); + i = targets.length; + while (--i > -1) { + difs = _cssDif(targets[i], b[i], e[i]); + if (difs.firstMPT) { + difs = difs.difs; + for (p in vars) { + if (_reservedProps[p]) { + difs[p] = vars[p]; + } + } + from = {}; + for (p in difs) { + from[p] = b[i][p]; + } + results.push(TweenLite.fromTo(targets[i], duration, from, difs)); + } + } + return results; + }; + + TweenPlugin.activate([CSSPlugin]); + return CSSPlugin; + + }, true); + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * RoundPropsPlugin + * ---------------------------------------------------------------- + */ + (function() { + + var RoundPropsPlugin = _gsScope._gsDefine.plugin({ + propName: "roundProps", + version: "1.5", + priority: -1, + API: 2, + + //called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, value, tween) { + this._tween = tween; + return true; + } + + }), + _roundLinkedList = function(node) { + while (node) { + if (!node.f && !node.blob) { + node.r = 1; + } + node = node._next; + } + }, + p = RoundPropsPlugin.prototype; + + p._onInitAllProps = function() { + var tween = this._tween, + rp = (tween.vars.roundProps.join) ? tween.vars.roundProps : tween.vars.roundProps.split(","), + i = rp.length, + lookup = {}, + rpt = tween._propLookup.roundProps, + prop, pt, next; + while (--i > -1) { + lookup[rp[i]] = 1; + } + i = rp.length; + while (--i > -1) { + prop = rp[i]; + pt = tween._firstPT; + while (pt) { + next = pt._next; //record here, because it may get removed + if (pt.pg) { + pt.t._roundProps(lookup, true); + } else if (pt.n === prop) { + if (pt.f === 2 && pt.t) { //a blob (text containing multiple numeric values) + _roundLinkedList(pt.t._firstPT); + } else { + this._add(pt.t, prop, pt.s, pt.c); + //remove from linked list + if (next) { + next._prev = pt._prev; + } + if (pt._prev) { + pt._prev._next = next; + } else if (tween._firstPT === pt) { + tween._firstPT = next; + } + pt._next = pt._prev = null; + tween._propLookup[prop] = rpt; + } + } + pt = next; + } + } + return false; + }; + + p._add = function(target, p, s, c) { + this._addTween(target, p, s, s + c, p, true); + this._overwriteProps.push(p); + }; + + }()); + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * AttrPlugin + * ---------------------------------------------------------------- + */ + + (function() { + + _gsScope._gsDefine.plugin({ + propName: "attr", + API: 2, + version: "0.5.0", + + //called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, value, tween) { + var p; + if (typeof(target.setAttribute) !== "function") { + return false; + } + for (p in value) { + this._addTween(target, "setAttribute", target.getAttribute(p) + "", value[p] + "", p, false, p); + this._overwriteProps.push(p); + } + return true; + } + + }); + + }()); + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * DirectionalRotationPlugin + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine.plugin({ + propName: "directionalRotation", + version: "0.2.1", + API: 2, + + //called when the tween renders for the first time. This is where initial values should be recorded and any setup routines should run. + init: function(target, value, tween) { + if (typeof(value) !== "object") { + value = {rotation:value}; + } + this.finals = {}; + var cap = (value.useRadians === true) ? Math.PI * 2 : 360, + min = 0.000001, + p, v, start, end, dif, split; + for (p in value) { + if (p !== "useRadians") { + split = (value[p] + "").split("_"); + v = split[0]; + start = parseFloat( (typeof(target[p]) !== "function") ? target[p] : target[ ((p.indexOf("set") || typeof(target["get" + p.substr(3)]) !== "function") ? p : "get" + p.substr(3)) ]() ); + end = this.finals[p] = (typeof(v) === "string" && v.charAt(1) === "=") ? start + parseInt(v.charAt(0) + "1", 10) * Number(v.substr(2)) : Number(v) || 0; + dif = end - start; + if (split.length) { + v = split.join("_"); + if (v.indexOf("short") !== -1) { + dif = dif % cap; + if (dif !== dif % (cap / 2)) { + dif = (dif < 0) ? dif + cap : dif - cap; + } + } + if (v.indexOf("_cw") !== -1 && dif < 0) { + dif = ((dif + cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } else if (v.indexOf("ccw") !== -1 && dif > 0) { + dif = ((dif - cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; + } + } + if (dif > min || dif < -min) { + this._addTween(target, p, start, start + dif, p); + this._overwriteProps.push(p); + } + } + } + return true; + }, + + //called each time the values should be updated, and the ratio gets passed as the only parameter (typically it's a value between 0 and 1, but it can exceed those when using an ease like Elastic.easeOut or Back.easeOut, etc.) + set: function(ratio) { + var pt; + if (ratio !== 1) { + this._super.setRatio.call(this, ratio); + } else { + pt = this._firstPT; + while (pt) { + if (pt.f) { + pt.t[pt.p](this.finals[pt.p]); + } else { + pt.t[pt.p] = this.finals[pt.p]; + } + pt = pt._next; + } + } + } + + })._autoCSS = true; + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * EasePack + * ---------------------------------------------------------------- + */ + _gsScope._gsDefine("easing.Back", ["easing.Ease"], function(Ease) { + + var w = (_gsScope.GreenSockGlobals || _gsScope), + gs = w.com.greensock, + _2PI = Math.PI * 2, + _HALF_PI = Math.PI / 2, + _class = gs._class, + _create = function(n, f) { + var C = _class("easing." + n, function(){}, true), + p = C.prototype = new Ease(); + p.constructor = C; + p.getRatio = f; + return C; + }, + _easeReg = Ease.register || function(){}, //put an empty function in place just as a safety measure in case someone loads an OLD version of TweenLite.js where Ease.register doesn't exist. + _wrap = function(name, EaseOut, EaseIn, EaseInOut, aliases) { + var C = _class("easing."+name, { + easeOut:new EaseOut(), + easeIn:new EaseIn(), + easeInOut:new EaseInOut() + }, true); + _easeReg(C, name); + return C; + }, + EasePoint = function(time, value, next) { + this.t = time; + this.v = value; + if (next) { + this.next = next; + next.prev = this; + this.c = next.v - value; + this.gap = next.t - time; + } + }, + + //Back + _createBack = function(n, f) { + var C = _class("easing." + n, function(overshoot) { + this._p1 = (overshoot || overshoot === 0) ? overshoot : 1.70158; + this._p2 = this._p1 * 1.525; + }, true), + p = C.prototype = new Ease(); + p.constructor = C; + p.getRatio = f; + p.config = function(overshoot) { + return new C(overshoot); + }; + return C; + }, + + Back = _wrap("Back", + _createBack("BackOut", function(p) { + return ((p = p - 1) * p * ((this._p1 + 1) * p + this._p1) + 1); + }), + _createBack("BackIn", function(p) { + return p * p * ((this._p1 + 1) * p - this._p1); + }), + _createBack("BackInOut", function(p) { + return ((p *= 2) < 1) ? 0.5 * p * p * ((this._p2 + 1) * p - this._p2) : 0.5 * ((p -= 2) * p * ((this._p2 + 1) * p + this._p2) + 2); + }) + ), + + + //SlowMo + SlowMo = _class("easing.SlowMo", function(linearRatio, power, yoyoMode) { + power = (power || power === 0) ? power : 0.7; + if (linearRatio == null) { + linearRatio = 0.7; + } else if (linearRatio > 1) { + linearRatio = 1; + } + this._p = (linearRatio !== 1) ? power : 0; + this._p1 = (1 - linearRatio) / 2; + this._p2 = linearRatio; + this._p3 = this._p1 + this._p2; + this._calcEnd = (yoyoMode === true); + }, true), + p = SlowMo.prototype = new Ease(), + SteppedEase, RoughEase, _createElastic; + + p.constructor = SlowMo; + p.getRatio = function(p) { + var r = p + (0.5 - p) * this._p; + if (p < this._p1) { + return this._calcEnd ? 1 - ((p = 1 - (p / this._p1)) * p) : r - ((p = 1 - (p / this._p1)) * p * p * p * r); + } else if (p > this._p3) { + return this._calcEnd ? 1 - (p = (p - this._p3) / this._p1) * p : r + ((p - r) * (p = (p - this._p3) / this._p1) * p * p * p); + } + return this._calcEnd ? 1 : r; + }; + SlowMo.ease = new SlowMo(0.7, 0.7); + + p.config = SlowMo.config = function(linearRatio, power, yoyoMode) { + return new SlowMo(linearRatio, power, yoyoMode); + }; + + + //SteppedEase + SteppedEase = _class("easing.SteppedEase", function(steps) { + steps = steps || 1; + this._p1 = 1 / steps; + this._p2 = steps + 1; + }, true); + p = SteppedEase.prototype = new Ease(); + p.constructor = SteppedEase; + p.getRatio = function(p) { + if (p < 0) { + p = 0; + } else if (p >= 1) { + p = 0.999999999; + } + return ((this._p2 * p) >> 0) * this._p1; + }; + p.config = SteppedEase.config = function(steps) { + return new SteppedEase(steps); + }; + + + //RoughEase + RoughEase = _class("easing.RoughEase", function(vars) { + vars = vars || {}; + var taper = vars.taper || "none", + a = [], + cnt = 0, + points = (vars.points || 20) | 0, + i = points, + randomize = (vars.randomize !== false), + clamp = (vars.clamp === true), + template = (vars.template instanceof Ease) ? vars.template : null, + strength = (typeof(vars.strength) === "number") ? vars.strength * 0.4 : 0.4, + x, y, bump, invX, obj, pnt; + while (--i > -1) { + x = randomize ? Math.random() : (1 / points) * i; + y = template ? template.getRatio(x) : x; + if (taper === "none") { + bump = strength; + } else if (taper === "out") { + invX = 1 - x; + bump = invX * invX * strength; + } else if (taper === "in") { + bump = x * x * strength; + } else if (x < 0.5) { //"both" (start) + invX = x * 2; + bump = invX * invX * 0.5 * strength; + } else { //"both" (end) + invX = (1 - x) * 2; + bump = invX * invX * 0.5 * strength; + } + if (randomize) { + y += (Math.random() * bump) - (bump * 0.5); + } else if (i % 2) { + y += bump * 0.5; + } else { + y -= bump * 0.5; + } + if (clamp) { + if (y > 1) { + y = 1; + } else if (y < 0) { + y = 0; + } + } + a[cnt++] = {x:x, y:y}; + } + a.sort(function(a, b) { + return a.x - b.x; + }); + + pnt = new EasePoint(1, 1, null); + i = points; + while (--i > -1) { + obj = a[i]; + pnt = new EasePoint(obj.x, obj.y, pnt); + } + + this._prev = new EasePoint(0, 0, (pnt.t !== 0) ? pnt : pnt.next); + }, true); + p = RoughEase.prototype = new Ease(); + p.constructor = RoughEase; + p.getRatio = function(p) { + var pnt = this._prev; + if (p > pnt.t) { + while (pnt.next && p >= pnt.t) { + pnt = pnt.next; + } + pnt = pnt.prev; + } else { + while (pnt.prev && p <= pnt.t) { + pnt = pnt.prev; + } + } + this._prev = pnt; + return (pnt.v + ((p - pnt.t) / pnt.gap) * pnt.c); + }; + p.config = function(vars) { + return new RoughEase(vars); + }; + RoughEase.ease = new RoughEase(); + + + //Bounce + _wrap("Bounce", + _create("BounceOut", function(p) { + if (p < 1 / 2.75) { + return 7.5625 * p * p; + } else if (p < 2 / 2.75) { + return 7.5625 * (p -= 1.5 / 2.75) * p + 0.75; + } else if (p < 2.5 / 2.75) { + return 7.5625 * (p -= 2.25 / 2.75) * p + 0.9375; + } + return 7.5625 * (p -= 2.625 / 2.75) * p + 0.984375; + }), + _create("BounceIn", function(p) { + if ((p = 1 - p) < 1 / 2.75) { + return 1 - (7.5625 * p * p); + } else if (p < 2 / 2.75) { + return 1 - (7.5625 * (p -= 1.5 / 2.75) * p + 0.75); + } else if (p < 2.5 / 2.75) { + return 1 - (7.5625 * (p -= 2.25 / 2.75) * p + 0.9375); + } + return 1 - (7.5625 * (p -= 2.625 / 2.75) * p + 0.984375); + }), + _create("BounceInOut", function(p) { + var invert = (p < 0.5); + if (invert) { + p = 1 - (p * 2); + } else { + p = (p * 2) - 1; + } + if (p < 1 / 2.75) { + p = 7.5625 * p * p; + } else if (p < 2 / 2.75) { + p = 7.5625 * (p -= 1.5 / 2.75) * p + 0.75; + } else if (p < 2.5 / 2.75) { + p = 7.5625 * (p -= 2.25 / 2.75) * p + 0.9375; + } else { + p = 7.5625 * (p -= 2.625 / 2.75) * p + 0.984375; + } + return invert ? (1 - p) * 0.5 : p * 0.5 + 0.5; + }) + ); + + + //CIRC + _wrap("Circ", + _create("CircOut", function(p) { + return Math.sqrt(1 - (p = p - 1) * p); + }), + _create("CircIn", function(p) { + return -(Math.sqrt(1 - (p * p)) - 1); + }), + _create("CircInOut", function(p) { + return ((p*=2) < 1) ? -0.5 * (Math.sqrt(1 - p * p) - 1) : 0.5 * (Math.sqrt(1 - (p -= 2) * p) + 1); + }) + ); + + + //Elastic + _createElastic = function(n, f, def) { + var C = _class("easing." + n, function(amplitude, period) { + this._p1 = (amplitude >= 1) ? amplitude : 1; //note: if amplitude is < 1, we simply adjust the period for a more natural feel. Otherwise the math doesn't work right and the curve starts at 1. + this._p2 = (period || def) / (amplitude < 1 ? amplitude : 1); + this._p3 = this._p2 / _2PI * (Math.asin(1 / this._p1) || 0); + this._p2 = _2PI / this._p2; //precalculate to optimize + }, true), + p = C.prototype = new Ease(); + p.constructor = C; + p.getRatio = f; + p.config = function(amplitude, period) { + return new C(amplitude, period); + }; + return C; + }; + _wrap("Elastic", + _createElastic("ElasticOut", function(p) { + return this._p1 * Math.pow(2, -10 * p) * Math.sin( (p - this._p3) * this._p2 ) + 1; + }, 0.3), + _createElastic("ElasticIn", function(p) { + return -(this._p1 * Math.pow(2, 10 * (p -= 1)) * Math.sin( (p - this._p3) * this._p2 )); + }, 0.3), + _createElastic("ElasticInOut", function(p) { + return ((p *= 2) < 1) ? -0.5 * (this._p1 * Math.pow(2, 10 * (p -= 1)) * Math.sin( (p - this._p3) * this._p2)) : this._p1 * Math.pow(2, -10 *(p -= 1)) * Math.sin( (p - this._p3) * this._p2 ) * 0.5 + 1; + }, 0.45) + ); + + + //Expo + _wrap("Expo", + _create("ExpoOut", function(p) { + return 1 - Math.pow(2, -10 * p); + }), + _create("ExpoIn", function(p) { + return Math.pow(2, 10 * (p - 1)) - 0.001; + }), + _create("ExpoInOut", function(p) { + return ((p *= 2) < 1) ? 0.5 * Math.pow(2, 10 * (p - 1)) : 0.5 * (2 - Math.pow(2, -10 * (p - 1))); + }) + ); + + + //Sine + _wrap("Sine", + _create("SineOut", function(p) { + return Math.sin(p * _HALF_PI); + }), + _create("SineIn", function(p) { + return -Math.cos(p * _HALF_PI) + 1; + }), + _create("SineInOut", function(p) { + return -0.5 * (Math.cos(Math.PI * p) - 1); + }) + ); + + _class("easing.EaseLookup", { + find:function(s) { + return Ease.map[s]; + } + }, true); + + //register the non-standard eases + _easeReg(w.SlowMo, "SlowMo", "ease,"); + _easeReg(RoughEase, "RoughEase", "ease,"); + _easeReg(SteppedEase, "SteppedEase", "ease,"); + + return Back; + + }, true); + + +}); + +if (_gsScope._gsDefine) { _gsScope._gsQueue.pop()(); } //necessary in case TweenLite was already loaded separately. + + + + + + + + + + + +/* + * ---------------------------------------------------------------- + * Base classes like TweenLite, SimpleTimeline, Ease, Ticker, etc. + * ---------------------------------------------------------------- + */ +(function(window, moduleName) { + + "use strict"; + var _globals = window.GreenSockGlobals = window.GreenSockGlobals || window; + if (_globals.TweenLite) { + return; //in case the core set of classes is already loaded, don't instantiate twice. + } + var _namespace = function(ns) { + var a = ns.split("."), + p = _globals, i; + for (i = 0; i < a.length; i++) { + p[a[i]] = p = p[a[i]] || {}; + } + return p; + }, + gs = _namespace("com.greensock"), + _tinyNum = 0.0000000001, + _slice = function(a) { //don't use Array.prototype.slice.call(target, 0) because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + var b = [], + l = a.length, + i; + for (i = 0; i !== l; b.push(a[i++])) {} + return b; + }, + _emptyFunc = function() {}, + _isArray = (function() { //works around issues in iframe environments where the Array global isn't shared, thus if the object originates in a different window/iframe, "(obj instanceof Array)" will evaluate false. We added some speed optimizations to avoid Object.prototype.toString.call() unless it's absolutely necessary because it's VERY slow (like 20x slower) + var toString = Object.prototype.toString, + array = toString.call([]); + return function(obj) { + return obj != null && (obj instanceof Array || (typeof(obj) === "object" && !!obj.push && toString.call(obj) === array)); + }; + }()), + a, i, p, _ticker, _tickerActive, + _defLookup = {}, + + /** + * @constructor + * Defines a GreenSock class, optionally with an array of dependencies that must be instantiated first and passed into the definition. + * This allows users to load GreenSock JS files in any order even if they have interdependencies (like CSSPlugin extends TweenPlugin which is + * inside TweenLite.js, but if CSSPlugin is loaded first, it should wait to run its code until TweenLite.js loads and instantiates TweenPlugin + * and then pass TweenPlugin to CSSPlugin's definition). This is all done automatically and internally. + * + * Every definition will be added to a "com.greensock" global object (typically window, but if a window.GreenSockGlobals object is found, + * it will go there as of v1.7). For example, TweenLite will be found at window.com.greensock.TweenLite and since it's a global class that should be available anywhere, + * it is ALSO referenced at window.TweenLite. However some classes aren't considered global, like the base com.greensock.core.Animation class, so + * those will only be at the package like window.com.greensock.core.Animation. Again, if you define a GreenSockGlobals object on the window, everything + * gets tucked neatly inside there instead of on the window directly. This allows you to do advanced things like load multiple versions of GreenSock + * files and put them into distinct objects (imagine a banner ad uses a newer version but the main site uses an older one). In that case, you could + * sandbox the banner one like: + * + * + * + * + * + * + * + * @param {!string} ns The namespace of the class definition, leaving off "com.greensock." as that's assumed. For example, "TweenLite" or "plugins.CSSPlugin" or "easing.Back". + * @param {!Array.} dependencies An array of dependencies (described as their namespaces minus "com.greensock." prefix). For example ["TweenLite","plugins.TweenPlugin","core.Animation"] + * @param {!function():Object} func The function that should be called and passed the resolved dependencies which will return the actual class for this definition. + * @param {boolean=} global If true, the class will be added to the global scope (typically window unless you define a window.GreenSockGlobals object) + */ + Definition = function(ns, dependencies, func, global) { + this.sc = (_defLookup[ns]) ? _defLookup[ns].sc : []; //subclasses + _defLookup[ns] = this; + this.gsClass = null; + this.func = func; + var _classes = []; + this.check = function(init) { + var i = dependencies.length, + missing = i, + cur, a, n, cl, hasModule; + while (--i > -1) { + if ((cur = _defLookup[dependencies[i]] || new Definition(dependencies[i], [])).gsClass) { + _classes[i] = cur.gsClass; + missing--; + } else if (init) { + cur.sc.push(this); + } + } + if (missing === 0 && func) { + a = ("com.greensock." + ns).split("."); + n = a.pop(); + cl = _namespace(a.join("."))[n] = this.gsClass = func.apply(func, _classes); + + //exports to multiple environments + if (global) { + _globals[n] = cl; //provides a way to avoid global namespace pollution. By default, the main classes like TweenLite, Power1, Strong, etc. are added to window unless a GreenSockGlobals is defined. So if you want to have things added to a custom object instead, just do something like window.GreenSockGlobals = {} before loading any GreenSock files. You can even set up an alias like window.GreenSockGlobals = windows.gs = {} so that you can access everything like gs.TweenLite. Also remember that ALL classes are added to the window.com.greensock object (in their respective packages, like com.greensock.easing.Power1, com.greensock.TweenLite, etc.) + hasModule = (typeof(module) !== "undefined" && module.exports); + if (!hasModule && typeof(define) === "function" && define.amd){ //AMD + define((window.GreenSockAMDPath ? window.GreenSockAMDPath + "/" : "") + ns.split(".").pop(), [], function() { return cl; }); + } else if (ns === moduleName && hasModule){ //node + module.exports = cl; + } + } + for (i = 0; i < this.sc.length; i++) { + this.sc[i].check(); + } + } + }; + this.check(true); + }, + + //used to create Definition instances (which basically registers a class that has dependencies). + _gsDefine = window._gsDefine = function(ns, dependencies, func, global) { + return new Definition(ns, dependencies, func, global); + }, + + //a quick way to create a class that doesn't have any dependencies. Returns the class, but first registers it in the GreenSock namespace so that other classes can grab it (other classes might be dependent on the class). + _class = gs._class = function(ns, func, global) { + func = func || function() {}; + _gsDefine(ns, [], function(){ return func; }, global); + return func; + }; + + _gsDefine.globals = _globals; + + + +/* + * ---------------------------------------------------------------- + * Ease + * ---------------------------------------------------------------- + */ + var _baseParams = [0, 0, 1, 1], + _blankArray = [], + Ease = _class("easing.Ease", function(func, extraParams, type, power) { + this._func = func; + this._type = type || 0; + this._power = power || 0; + this._params = extraParams ? _baseParams.concat(extraParams) : _baseParams; + }, true), + _easeMap = Ease.map = {}, + _easeReg = Ease.register = function(ease, names, types, create) { + var na = names.split(","), + i = na.length, + ta = (types || "easeIn,easeOut,easeInOut").split(","), + e, name, j, type; + while (--i > -1) { + name = na[i]; + e = create ? _class("easing."+name, null, true) : gs.easing[name] || {}; + j = ta.length; + while (--j > -1) { + type = ta[j]; + _easeMap[name + "." + type] = _easeMap[type + name] = e[type] = ease.getRatio ? ease : ease[type] || new ease(); + } + } + }; + + p = Ease.prototype; + p._calcEnd = false; + p.getRatio = function(p) { + if (this._func) { + this._params[0] = p; + return this._func.apply(null, this._params); + } + var t = this._type, + pw = this._power, + r = (t === 1) ? 1 - p : (t === 2) ? p : (p < 0.5) ? p * 2 : (1 - p) * 2; + if (pw === 1) { + r *= r; + } else if (pw === 2) { + r *= r * r; + } else if (pw === 3) { + r *= r * r * r; + } else if (pw === 4) { + r *= r * r * r * r; + } + return (t === 1) ? 1 - r : (t === 2) ? r : (p < 0.5) ? r / 2 : 1 - (r / 2); + }; + + //create all the standard eases like Linear, Quad, Cubic, Quart, Quint, Strong, Power0, Power1, Power2, Power3, and Power4 (each with easeIn, easeOut, and easeInOut) + a = ["Linear","Quad","Cubic","Quart","Quint,Strong"]; + i = a.length; + while (--i > -1) { + p = a[i]+",Power"+i; + _easeReg(new Ease(null,null,1,i), p, "easeOut", true); + _easeReg(new Ease(null,null,2,i), p, "easeIn" + ((i === 0) ? ",easeNone" : "")); + _easeReg(new Ease(null,null,3,i), p, "easeInOut"); + } + _easeMap.linear = gs.easing.Linear.easeIn; + _easeMap.swing = gs.easing.Quad.easeInOut; //for jQuery folks + + +/* + * ---------------------------------------------------------------- + * EventDispatcher + * ---------------------------------------------------------------- + */ + var EventDispatcher = _class("events.EventDispatcher", function(target) { + this._listeners = {}; + this._eventTarget = target || this; + }); + p = EventDispatcher.prototype; + + p.addEventListener = function(type, callback, scope, useParam, priority) { + priority = priority || 0; + var list = this._listeners[type], + index = 0, + listener, i; + if (list == null) { + this._listeners[type] = list = []; + } + i = list.length; + while (--i > -1) { + listener = list[i]; + if (listener.c === callback && listener.s === scope) { + list.splice(i, 1); + } else if (index === 0 && listener.pr < priority) { + index = i + 1; + } + } + list.splice(index, 0, {c:callback, s:scope, up:useParam, pr:priority}); + if (this === _ticker && !_tickerActive) { + _ticker.wake(); + } + }; + + p.removeEventListener = function(type, callback) { + var list = this._listeners[type], i; + if (list) { + i = list.length; + while (--i > -1) { + if (list[i].c === callback) { + list.splice(i, 1); + return; + } + } + } + }; + + p.dispatchEvent = function(type) { + var list = this._listeners[type], + i, t, listener; + if (list) { + i = list.length; + t = this._eventTarget; + while (--i > -1) { + listener = list[i]; + if (listener) { + if (listener.up) { + listener.c.call(listener.s || t, {type:type, target:t}); + } else { + listener.c.call(listener.s || t); + } + } + } + } + }; + + +/* + * ---------------------------------------------------------------- + * Ticker + * ---------------------------------------------------------------- + */ + var _reqAnimFrame = window.requestAnimationFrame, + _cancelAnimFrame = window.cancelAnimationFrame, + _getTime = Date.now || function() {return new Date().getTime();}, + _lastUpdate = _getTime(); + + //now try to determine the requestAnimationFrame and cancelAnimationFrame functions and if none are found, we'll use a setTimeout()/clearTimeout() polyfill. + a = ["ms","moz","webkit","o"]; + i = a.length; + while (--i > -1 && !_reqAnimFrame) { + _reqAnimFrame = window[a[i] + "RequestAnimationFrame"]; + _cancelAnimFrame = window[a[i] + "CancelAnimationFrame"] || window[a[i] + "CancelRequestAnimationFrame"]; + } + + _class("Ticker", function(fps, useRAF) { + var _self = this, + _startTime = _getTime(), + _useRAF = (useRAF !== false && _reqAnimFrame), + _lagThreshold = 500, + _adjustedLag = 33, + _tickWord = "tick", //helps reduce gc burden + _fps, _req, _id, _gap, _nextTime, + _tick = function(manual) { + var elapsed = _getTime() - _lastUpdate, + overlap, dispatch; + if (elapsed > _lagThreshold) { + _startTime += elapsed - _adjustedLag; + } + _lastUpdate += elapsed; + _self.time = (_lastUpdate - _startTime) / 1000; + overlap = _self.time - _nextTime; + if (!_fps || overlap > 0 || manual === true) { + _self.frame++; + _nextTime += overlap + (overlap >= _gap ? 0.004 : _gap - overlap); + dispatch = true; + } + if (manual !== true) { //make sure the request is made before we dispatch the "tick" event so that timing is maintained. Otherwise, if processing the "tick" requires a bunch of time (like 15ms) and we're using a setTimeout() that's based on 16.7ms, it'd technically take 31.7ms between frames otherwise. + _id = _req(_tick); + } + if (dispatch) { + _self.dispatchEvent(_tickWord); + } + }; + + EventDispatcher.call(_self); + _self.time = _self.frame = 0; + _self.tick = function() { + _tick(true); + }; + + _self.lagSmoothing = function(threshold, adjustedLag) { + _lagThreshold = threshold || (1 / _tinyNum); //zero should be interpreted as basically unlimited + _adjustedLag = Math.min(adjustedLag, _lagThreshold, 0); + }; + + _self.sleep = function() { + if (_id == null) { + return; + } + if (!_useRAF || !_cancelAnimFrame) { + clearTimeout(_id); + } else { + _cancelAnimFrame(_id); + } + _req = _emptyFunc; + _id = null; + if (_self === _ticker) { + _tickerActive = false; + } + }; + + _self.wake = function() { + if (_id !== null) { + _self.sleep(); + } else if (_self.frame > 10) { //don't trigger lagSmoothing if we're just waking up, and make sure that at least 10 frames have elapsed because of the iOS bug that we work around below with the 1.5-second setTimout(). + _lastUpdate = _getTime() - _lagThreshold + 5; + } + _req = (_fps === 0) ? _emptyFunc : (!_useRAF || !_reqAnimFrame) ? function(f) { return setTimeout(f, ((_nextTime - _self.time) * 1000 + 1) | 0); } : _reqAnimFrame; + if (_self === _ticker) { + _tickerActive = true; + } + _tick(2); + }; + + _self.fps = function(value) { + if (!arguments.length) { + return _fps; + } + _fps = value; + _gap = 1 / (_fps || 60); + _nextTime = this.time + _gap; + _self.wake(); + }; + + _self.useRAF = function(value) { + if (!arguments.length) { + return _useRAF; + } + _self.sleep(); + _useRAF = value; + _self.fps(_fps); + }; + _self.fps(fps); + + //a bug in iOS 6 Safari occasionally prevents the requestAnimationFrame from working initially, so we use a 1.5-second timeout that automatically falls back to setTimeout() if it senses this condition. + setTimeout(function() { + if (_useRAF && _self.frame < 5) { + _self.useRAF(false); + } + }, 1500); + }); + + p = gs.Ticker.prototype = new gs.events.EventDispatcher(); + p.constructor = gs.Ticker; + + +/* + * ---------------------------------------------------------------- + * Animation + * ---------------------------------------------------------------- + */ + var Animation = _class("core.Animation", function(duration, vars) { + this.vars = vars = vars || {}; + this._duration = this._totalDuration = duration || 0; + this._delay = Number(vars.delay) || 0; + this._timeScale = 1; + this._active = (vars.immediateRender === true); + this.data = vars.data; + this._reversed = (vars.reversed === true); + + if (!_rootTimeline) { + return; + } + if (!_tickerActive) { //some browsers (like iOS 6 Safari) shut down JavaScript execution when the tab is disabled and they [occasionally] neglect to start up requestAnimationFrame again when returning - this code ensures that the engine starts up again properly. + _ticker.wake(); + } + + var tl = this.vars.useFrames ? _rootFramesTimeline : _rootTimeline; + tl.add(this, tl._time); + + if (this.vars.paused) { + this.paused(true); + } + }); + + _ticker = Animation.ticker = new gs.Ticker(); + p = Animation.prototype; + p._dirty = p._gc = p._initted = p._paused = false; + p._totalTime = p._time = 0; + p._rawPrevTime = -1; + p._next = p._last = p._onUpdate = p._timeline = p.timeline = null; + p._paused = false; + + + //some browsers (like iOS) occasionally drop the requestAnimationFrame event when the user switches to a different tab and then comes back again, so we use a 2-second setTimeout() to sense if/when that condition occurs and then wake() the ticker. + var _checkTimeout = function() { + if (_tickerActive && _getTime() - _lastUpdate > 2000) { + _ticker.wake(); + } + setTimeout(_checkTimeout, 2000); + }; + _checkTimeout(); + + + p.play = function(from, suppressEvents) { + if (from != null) { + this.seek(from, suppressEvents); + } + return this.reversed(false).paused(false); + }; + + p.pause = function(atTime, suppressEvents) { + if (atTime != null) { + this.seek(atTime, suppressEvents); + } + return this.paused(true); + }; + + p.resume = function(from, suppressEvents) { + if (from != null) { + this.seek(from, suppressEvents); + } + return this.paused(false); + }; + + p.seek = function(time, suppressEvents) { + return this.totalTime(Number(time), suppressEvents !== false); + }; + + p.restart = function(includeDelay, suppressEvents) { + return this.reversed(false).paused(false).totalTime(includeDelay ? -this._delay : 0, (suppressEvents !== false), true); + }; + + p.reverse = function(from, suppressEvents) { + if (from != null) { + this.seek((from || this.totalDuration()), suppressEvents); + } + return this.reversed(true).paused(false); + }; + + p.render = function(time, suppressEvents, force) { + //stub - we override this method in subclasses. + }; + + p.invalidate = function() { + this._time = this._totalTime = 0; + this._initted = this._gc = false; + this._rawPrevTime = -1; + if (this._gc || !this.timeline) { + this._enabled(true); + } + return this; + }; + + p.isActive = function() { + var tl = this._timeline, //the 2 root timelines won't have a _timeline; they're always active. + startTime = this._startTime, + rawTime; + return (!tl || (!this._gc && !this._paused && tl.isActive() && (rawTime = tl.rawTime()) >= startTime && rawTime < startTime + this.totalDuration() / this._timeScale)); + }; + + p._enabled = function (enabled, ignoreTimeline) { + if (!_tickerActive) { + _ticker.wake(); + } + this._gc = !enabled; + this._active = this.isActive(); + if (ignoreTimeline !== true) { + if (enabled && !this.timeline) { + this._timeline.add(this, this._startTime - this._delay); + } else if (!enabled && this.timeline) { + this._timeline._remove(this, true); + } + } + return false; + }; + + + p._kill = function(vars, target) { + return this._enabled(false, false); + }; + + p.kill = function(vars, target) { + this._kill(vars, target); + return this; + }; + + p._uncache = function(includeSelf) { + var tween = includeSelf ? this : this.timeline; + while (tween) { + tween._dirty = true; + tween = tween.timeline; + } + return this; + }; + + p._swapSelfInParams = function(params) { + var i = params.length, + copy = params.concat(); + while (--i > -1) { + if (params[i] === "{self}") { + copy[i] = this; + } + } + return copy; + }; + + p._callback = function(type) { + var v = this.vars; + v[type].apply(v[type + "Scope"] || v.callbackScope || this, v[type + "Params"] || _blankArray); + }; + +//----Animation getters/setters -------------------------------------------------------- + + p.eventCallback = function(type, callback, params, scope) { + if ((type || "").substr(0,2) === "on") { + var v = this.vars; + if (arguments.length === 1) { + return v[type]; + } + if (callback == null) { + delete v[type]; + } else { + v[type] = callback; + v[type + "Params"] = (_isArray(params) && params.join("").indexOf("{self}") !== -1) ? this._swapSelfInParams(params) : params; + v[type + "Scope"] = scope; + } + if (type === "onUpdate") { + this._onUpdate = callback; + } + } + return this; + }; + + p.delay = function(value) { + if (!arguments.length) { + return this._delay; + } + if (this._timeline.smoothChildTiming) { + this.startTime( this._startTime + value - this._delay ); + } + this._delay = value; + return this; + }; + + p.duration = function(value) { + if (!arguments.length) { + this._dirty = false; + return this._duration; + } + this._duration = this._totalDuration = value; + this._uncache(true); //true in case it's a TweenMax or TimelineMax that has a repeat - we'll need to refresh the totalDuration. + if (this._timeline.smoothChildTiming) if (this._time > 0) if (this._time < this._duration) if (value !== 0) { + this.totalTime(this._totalTime * (value / this._duration), true); + } + return this; + }; + + p.totalDuration = function(value) { + this._dirty = false; + return (!arguments.length) ? this._totalDuration : this.duration(value); + }; + + p.time = function(value, suppressEvents) { + if (!arguments.length) { + return this._time; + } + if (this._dirty) { + this.totalDuration(); + } + return this.totalTime((value > this._duration) ? this._duration : value, suppressEvents); + }; + + p.totalTime = function(time, suppressEvents, uncapped) { + if (!_tickerActive) { + _ticker.wake(); + } + if (!arguments.length) { + return this._totalTime; + } + if (this._timeline) { + if (time < 0 && !uncapped) { + time += this.totalDuration(); + } + if (this._timeline.smoothChildTiming) { + if (this._dirty) { + this.totalDuration(); + } + var totalDuration = this._totalDuration, + tl = this._timeline; + if (time > totalDuration && !uncapped) { + time = totalDuration; + } + this._startTime = (this._paused ? this._pauseTime : tl._time) - ((!this._reversed ? time : totalDuration - time) / this._timeScale); + if (!tl._dirty) { //for performance improvement. If the parent's cache is already dirty, it already took care of marking the ancestors as dirty too, so skip the function call here. + this._uncache(false); + } + //in case any of the ancestor timelines had completed but should now be enabled, we should reset their totalTime() which will also ensure that they're lined up properly and enabled. Skip for animations that are on the root (wasteful). Example: a TimelineLite.exportRoot() is performed when there's a paused tween on the root, the export will not complete until that tween is unpaused, but imagine a child gets restarted later, after all [unpaused] tweens have completed. The startTime of that child would get pushed out, but one of the ancestors may have completed. + if (tl._timeline) { + while (tl._timeline) { + if (tl._timeline._time !== (tl._startTime + tl._totalTime) / tl._timeScale) { + tl.totalTime(tl._totalTime, true); + } + tl = tl._timeline; + } + } + } + if (this._gc) { + this._enabled(true, false); + } + if (this._totalTime !== time || this._duration === 0) { + if (_lazyTweens.length) { + _lazyRender(); + } + this.render(time, suppressEvents, false); + if (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when someone calls seek() or time() or progress(), they expect an immediate render. + _lazyRender(); + } + } + } + return this; + }; + + p.progress = p.totalProgress = function(value, suppressEvents) { + var duration = this.duration(); + return (!arguments.length) ? (duration ? this._time / duration : this.ratio) : this.totalTime(duration * value, suppressEvents); + }; + + p.startTime = function(value) { + if (!arguments.length) { + return this._startTime; + } + if (value !== this._startTime) { + this._startTime = value; + if (this.timeline) if (this.timeline._sortChildren) { + this.timeline.add(this, value - this._delay); //ensures that any necessary re-sequencing of Animations in the timeline occurs to make sure the rendering order is correct. + } + } + return this; + }; + + p.endTime = function(includeRepeats) { + return this._startTime + ((includeRepeats != false) ? this.totalDuration() : this.duration()) / this._timeScale; + }; + + p.timeScale = function(value) { + if (!arguments.length) { + return this._timeScale; + } + value = value || _tinyNum; //can't allow zero because it'll throw the math off + if (this._timeline && this._timeline.smoothChildTiming) { + var pauseTime = this._pauseTime, + t = (pauseTime || pauseTime === 0) ? pauseTime : this._timeline.totalTime(); + this._startTime = t - ((t - this._startTime) * this._timeScale / value); + } + this._timeScale = value; + return this._uncache(false); + }; + + p.reversed = function(value) { + if (!arguments.length) { + return this._reversed; + } + if (value != this._reversed) { + this._reversed = value; + this.totalTime(((this._timeline && !this._timeline.smoothChildTiming) ? this.totalDuration() - this._totalTime : this._totalTime), true); + } + return this; + }; + + p.paused = function(value) { + if (!arguments.length) { + return this._paused; + } + var tl = this._timeline, + raw, elapsed; + if (value != this._paused) if (tl) { + if (!_tickerActive && !value) { + _ticker.wake(); + } + raw = tl.rawTime(); + elapsed = raw - this._pauseTime; + if (!value && tl.smoothChildTiming) { + this._startTime += elapsed; + this._uncache(false); + } + this._pauseTime = value ? raw : null; + this._paused = value; + this._active = this.isActive(); + if (!value && elapsed !== 0 && this._initted && this.duration()) { + raw = tl.smoothChildTiming ? this._totalTime : (raw - this._startTime) / this._timeScale; + this.render(raw, (raw === this._totalTime), true); //in case the target's properties changed via some other tween or manual update by the user, we should force a render. + } + } + if (this._gc && !value) { + this._enabled(true, false); + } + return this; + }; + + +/* + * ---------------------------------------------------------------- + * SimpleTimeline + * ---------------------------------------------------------------- + */ + var SimpleTimeline = _class("core.SimpleTimeline", function(vars) { + Animation.call(this, 0, vars); + this.autoRemoveChildren = this.smoothChildTiming = true; + }); + + p = SimpleTimeline.prototype = new Animation(); + p.constructor = SimpleTimeline; + p.kill()._gc = false; + p._first = p._last = p._recent = null; + p._sortChildren = false; + + p.add = p.insert = function(child, position, align, stagger) { + var prevTween, st; + child._startTime = Number(position || 0) + child._delay; + if (child._paused) if (this !== child._timeline) { //we only adjust the _pauseTime if it wasn't in this timeline already. Remember, sometimes a tween will be inserted again into the same timeline when its startTime is changed so that the tweens in the TimelineLite/Max are re-ordered properly in the linked list (so everything renders in the proper order). + child._pauseTime = child._startTime + ((this.rawTime() - child._startTime) / child._timeScale); + } + if (child.timeline) { + child.timeline._remove(child, true); //removes from existing timeline so that it can be properly added to this one. + } + child.timeline = child._timeline = this; + if (child._gc) { + child._enabled(true, true); + } + prevTween = this._last; + if (this._sortChildren) { + st = child._startTime; + while (prevTween && prevTween._startTime > st) { + prevTween = prevTween._prev; + } + } + if (prevTween) { + child._next = prevTween._next; + prevTween._next = child; + } else { + child._next = this._first; + this._first = child; + } + if (child._next) { + child._next._prev = child; + } else { + this._last = child; + } + child._prev = prevTween; + this._recent = child; + if (this._timeline) { + this._uncache(true); + } + return this; + }; + + p._remove = function(tween, skipDisable) { + if (tween.timeline === this) { + if (!skipDisable) { + tween._enabled(false, true); + } + + if (tween._prev) { + tween._prev._next = tween._next; + } else if (this._first === tween) { + this._first = tween._next; + } + if (tween._next) { + tween._next._prev = tween._prev; + } else if (this._last === tween) { + this._last = tween._prev; + } + tween._next = tween._prev = tween.timeline = null; + if (tween === this._recent) { + this._recent = this._last; + } + + if (this._timeline) { + this._uncache(true); + } + } + return this; + }; + + p.render = function(time, suppressEvents, force) { + var tween = this._first, + next; + this._totalTime = this._time = this._rawPrevTime = time; + while (tween) { + next = tween._next; //record it here because the value could change after rendering... + if (tween._active || (time >= tween._startTime && !tween._paused)) { + if (!tween._reversed) { + tween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force); + } else { + tween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force); + } + } + tween = next; + } + }; + + p.rawTime = function() { + if (!_tickerActive) { + _ticker.wake(); + } + return this._totalTime; + }; + +/* + * ---------------------------------------------------------------- + * TweenLite + * ---------------------------------------------------------------- + */ + var TweenLite = _class("TweenLite", function(target, duration, vars) { + Animation.call(this, duration, vars); + this.render = TweenLite.prototype.render; //speed optimization (avoid prototype lookup on this "hot" method) + + if (target == null) { + throw "Cannot tween a null target."; + } + + this.target = target = (typeof(target) !== "string") ? target : TweenLite.selector(target) || target; + + var isSelector = (target.jquery || (target.length && target !== window && target[0] && (target[0] === window || (target[0].nodeType && target[0].style && !target.nodeType)))), + overwrite = this.vars.overwrite, + i, targ, targets; + + this._overwrite = overwrite = (overwrite == null) ? _overwriteLookup[TweenLite.defaultOverwrite] : (typeof(overwrite) === "number") ? overwrite >> 0 : _overwriteLookup[overwrite]; + + if ((isSelector || target instanceof Array || (target.push && _isArray(target))) && typeof(target[0]) !== "number") { + this._targets = targets = _slice(target); //don't use Array.prototype.slice.call(target, 0) because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll() + this._propLookup = []; + this._siblings = []; + for (i = 0; i < targets.length; i++) { + targ = targets[i]; + if (!targ) { + targets.splice(i--, 1); + continue; + } else if (typeof(targ) === "string") { + targ = targets[i--] = TweenLite.selector(targ); //in case it's an array of strings + if (typeof(targ) === "string") { + targets.splice(i+1, 1); //to avoid an endless loop (can't imagine why the selector would return a string, but just in case) + } + continue; + } else if (targ.length && targ !== window && targ[0] && (targ[0] === window || (targ[0].nodeType && targ[0].style && !targ.nodeType))) { //in case the user is passing in an array of selector objects (like jQuery objects), we need to check one more level and pull things out if necessary. Also note that + + + + + + + + + +
                                                            + + + +
                                                          • +
                                                            +

                                                            +
                                                            + + + + +

                                                            Q

                                                            +

                                                            +
                                                            +

                                                            +
                                                            +
                                                            +

                                                            A

                                                            +

                                                            + [수정하기] +
                                                            +
                                                          • + + +
                                                          + +
                                                          +
                                                          + + + +
                                                          + +
                                                          + + + +
                                                          + + + +
                                                          +
                                                          + + 게시물 검색 + +
                                                          + + + + + + + + +
                                                          + +
                                                          + +
                                                          + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/faq/style.css b/web/html/theme/AT_WEB01/skin/board/faq/style.css new file mode 100644 index 0000000..6887a2c --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/faq/style.css @@ -0,0 +1,447 @@ +@charset "utf-8"; +.mdlTxt { + text-align: center; + line-height: 40px; + padding-top: 50px; + font-size:3em; + padding-bottom: 40px; +} +.fadeInDown { + font-size:40px; + text-align: center; + line-height: 40px; + color:#fff; +} +.bnrline { + width: 40px; + height: 3px; + background: #fff; + margin: 20px auto 20px; +} +.product_banner p { + font-size:16px; + text-align: center; + line-height: 40px; + color:#fff; +} +.product_banner { + padding:6% 0 3%; +} +#gall_allchk input { + width:17px; height:17px; + +} +body.dark-mode #container { background:#333; } +body.dark-mode #container h1, h2 , h3, p { color:#fff; } +body.dark-mode p, +body.dark-mode h1, +body.dark-mode h2, +body.dark-mode h3, +body.dark-mode a { color:#fff; } +body.dark-mode button { + background-color:#c71526; + color:#fff; +} +body.light-mode h1, h2, h3, p, a { color:#333; } +body.light-mode button { + background-color:#c71526; + color:#eee +} +#darkLight { + width:70px; height:90px; + font-size:3em; + padding-left:0.5%; + position:fixed; + right:0; bottom:3%; + border-radius:100px 0 0 100px; + transition:all .3s; + z-index:99999; +} +#darkLight:hover { + width:130px; + padding-left:1%; + background-color:#111; +} +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#e6f8ff !important;border-bottom:1px solid #c3dfe8;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w a.btn_cancel {padding-top:0;padding-bottom:0} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} + +/* QNA */ +@import url('http://fonts.googleapis.com/earlyaccess/notosanskr.css'); +ul, li, p { list-style:none; padding:0; margin:0; } +.listWrap { font-family:'Noto Sans KR', sans-serif; margin-bottom:20px; } +.listWrap .qa_li { position:relative; display:block; padding:0; border-bottom:1px solid #ededed; cursor:pointer; } +.listWrap .qa_li:first-child { border-top:1px solid #a6a6a6; } +.listWrap .qa_li .ca_name { margin-bottom:14px; font-weight:400; color:#999; font-size:18px; } +.listWrap .qa_li .tit { color:#222; font-size:24px; transition:color 0.3s ease-out; } +.listWrap .qa_li:hover .tit { color:#0a7ac8; } +.qa_li .question { position:relative; display:block; padding:25px 100px 25px 120px; background:url('./img/q.png') 40px center no-repeat; } +.qa_li .question .iconDiv { position:absolute; right:40px; top:50%; -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -o-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); } +.qa_li .answer { position:relative; display:none; padding:40px 120px; font-size:16px; color:#222; line-height:28px; background:#f6f6f6 url('./img/a.png') 40px 40px no-repeat; border-top:1px solid #e4e4e4; } +.modA { position:absolute; right:30px; bottom:30px; color:#e82b2b; } \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/faq/view.skin.php b/web/html/theme/AT_WEB01/skin/board/faq/view.skin.php new file mode 100644 index 0000000..93e5842 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/faq/view.skin.php @@ -0,0 +1,300 @@ +', 0); +?> + + + + + +
                                                          +
                                                          +
                                                          +

                                                          + + + + + +

                                                          +
                                                          + +
                                                          +

                                                          페이지 정보

                                                          + 작성자 + 댓글댓글 + 조회조회 + 작성일 + +
                                                          + +
                                                          +

                                                          본문

                                                          + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
                                                          \n"; + } + ?> + + +
                                                          + + + +

                                                          + + + + +
                                                          + + + 추천 + + + + + + 비추천 + + + +
                                                          + +
                                                          + 추천 + 비추천 +
                                                          + + + + +
                                                          + 스크랩 + + +
                                                          + + + + + +
                                                          +

                                                          첨부파일

                                                          +
                                                            + +
                                                          • + + + + + () + 회 다운로드 | DATE : +
                                                          • + +
                                                          +
                                                          + + + + + + + + + + +
                                                          + + + + + + + +
                                                            +
                                                          • 이전글
                                                          • +
                                                          • 다음글
                                                          • +
                                                          + + +
                                                          + + + + + +
                                                          + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/faq/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/faq/view_comment.skin.php new file mode 100644 index 0000000..a372ff0 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/faq/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
                                                          +

                                                          댓글목록

                                                          + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                                                          style="margin-left:px;border-top-color:#e0e0e0"> +
                                                          +

                                                          님의 댓글의 댓글

                                                          + + + 아이피 + () + + 작성일 + + +
                                                          + + +
                                                          +

                                                          + 비밀글 + +

                                                          + + + +
                                                          + + + + " id="secret_comment_"> + + +
                                                          + +

                                                          등록된 댓글이 없습니다.

                                                          + +
                                                          + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/faq/write.skin.php b/web/html/theme/AT_WEB01/skin/board/faq/write.skin.php new file mode 100644 index 0000000..5863316 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/faq/write.skin.php @@ -0,0 +1,201 @@ +', 0); +?> +


                                                          +
                                                          +

                                                          FAQ

                                                          +
                                                          +

                                                          월~금09:00-17:00/점심시간12:00-13:00/토,일,공휴일휴무

                                                          +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          + + +
                                                          + + + + + + + + + + + + + +
                                                          + + +
                                                          + + +
                                                          + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                                                          + + +
                                                          + + +
                                                          + + +
                                                          + + +
                                                          + + + + + +
                                                          + 임시 저장된 글 목록 +
                                                            +
                                                            +
                                                            + +
                                                            + +
                                                            + +
                                                            + +
                                                            + + +

                                                            이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                            + + + + +
                                                            글자
                                                            + +
                                                            + +
                                                            + + +
                                                            + +
                                                            + + + +
                                                            + 취소 + +
                                                            +
                                                            + + +
                                                            +
                                                            + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/faq/write_update.skin.php b/web/html/theme/AT_WEB01/skin/board/faq/write_update.skin.php new file mode 100644 index 0000000..c704f03 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/faq/write_update.skin.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/btn_close.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/btn_next2.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/btn_prev2.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/gall_list/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/cmt_btn.png b/web/html/theme/AT_WEB01/skin/board/gall_list/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_bad.png b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_comment.png b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_file.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_good.png b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_hot.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_img.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_link.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_movie.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_new.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_share.png b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_sound.gif b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_view.png b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/sch_bg.png b/web/html/theme/AT_WEB01/skin/board/gall_list/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/img/sch_btn.png b/web/html/theme/AT_WEB01/skin/board/gall_list/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gall_list/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/list.skin.php b/web/html/theme/AT_WEB01/skin/board/gall_list/list.skin.php new file mode 100644 index 0000000..d5bf4d3 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gall_list/list.skin.php @@ -0,0 +1,302 @@ +', 0); +?> + + + +
                                                            +
                                                            + + +
                                                            +
                                                            + 전체 + +
                                                            + + + + +
                                                            + + + + + + +
                                                            + 전체 + + + + +
                                                            + + + + + + +
                                                            + + + + + + + + + + +
                                                            + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                                                            목록
                                                            + + + 번호제목글쓴이추천 비추천 날짜
                                                            + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
                                                            + + + + + + + + '; } + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> + 댓글+ +
                                                            + +
                                                            게시물이 없습니다.
                                                            +
                                                            + +
                                                            +
                                                            + + + +
                                                            + +
                                                            +
                                                            + + + +
                                                            + +
                                                            + + +
                                                            + +
                                                            +
                                                            + 게시물 검색 +
                                                            + + + + + + + + +
                                                            +
                                                            +
                                                            + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/style.css b/web/html/theme/AT_WEB01/skin/board/gall_list/style.css new file mode 100644 index 0000000..d85f023 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gall_list/style.css @@ -0,0 +1,370 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#e6f8ff !important;border-bottom:1px solid #c3dfe8;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/view.skin.php b/web/html/theme/AT_WEB01/skin/board/gall_list/view.skin.php new file mode 100644 index 0000000..2e0d9b1 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gall_list/view.skin.php @@ -0,0 +1,300 @@ +', 0); +?> + + + + + +
                                                            +
                                                            +
                                                            +

                                                            + + + + + +

                                                            +
                                                            + +
                                                            +

                                                            페이지 정보

                                                            + 작성자 + 댓글댓글 + 조회조회 + 작성일 + +
                                                            + +
                                                            +

                                                            본문

                                                            + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
                                                            \n"; + } + ?> + + +
                                                            + + + +

                                                            + + + + +
                                                            + + + 추천 + + + + + + 비추천 + + + +
                                                            + +
                                                            + 추천 + 비추천 +
                                                            + + + + +
                                                            + 스크랩 + + +
                                                            + + + + + +
                                                            +

                                                            첨부파일

                                                            +
                                                              + +
                                                            • + + + + + () + 회 다운로드 | DATE : +
                                                            • + +
                                                            +
                                                            + + + + + + + + + + +
                                                            + + + + + + + +
                                                              +
                                                            • 이전글
                                                            • +
                                                            • 다음글
                                                            • +
                                                            + + +
                                                            + + + + + +
                                                            + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/gall_list/view_comment.skin.php new file mode 100644 index 0000000..a372ff0 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gall_list/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
                                                            +

                                                            댓글목록

                                                            + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                                                            style="margin-left:px;border-top-color:#e0e0e0"> +
                                                            +

                                                            님의 댓글의 댓글

                                                            + + + 아이피 + () + + 작성일 + + +
                                                            + + +
                                                            +

                                                            + 비밀글 + +

                                                            + + + +
                                                            + + + + " id="secret_comment_"> + + +
                                                            + +

                                                            등록된 댓글이 없습니다.

                                                            + +
                                                            + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gall_list/write.skin.php b/web/html/theme/AT_WEB01/skin/board/gall_list/write.skin.php new file mode 100644 index 0000000..14f1d81 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gall_list/write.skin.php @@ -0,0 +1,261 @@ +', 0); +?> + +
                                                            +
                                                            +

                                                            + + +
                                                            + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
                                                            + + +
                                                            + + +
                                                            + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                                                            + + +
                                                            + + +
                                                            + + + +
                                                            + 옵션 + +
                                                            + + +
                                                            + + +
                                                            + + + + + +
                                                            + 임시 저장된 글 목록 +
                                                              +
                                                              +
                                                              + +
                                                              + +
                                                              + +
                                                              + +
                                                              + + +

                                                              이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                              + + + + +
                                                              글자
                                                              + +
                                                              + +
                                                              + + + + + + +
                                                              +
                                                              + + +
                                                              + + + + + + + + + + +
                                                              + + + + +
                                                              + +
                                                              + + + +
                                                              + 취소 + +
                                                              +
                                                              + + +
                                                              +
                                                              + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/btn_close.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/btn_next2.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/btn_prev2.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/cmt_btn.png b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_bad.png b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_comment.png b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_file.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_good.png b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_hot.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_img.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_link.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_movie.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_new.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_share.png b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_sound.gif b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_view.png b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/sch_bg.png b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/img/sch_btn.png b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_list/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/list.skin.php b/web/html/theme/AT_WEB01/skin/board/gallery_list/list.skin.php new file mode 100644 index 0000000..22c02e6 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gallery_list/list.skin.php @@ -0,0 +1,310 @@ +', 0); +?> + +


                                                              +
                                                              +

                                                              GALLERY LIST

                                                              +
                                                              +

                                                              골뱅이스토어는 최선의 서비스를 제공합니다.

                                                              +
                                                              +
                                                              + + +
                                                              +
                                                              +

                                                              리스트형

                                                              + +
                                                              +
                                                              + 전체 + +
                                                              + + + + +
                                                              + + + + + + + +
                                                              + 전체 + + + + +
                                                              + + + + + + +
                                                              + + + + + + + + + + +
                                                              + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                                                              목록
                                                              + + + 번호제목글쓴이추천 비추천 날짜
                                                              + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
                                                              + + + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글+ +
                                                              + +
                                                              게시물이 없습니다.
                                                              +
                                                              + +
                                                              +
                                                              + + + +
                                                              + +
                                                              +
                                                              + + + +
                                                              + +
                                                              + + +
                                                              + +
                                                              +
                                                              + 게시물 검색 +
                                                              + + + + + + + + +
                                                              +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/style.css b/web/html/theme/AT_WEB01/skin/board/gallery_list/style.css new file mode 100644 index 0000000..cb0b0de --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gallery_list/style.css @@ -0,0 +1,404 @@ +@charset "utf-8"; +/* test gallery */ +.mdlTxt { + text-align: center; + line-height: 40px; + padding:45px 0; + font-size:33px; +} +.fadeInDown { + font-size:40px; + text-align: center; + line-height: 40px; + color:#fff; +} +.bnrline { + width: 40px; + height: 3px; + background: #fff; + margin: 20px auto 20px; +} +.product_banner p { + font-size:16px; + text-align: center; + line-height: 40px; + color:#fff; +} +.product_banner { + padding:6% 0 3%; +} +#bo_v_title { + padding:6% 0; + font-size:20px +} +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#e6f8ff !important;border-bottom:1px solid #c3dfe8;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#d13f4a;color:#fff; font-size:11px;height:17px;line-height:20px;padding:5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} +#bo_list .bo_tit .title a { + width:70%; +} +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 18px;height:18px;line-height:20px ;font-size:0.833em;color:#ffff6a;background:#78ac58;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 18px;height:18px;line-height:20px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 18px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px dotted #888; } +.bo_v_nb li:first-child { border-top:0; } +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#c80e0e} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/view.skin.php b/web/html/theme/AT_WEB01/skin/board/gallery_list/view.skin.php new file mode 100644 index 0000000..8a2f929 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gallery_list/view.skin.php @@ -0,0 +1,306 @@ +', 0); +?> + + + + +


                                                              +
                                                              +

                                                              GALLERY_LIST

                                                              +
                                                              +

                                                              골뱅이스토어는 최선의 서비스를 제공합니다.

                                                              +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              +

                                                              + + + + + +

                                                              +
                                                              + +
                                                              +

                                                              페이지 정보

                                                              + 작성자 + 댓글댓글 + 조회조회 + 작성일 + +
                                                              + +
                                                              +

                                                              본문

                                                              + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
                                                              \n"; + } + ?> + + +
                                                              + + + +

                                                              + + + + +
                                                              + + + 추천 + + + + + + 비추천 + + + +
                                                              + +
                                                              + 추천 + 비추천 +
                                                              + + + + +
                                                              + 스크랩 + + +
                                                              + + + + + +
                                                              +

                                                              첨부파일

                                                              +
                                                                + +
                                                              • + + + + + () + 회 다운로드 | DATE : +
                                                              • + +
                                                              +
                                                              + + + + + + + + + + +
                                                              + + + + + + + +
                                                                +
                                                              • 이전글
                                                              • +
                                                              • 다음글
                                                              • +
                                                              + + +
                                                              + + + + + +
                                                              + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/gallery_list/view_comment.skin.php new file mode 100644 index 0000000..a372ff0 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gallery_list/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
                                                              +

                                                              댓글목록

                                                              + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                                                              style="margin-left:px;border-top-color:#e0e0e0"> +
                                                              +

                                                              님의 댓글의 댓글

                                                              + + + 아이피 + () + + 작성일 + + +
                                                              + + +
                                                              +

                                                              + 비밀글 + +

                                                              + + + +
                                                              + + + + " id="secret_comment_"> + + +
                                                              + +

                                                              등록된 댓글이 없습니다.

                                                              + +
                                                              + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_list/write.skin.php b/web/html/theme/AT_WEB01/skin/board/gallery_list/write.skin.php new file mode 100644 index 0000000..f45680c --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gallery_list/write.skin.php @@ -0,0 +1,267 @@ +', 0); +?> +


                                                              +
                                                              +

                                                              GALLERY_LIST

                                                              +
                                                              +

                                                              골뱅이스토어는 최선의 서비스를 제공합니다.

                                                              +
                                                              +
                                                              +
                                                              +
                                                              +

                                                              + + +
                                                              + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
                                                              + + +
                                                              + + +
                                                              + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                                                              + + +
                                                              + + +
                                                              + + + +
                                                              + 옵션 + +
                                                              + + +
                                                              + + +
                                                              + + + + + +
                                                              + 임시 저장된 글 목록 +
                                                                +
                                                                +
                                                                + +
                                                                + +
                                                                + +
                                                                + +
                                                                + + +

                                                                이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                + + + + +
                                                                글자
                                                                + +
                                                                + +
                                                                + + + + + + +
                                                                +
                                                                + + +
                                                                + + + + + + + + + + +
                                                                + + + + +
                                                                + +
                                                                + + + +
                                                                + 취소 + +
                                                                +
                                                                + + +
                                                                +
                                                                + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/btn_close.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/btn_next2.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/btn_prev2.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/cmt_btn.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/facebook.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/facebook.png new file mode 100644 index 0000000..aa73c86 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/facebook.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/gplus.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/gplus.png new file mode 100644 index 0000000..45bdf43 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/gplus.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_bad.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_comment.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_file.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_good.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_hot.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_hot.gif new file mode 100644 index 0000000..4e8d7ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_img.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_img.gif new file mode 100644 index 0000000..fefa10d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_link.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_mobile.gif new file mode 100644 index 0000000..ad934d2 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_movie.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_new.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_share.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_sound.gif b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_view.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/sch_bg.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/sch_btn.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/img/twitter.png b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/twitter.png new file mode 100644 index 0000000..a5452f2 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/gallery_table/img/twitter.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/list.skin.php b/web/html/theme/AT_WEB01/skin/board/gallery_table/list.skin.php new file mode 100644 index 0000000..1df2039 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gallery_table/list.skin.php @@ -0,0 +1,290 @@ +', 0); +$board['bo_gallery_width']= 374; +$board['bo_gallery_height']= 350; +?> + + + + +


                                                                +
                                                                +

                                                                GALLERY

                                                                +
                                                                +

                                                                골뱅이스토어는 최선의 서비스를 제공합니다.

                                                                +
                                                                +
                                                                + + + +
                                                                +
                                                                +

                                                                갤러리형

                                                                + +
                                                                +
                                                                + 전체 + +
                                                                + + + + +
                                                                + + +
                                                                + + + + + + + + + + +
                                                                + + +
                                                                + + + + +
                                                                +
                                                                + + + +
                                                                + +
                                                                + +
                                                                +
                                                                +
                                                                +
                                                                + + +
                                                                +
                                                                + + 게시물 검색 + +
                                                                + + + + + + + + +
                                                                + +
                                                                + +
                                                                + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/style.css b/web/html/theme/AT_WEB01/skin/board/gallery_table/style.css new file mode 100644 index 0000000..6c2290c --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gallery_table/style.css @@ -0,0 +1,444 @@ +@charset "utf-8"; +/* SIR 지운아빠 */ + +/* ### 기본 스타일 커스터마이징 시작 ### */ +/* test gallery */ +.mdlTxt { + text-align: center; + line-height: 40px; + padding-top: 50px; + font-size:3em; + padding-bottom: 40px; +} +.fadeInDown { + font-size:40px; + text-align: center; + line-height: 40px; + color:#fff; +} +.bnrline { + width: 40px; + height: 3px; + background: #fff; + margin: 20px auto 20px; +} +.product_banner p { + font-size:16px; + text-align: center; + line-height: 40px; + color:#fff; +} +.product_banner { + padding:6% 0 3%; +} +#gall_allchk input { + width:17px; height:17px; + background:none; +} +body.dark-mode #bo_gall { background-color:#333; } +body.dark-mode #bo_gall h1, h2 , h3, p { color:#fff; } +body.dark-mode p, +body.dark-mode h1, +body.dark-mode h2, +body.dark-mode h3, +body.dark-mode a { color:#fff; } +body.dark-mode button { + background-color:#c71526; + color:#fff; +} +body.light-mode h1, h2, h3, p, a { color:#333; } +body.light-mode button { + background-color:#c71526; + color:#eee +} +#darkLight { + width:70px; height:90px; + font-size:3em; + padding-left:0.5%; + position:fixed; + right:0; bottom:3%; + border-radius:100px 0 0 100px; + transition:all .3s; + z-index:99999; +} +#darkLight:hover { + width:130px; + padding-left:1%; + background-color:#111; +} +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_gall a.btn_b01 {} +#bo_gall a.btn_b01:focus, #bo_gall a.btn_b01:hover {} +#bo_gall a.btn_b02 {} +#bo_gall a.btn_b02:focus, #bo_gall a.btn_b02:hover {} +#bo_gall a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_gall a.btn_admin:focus, #bo_gall .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 { } +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +/*#bo_w .btn_submit {padding:0 20px}*/ +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} + +.td_subject img {margin-left:3px} + +/* 갤러리 목록 */ +#bo_gall h2 { + text-align: center; + line-height: 40px; + padding:45px 0; + font-size:33px; +} +#bo_gall #gall_ul {margin:10px -10px 0;padding:0;list-style:none;zoom:1; overflow: hidden;} +#bo_gall #gall_ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_gall .gall_box {position:relative;margin:0 0 30px 0;border:1px solid #ccc;background:#fff;border-radius:0 0 2px 2px} +#bo_gall .gall_li { + width:29%; margin:0 2%; display: inline-block; +} +#bo_gall .gall_li .gall_chk{position:absolute;top:0;left:0;padding:7px; border:none; } + + + +.gall_row .box_clear{clear:both} + +#bo_gall .gall_now .gall_text_href a {color:#ff3061} + +#bo_gall .gall_href a:link, #bo_gall .gall_href a:focus, #bo_gall .gall_href a:hover {text-decoration:none} +#bo_gall .gall_img{border-bottom:1px solid #eee;text-align:center} +#bo_gall .gall_img a,#bo_gall .gall_img .no_image,#bo_gall .gall_img .is_notice{display:block} +#bo_gall .gall_img img{max-width:100%;height:auto !important} +#bo_gall .gall_img span{display:inline-block;background:#eee;text-align:center;line-height:150px;text-transform:uppercase;font-weight:bold;font-size:1.25em;color:#777} + +#bo_gall .gall_text_href {margin:10px} +#bo_gall .gall_text_href a {font-weight:bold} +#bo_gall .gall_text_href img {margin:0 0 0 4px} +#bo_gall .bo_tit{display:block;font-weight:bold;color:#000;font-size:1.083em} +#bo_gall .bo_tit .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} +#bo_gall .profile_img img{border-radius:50%} +#bo_gall .gall_name{margin:10px} + +#bo_gall .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_gall .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_gall .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px} +#bo_gall .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_gall .bo_tit .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_gall .bo_tit .fa-lock{display: inline-block;line-height: 16px;color: #999;text-align: center;vertical-align:middle;} + + +#bo_gall .gall_info{line-height:1.5em;padding:10px;font-size:0.92em;background:#f6f6f6;line-height:20px} +#bo_gall .gall_info strong{ display:inline-block;margin:0 0 0 10px } +#bo_gall .gall_info i{font-size:12px} +#bo_gall .gall_info .gall_date{position:absolute;bottom:10px;right:10px;font-style:italic;display:inline-block;color:#777;} +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f5f6fa} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon{display:inline-block;background:#ed6478;padding:0 3px;line-height:20px;font-weight:normal;font-size:0.92em;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display:inline-block;margin:0 3px 0 0;font-size:0.92em;color:#3598db !important;font-weight:bold} /* 글제목줄 분류스타일 */ +.bo_current {color:#e8180c} +#bo_list .profile_img {display:inline-block;margin-right:5px} +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold;color:#ed6478;font-size:0.86em} + +#bo_sch {float:left;border:1px solid #ccc;border-radius:3px;margin:0 0 20px;background:#fff} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:url('./img/sch_btn.png') no-repeat 50% 50%;border:0;width:40px;text-indent:-999px;overflow:hidden} + +#bo_gall li.empty_list {padding:85px 0;text-align:center} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202);} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#c80e21} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1;display:block; margin:0 auto; max-width:100%; height:auto;} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto;display:block; } + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px;cursor:pointer} +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/view.skin.php b/web/html/theme/AT_WEB01/skin/board/gallery_table/view.skin.php new file mode 100644 index 0000000..fb293d5 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gallery_table/view.skin.php @@ -0,0 +1,304 @@ +', 0); +?> + + +


                                                                +
                                                                +

                                                                GALLERY

                                                                +
                                                                +

                                                                골뱅이스토어는 최선의 서비스를 제공합니다.

                                                                +
                                                                +
                                                                + +
                                                                +
                                                                +
                                                                +

                                                                + + + + + +

                                                                +
                                                                + +
                                                                +

                                                                페이지 정보

                                                                + 작성자 + 댓글댓글 + 조회조회 + 작성일 + +
                                                                + +
                                                                +

                                                                본문

                                                                +
                                                                + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                \n"; + } + ?> +
                                                                + + + +
                                                                + + + +

                                                                + + + + +
                                                                + + + 추천 + + + + + + 비추천 + + + +
                                                                + +
                                                                + 추천 + 비추천 +
                                                                + + + + +
                                                                + 스크랩 + + +
                                                                + + + + + +
                                                                +

                                                                첨부파일

                                                                +
                                                                  + +
                                                                • + + + + + () + 회 다운로드 | DATE : +
                                                                • + +
                                                                +
                                                                + + + + + + + + + + +
                                                                + + + + + + + +
                                                                  +
                                                                • 이전글
                                                                • +
                                                                • 다음글
                                                                • +
                                                                + + +
                                                                + + + + + +
                                                                + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/gallery_table/view_comment.skin.php new file mode 100644 index 0000000..a372ff0 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gallery_table/view_comment.skin.php @@ -0,0 +1,325 @@ + + + + + +
                                                                +

                                                                댓글목록

                                                                + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                                                                style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                +

                                                                님의 댓글의 댓글

                                                                + + + 아이피 + () + + 작성일 + + +
                                                                + + +
                                                                +

                                                                + 비밀글 + +

                                                                + + + +
                                                                + + + + " id="secret_comment_"> + + +
                                                                + +

                                                                등록된 댓글이 없습니다.

                                                                + +
                                                                + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/gallery_table/write.skin.php b/web/html/theme/AT_WEB01/skin/board/gallery_table/write.skin.php new file mode 100644 index 0000000..c6131ad --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/gallery_table/write.skin.php @@ -0,0 +1,269 @@ +', 0); +?> +


                                                                +
                                                                +

                                                                GALLERY

                                                                +
                                                                +

                                                                골뱅이스토어는 최선의 서비스를 제공합니다.

                                                                +
                                                                +
                                                                +
                                                                +
                                                                +

                                                                + + +
                                                                + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
                                                                + + +
                                                                + + + +
                                                                + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                                                                + + +
                                                                + + +
                                                                + + + +
                                                                + 옵션 + +
                                                                + + +
                                                                + + +
                                                                + + + + + +
                                                                + 임시 저장된 글 목록 +
                                                                  +
                                                                  +
                                                                  + +
                                                                  + +
                                                                  + +
                                                                  + +
                                                                  + + +

                                                                  이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                  + + + + +
                                                                  글자
                                                                  + +
                                                                  + +
                                                                  + + + + + + + +
                                                                  +
                                                                  + + +
                                                                  + + + + + + + + + + +
                                                                  + + + + +
                                                                  + +
                                                                  + + + +
                                                                  + 취소 + +
                                                                  +
                                                                  + + +
                                                                  +
                                                                  + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/news/list.skin.php b/web/html/theme/AT_WEB01/skin/board/news/list.skin.php new file mode 100644 index 0000000..9d7d289 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/news/list.skin.php @@ -0,0 +1,294 @@ +', 0); +?> + +


                                                                  +
                                                                  +

                                                                  NEWS

                                                                  +
                                                                  +

                                                                  골뱅이스토어는 최선의 서비스를 제공합니다.

                                                                  +
                                                                  +
                                                                  + +
                                                                  +
                                                                  + + + + + + +
                                                                  + + + + + + + + + + + + +
                                                                  +
                                                                  + Total + 페이지 +
                                                                  + + +
                                                                  + + +
                                                                  + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                                                                  목록
                                                                  + + + 번호제목글쓴이조회 추천 비추천 날짜
                                                                  + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
                                                                  + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                                                                  +
                                                                  게시물이 없습니다.
                                                                  +
                                                                  + + + +
                                                                  + +
                                                                  + + + +
                                                                  + + + + +
                                                                  +
                                                                  +

                                                                  검색

                                                                  +
                                                                  + + + + + + +
                                                                  + + +
                                                                  + +
                                                                  +
                                                                  +
                                                                  +
                                                                  + + +
                                                                  + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/skin/board/news/style.css b/web/html/theme/AT_WEB01/skin/board/news/style.css new file mode 100644 index 0000000..8e92337 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/news/style.css @@ -0,0 +1,485 @@ +@charset "utf-8"; +/* test gallery */ +.mdlTxt { + text-align: center; + line-height: 40px; + padding-top: 50px; + font-size:3em; + padding-bottom: 40px; +} +.fadeInDown { + font-size:40px; + text-align: center; + line-height: 40px; + color:#fff; +} +.bnrline { + width: 40px; + height: 3px; + background: #fff; + margin: 20px auto 20px; +} +.product_banner p { + font-size:16px; + text-align: center; + line-height: 40px; + color:#fff; +} +.product_banner { + padding:6% 0 3%; +} +#gall_allchk input { + width:17px; height:17px; + background:none; +} +body.dark-mode { background:#333; } +body.dark-mode h1, h2 , h3, p, span, b, em { color:#fff; } +body.dark-mode p, +body.dark-mode h1, +body.dark-mode h2, +body.dark-mode h3, +body.dark-mode a { color:#fff; } +body.dark-mode button { + background-color:#c71526; + color:#fff; +} +body.light-mode h1, h2, h3, p, a { color:#333; } +body.light-mode button { + background-color:#c71526; + color:#eee +} +#darkLight { + width:70px; height:90px; + font-size:3em; + padding-left:0.5%; + position:fixed; + right:0; bottom:3%; + border-radius:100px 0 0 100px; + transition:all .3s; + z-index:99999; +} +#darkLight:hover { + width:130px; + padding-left:1%; + background-color:#111; +} +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {font-size:1.167em;border-radius:3px} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} +#bo_list tbody .even td {background:#fbfbfb} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc {} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center; display: none;} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {margin:25px 0} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px} +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#c80e21} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#c80e21;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/news/view.skin.php b/web/html/theme/AT_WEB01/skin/board/news/view.skin.php new file mode 100644 index 0000000..4d424f1 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/news/view.skin.php @@ -0,0 +1,304 @@ +', 0); +?> + + + + + +
                                                                  +
                                                                  +
                                                                  +

                                                                  + + + + + +

                                                                  +
                                                                  + +
                                                                  +

                                                                  페이지 정보

                                                                  + 작성자 + 댓글댓글 + 조회조회 + 작성일 + +
                                                                  + +
                                                                  +

                                                                  본문

                                                                  + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
                                                                  \n"; + } + ?> + + +
                                                                  + + + +

                                                                  + + + + +
                                                                  + + + 추천 + + + + + + 비추천 + + + +
                                                                  + +
                                                                  + 추천 + 비추천 +
                                                                  + + + + +
                                                                  + 스크랩 + + +
                                                                  + + + + + +
                                                                  +

                                                                  첨부파일

                                                                  +
                                                                    + +
                                                                  • + + + + + () + 회 다운로드 | DATE : +
                                                                  • + +
                                                                  +
                                                                  + + + + + + + + + + +
                                                                  + + + + + + +
                                                                    +
                                                                  • + + 이전글 + + + + + +
                                                                  • + +
                                                                  • 다음글
                                                                  • +
                                                                  + + +
                                                                  + + + + + +
                                                                  + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/news/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/news/view_comment.skin.php new file mode 100644 index 0000000..ae8fc34 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/news/view_comment.skin.php @@ -0,0 +1,359 @@ + +
                                                                  + + + +
                                                                  +
                                                                  +

                                                                  댓글목록

                                                                  + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                  style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                  + +
                                                                  + +
                                                                  +

                                                                  님의 댓글의 댓글

                                                                  + + + 아이피 + () + + 작성일 + + +
                                                                  + + +
                                                                  +

                                                                  + 비밀글 + +

                                                                  + + +
                                                                  + + + + " id="secret_comment_"> + +
                                                                  + +
                                                                  + + +
                                                                  + + +
                                                                  + +

                                                                  등록된 댓글이 없습니다.

                                                                  + +
                                                                  +
                                                                  + + + + + +
                                                                  + +
                                                                  + + + + +
                                                                  + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/btn_close.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/btn_next2.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/btn_prev2.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/qa/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/cmt_btn.png b/web/html/theme/AT_WEB01/skin/board/qa/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_bad.png b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_comment.png b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_file.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_good.png b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_hot.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_img.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_link.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_movie.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_new.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_share.png b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_sound.gif b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/icon_view.png b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/sch_bg.png b/web/html/theme/AT_WEB01/skin/board/qa/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/img/sch_btn.png b/web/html/theme/AT_WEB01/skin/board/qa/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/qa/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/qa/list.skin.php b/web/html/theme/AT_WEB01/skin/board/qa/list.skin.php new file mode 100644 index 0000000..92c8175 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/qa/list.skin.php @@ -0,0 +1,275 @@ +', 0); +?> + +


                                                                  +
                                                                  +

                                                                  NEWS

                                                                  +
                                                                  +

                                                                  골뱅이스토어는 최선의 서비스를 제공합니다.

                                                                  +
                                                                  +
                                                                  + + +
                                                                  +
                                                                  + +
                                                                  +
                                                                  + 전체 +
                                                                  + + + + +
                                                                  + + + + + + + +
                                                                  + + + + + + + + + + +
                                                                  + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + '; } ?> + +
                                                                  목록
                                                                  + + + 제목작성자작성일
                                                                  + + + + + 공지사항 + + + 답변완료 + + + + + + + + +
                                                                  + + + + + + + + '; } + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> +
                                                                  + +
                                                                  게시물이 없습니다.
                                                                  +
                                                                  + +
                                                                  +
                                                                  + + + +
                                                                  + +
                                                                  +
                                                                  + + +
                                                                  +
                                                                  + +
                                                                  + + +
                                                                  +
                                                                  + + 게시물 검색 + +
                                                                  + + + + + + + + +
                                                                  + +
                                                                  + +
                                                                  + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/qa/style.css b/web/html/theme/AT_WEB01/skin/board/qa/style.css new file mode 100644 index 0000000..dbe9232 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/qa/style.css @@ -0,0 +1,421 @@ +@charset "utf-8"; +/* Skin by WEBsiting.co.kr */ +.mdlTxt { + text-align: center; + line-height: 40px; + padding-top: 50px; + font-size:3em; + padding-bottom: 40px; +} +.fadeInDown { + font-size:40px; + text-align: center; + line-height: 40px; + color:#fff; +} +.bnrline { + width: 40px; + height: 3px; + background: #fff; + margin: 20px auto 20px; +} +.product_banner p { + font-size:16px; + text-align: center; + line-height: 40px; + color:#fff; +} +.product_banner { + padding:6% 0 3%; +} +#gall_allchk input { + width:17px; height:17px; + +} +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {color: #353535;} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;} +#bo_list .td_datetime {width:100px;text-align:center;color: #959595;} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:150px;text-align:center;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:0;text-align:center;} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +/*#bo_list tbody tr:hover {border-left:2px solid #253dbe}*/ + +.qnaIco{display:inline-block;margin-right:5px; border-radius:0; width:85px; height:24px; line-height:22px; color:#747474; font-size: 13px; text-align:center;} +.qnaIco1{} +.qnaIco2{border: 1px solid #afafaf;} +.qnaIco3{} + +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td { background: #f5f5f5 !important;border-bottom:1px solid #dfdfdf;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.td_subject .bo_tit{padding-left: 20px;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;margin-right:2px;font-weight: normal;} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px; background:#fff} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0 } + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#c80e21;} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px;padding: 20px;} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;font-size: 16px;color: #646464;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +#answerView{background:#fff; padding:0 20px 20px 20px; margin-bottom: 50px;} +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} + + + + .brd-view {width: 100%;border-top: 1px solid #dfdfdf; border-spacing: 0; border-collapse: collapse;} + .brd-view .sv_member{color: #767676;} + .brd-view tr{} + .brd-view th{width: 130px;padding-left: 20px; line-height: 45px; height:45px;border-bottom: 1px solid #dfdfdf; text-align: left;color: #353535;font-size: 14px;} + .brd-view td{border-bottom: 1px solid #dfdfdf; font-size: 14px; color: #767676;} + + + .brd-bn {position: relative; width: 100%; height: 250px;background: url(/theme/basic/img/sub/brd-bn.jpg) no-repeat;} + + .brd-bn-wrap {color: rgba(255,255,255,0.9);text-align: center;padding-top: 70px;} + .brd-bn-wrap .brd-bn-tit {font-size: 34px;margin-bottom: 10px;} + .brd-bn-wrap .brd-bn-desc {font-size: 16px;letter-spacing: -1px;} + .brd-inner{width: 1200px; margin: 0 auto; padding:0 20px;} + .brd-con-tit {font-size: 26px; margin: 30px 0 0; } \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/qa/view.skin.php b/web/html/theme/AT_WEB01/skin/board/qa/view.skin.php new file mode 100644 index 0000000..f01c362 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/qa/view.skin.php @@ -0,0 +1,332 @@ +', 0); +?> + + + + + + +


                                                                  +
                                                                  +

                                                                  QA

                                                                  +
                                                                  +

                                                                  월~금10:00-18:00/점심시간12:00-13:00/토,일,공휴일휴무

                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  + + +
                                                                  + + 공지사항 + + + 답변완료 + 답변 건의 답변이 등록 되었습니다. + + 문의접수 + + + + + + +
                                                                  + + + + + + + +
                                                                  제목
                                                                  작성자
                                                                  작성일
                                                                  + + + +
                                                                  +

                                                                  본문

                                                                  + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
                                                                  \n"; + } + ?> + + +
                                                                  + + + +

                                                                  + + + + +
                                                                  + + + 추천 + + + + + + 비추천 + + + +
                                                                  + +
                                                                  + 추천 + 비추천 +
                                                                  + + + + +
                                                                  + 스크랩 + + +
                                                                  + + + + + +
                                                                  +

                                                                  첨부파일

                                                                  +
                                                                    + +
                                                                  • + + + + + () + 회 다운로드 | DATE : +
                                                                  • + +
                                                                  +
                                                                  + + + + + + + + + + +
                                                                  + + + + + + + +
                                                                    +
                                                                  • 이전글
                                                                  • +
                                                                  • 다음글
                                                                  • +
                                                                  + + +
                                                                  + + + + + + +
                                                                  + +
                                                                  + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/qa/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/qa/view_comment.skin.php new file mode 100644 index 0000000..8759a65 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/qa/view_comment.skin.php @@ -0,0 +1,327 @@ + + + + + +
                                                                  +

                                                                  답변목록

                                                                  + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 답변 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                                                                  style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                  +

                                                                  님의 답변의 답변

                                                                  + + + 아이피 + + + 작성일 + + +
                                                                  + + +
                                                                  +

                                                                  + 비밀글 + +

                                                                  + + + +
                                                                  + + + + " id="secret_comment_"> + + +
                                                                  + +

                                                                  등록된 답변이 없습니다.

                                                                  + +
                                                                  + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/qa/write.skin.php b/web/html/theme/AT_WEB01/skin/board/qa/write.skin.php new file mode 100644 index 0000000..8a729e1 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/qa/write.skin.php @@ -0,0 +1,267 @@ +', 0); +?> +


                                                                  +
                                                                  +

                                                                  NEWS

                                                                  +
                                                                  +

                                                                  월~금10:00-18:00/점심시간12:00-13:00/토,일,공휴일휴무

                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +

                                                                  + + +
                                                                  + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
                                                                  + + +
                                                                  + + +
                                                                  + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                                                                  + + +
                                                                  + + +
                                                                  + + + +
                                                                  + 옵션 + +
                                                                  + + +
                                                                  + + +
                                                                  + + + + + +
                                                                  + 임시 저장된 글 목록 +
                                                                    +
                                                                    +
                                                                    + +
                                                                    + +
                                                                    + +
                                                                    + +
                                                                    + + +

                                                                    이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                    + + + + +
                                                                    글자
                                                                    + +
                                                                    + +
                                                                    + + + + + + +
                                                                    +
                                                                    + + +
                                                                    + + + + + + + + + + +
                                                                    + + + + +
                                                                    + +
                                                                    + + + +
                                                                    + 취소 + +
                                                                    +
                                                                    + + +
                                                                    +
                                                                    + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_close.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_end.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_end.gif new file mode 100644 index 0000000..e7d6105 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_end.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_first.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_first.gif new file mode 100644 index 0000000..82aeea5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_first.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_next.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_next.gif new file mode 100644 index 0000000..eb714a3 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_next.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_next2.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_next2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_prev.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_prev.gif new file mode 100644 index 0000000..cdc8374 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_prev.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_prev2.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/btn_prev2.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/close_btn.png b/web/html/theme/AT_WEB01/skin/board/webzine/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/close_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/cmt_btn.png b/web/html/theme/AT_WEB01/skin/board/webzine/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/cmt_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_bad.png b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_bad.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_comment.png b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_comment.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_file.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_good.png b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_good.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_hot.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_img.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_link.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_movie.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_new.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_share.png b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_share.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_sound.gif b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_view.png b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/s_image.png b/web/html/theme/AT_WEB01/skin/board/webzine/img/s_image.png new file mode 100644 index 0000000..6dddae5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/s_image.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/sch_bg.png b/web/html/theme/AT_WEB01/skin/board/webzine/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/sch_bg.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/img/sch_btn.png b/web/html/theme/AT_WEB01/skin/board/webzine/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/img/sch_btn.png differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/list.skin.php b/web/html/theme/AT_WEB01/skin/board/webzine/list.skin.php new file mode 100644 index 0000000..84b5371 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine/list.skin.php @@ -0,0 +1,308 @@ +', 0); +add_stylesheet('', 0); + +// 날짜 계산 함수 +function passing_time($datetime) { + $time_lag = time() - strtotime($datetime); + + if($time_lag < 60) { + $posting_time = "방금"; + } elseif($time_lag >= 60 and $time_lag < 3600) { + $posting_time = floor($time_lag/60)."분 전"; + } elseif($time_lag >= 3600 and $time_lag < 86400) { + $posting_time = floor($time_lag/3600)."시간 전"; + } elseif($time_lag >= 86400 and $time_lag < 2419200) { + $posting_time = floor($time_lag/86400)."일 전"; + } else { + $posting_time = date("y.m.d", strtotime($datetime)); + } + + return $posting_time; +} +?> + + +
                                                                    +
                                                                    + + +
                                                                    +
                                                                    + 전체 + +
                                                                    + + + + +
                                                                    + + +
                                                                    + + + + + + + + + + +
                                                                    + + + + + + + + + + + + + + + + tr"> + + + + + + + + + + + + '; } ?> + +
                                                                    목록
                                                                    + + + 번호제목작성자
                                                                    + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + '; + } else + if($thumb['src']) { + $img_content = ''.$thumb['alt'].''; + } else { + $img_content = ''; + } + + echo $img_content; + ?> + + + +
                                                                    +
                                                                    + + + + " : "";?> +

                                                                    +
                                                                    + + '; } + //if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + //if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + //if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + //if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> + +
                                                                    + + + + +


                                                                    + + +   +   + +   + + + + 작성일 Date +
                                                                    +
                                                                    +
                                                                    +
                                                                    게시물이 없습니다.
                                                                    +
                                                                    + +
                                                                    +
                                                                    + + + +
                                                                    + +
                                                                    + +
                                                                    +
                                                                    +
                                                                    +
                                                                    + +
                                                                    +
                                                                    + + 게시물 검색 + +
                                                                    + + + + + + + + +
                                                                    + +
                                                                    + +
                                                                    + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic.css b/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic.css new file mode 100644 index 0000000..5be962a --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic.css @@ -0,0 +1 @@ +@font-face{font-family:'Icons';src:url("open-iconic/open-iconic.eot");src:url("open-iconic/open-iconic.eot?#iconic-sm") format("embedded-opentype"),url("open-iconic/open-iconic.woff") format("woff"),url("open-iconic/open-iconic.ttf") format("truetype"),url("open-iconic/open-iconic.svg#iconic-sm") format("svg");font-weight:normal;font-style:normal}.oi{position:relative;top:1px;display:inline-block;font-family:'Icons';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1, -1);transform:scale(1, -1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1, -1);transform:scale(-1, -1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'} diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.eot b/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.eot new file mode 100644 index 0000000..f98177d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.eot differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.svg b/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.svg new file mode 100644 index 0000000..0b02535 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.ttf b/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.ttf new file mode 100644 index 0000000..fab6048 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.ttf differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.woff b/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.woff new file mode 100644 index 0000000..f930998 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine/open-iconic/open-iconic.woff differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/style.css b/web/html/theme/AT_WEB01/skin/board/webzine/style.css new file mode 100644 index 0000000..909e4b0 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine/style.css @@ -0,0 +1,520 @@ +@charset "utf-8"; + +li { list-style-type: none;} +/* test gallery */ +.mdlTxt { + text-align: center; + line-height: 40px; + padding-top: 50px; + font-size:3em; + padding-bottom: 40px; +} +.fadeInDown { + font-size:40px; + text-align: center; + line-height: 40px; + color:#fff; +} +.bnrline { + width: 40px; + height: 3px; + background: #fff; + margin: 20px auto 20px; +} +.product_banner p { + font-size:16px; + text-align: center; + line-height: 40px; + color:#fff; +} +.product_banner { + padding:6% 0 3%; +} + +/* 신규 */ +.color-blue {color:#26b4ff} +.color-blue:focus, .color-blue:hover {color:#24abf2} +.color-gray {color:#999} +.color-gray-no {color:#999} +.color-gray:focus, .color-gray:hover {color:#333} +.color-red {color:#cc0000} + +.color-blue-bg {background-color:#26b4ff} /* 배경색상 */ +.color-blue-bg:focus, .color-blue-bg:hover {background-color:#24abf2} /* 배경색상 롤오버 */ +.color-white-bg {background-color:#fff} /* 배경색상 */ +.color-white-bg:focus, .color-blue-bg:hover {background-color:#f3f3f3} /* 배경색상 롤오버 */ + +.mt-1 {margin-top:3px;} +.mb-1 {margin-bottom:3px;} +.mt-2 {margin-top:5px;} +.mb-2 {margin-bottom:5px;} +.mt-3 {margin-top:10px;} +.mb-3 {margin-bottom:10px;} +.pt-3 {padding-top:10px;} +.pb-3 {padding-bottom:10px;} +.pt-5 {padding-top:15px;} +.pb-5 {padding-bottom:15px;} +.pline {border:1px solid #eee; padding:5px;} + +.comment_b {background-color:#26b4ff;border-radius:2px;padding:0px 5px 2px 5px; color:#fff; font-size:12px;} + +input {border:1px solid #eee} + +*:focus { + outline: none; +} + +/* 페이징 */ +/* +.pg_wrap {clear:both;margin:30px 0 ;text-align:center} +.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} +.pg {} +.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#f3f3f3;border:0px solid #bbbcc3} +.pg a:focus, .pg a:hover {text-decoration:none} +.pg_page {color:#555;font-size:1.083em;height:35px;line-height:35px;padding:0 5px;min-width:35px;text-decoration:none;border-radius:3px;} +.pg_page:hover{background-color:#f1f1f1} +.pg_start {text-indent:-999px;overflow:hidden;background:url('img/btn_first.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb;} +.pg_prev {text-indent:-999px;overflow:hidden;background:url('img/btn_prev.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb} +.pg_end {text-indent:-999px;overflow:hidden;background:url('img/btn_end.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb} +.pg_next {text-indent:-999px;overflow:hidden;background:url('img/btn_next.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb} +.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover{background-color:#f1f1f1} + +.pg_current {display:inline-block;background:#26b4ff;color:#fff;font-weight:bold;height:35px;line-height:35px;padding:0 10px;min-width:35px;border-radius:3px; +-webkit-box-shadow: inset 0px 0px 0px #222542; +-moz-box-shadow: inset 0px 0px 0px #222542; +box-shadow: inset 0px 0px 0px #222542; +*/ +} + + +/* 버튼 */ +a.btn,.btn{line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0; +-webkit-transition: background-color 0.3s ease-out; +-moz-transition: background-color 0.3s ease-out; +-o-transition: background-color 0.3s ease-out; +transition: background-color 0.3s ease-out;} + +.btn_submit {border:0;background:#26b4ff;color:#fff;cursor:pointer;border:0} +.btn_submit:hover {background:#24abf2} + + + +/* 목록 버튼 */ +/* +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {background-color:#26b4ff;border-radius:3px;line-height:35px;height:35px;padding:0px 20px 0px 20px;} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {background-color:#24abf2} +#bo_list a.btn_b03 {background-color:#fff;border-radius:3px;border:1px solid #eee; line-height:35px;height:35px;padding:0px 10px 0px 10px;} +#bo_list a.btn_b03:focus, #bo_list a.btn_b03:hover {border:1px solid #26b4ff;} +#bo_list a.btn_admin {background-color:#ffffff;border-radius:3px;color:#777;border:0px solid #ddd;} +*/ +/* 관리자 전용 버튼 */ +/*#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {background-color:#ffffff;color:#333}*/ +/* + +#bo_list a.btn_admin2 {background-color:#ffffff;border-radius:3px;color:#777;border:1px solid #ddd;} +*/ +/* 관리자 전용 버튼 */ +/* +#bo_list a.btn_admin2:focus, #bo_list .btn_admin2:hover {background-color:#f9f9f9;color:#333} + +#bo_list button.btn_admin {background-color:#fff;color:#777;border:0px;} +#bo_list button.btn_admin:focus, #bo_list .btn_admin:hover {background-color:#fff;color:#333} +*/ +/* + +a.btn_admin,.btn_admin {display:inline-block;color:#fff;text-decoration:none;vertical-align:middle} +*/ +/* 관리자 전용 버튼 */ +/* +.btn_admin:hover, a.btn_admin:hover {} + +a.btn_admin2,.btn_admin2 {display:inline-block;color:#fff;text-decoration:none;vertical-align:middle} +*/ +/* 관리자 전용 버튼 */ +.btn_admin2:hover, a.btn_admin2:hover {} + +/* 읽기 버튼 */ +/* +#bo_v a.btn_b01 {background-color:#fff;border-radius:3px;line-height:35px;height:35px;padding:0px 10px 0px 10px;border:1px solid #ddd; color:#333} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {background-color:#f3f3f3} +#bo_v a.btn_b02 {background-color:#26b4ff;border-radius:3px;line-height:35px;height:35px;padding:0px 20px 0px 20px; color:#fff} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {background-color:#24abf2} +*/ +/* + +#bo_v a.btn_admin {background-color:#ffffff;border-radius:3px;color:#777;border:0px solid #ddd;} +*/ +/* 관리자 전용 버튼 */ +/* +#bo_v a.btn_admin:focus, #bo_v .btn_admin:hover {background-color:#ffffff;color:#333} + +#bo_v a.btn_admin2 {background-color:#ffffff;border-radius:3px;color:#777;border:1px solid #ddd;} +*/ +/* 관리자 전용 버튼 */ +/*#bo_v a.btn_admin2:focus, #bo_v .btn_admin2:hover {background-color:#f9f9f9;color:#333}*/ + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} +/* 서식단계 진행 */ +/* +#bo_w .btn_submit {background-color:#26b4ff;border-radius:3px;line-height:35px;height:35px;padding:0px 20px 0px 20px; color:#fff} +#bo_w .btn_submit:focus, #bo_w .btn_submit:hover {background-color:#24abf2} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {background-color:#fff;border-radius:3px;line-height:35px;height:35px;padding:0px 10px 0px 10px;border:1px solid #ddd; color:#333} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {background-color:#f3f3f3} +#bo_w button.btn_cancel {background-color:#fff;border-radius:3px;line-height:35px;height:35px;padding:0px 10px 0px 10px;border:1px solid #ddd; color:#333} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} +*/ +/* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {margin-top:10px;} + + + +/* 기본 테이블 */ +.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing: 0 5px;border:0px solid #ccc;} +.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left} + +/* 목록 테이블 */ +#bo_list .tbl_head01 {margin:0 0 10px} +#bo_list .tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden} +#bo_list .tbl_head01 thead th {padding:10px 0;font-weight:normal;text-align:center;background:#fff;height:50px;border-top:1px solid #ddd;border-bottom:1px solid #ecf0f1;} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;background:#fff;text-align:center} +#bo_list .tbl_head01 tbody th {padding:8px 0;} +#bo_list .tbl_head01 td {color:#666;background:#fff;padding:10px 5px;border-bottom:1px solid #eee;line-height:1.4em;height:70px;word-break:break-all} +#bo_list .tbl_head01 tbody tr:hover td{background:#fff;border-left:0px;} +#bo_list .tbl_head01 a:hover {text-decoration:none} +#bo_list td.empty_table {} + + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative; border-bottom:1px solid #eee; padding-bottom:10px;} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;} +#bo_list .td_datetime {width:150px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +/* +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +*/ + +#bo_cate {margin:10px 0;} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;color:#777} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;color:#333;background-color:#f1f1f1;} +#bo_cate #bo_cate_on {z-index:2;color:#333;font-weight:bold;border-bottom-color:#1977b5;background-color:#f1f1f1;} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f9f9f9 !important;border-bottom:1px solid #eee;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;width:25px;line-height:25px;font-weight:normal;color:#26b4ff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:normal;font-size:14px;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #eee;background:#fff;border-radius:2px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left;} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;margin-top:10px; position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;margin:5px 0 0;word-break:break-all;font-size:24px;letter-spacing:-1px;} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #eee;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1;border-top:1px solid #eee;} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#c80e21;} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#333;text-decoration:none} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #eee;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {border-top:1px solid #eee; border-bottom:1px solid #eee;} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;color:#999;font-size:11px;} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:0px; margin:10px 0 0;border-radius:0px;border: 0px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 0px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:40px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{padding:10px 0px 0px 0px;position:relative;} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff;} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:11px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #fff;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#fff;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d;line-height:35px;} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/view.skin.php b/web/html/theme/AT_WEB01/skin/board/webzine/view.skin.php new file mode 100644 index 0000000..1cde3e7 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine/view.skin.php @@ -0,0 +1,329 @@ +', 0); +add_stylesheet('', 0); +?> + + + + +
                                                                    +
                                                                    +
                                                                    +

                                                                    + + +

                                                                    +
                                                                    + +
                                                                    +

                                                                    페이지 정보

                                                                    + 작성자 + 댓글댓글 + 조회조회 + 작성일 + +
                                                                    + +
                                                                    +

                                                                    본문

                                                                    + \n"; + + for ($i=0; $i<=$v_img_count; $i++) { + if (!isset($view['file'][$i])) break; + // 동영상이면 + if (preg_match("/\.($config[cf_movie_extension])$/i", $view['file'][$i]['source'])) { + echo "
                                                                    \n"; + echo ''; + echo '
                                                                    '; + echo '
                                                                    '; + echo "
                                                                    \n"; + } else { + echo get_file_thumbnail($view['file'][$i]); + } + } + + echo "
                                                                    \n"; + } + /* // 원래 내용 + // 파일 출력 + $v_img_count = count($view['file']); + if($v_img_count) { + echo "
                                                                    \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
                                                                    \n"; + } + */ + ?> + + +
                                                                    + + + +

                                                                    + + + + +
                                                                    + + + 추천 + + + + + + 비추천 + + + +
                                                                    + +
                                                                    + 추천 + 비추천 +
                                                                    + + + + + + + + + + + + + +
                                                                    + + + + + + () + 회 다운로드 + +
                                                                    + + +
                                                                    + + + +
                                                                    + + + + + 회 연결 +
                                                                    + + +
                                                                    + + + + + +
                                                                    + + + + + + + +
                                                                      +
                                                                    • + + 이전글 + + + + + +
                                                                    • + +
                                                                    • 다음글
                                                                    • +
                                                                    + + +
                                                                    + + + + + +
                                                                    + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/webzine/view_comment.skin.php new file mode 100644 index 0000000..6c67460 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine/view_comment.skin.php @@ -0,0 +1,335 @@ + + + + + +
                                                                    +

                                                                    댓글목록

                                                                    + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                                                                    style="padding-left:px;border-top-color:#e0e0e0;"> +
                                                                    +

                                                                    님의 댓글의 댓글

                                                                    + +
                                                                    +
                                                                    + + + 아이피 + () + + +
                                                                    + + + +
                                                                    +

                                                                    + + +

                                                                    + +
                                                                      +
                                                                    • +
                                                                    • +
                                                                    • +
                                                                    + +
                                                                    + + + + + + +
                                                                    + + + " id="secret_comment_"> + + +
                                                                    + +

                                                                    등록된 댓글이 없습니다.

                                                                    + +
                                                                    + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/write.skin.php b/web/html/theme/AT_WEB01/skin/board/webzine/write.skin.php new file mode 100644 index 0000000..010b22b --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine/write.skin.php @@ -0,0 +1,257 @@ +', 0); +add_stylesheet('', 0); +?> +
                                                                    +
                                                                    +

                                                                    + + +
                                                                    + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
                                                                    + + +
                                                                    + + +
                                                                    + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                                                                    + + +
                                                                    + 옵션 + +
                                                                    + + +
                                                                    + + +
                                                                    + + + + + +
                                                                    + 임시 저장된 글 목록 +
                                                                      +
                                                                      +
                                                                      + +
                                                                      + +
                                                                      + +
                                                                      + +
                                                                      + + +

                                                                      이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                      + + + + +
                                                                      글자
                                                                      + +
                                                                      + +
                                                                      + + + + + + +
                                                                      +
                                                                      + + +
                                                                      + + + + + + + + + + +
                                                                      + + + + +
                                                                      + +
                                                                      + + + +
                                                                      + 취소 + +
                                                                      + + + +
                                                                      + + +
                                                                      +
                                                                      + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine/write_update.skin.php b/web/html/theme/AT_WEB01/skin/board/webzine/write_update.skin.php new file mode 100644 index 0000000..bd61d29 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine/write_update.skin.php @@ -0,0 +1,6 @@ +', 0); +add_stylesheet('', 0); + +// 날짜 계산 함수 +function passing_time($datetime) { + $time_lag = time() - strtotime($datetime); + + if($time_lag < 60) { + $posting_time = "방금"; + } elseif($time_lag >= 60 and $time_lag < 3600) { + $posting_time = floor($time_lag/60)."분 전"; + } elseif($time_lag >= 3600 and $time_lag < 86400) { + $posting_time = floor($time_lag/3600)."시간 전"; + } elseif($time_lag >= 86400 and $time_lag < 2419200) { + $posting_time = floor($time_lag/86400)."일 전"; + } else { + $posting_time = date("y.m.d", strtotime($datetime)); + } + + return $posting_time; +} +?> + +
                                                                      +
                                                                      + + +
                                                                      +
                                                                      + 전체 + +
                                                                      + + + + +
                                                                      + + +
                                                                      + + + + + + + + + + +
                                                                      + + + + + + + + + + + + + + + + tr"> + + + + + + + + + + + + '; } ?> + +
                                                                      목록
                                                                      + + + 번호제목작성자
                                                                      + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + '; + } else + + if($thumb['src']) { + $img_content = ''.$thumb['alt'].''; + } else { + $img_content = ''; + } + echo $img_content; + ?> + + + +
                                                                      +
                                                                      + + + + " : "";?> +

                                                                      +
                                                                      + + '; } + //if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + //if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + //if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']); + //if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + ?> + +
                                                                      + + + + +


                                                                      + + +   +   + +   + + + + 작성일 Date +
                                                                      +
                                                                      +
                                                                      +
                                                                      게시물이 없습니다.
                                                                      +
                                                                      + +
                                                                      +
                                                                      + + + +
                                                                      + +
                                                                      + +
                                                                      +
                                                                      +
                                                                      +
                                                                      + +
                                                                      +
                                                                      + + 게시물 검색 + +
                                                                      + + + + + + + + +
                                                                      + +
                                                                      + +
                                                                      + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic.css b/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic.css new file mode 100644 index 0000000..5be962a --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic.css @@ -0,0 +1 @@ +@font-face{font-family:'Icons';src:url("open-iconic/open-iconic.eot");src:url("open-iconic/open-iconic.eot?#iconic-sm") format("embedded-opentype"),url("open-iconic/open-iconic.woff") format("woff"),url("open-iconic/open-iconic.ttf") format("truetype"),url("open-iconic/open-iconic.svg#iconic-sm") format("svg");font-weight:normal;font-style:normal}.oi{position:relative;top:1px;display:inline-block;font-family:'Icons';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.oi:empty:before{width:1em;text-align:center;box-sizing:content-box}.oi.oi-align-center:before{text-align:center}.oi.oi-align-left:before{text-align:left}.oi.oi-align-right:before{text-align:right}.oi.oi-flip-horizontal:before{-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.oi.oi-flip-vertical:before{-webkit-transform:scale(1, -1);transform:scale(1, -1)}.oi.oi-flip-horizontal-vertical:before{-webkit-transform:scale(-1, -1);transform:scale(-1, -1)}.oi-account-login:before{content:'\e000'}.oi-account-logout:before{content:'\e001'}.oi-action-redo:before{content:'\e002'}.oi-action-undo:before{content:'\e003'}.oi-align-center:before{content:'\e004'}.oi-align-left:before{content:'\e005'}.oi-align-right:before{content:'\e006'}.oi-aperture:before{content:'\e007'}.oi-arrow-bottom:before{content:'\e008'}.oi-arrow-circle-bottom:before{content:'\e009'}.oi-arrow-circle-left:before{content:'\e00a'}.oi-arrow-circle-right:before{content:'\e00b'}.oi-arrow-circle-top:before{content:'\e00c'}.oi-arrow-left:before{content:'\e00d'}.oi-arrow-right:before{content:'\e00e'}.oi-arrow-thick-bottom:before{content:'\e00f'}.oi-arrow-thick-left:before{content:'\e010'}.oi-arrow-thick-right:before{content:'\e011'}.oi-arrow-thick-top:before{content:'\e012'}.oi-arrow-top:before{content:'\e013'}.oi-audio-spectrum:before{content:'\e014'}.oi-audio:before{content:'\e015'}.oi-badge:before{content:'\e016'}.oi-ban:before{content:'\e017'}.oi-bar-chart:before{content:'\e018'}.oi-basket:before{content:'\e019'}.oi-battery-empty:before{content:'\e01a'}.oi-battery-full:before{content:'\e01b'}.oi-beaker:before{content:'\e01c'}.oi-bell:before{content:'\e01d'}.oi-bluetooth:before{content:'\e01e'}.oi-bold:before{content:'\e01f'}.oi-bolt:before{content:'\e020'}.oi-book:before{content:'\e021'}.oi-bookmark:before{content:'\e022'}.oi-box:before{content:'\e023'}.oi-briefcase:before{content:'\e024'}.oi-british-pound:before{content:'\e025'}.oi-browser:before{content:'\e026'}.oi-brush:before{content:'\e027'}.oi-bug:before{content:'\e028'}.oi-bullhorn:before{content:'\e029'}.oi-calculator:before{content:'\e02a'}.oi-calendar:before{content:'\e02b'}.oi-camera-slr:before{content:'\e02c'}.oi-caret-bottom:before{content:'\e02d'}.oi-caret-left:before{content:'\e02e'}.oi-caret-right:before{content:'\e02f'}.oi-caret-top:before{content:'\e030'}.oi-cart:before{content:'\e031'}.oi-chat:before{content:'\e032'}.oi-check:before{content:'\e033'}.oi-chevron-bottom:before{content:'\e034'}.oi-chevron-left:before{content:'\e035'}.oi-chevron-right:before{content:'\e036'}.oi-chevron-top:before{content:'\e037'}.oi-circle-check:before{content:'\e038'}.oi-circle-x:before{content:'\e039'}.oi-clipboard:before{content:'\e03a'}.oi-clock:before{content:'\e03b'}.oi-cloud-download:before{content:'\e03c'}.oi-cloud-upload:before{content:'\e03d'}.oi-cloud:before{content:'\e03e'}.oi-cloudy:before{content:'\e03f'}.oi-code:before{content:'\e040'}.oi-cog:before{content:'\e041'}.oi-collapse-down:before{content:'\e042'}.oi-collapse-left:before{content:'\e043'}.oi-collapse-right:before{content:'\e044'}.oi-collapse-up:before{content:'\e045'}.oi-command:before{content:'\e046'}.oi-comment-square:before{content:'\e047'}.oi-compass:before{content:'\e048'}.oi-contrast:before{content:'\e049'}.oi-copywriting:before{content:'\e04a'}.oi-credit-card:before{content:'\e04b'}.oi-crop:before{content:'\e04c'}.oi-dashboard:before{content:'\e04d'}.oi-data-transfer-download:before{content:'\e04e'}.oi-data-transfer-upload:before{content:'\e04f'}.oi-delete:before{content:'\e050'}.oi-dial:before{content:'\e051'}.oi-document:before{content:'\e052'}.oi-dollar:before{content:'\e053'}.oi-double-quote-sans-left:before{content:'\e054'}.oi-double-quote-sans-right:before{content:'\e055'}.oi-double-quote-serif-left:before{content:'\e056'}.oi-double-quote-serif-right:before{content:'\e057'}.oi-droplet:before{content:'\e058'}.oi-eject:before{content:'\e059'}.oi-elevator:before{content:'\e05a'}.oi-ellipses:before{content:'\e05b'}.oi-envelope-closed:before{content:'\e05c'}.oi-envelope-open:before{content:'\e05d'}.oi-euro:before{content:'\e05e'}.oi-excerpt:before{content:'\e05f'}.oi-expand-down:before{content:'\e060'}.oi-expand-left:before{content:'\e061'}.oi-expand-right:before{content:'\e062'}.oi-expand-up:before{content:'\e063'}.oi-external-link:before{content:'\e064'}.oi-eye:before{content:'\e065'}.oi-eyedropper:before{content:'\e066'}.oi-file:before{content:'\e067'}.oi-fire:before{content:'\e068'}.oi-flag:before{content:'\e069'}.oi-flash:before{content:'\e06a'}.oi-folder:before{content:'\e06b'}.oi-fork:before{content:'\e06c'}.oi-fullscreen-enter:before{content:'\e06d'}.oi-fullscreen-exit:before{content:'\e06e'}.oi-globe:before{content:'\e06f'}.oi-graph:before{content:'\e070'}.oi-grid-four-up:before{content:'\e071'}.oi-grid-three-up:before{content:'\e072'}.oi-grid-two-up:before{content:'\e073'}.oi-hard-drive:before{content:'\e074'}.oi-header:before{content:'\e075'}.oi-headphones:before{content:'\e076'}.oi-heart:before{content:'\e077'}.oi-home:before{content:'\e078'}.oi-image:before{content:'\e079'}.oi-inbox:before{content:'\e07a'}.oi-infinity:before{content:'\e07b'}.oi-info:before{content:'\e07c'}.oi-italic:before{content:'\e07d'}.oi-justify-center:before{content:'\e07e'}.oi-justify-left:before{content:'\e07f'}.oi-justify-right:before{content:'\e080'}.oi-key:before{content:'\e081'}.oi-laptop:before{content:'\e082'}.oi-layers:before{content:'\e083'}.oi-lightbulb:before{content:'\e084'}.oi-link-broken:before{content:'\e085'}.oi-link-intact:before{content:'\e086'}.oi-list-rich:before{content:'\e087'}.oi-list:before{content:'\e088'}.oi-location:before{content:'\e089'}.oi-lock-locked:before{content:'\e08a'}.oi-lock-unlocked:before{content:'\e08b'}.oi-loop-circular:before{content:'\e08c'}.oi-loop-square:before{content:'\e08d'}.oi-loop:before{content:'\e08e'}.oi-magnifying-glass:before{content:'\e08f'}.oi-map-marker:before{content:'\e090'}.oi-map:before{content:'\e091'}.oi-media-pause:before{content:'\e092'}.oi-media-play:before{content:'\e093'}.oi-media-record:before{content:'\e094'}.oi-media-skip-backward:before{content:'\e095'}.oi-media-skip-forward:before{content:'\e096'}.oi-media-step-backward:before{content:'\e097'}.oi-media-step-forward:before{content:'\e098'}.oi-media-stop:before{content:'\e099'}.oi-medical-cross:before{content:'\e09a'}.oi-menu:before{content:'\e09b'}.oi-microphone:before{content:'\e09c'}.oi-minus:before{content:'\e09d'}.oi-monitor:before{content:'\e09e'}.oi-moon:before{content:'\e09f'}.oi-move:before{content:'\e0a0'}.oi-musical-note:before{content:'\e0a1'}.oi-paperclip:before{content:'\e0a2'}.oi-pencil:before{content:'\e0a3'}.oi-people:before{content:'\e0a4'}.oi-person:before{content:'\e0a5'}.oi-phone:before{content:'\e0a6'}.oi-pie-chart:before{content:'\e0a7'}.oi-pin:before{content:'\e0a8'}.oi-play-circle:before{content:'\e0a9'}.oi-plus:before{content:'\e0aa'}.oi-power-standby:before{content:'\e0ab'}.oi-print:before{content:'\e0ac'}.oi-project:before{content:'\e0ad'}.oi-pulse:before{content:'\e0ae'}.oi-puzzle-piece:before{content:'\e0af'}.oi-question-mark:before{content:'\e0b0'}.oi-rain:before{content:'\e0b1'}.oi-random:before{content:'\e0b2'}.oi-reload:before{content:'\e0b3'}.oi-resize-both:before{content:'\e0b4'}.oi-resize-height:before{content:'\e0b5'}.oi-resize-width:before{content:'\e0b6'}.oi-rss-alt:before{content:'\e0b7'}.oi-rss:before{content:'\e0b8'}.oi-script:before{content:'\e0b9'}.oi-share-boxed:before{content:'\e0ba'}.oi-share:before{content:'\e0bb'}.oi-shield:before{content:'\e0bc'}.oi-signal:before{content:'\e0bd'}.oi-signpost:before{content:'\e0be'}.oi-sort-ascending:before{content:'\e0bf'}.oi-sort-descending:before{content:'\e0c0'}.oi-spreadsheet:before{content:'\e0c1'}.oi-star:before{content:'\e0c2'}.oi-sun:before{content:'\e0c3'}.oi-tablet:before{content:'\e0c4'}.oi-tag:before{content:'\e0c5'}.oi-tags:before{content:'\e0c6'}.oi-target:before{content:'\e0c7'}.oi-task:before{content:'\e0c8'}.oi-terminal:before{content:'\e0c9'}.oi-text:before{content:'\e0ca'}.oi-thumb-down:before{content:'\e0cb'}.oi-thumb-up:before{content:'\e0cc'}.oi-timer:before{content:'\e0cd'}.oi-transfer:before{content:'\e0ce'}.oi-trash:before{content:'\e0cf'}.oi-underline:before{content:'\e0d0'}.oi-vertical-align-bottom:before{content:'\e0d1'}.oi-vertical-align-center:before{content:'\e0d2'}.oi-vertical-align-top:before{content:'\e0d3'}.oi-video:before{content:'\e0d4'}.oi-volume-high:before{content:'\e0d5'}.oi-volume-low:before{content:'\e0d6'}.oi-volume-off:before{content:'\e0d7'}.oi-warning:before{content:'\e0d8'}.oi-wifi:before{content:'\e0d9'}.oi-wrench:before{content:'\e0da'}.oi-x:before{content:'\e0db'}.oi-yen:before{content:'\e0dc'}.oi-zoom-in:before{content:'\e0dd'}.oi-zoom-out:before{content:'\e0de'} diff --git a/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.eot b/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.eot new file mode 100644 index 0000000..f98177d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.eot differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.svg b/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.svg new file mode 100644 index 0000000..0b02535 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.ttf b/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.ttf new file mode 100644 index 0000000..fab6048 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.ttf differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.woff b/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.woff new file mode 100644 index 0000000..f930998 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/board/webzine02/open-iconic/open-iconic.woff differ diff --git a/web/html/theme/AT_WEB01/skin/board/webzine02/style.css b/web/html/theme/AT_WEB01/skin/board/webzine02/style.css new file mode 100644 index 0000000..909e4b0 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine02/style.css @@ -0,0 +1,520 @@ +@charset "utf-8"; + +li { list-style-type: none;} +/* test gallery */ +.mdlTxt { + text-align: center; + line-height: 40px; + padding-top: 50px; + font-size:3em; + padding-bottom: 40px; +} +.fadeInDown { + font-size:40px; + text-align: center; + line-height: 40px; + color:#fff; +} +.bnrline { + width: 40px; + height: 3px; + background: #fff; + margin: 20px auto 20px; +} +.product_banner p { + font-size:16px; + text-align: center; + line-height: 40px; + color:#fff; +} +.product_banner { + padding:6% 0 3%; +} + +/* 신규 */ +.color-blue {color:#26b4ff} +.color-blue:focus, .color-blue:hover {color:#24abf2} +.color-gray {color:#999} +.color-gray-no {color:#999} +.color-gray:focus, .color-gray:hover {color:#333} +.color-red {color:#cc0000} + +.color-blue-bg {background-color:#26b4ff} /* 배경색상 */ +.color-blue-bg:focus, .color-blue-bg:hover {background-color:#24abf2} /* 배경색상 롤오버 */ +.color-white-bg {background-color:#fff} /* 배경색상 */ +.color-white-bg:focus, .color-blue-bg:hover {background-color:#f3f3f3} /* 배경색상 롤오버 */ + +.mt-1 {margin-top:3px;} +.mb-1 {margin-bottom:3px;} +.mt-2 {margin-top:5px;} +.mb-2 {margin-bottom:5px;} +.mt-3 {margin-top:10px;} +.mb-3 {margin-bottom:10px;} +.pt-3 {padding-top:10px;} +.pb-3 {padding-bottom:10px;} +.pt-5 {padding-top:15px;} +.pb-5 {padding-bottom:15px;} +.pline {border:1px solid #eee; padding:5px;} + +.comment_b {background-color:#26b4ff;border-radius:2px;padding:0px 5px 2px 5px; color:#fff; font-size:12px;} + +input {border:1px solid #eee} + +*:focus { + outline: none; +} + +/* 페이징 */ +/* +.pg_wrap {clear:both;margin:30px 0 ;text-align:center} +.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} +.pg {} +.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#f3f3f3;border:0px solid #bbbcc3} +.pg a:focus, .pg a:hover {text-decoration:none} +.pg_page {color:#555;font-size:1.083em;height:35px;line-height:35px;padding:0 5px;min-width:35px;text-decoration:none;border-radius:3px;} +.pg_page:hover{background-color:#f1f1f1} +.pg_start {text-indent:-999px;overflow:hidden;background:url('img/btn_first.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb;} +.pg_prev {text-indent:-999px;overflow:hidden;background:url('img/btn_prev.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb} +.pg_end {text-indent:-999px;overflow:hidden;background:url('img/btn_end.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb} +.pg_next {text-indent:-999px;overflow:hidden;background:url('img/btn_next.gif') no-repeat 50% 50% #f1f1f1;padding:0;border:0px solid #bbb} +.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover{background-color:#f1f1f1} + +.pg_current {display:inline-block;background:#26b4ff;color:#fff;font-weight:bold;height:35px;line-height:35px;padding:0 10px;min-width:35px;border-radius:3px; +-webkit-box-shadow: inset 0px 0px 0px #222542; +-moz-box-shadow: inset 0px 0px 0px #222542; +box-shadow: inset 0px 0px 0px #222542; +*/ +} + + +/* 버튼 */ +a.btn,.btn{line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0; +-webkit-transition: background-color 0.3s ease-out; +-moz-transition: background-color 0.3s ease-out; +-o-transition: background-color 0.3s ease-out; +transition: background-color 0.3s ease-out;} + +.btn_submit {border:0;background:#26b4ff;color:#fff;cursor:pointer;border:0} +.btn_submit:hover {background:#24abf2} + + + +/* 목록 버튼 */ +/* +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {background-color:#26b4ff;border-radius:3px;line-height:35px;height:35px;padding:0px 20px 0px 20px;} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {background-color:#24abf2} +#bo_list a.btn_b03 {background-color:#fff;border-radius:3px;border:1px solid #eee; line-height:35px;height:35px;padding:0px 10px 0px 10px;} +#bo_list a.btn_b03:focus, #bo_list a.btn_b03:hover {border:1px solid #26b4ff;} +#bo_list a.btn_admin {background-color:#ffffff;border-radius:3px;color:#777;border:0px solid #ddd;} +*/ +/* 관리자 전용 버튼 */ +/*#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {background-color:#ffffff;color:#333}*/ +/* + +#bo_list a.btn_admin2 {background-color:#ffffff;border-radius:3px;color:#777;border:1px solid #ddd;} +*/ +/* 관리자 전용 버튼 */ +/* +#bo_list a.btn_admin2:focus, #bo_list .btn_admin2:hover {background-color:#f9f9f9;color:#333} + +#bo_list button.btn_admin {background-color:#fff;color:#777;border:0px;} +#bo_list button.btn_admin:focus, #bo_list .btn_admin:hover {background-color:#fff;color:#333} +*/ +/* + +a.btn_admin,.btn_admin {display:inline-block;color:#fff;text-decoration:none;vertical-align:middle} +*/ +/* 관리자 전용 버튼 */ +/* +.btn_admin:hover, a.btn_admin:hover {} + +a.btn_admin2,.btn_admin2 {display:inline-block;color:#fff;text-decoration:none;vertical-align:middle} +*/ +/* 관리자 전용 버튼 */ +.btn_admin2:hover, a.btn_admin2:hover {} + +/* 읽기 버튼 */ +/* +#bo_v a.btn_b01 {background-color:#fff;border-radius:3px;line-height:35px;height:35px;padding:0px 10px 0px 10px;border:1px solid #ddd; color:#333} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {background-color:#f3f3f3} +#bo_v a.btn_b02 {background-color:#26b4ff;border-radius:3px;line-height:35px;height:35px;padding:0px 20px 0px 20px; color:#fff} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {background-color:#24abf2} +*/ +/* + +#bo_v a.btn_admin {background-color:#ffffff;border-radius:3px;color:#777;border:0px solid #ddd;} +*/ +/* 관리자 전용 버튼 */ +/* +#bo_v a.btn_admin:focus, #bo_v .btn_admin:hover {background-color:#ffffff;color:#333} + +#bo_v a.btn_admin2 {background-color:#ffffff;border-radius:3px;color:#777;border:1px solid #ddd;} +*/ +/* 관리자 전용 버튼 */ +/*#bo_v a.btn_admin2:focus, #bo_v .btn_admin2:hover {background-color:#f9f9f9;color:#333}*/ + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} +/* 서식단계 진행 */ +/* +#bo_w .btn_submit {background-color:#26b4ff;border-radius:3px;line-height:35px;height:35px;padding:0px 20px 0px 20px; color:#fff} +#bo_w .btn_submit:focus, #bo_w .btn_submit:hover {background-color:#24abf2} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {background-color:#fff;border-radius:3px;line-height:35px;height:35px;padding:0px 10px 0px 10px;border:1px solid #ddd; color:#333} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {background-color:#f3f3f3} +#bo_w button.btn_cancel {background-color:#fff;border-radius:3px;line-height:35px;height:35px;padding:0px 10px 0px 10px;border:1px solid #ddd; color:#333} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} +*/ +/* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {margin-top:10px;} + + + +/* 기본 테이블 */ +.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing: 0 5px;border:0px solid #ccc;} +.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left} + +/* 목록 테이블 */ +#bo_list .tbl_head01 {margin:0 0 10px} +#bo_list .tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden} +#bo_list .tbl_head01 thead th {padding:10px 0;font-weight:normal;text-align:center;background:#fff;height:50px;border-top:1px solid #ddd;border-bottom:1px solid #ecf0f1;} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;background:#fff;text-align:center} +#bo_list .tbl_head01 tbody th {padding:8px 0;} +#bo_list .tbl_head01 td {color:#666;background:#fff;padding:10px 5px;border-bottom:1px solid #eee;line-height:1.4em;height:70px;word-break:break-all} +#bo_list .tbl_head01 tbody tr:hover td{background:#fff;border-left:0px;} +#bo_list .tbl_head01 a:hover {text-decoration:none} +#bo_list td.empty_table {} + + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative; border-bottom:1px solid #eee; padding-bottom:10px;} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;} +#bo_list .td_datetime {width:150px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +/* +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +*/ + +#bo_cate {margin:10px 0;} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;color:#777} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;color:#333;background-color:#f1f1f1;} +#bo_cate #bo_cate_on {z-index:2;color:#333;font-weight:bold;border-bottom-color:#1977b5;background-color:#f1f1f1;} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f9f9f9 !important;border-bottom:1px solid #eee;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;width:25px;line-height:25px;font-weight:normal;color:#26b4ff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:normal;font-size:14px;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #eee;background:#fff;border-radius:2px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left;} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;margin-top:10px; position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;margin:5px 0 0;word-break:break-all;font-size:24px;letter-spacing:-1px;} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #eee;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1;border-top:1px solid #eee;} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#c80e21;} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#333;text-decoration:none} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #eee;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {border-top:1px solid #eee; border-bottom:1px solid #eee;} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;color:#999;font-size:11px;} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:0px; margin:10px 0 0;border-radius:0px;border: 0px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 0px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:40px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{padding:10px 0px 0px 0px;position:relative;} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff;} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:11px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #fff;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#fff;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d;line-height:35px;} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine02/view.skin.php b/web/html/theme/AT_WEB01/skin/board/webzine02/view.skin.php new file mode 100644 index 0000000..23ac099 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine02/view.skin.php @@ -0,0 +1,330 @@ +', 0); +add_stylesheet('', 0); +?> + + + + +
                                                                      +
                                                                      +
                                                                      +

                                                                      + + +

                                                                      +
                                                                      + +
                                                                      +

                                                                      페이지 정보

                                                                      + 작성자 + 댓글댓글 + 조회조회 + 작성일 + +
                                                                      + +
                                                                      +

                                                                      본문

                                                                      + + \n"; + + for ($i=0; $i<=$v_img_count; $i++) { + if (!isset($view['file'][$i])) break; + // 동영상이면 + if (preg_match("/\.($config[cf_movie_extension])$/i", $view['file'][$i]['source'])) { + echo "
                                                                      \n"; + echo ''; + echo '
                                                                      '; + echo '
                                                                      '; + echo "
                                                                      \n"; + } else { + echo get_file_thumbnail($view['file'][$i]); + } + } + + echo "
                                                                      \n"; + } + /* + // 파일 출력 + $v_img_count = count($view['file']); + if($v_img_count) { + echo "
                                                                      \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + if ($view['file'][$i]['view']) { + //echo $view['file'][$i]['view']; + echo get_view_thumbnail($view['file'][$i]['view']); + } + } + + echo "
                                                                      \n"; + } + */ + ?> + + +
                                                                      + + + +

                                                                      + + + + +
                                                                      + + + 추천 + + + + + + 비추천 + + + +
                                                                      + +
                                                                      + 추천 + 비추천 +
                                                                      + + + + + + + + + + + + + +
                                                                      + + + + + + () + 회 다운로드 + +
                                                                      + + +
                                                                      + + + +
                                                                      + + + + + 회 연결 +
                                                                      + + +
                                                                      + + + + + +
                                                                      + + + + + + + +
                                                                        +
                                                                      • + + 이전글 + + + + + +
                                                                      • + +
                                                                      • 다음글
                                                                      • +
                                                                      + + +
                                                                      + + + + + +
                                                                      + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine02/view_comment.skin.php b/web/html/theme/AT_WEB01/skin/board/webzine02/view_comment.skin.php new file mode 100644 index 0000000..6c67460 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine02/view_comment.skin.php @@ -0,0 +1,335 @@ + + + + + +
                                                                      +

                                                                      댓글목록

                                                                      + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                                                                      style="padding-left:px;border-top-color:#e0e0e0;"> +
                                                                      +

                                                                      님의 댓글의 댓글

                                                                      + +
                                                                      +
                                                                      + + + 아이피 + () + + +
                                                                      + + + +
                                                                      +

                                                                      + + +

                                                                      + +
                                                                        +
                                                                      • +
                                                                      • +
                                                                      • +
                                                                      + +
                                                                      + + + + + + +
                                                                      + + + " id="secret_comment_"> + + +
                                                                      + +

                                                                      등록된 댓글이 없습니다.

                                                                      + +
                                                                      + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine02/write.skin.php b/web/html/theme/AT_WEB01/skin/board/webzine02/write.skin.php new file mode 100644 index 0000000..766bb6d --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine02/write.skin.php @@ -0,0 +1,264 @@ +', 0); +add_stylesheet('', 0); +?> +


                                                                      +
                                                                      +

                                                                      WEBZINE

                                                                      +
                                                                      +

                                                                      골뱅이스토어는 최선의 서비스를 제공합니다.

                                                                      +
                                                                      +
                                                                      +
                                                                      +
                                                                      +

                                                                      + + +
                                                                      + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
                                                                      + + +
                                                                      + + +
                                                                      + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                                                                      + + +
                                                                      + 옵션 + +
                                                                      + + +
                                                                      + + +
                                                                      + + + + + +
                                                                      + 임시 저장된 글 목록 +
                                                                        +
                                                                        +
                                                                        + +
                                                                        + +
                                                                        + +
                                                                        + +
                                                                        + + +

                                                                        이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                        + + + + +
                                                                        글자
                                                                        + +
                                                                        + +
                                                                        + + + + + + +
                                                                        +
                                                                        + + +
                                                                        + + + + + + + + + + +
                                                                        + + + + +
                                                                        + +
                                                                        + + + +
                                                                        + 취소 + +
                                                                        + + + +
                                                                        + + +
                                                                        +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/board/webzine02/write_update.skin.php b/web/html/theme/AT_WEB01/skin/board/webzine02/write_update.skin.php new file mode 100644 index 0000000..bd61d29 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/board/webzine02/write_update.skin.php @@ -0,0 +1,6 @@ +', 0); +?> + + diff --git a/web/html/theme/AT_WEB01/skin/connect/basic/current_connect.skin.php b/web/html/theme/AT_WEB01/skin/connect/basic/current_connect.skin.php new file mode 100644 index 0000000..d199f8f --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/connect/basic/current_connect.skin.php @@ -0,0 +1,39 @@ +', 0); +?> + + +
                                                                        +
                                                                          + ".$location.""; + else $display_location = $location; + + $classes = array(); + if( $i && ($i % 4 == 0) ){ + $classes[] = 'box_clear'; + } + ?> +
                                                                        • +
                                                                          + +
                                                                          + +
                                                                          +
                                                                        • + 현재 접속자가 없습니다."; + ?> +
                                                                        +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/connect/basic/style.css b/web/html/theme/AT_WEB01/skin/connect/basic/style.css new file mode 100644 index 0000000..c8de833 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/connect/basic/style.css @@ -0,0 +1,14 @@ +@charset "utf-8"; + +#current_connect ul{margin:0 -10px 0;padding:0;list-style:none;zoom:1} +#current_connect ul:after{display:block;visibility:hidden;clear:both;content:""} +#current_connect li{position:relative;min-height:1px;padding-left:10px;*padding-left:0;padding-right:10px;*padding-right:0;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0} +#current_connect li{width:25%} +#current_connect li.box_clear{clear:both} +#current_connect li .inner{position:relative;border:1px solid #d8d8d8;background:#fff;margin-bottom:10px;text-align:center} +#current_connect .crt_name {margin:20px 20px 15px;display:block;min-height:88px} +#current_connect .crt_name img{ border-radius:50%;margin: 0 0 5px;max-width:100%;height:auto} +#current_connect .crt_lct{display:block;text-align:center;border-top:1px solid #ddd;padding:10px 5px;line-height:1.4em} +#current_connect .crt_lct a{color:#3ca1ff} +#current_connect .crt_num{position:absolute;top:10px;left:10px;color:#777;font-weight:bold} +#current_connect li.empty_li{width:100%;padding:200px 0 ;border:0;color:#666} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/content/basic/content.skin.php b/web/html/theme/AT_WEB01/skin/content/basic/content.skin.php new file mode 100644 index 0000000..ce54fc4 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/content/basic/content.skin.php @@ -0,0 +1,17 @@ +', 0); +?> + +
                                                                        +
                                                                        +

                                                                        +
                                                                        + +
                                                                        + +
                                                                        + +
                                                                        \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/content/basic/style.css b/web/html/theme/AT_WEB01/skin/content/basic/style.css new file mode 100644 index 0000000..1bb943a --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/content/basic/style.css @@ -0,0 +1,9 @@ +@charset "utf-8"; + +/* 내용관리 */ +#ctt {margin:10px 0;padding:20px;background:#fff} +.ctt_admin {text-align:right} +#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ctt_con {padding:10px 0;line-height:1.6em} +#ctt_himg img, #ctt_timg img, #ctt_con img {max-width:100%;height:auto} +.ctt_img {text-align:center} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/faq/basic/list.skin.php b/web/html/theme/AT_WEB01/skin/faq/basic/list.skin.php new file mode 100644 index 0000000..e0c1b4f --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/faq/basic/list.skin.php @@ -0,0 +1,142 @@ +', 0); + +if ($admin_href) + echo ''; +?> + + +'; + +// 상단 HTML +echo '
                                                                        '.conv_content($fm['fm_head_html'], 1).'
                                                                        '; +?> + +
                                                                        + FAQ 검색 + +
                                                                        + FAQ 검색 + + + + +
                                                                        +
                                                                        + + + + + + +
                                                                        + +
                                                                        +

                                                                        목록

                                                                        +
                                                                          + $v){ + if(empty($v)) + continue; + ?> +
                                                                        1. +

                                                                          Q

                                                                          +
                                                                          + A + +
                                                                          +
                                                                          +
                                                                        2. + +
                                                                        +
                                                                        + 검색된 게시물이 없습니다.

                                                                        '; + } else { + echo '
                                                                        등록된 FAQ가 없습니다.'; + if($is_admin) + echo '
                                                                        FAQ를 새로 등록하시려면 FAQ관리 메뉴를 이용하십시오.'; + echo '
                                                                        '; + } + } + ?> +
                                                                        + + + +'.conv_content($fm['fm_tail_html'], 1).''; + +if ($timg_src) + echo '
                                                                        '; +?> + + + + +FAQ 수정'; +?> + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/faq/basic/style.css b/web/html/theme/AT_WEB01/skin/faq/basic/style.css new file mode 100644 index 0000000..3c3ce0b --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/faq/basic/style.css @@ -0,0 +1,27 @@ +@charset "utf-8"; +#bo_cate {margin:15px 0 10px} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {;zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;} +#bo_cate a {display:block;border:1px solid #dadada;background:#fff;margin:0 0 5px 0;line-height:30px;padding:0 10px;border-radius:3px} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#f3f3f3} +#bo_cate #bo_cate_on {z-index:2;border:1px solid #253dbe;color:#253dbe;font-weight:bold} + +#faq_wrap {margin:10px 0 30px} +#faq_wrap h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.faq_admin {text-align:right} +#faq_wrap ol {margin:0;padding:0;list-style:none} +#faq_wrap li{border:1px solid #ddd;background:#fff;margin:5px 0;} +#faq_wrap li h3{min-height:50px;line-height:30px;padding:10px;padding-left:50px;position:relative} +#faq_wrap li h3 .tit_bg{display:inline-block;position:absolute;top:10px;left:10px;text-align:center;background:#333;color:#fff;border-radius:50%;width:30px;height:30px} +#faq_con .con_inner{display:none;border-top:1px solid #ddd;padding:15px;padding-left:50px;position:relative;background: #f7f7f7;} +#faq_con .con_inner .tit_bg{display:inline-block;position:absolute;top:10px;left:10px;text-align:center;background:#777;color:#fff;border-radius:50%;width:30px;line-height:30px;height:30px} +#faq_con .con_inner .closer_btn{height:25px;font-size:0.92em;display:inline-block;padding:0 5px;border-radius:5px;} +#faq_con .con_closer{text-align:right} + +#faq_sch {text-align:center;border:1px solid #ccc;background:#fff;;padding:30px;margin:10px 0} +#faq_sch form{display:inline-block;position:relative} +#faq_sch .sch_tit{font-size:20px;font-weight:bold;display:inline-block;margin-right:10px;vertical-align:middle} +#faq_sch .frm_input{border-color:#646982;border-radius:0;width:300px} +#faq_sch .btn_submit{padding:0 10px;height:40px;color:#000;font-size:1.083em;font-weight:bold;color:#fff;background:#253dbe;} diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_hot.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_img.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_link.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_lock.png b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_lock.png differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_more.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_more.gif new file mode 100644 index 0000000..7cdf200 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_more.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_movie.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_new.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_reply.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_reply.gif new file mode 100644 index 0000000..91c1359 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_reply.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_sound.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_view.png b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/icon_view.png differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/more-btn.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/more-btn.gif new file mode 100644 index 0000000..fa4c873 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/more-btn.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/img/more_bg.gif b/web/html/theme/AT_WEB01/skin/latest/basic/img/more_bg.gif new file mode 100644 index 0000000..19aab13 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/basic/img/more_bg.gif differ diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/latest.skin.php b/web/html/theme/AT_WEB01/skin/latest/basic/latest.skin.php new file mode 100644 index 0000000..e22de36 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/latest/basic/latest.skin.php @@ -0,0 +1,55 @@ +', 0); +?> + +
                                                                        + +
                                                                          + +
                                                                        • + 비밀글 "; + + if ($list[$i]['icon_new']) echo "N새글"; + + if ($list[$i]['icon_hot']) echo "H인기글"; + + + echo " "; + if ($list[$i]['is_notice']) + echo "".$list[$i]['subject'].""; + else + echo $list[$i]['subject']; + + + + echo ""; + + // if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; } + // if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; } + + //echo $list[$i]['icon_reply']." "; + // if ($list[$i]['icon_file']) echo " " ; + //if ($list[$i]['icon_link']) echo " " ; + + if ($list[$i]['comment_cnt']) echo " + + ".$list[$i]['comment_cnt'].""; + + ?> + + +
                                                                        • + + +
                                                                        • 게시물이 없습니다.
                                                                        • + +
                                                                        + + +
                                                                        diff --git a/web/html/theme/AT_WEB01/skin/latest/basic/style.css b/web/html/theme/AT_WEB01/skin/latest/basic/style.css new file mode 100644 index 0000000..7dfb485 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/latest/basic/style.css @@ -0,0 +1,26 @@ +@charset "utf-8"; +/* 새글 스킨 (latest) */ + +.lat {position:relative;margin-bottom:20px;overflow:hidden;border: 1px solid #c6cacc;background:#fff} +.lat .lat_title {display:block;padding:0 20px;line-height:45px;font-size:1.083em;border-bottom:1px solid #e2e2e2;color:#253dbe;background:#fcfcfc} +.lat .lat_title a{color:#253dbe;display:inline-block;position:relative} +.lat .lat_title a:after{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#253dbe;content:''} +.lat ul{padding:15px 20px} +.lat li {position:relative;line-height:18px;padding:3px 0;padding-right:50px;padding-left:10px} +.lat li:before{position: absolute;top: 12px;left: 0px;width: 4px;height: 4px;background: #aaa;content: '';border-radius: 50%;} +.lat li a:hover{color:#a22121} +.lat li .fa-heart{color:#ff0000;} +.lat li .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} +.lat li .new_icon{display:inline-block;width: 16px;line-height:16px;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;} +.lat li .hot_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;} +.lat li .fa-caret-right{color:#bbb} +.lat .lt_date{position:absolute;top:3px;right:0;color:#888} +.lat .empty_li{line-height:145px ;color:#666;text-align:center;padding:0;} +.lat .empty_li:before{background:none;padding:0} + +.lat .lt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.4);} +.lat .lt_more {position:absolute;top:11px;right:10px;display:block;width:25px;line-height:25px;color:#aaa;border-radius:3px;text-align:center;} +.lat .lt_more:hover{color:#777} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/latest/notice/latest.skin.php b/web/html/theme/AT_WEB01/skin/latest/notice/latest.skin.php new file mode 100644 index 0000000..5091d31 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/latest/notice/latest.skin.php @@ -0,0 +1,53 @@ +', 0); +add_javascript('', 10); +?> + +
                                                                        +

                                                                        + + +
                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/latest/notice/style.css b/web/html/theme/AT_WEB01/skin/latest/notice/style.css new file mode 100644 index 0000000..3867cde --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/latest/notice/style.css @@ -0,0 +1,16 @@ +@charset "utf-8"; +/* 새글 스킨 (latest) */ +.notice {position:relative;padding:15px 50px;border-bottom:1px solid #d0d6e4} +.notice li{text-overflow: ellipsis;overflow: hidden;white-space: nowrap;} +.notice li a:hover{color:#a22121} +.notice li .lock_icon{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce;vertical-align:top} +.notice li .new_icon{display:inline-block;line-height:16px;width:16px;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;margin-right:3px;border-radius:2px;vertical-align:top} +.notice .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;white-space: nowrap;margin-left:5px; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.4); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.4)} + +.notice h2{position:absolute;top:50%;left:10px;margin-top:-15px;left:5;line-height:30px} +.notice h2 a{display:inline-block;width:30px;line-height:30px;border-radius:25px;background:#4158d1;color:#fff;text-align:center;color:#fff} +.notice .bx-next{position:absolute;top:50%;right:10px;;width:26px;height:26px;line-height:24px;text-align:center;background:#fff;border:1px solid #d1d1d1;margin-top:-12px} +.notice .bx-prev{position:absolute;top:50%;right:35px;width:26px;height:26px;line-height:24px;text-align:center;background:#fff;border:1px solid #d1d1d1;margin-top:-12px} diff --git a/web/html/theme/AT_WEB01/skin/latest/okcarousel/@eaDir/owl.carousel.js@SynoEAStream b/web/html/theme/AT_WEB01/skin/latest/okcarousel/@eaDir/owl.carousel.js@SynoEAStream new file mode 100644 index 0000000..a2a9f41 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/latest/okcarousel/@eaDir/owl.carousel.js@SynoEAStream differ diff --git a/web/html/theme/AT_WEB01/skin/latest/okcarousel/latest.skin.php b/web/html/theme/AT_WEB01/skin/latest/okcarousel/latest.skin.php new file mode 100644 index 0000000..5bcfc8a --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/latest/okcarousel/latest.skin.php @@ -0,0 +1,57 @@ +', 0); +$thumb_width = 374; +$thumb_height = 350; +?> + + + +
                                                                        +

                                                                        + + 더보기 + +
                                                                        + diff --git a/web/html/theme/AT_WEB01/skin/latest/okcarousel/owl.carousel.js b/web/html/theme/AT_WEB01/skin/latest/okcarousel/owl.carousel.js new file mode 100644 index 0000000..66c67eb --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/latest/okcarousel/owl.carousel.js @@ -0,0 +1,3448 @@ +/** + * Owl Carousel v2.3.4 + * Copyright 2013-2018 David Deutsch + * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE + */ +/** + * Owl carousel + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author David Deutsch + * @license The MIT License (MIT) + * @todo Lazy Load Icon + * @todo prevent animationend bubling + * @todo itemsScaleUp + * @todo Test Zepto + * @todo stagePadding calculate wrong active classes + */ +;(function($, window, document, undefined) { + + /** + * Creates a carousel. + * @class The Owl Carousel. + * @public + * @param {HTMLElement|jQuery} element - The element to create the carousel for. + * @param {Object} [options] - The options + */ + function Owl(element, options) { + + /** + * Current settings for the carousel. + * @public + */ + this.settings = null; + + /** + * Current options set by the caller including defaults. + * @public + */ + this.options = $.extend({}, Owl.Defaults, options); + + /** + * Plugin element. + * @public + */ + this.$element = $(element); + + /** + * Proxied event handlers. + * @protected + */ + this._handlers = {}; + + /** + * References to the running plugins of this carousel. + * @protected + */ + this._plugins = {}; + + /** + * Currently suppressed events to prevent them from being retriggered. + * @protected + */ + this._supress = {}; + + /** + * Absolute current position. + * @protected + */ + this._current = null; + + /** + * Animation speed in milliseconds. + * @protected + */ + this._speed = null; + + /** + * Coordinates of all items in pixel. + * @todo The name of this member is missleading. + * @protected + */ + this._coordinates = []; + + /** + * Current breakpoint. + * @todo Real media queries would be nice. + * @protected + */ + this._breakpoint = null; + + /** + * Current width of the plugin element. + */ + this._width = null; + + /** + * All real items. + * @protected + */ + this._items = []; + + /** + * All cloned items. + * @protected + */ + this._clones = []; + + /** + * Merge values of all items. + * @todo Maybe this could be part of a plugin. + * @protected + */ + this._mergers = []; + + /** + * Widths of all items. + */ + this._widths = []; + + /** + * Invalidated parts within the update process. + * @protected + */ + this._invalidated = {}; + + /** + * Ordered list of workers for the update process. + * @protected + */ + this._pipe = []; + + /** + * Current state information for the drag operation. + * @todo #261 + * @protected + */ + this._drag = { + time: null, + target: null, + pointer: null, + stage: { + start: null, + current: null + }, + direction: null + }; + + /** + * Current state information and their tags. + * @type {Object} + * @protected + */ + this._states = { + current: {}, + tags: { + 'initializing': [ 'busy' ], + 'animating': [ 'busy' ], + 'dragging': [ 'interacting' ] + } + }; + + $.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) { + this._handlers[handler] = $.proxy(this[handler], this); + }, this)); + + $.each(Owl.Plugins, $.proxy(function(key, plugin) { + this._plugins[key.charAt(0).toLowerCase() + key.slice(1)] + = new plugin(this); + }, this)); + + $.each(Owl.Workers, $.proxy(function(priority, worker) { + this._pipe.push({ + 'filter': worker.filter, + 'run': $.proxy(worker.run, this) + }); + }, this)); + + this.setup(); + this.initialize(); + } + + /** + * Default options for the carousel. + * @public + */ + Owl.Defaults = { + items: 3, + loop: false, + center: false, + rewind: false, + checkVisibility: true, + + mouseDrag: true, + touchDrag: true, + pullDrag: true, + freeDrag: false, + + margin: 0, + stagePadding: 0, + + merge: false, + mergeFit: true, + autoWidth: false, + + startPosition: 0, + rtl: false, + + smartSpeed: 250, + fluidSpeed: false, + dragEndSpeed: false, + + responsive: {}, + responsiveRefreshRate: 200, + responsiveBaseElement: window, + + fallbackEasing: 'swing', + slideTransition: '', + + info: false, + + nestedItemSelector: false, + itemElement: 'div', + stageElement: 'div', + + refreshClass: 'owl-refresh', + loadedClass: 'owl-loaded', + loadingClass: 'owl-loading', + rtlClass: 'owl-rtl', + responsiveClass: 'owl-responsive', + dragClass: 'owl-drag', + itemClass: 'owl-item', + stageClass: 'owl-stage', + stageOuterClass: 'owl-stage-outer', + grabClass: 'owl-grab' + }; + + /** + * Enumeration for width. + * @public + * @readonly + * @enum {String} + */ + Owl.Width = { + Default: 'default', + Inner: 'inner', + Outer: 'outer' + }; + + /** + * Enumeration for types. + * @public + * @readonly + * @enum {String} + */ + Owl.Type = { + Event: 'event', + State: 'state' + }; + + /** + * Contains all registered plugins. + * @public + */ + Owl.Plugins = {}; + + /** + * List of workers involved in the update process. + */ + Owl.Workers = [ { + filter: [ 'width', 'settings' ], + run: function() { + this._width = this.$element.width(); + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function(cache) { + cache.current = this._items && this._items[this.relative(this._current)]; + } + }, { + filter: [ 'items', 'settings' ], + run: function() { + this.$stage.children('.cloned').remove(); + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function(cache) { + var margin = this.settings.margin || '', + grid = !this.settings.autoWidth, + rtl = this.settings.rtl, + css = { + 'width': 'auto', + 'margin-left': rtl ? margin : '', + 'margin-right': rtl ? '' : margin + }; + + !grid && this.$stage.children().css(css); + + cache.css = css; + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function(cache) { + var width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin, + merge = null, + iterator = this._items.length, + grid = !this.settings.autoWidth, + widths = []; + + cache.items = { + merge: false, + width: width + }; + + while (iterator--) { + merge = this._mergers[iterator]; + merge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge; + + cache.items.merge = merge > 1 || cache.items.merge; + + widths[iterator] = !grid ? this._items[iterator].width() : width * merge; + } + + this._widths = widths; + } + }, { + filter: [ 'items', 'settings' ], + run: function() { + var clones = [], + items = this._items, + settings = this.settings, + // TODO: Should be computed from number of min width items in stage + view = Math.max(settings.items * 2, 4), + size = Math.ceil(items.length / 2) * 2, + repeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0, + append = '', + prepend = ''; + + repeat /= 2; + + while (repeat > 0) { + // Switch to only using appended clones + clones.push(this.normalize(clones.length / 2, true)); + append = append + items[clones[clones.length - 1]][0].outerHTML; + clones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true)); + prepend = items[clones[clones.length - 1]][0].outerHTML + prepend; + repeat -= 1; + } + + this._clones = clones; + + $(append).addClass('cloned').appendTo(this.$stage); + $(prepend).addClass('cloned').prependTo(this.$stage); + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function() { + var rtl = this.settings.rtl ? 1 : -1, + size = this._clones.length + this._items.length, + iterator = -1, + previous = 0, + current = 0, + coordinates = []; + + while (++iterator < size) { + previous = coordinates[iterator - 1] || 0; + current = this._widths[this.relative(iterator)] + this.settings.margin; + coordinates.push(previous + current * rtl); + } + + this._coordinates = coordinates; + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function() { + var padding = this.settings.stagePadding, + coordinates = this._coordinates, + css = { + 'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2, + 'padding-left': padding || '', + 'padding-right': padding || '' + }; + + this.$stage.css(css); + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function(cache) { + var iterator = this._coordinates.length, + grid = !this.settings.autoWidth, + items = this.$stage.children(); + + if (grid && cache.items.merge) { + while (iterator--) { + cache.css.width = this._widths[this.relative(iterator)]; + items.eq(iterator).css(cache.css); + } + } else if (grid) { + cache.css.width = cache.items.width; + items.css(cache.css); + } + } + }, { + filter: [ 'items' ], + run: function() { + this._coordinates.length < 1 && this.$stage.removeAttr('style'); + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function(cache) { + cache.current = cache.current ? this.$stage.children().index(cache.current) : 0; + cache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current)); + this.reset(cache.current); + } + }, { + filter: [ 'position' ], + run: function() { + this.animate(this.coordinates(this._current)); + } + }, { + filter: [ 'width', 'position', 'items', 'settings' ], + run: function() { + var rtl = this.settings.rtl ? 1 : -1, + padding = this.settings.stagePadding * 2, + begin = this.coordinates(this.current()) + padding, + end = begin + this.width() * rtl, + inner, outer, matches = [], i, n; + + for (i = 0, n = this._coordinates.length; i < n; i++) { + inner = this._coordinates[i - 1] || 0; + outer = Math.abs(this._coordinates[i]) + padding * rtl; + + if ((this.op(inner, '<=', begin) && (this.op(inner, '>', end))) + || (this.op(outer, '<', begin) && this.op(outer, '>', end))) { + matches.push(i); + } + } + + this.$stage.children('.active').removeClass('active'); + this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active'); + + this.$stage.children('.center').removeClass('center'); + if (this.settings.center) { + this.$stage.children().eq(this.current()).addClass('center'); + } + } + } ]; + + /** + * Create the stage DOM element + */ + Owl.prototype.initializeStage = function() { + this.$stage = this.$element.find('.' + this.settings.stageClass); + + // if the stage is already in the DOM, grab it and skip stage initialization + if (this.$stage.length) { + return; + } + + this.$element.addClass(this.options.loadingClass); + + // create stage + this.$stage = $('<' + this.settings.stageElement + '>', { + "class": this.settings.stageClass + }).wrap( $( '
                                                                        ', { + "class": this.settings.stageOuterClass + })); + + // append stage + this.$element.append(this.$stage.parent()); + }; + + /** + * Create item DOM elements + */ + Owl.prototype.initializeItems = function() { + var $items = this.$element.find('.owl-item'); + + // if the items are already in the DOM, grab them and skip item initialization + if ($items.length) { + this._items = $items.get().map(function(item) { + return $(item); + }); + + this._mergers = this._items.map(function() { + return 1; + }); + + this.refresh(); + + return; + } + + // append content + this.replace(this.$element.children().not(this.$stage.parent())); + + // check visibility + if (this.isVisible()) { + // update view + this.refresh(); + } else { + // invalidate width + this.invalidate('width'); + } + + this.$element + .removeClass(this.options.loadingClass) + .addClass(this.options.loadedClass); + }; + + /** + * Initializes the carousel. + * @protected + */ + Owl.prototype.initialize = function() { + this.enter('initializing'); + this.trigger('initialize'); + + this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl); + + if (this.settings.autoWidth && !this.is('pre-loading')) { + var imgs, nestedSelector, width; + imgs = this.$element.find('img'); + nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined; + width = this.$element.children(nestedSelector).width(); + + if (imgs.length && width <= 0) { + this.preloadAutoWidthImages(imgs); + } + } + + this.initializeStage(); + this.initializeItems(); + + // register event handlers + this.registerEventHandlers(); + + this.leave('initializing'); + this.trigger('initialized'); + }; + + /** + * @returns {Boolean} visibility of $element + * if you know the carousel will always be visible you can set `checkVisibility` to `false` to + * prevent the expensive browser layout forced reflow the $element.is(':visible') does + */ + Owl.prototype.isVisible = function() { + return this.settings.checkVisibility + ? this.$element.is(':visible') + : true; + }; + + /** + * Setups the current settings. + * @todo Remove responsive classes. Why should adaptive designs be brought into IE8? + * @todo Support for media queries by using `matchMedia` would be nice. + * @public + */ + Owl.prototype.setup = function() { + var viewport = this.viewport(), + overwrites = this.options.responsive, + match = -1, + settings = null; + + if (!overwrites) { + settings = $.extend({}, this.options); + } else { + $.each(overwrites, function(breakpoint) { + if (breakpoint <= viewport && breakpoint > match) { + match = Number(breakpoint); + } + }); + + settings = $.extend({}, this.options, overwrites[match]); + if (typeof settings.stagePadding === 'function') { + settings.stagePadding = settings.stagePadding(); + } + delete settings.responsive; + + // responsive class + if (settings.responsiveClass) { + this.$element.attr('class', + this.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\S+\\s', 'g'), '$1' + match) + ); + } + } + + this.trigger('change', { property: { name: 'settings', value: settings } }); + this._breakpoint = match; + this.settings = settings; + this.invalidate('settings'); + this.trigger('changed', { property: { name: 'settings', value: this.settings } }); + }; + + /** + * Updates option logic if necessery. + * @protected + */ + Owl.prototype.optionsLogic = function() { + if (this.settings.autoWidth) { + this.settings.stagePadding = false; + this.settings.merge = false; + } + }; + + /** + * Prepares an item before add. + * @todo Rename event parameter `content` to `item`. + * @protected + * @returns {jQuery|HTMLElement} - The item container. + */ + Owl.prototype.prepare = function(item) { + var event = this.trigger('prepare', { content: item }); + + if (!event.data) { + event.data = $('<' + this.settings.itemElement + '/>') + .addClass(this.options.itemClass).append(item) + } + + this.trigger('prepared', { content: event.data }); + + return event.data; + }; + + /** + * Updates the view. + * @public + */ + Owl.prototype.update = function() { + var i = 0, + n = this._pipe.length, + filter = $.proxy(function(p) { return this[p] }, this._invalidated), + cache = {}; + + while (i < n) { + if (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) { + this._pipe[i].run(cache); + } + i++; + } + + this._invalidated = {}; + + !this.is('valid') && this.enter('valid'); + }; + + /** + * Gets the width of the view. + * @public + * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return. + * @returns {Number} - The width of the view in pixel. + */ + Owl.prototype.width = function(dimension) { + dimension = dimension || Owl.Width.Default; + switch (dimension) { + case Owl.Width.Inner: + case Owl.Width.Outer: + return this._width; + default: + return this._width - this.settings.stagePadding * 2 + this.settings.margin; + } + }; + + /** + * Refreshes the carousel primarily for adaptive purposes. + * @public + */ + Owl.prototype.refresh = function() { + this.enter('refreshing'); + this.trigger('refresh'); + + this.setup(); + + this.optionsLogic(); + + this.$element.addClass(this.options.refreshClass); + + this.update(); + + this.$element.removeClass(this.options.refreshClass); + + this.leave('refreshing'); + this.trigger('refreshed'); + }; + + /** + * Checks window `resize` event. + * @protected + */ + Owl.prototype.onThrottledResize = function() { + window.clearTimeout(this.resizeTimer); + this.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate); + }; + + /** + * Checks window `resize` event. + * @protected + */ + Owl.prototype.onResize = function() { + if (!this._items.length) { + return false; + } + + if (this._width === this.$element.width()) { + return false; + } + + if (!this.isVisible()) { + return false; + } + + this.enter('resizing'); + + if (this.trigger('resize').isDefaultPrevented()) { + this.leave('resizing'); + return false; + } + + this.invalidate('width'); + + this.refresh(); + + this.leave('resizing'); + this.trigger('resized'); + }; + + /** + * Registers event handlers. + * @todo Check `msPointerEnabled` + * @todo #261 + * @protected + */ + Owl.prototype.registerEventHandlers = function() { + if ($.support.transition) { + this.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this)); + } + + if (this.settings.responsive !== false) { + this.on(window, 'resize', this._handlers.onThrottledResize); + } + + if (this.settings.mouseDrag) { + this.$element.addClass(this.options.dragClass); + this.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this)); + this.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false }); + } + + if (this.settings.touchDrag){ + this.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this)); + this.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this)); + } + }; + + /** + * Handles `touchstart` and `mousedown` events. + * @todo Horizontal swipe threshold as option + * @todo #261 + * @protected + * @param {Event} event - The event arguments. + */ + Owl.prototype.onDragStart = function(event) { + var stage = null; + + if (event.which === 3) { + return; + } + + if ($.support.transform) { + stage = this.$stage.css('transform').replace(/.*\(|\)| /g, '').split(','); + stage = { + x: stage[stage.length === 16 ? 12 : 4], + y: stage[stage.length === 16 ? 13 : 5] + }; + } else { + stage = this.$stage.position(); + stage = { + x: this.settings.rtl ? + stage.left + this.$stage.width() - this.width() + this.settings.margin : + stage.left, + y: stage.top + }; + } + + if (this.is('animating')) { + $.support.transform ? this.animate(stage.x) : this.$stage.stop() + this.invalidate('position'); + } + + this.$element.toggleClass(this.options.grabClass, event.type === 'mousedown'); + + this.speed(0); + + this._drag.time = new Date().getTime(); + this._drag.target = $(event.target); + this._drag.stage.start = stage; + this._drag.stage.current = stage; + this._drag.pointer = this.pointer(event); + + $(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this)); + + $(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) { + var delta = this.difference(this._drag.pointer, this.pointer(event)); + + $(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this)); + + if (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) { + return; + } + + event.preventDefault(); + + this.enter('dragging'); + this.trigger('drag'); + }, this)); + }; + + /** + * Handles the `touchmove` and `mousemove` events. + * @todo #261 + * @protected + * @param {Event} event - The event arguments. + */ + Owl.prototype.onDragMove = function(event) { + var minimum = null, + maximum = null, + pull = null, + delta = this.difference(this._drag.pointer, this.pointer(event)), + stage = this.difference(this._drag.stage.start, delta); + + if (!this.is('dragging')) { + return; + } + + event.preventDefault(); + + if (this.settings.loop) { + minimum = this.coordinates(this.minimum()); + maximum = this.coordinates(this.maximum() + 1) - minimum; + stage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum; + } else { + minimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum()); + maximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum()); + pull = this.settings.pullDrag ? -1 * delta.x / 5 : 0; + stage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull); + } + + this._drag.stage.current = stage; + + this.animate(stage.x); + }; + + /** + * Handles the `touchend` and `mouseup` events. + * @todo #261 + * @todo Threshold for click event + * @protected + * @param {Event} event - The event arguments. + */ + Owl.prototype.onDragEnd = function(event) { + var delta = this.difference(this._drag.pointer, this.pointer(event)), + stage = this._drag.stage.current, + direction = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right'; + + $(document).off('.owl.core'); + + this.$element.removeClass(this.options.grabClass); + + if (delta.x !== 0 && this.is('dragging') || !this.is('valid')) { + this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed); + this.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction)); + this.invalidate('position'); + this.update(); + + this._drag.direction = direction; + + if (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) { + this._drag.target.one('click.owl.core', function() { return false; }); + } + } + + if (!this.is('dragging')) { + return; + } + + this.leave('dragging'); + this.trigger('dragged'); + }; + + /** + * Gets absolute position of the closest item for a coordinate. + * @todo Setting `freeDrag` makes `closest` not reusable. See #165. + * @protected + * @param {Number} coordinate - The coordinate in pixel. + * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`. + * @return {Number} - The absolute position of the closest item. + */ + Owl.prototype.closest = function(coordinate, direction) { + var position = -1, + pull = 30, + width = this.width(), + coordinates = this.coordinates(); + + if (!this.settings.freeDrag) { + // check closest item + $.each(coordinates, $.proxy(function(index, value) { + // on a left pull, check on current index + if (direction === 'left' && coordinate > value - pull && coordinate < value + pull) { + position = index; + // on a right pull, check on previous index + // to do so, subtract width from value and set position = index + 1 + } else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) { + position = index + 1; + } else if (this.op(coordinate, '<', value) + && this.op(coordinate, '>', coordinates[index + 1] !== undefined ? coordinates[index + 1] : value - width)) { + position = direction === 'left' ? index + 1 : index; + } + return position === -1; + }, this)); + } + + if (!this.settings.loop) { + // non loop boundries + if (this.op(coordinate, '>', coordinates[this.minimum()])) { + position = coordinate = this.minimum(); + } else if (this.op(coordinate, '<', coordinates[this.maximum()])) { + position = coordinate = this.maximum(); + } + } + + return position; + }; + + /** + * Animates the stage. + * @todo #270 + * @public + * @param {Number} coordinate - The coordinate in pixels. + */ + Owl.prototype.animate = function(coordinate) { + var animate = this.speed() > 0; + + this.is('animating') && this.onTransitionEnd(); + + if (animate) { + this.enter('animating'); + this.trigger('translate'); + } + + if ($.support.transform3d && $.support.transition) { + this.$stage.css({ + transform: 'translate3d(' + coordinate + 'px,0px,0px)', + transition: (this.speed() / 1000) + 's' + ( + this.settings.slideTransition ? ' ' + this.settings.slideTransition : '' + ) + }); + } else if (animate) { + this.$stage.animate({ + left: coordinate + 'px' + }, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this)); + } else { + this.$stage.css({ + left: coordinate + 'px' + }); + } + }; + + /** + * Checks whether the carousel is in a specific state or not. + * @param {String} state - The state to check. + * @returns {Boolean} - The flag which indicates if the carousel is busy. + */ + Owl.prototype.is = function(state) { + return this._states.current[state] && this._states.current[state] > 0; + }; + + /** + * Sets the absolute position of the current item. + * @public + * @param {Number} [position] - The new absolute position or nothing to leave it unchanged. + * @returns {Number} - The absolute position of the current item. + */ + Owl.prototype.current = function(position) { + if (position === undefined) { + return this._current; + } + + if (this._items.length === 0) { + return undefined; + } + + position = this.normalize(position); + + if (this._current !== position) { + var event = this.trigger('change', { property: { name: 'position', value: position } }); + + if (event.data !== undefined) { + position = this.normalize(event.data); + } + + this._current = position; + + this.invalidate('position'); + + this.trigger('changed', { property: { name: 'position', value: this._current } }); + } + + return this._current; + }; + + /** + * Invalidates the given part of the update routine. + * @param {String} [part] - The part to invalidate. + * @returns {Array.} - The invalidated parts. + */ + Owl.prototype.invalidate = function(part) { + if ($.type(part) === 'string') { + this._invalidated[part] = true; + this.is('valid') && this.leave('valid'); + } + return $.map(this._invalidated, function(v, i) { return i }); + }; + + /** + * Resets the absolute position of the current item. + * @public + * @param {Number} position - The absolute position of the new item. + */ + Owl.prototype.reset = function(position) { + position = this.normalize(position); + + if (position === undefined) { + return; + } + + this._speed = 0; + this._current = position; + + this.suppress([ 'translate', 'translated' ]); + + this.animate(this.coordinates(position)); + + this.release([ 'translate', 'translated' ]); + }; + + /** + * Normalizes an absolute or a relative position of an item. + * @public + * @param {Number} position - The absolute or relative position to normalize. + * @param {Boolean} [relative=false] - Whether the given position is relative or not. + * @returns {Number} - The normalized position. + */ + Owl.prototype.normalize = function(position, relative) { + var n = this._items.length, + m = relative ? 0 : this._clones.length; + + if (!this.isNumeric(position) || n < 1) { + position = undefined; + } else if (position < 0 || position >= n + m) { + position = ((position - m / 2) % n + n) % n + m / 2; + } + + return position; + }; + + /** + * Converts an absolute position of an item into a relative one. + * @public + * @param {Number} position - The absolute position to convert. + * @returns {Number} - The converted position. + */ + Owl.prototype.relative = function(position) { + position -= this._clones.length / 2; + return this.normalize(position, true); + }; + + /** + * Gets the maximum position for the current item. + * @public + * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position. + * @returns {Number} + */ + Owl.prototype.maximum = function(relative) { + var settings = this.settings, + maximum = this._coordinates.length, + iterator, + reciprocalItemsWidth, + elementWidth; + + if (settings.loop) { + maximum = this._clones.length / 2 + this._items.length - 1; + } else if (settings.autoWidth || settings.merge) { + iterator = this._items.length; + if (iterator) { + reciprocalItemsWidth = this._items[--iterator].width(); + elementWidth = this.$element.width(); + while (iterator--) { + reciprocalItemsWidth += this._items[iterator].width() + this.settings.margin; + if (reciprocalItemsWidth > elementWidth) { + break; + } + } + } + maximum = iterator + 1; + } else if (settings.center) { + maximum = this._items.length - 1; + } else { + maximum = this._items.length - settings.items; + } + + if (relative) { + maximum -= this._clones.length / 2; + } + + return Math.max(maximum, 0); + }; + + /** + * Gets the minimum position for the current item. + * @public + * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position. + * @returns {Number} + */ + Owl.prototype.minimum = function(relative) { + return relative ? 0 : this._clones.length / 2; + }; + + /** + * Gets an item at the specified relative position. + * @public + * @param {Number} [position] - The relative position of the item. + * @return {jQuery|Array.} - The item at the given position or all items if no position was given. + */ + Owl.prototype.items = function(position) { + if (position === undefined) { + return this._items.slice(); + } + + position = this.normalize(position, true); + return this._items[position]; + }; + + /** + * Gets an item at the specified relative position. + * @public + * @param {Number} [position] - The relative position of the item. + * @return {jQuery|Array.} - The item at the given position or all items if no position was given. + */ + Owl.prototype.mergers = function(position) { + if (position === undefined) { + return this._mergers.slice(); + } + + position = this.normalize(position, true); + return this._mergers[position]; + }; + + /** + * Gets the absolute positions of clones for an item. + * @public + * @param {Number} [position] - The relative position of the item. + * @returns {Array.} - The absolute positions of clones for the item or all if no position was given. + */ + Owl.prototype.clones = function(position) { + var odd = this._clones.length / 2, + even = odd + this._items.length, + map = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 }; + + if (position === undefined) { + return $.map(this._clones, function(v, i) { return map(i) }); + } + + return $.map(this._clones, function(v, i) { return v === position ? map(i) : null }); + }; + + /** + * Sets the current animation speed. + * @public + * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged. + * @returns {Number} - The current animation speed in milliseconds. + */ + Owl.prototype.speed = function(speed) { + if (speed !== undefined) { + this._speed = speed; + } + + return this._speed; + }; + + /** + * Gets the coordinate of an item. + * @todo The name of this method is missleanding. + * @public + * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`. + * @returns {Number|Array.} - The coordinate of the item in pixel or all coordinates. + */ + Owl.prototype.coordinates = function(position) { + var multiplier = 1, + newPosition = position - 1, + coordinate; + + if (position === undefined) { + return $.map(this._coordinates, $.proxy(function(coordinate, index) { + return this.coordinates(index); + }, this)); + } + + if (this.settings.center) { + if (this.settings.rtl) { + multiplier = -1; + newPosition = position + 1; + } + + coordinate = this._coordinates[position]; + coordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier; + } else { + coordinate = this._coordinates[newPosition] || 0; + } + + coordinate = Math.ceil(coordinate); + + return coordinate; + }; + + /** + * Calculates the speed for a translation. + * @protected + * @param {Number} from - The absolute position of the start item. + * @param {Number} to - The absolute position of the target item. + * @param {Number} [factor=undefined] - The time factor in milliseconds. + * @returns {Number} - The time in milliseconds for the translation. + */ + Owl.prototype.duration = function(from, to, factor) { + if (factor === 0) { + return 0; + } + + return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed)); + }; + + /** + * Slides to the specified item. + * @public + * @param {Number} position - The position of the item. + * @param {Number} [speed] - The time in milliseconds for the transition. + */ + Owl.prototype.to = function(position, speed) { + var current = this.current(), + revert = null, + distance = position - this.relative(current), + direction = (distance > 0) - (distance < 0), + items = this._items.length, + minimum = this.minimum(), + maximum = this.maximum(); + + if (this.settings.loop) { + if (!this.settings.rewind && Math.abs(distance) > items / 2) { + distance += direction * -1 * items; + } + + position = current + distance; + revert = ((position - minimum) % items + items) % items + minimum; + + if (revert !== position && revert - distance <= maximum && revert - distance > 0) { + current = revert - distance; + position = revert; + this.reset(current); + } + } else if (this.settings.rewind) { + maximum += 1; + position = (position % maximum + maximum) % maximum; + } else { + position = Math.max(minimum, Math.min(maximum, position)); + } + + this.speed(this.duration(current, position, speed)); + this.current(position); + + if (this.isVisible()) { + this.update(); + } + }; + + /** + * Slides to the next item. + * @public + * @param {Number} [speed] - The time in milliseconds for the transition. + */ + Owl.prototype.next = function(speed) { + speed = speed || false; + this.to(this.relative(this.current()) + 1, speed); + }; + + /** + * Slides to the previous item. + * @public + * @param {Number} [speed] - The time in milliseconds for the transition. + */ + Owl.prototype.prev = function(speed) { + speed = speed || false; + this.to(this.relative(this.current()) - 1, speed); + }; + + /** + * Handles the end of an animation. + * @protected + * @param {Event} event - The event arguments. + */ + Owl.prototype.onTransitionEnd = function(event) { + + // if css2 animation then event object is undefined + if (event !== undefined) { + event.stopPropagation(); + + // Catch only owl-stage transitionEnd event + if ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) { + return false; + } + } + + this.leave('animating'); + this.trigger('translated'); + }; + + /** + * Gets viewport width. + * @protected + * @return {Number} - The width in pixel. + */ + Owl.prototype.viewport = function() { + var width; + if (this.options.responsiveBaseElement !== window) { + width = $(this.options.responsiveBaseElement).width(); + } else if (window.innerWidth) { + width = window.innerWidth; + } else if (document.documentElement && document.documentElement.clientWidth) { + width = document.documentElement.clientWidth; + } else { + console.warn('Can not detect viewport width.'); + } + return width; + }; + + /** + * Replaces the current content. + * @public + * @param {HTMLElement|jQuery|String} content - The new content. + */ + Owl.prototype.replace = function(content) { + this.$stage.empty(); + this._items = []; + + if (content) { + content = (content instanceof jQuery) ? content : $(content); + } + + if (this.settings.nestedItemSelector) { + content = content.find('.' + this.settings.nestedItemSelector); + } + + content.filter(function() { + return this.nodeType === 1; + }).each($.proxy(function(index, item) { + item = this.prepare(item); + this.$stage.append(item); + this._items.push(item); + this._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); + }, this)); + + this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0); + + this.invalidate('items'); + }; + + /** + * Adds an item. + * @todo Use `item` instead of `content` for the event arguments. + * @public + * @param {HTMLElement|jQuery|String} content - The item content to add. + * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end. + */ + Owl.prototype.add = function(content, position) { + var current = this.relative(this._current); + + position = position === undefined ? this._items.length : this.normalize(position, true); + content = content instanceof jQuery ? content : $(content); + + this.trigger('add', { content: content, position: position }); + + content = this.prepare(content); + + if (this._items.length === 0 || position === this._items.length) { + this._items.length === 0 && this.$stage.append(content); + this._items.length !== 0 && this._items[position - 1].after(content); + this._items.push(content); + this._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); + } else { + this._items[position].before(content); + this._items.splice(position, 0, content); + this._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); + } + + this._items[current] && this.reset(this._items[current].index()); + + this.invalidate('items'); + + this.trigger('added', { content: content, position: position }); + }; + + /** + * Removes an item by its position. + * @todo Use `item` instead of `content` for the event arguments. + * @public + * @param {Number} position - The relative position of the item to remove. + */ + Owl.prototype.remove = function(position) { + position = this.normalize(position, true); + + if (position === undefined) { + return; + } + + this.trigger('remove', { content: this._items[position], position: position }); + + this._items[position].remove(); + this._items.splice(position, 1); + this._mergers.splice(position, 1); + + this.invalidate('items'); + + this.trigger('removed', { content: null, position: position }); + }; + + /** + * Preloads images with auto width. + * @todo Replace by a more generic approach + * @protected + */ + Owl.prototype.preloadAutoWidthImages = function(images) { + images.each($.proxy(function(i, element) { + this.enter('pre-loading'); + element = $(element); + $(new Image()).one('load', $.proxy(function(e) { + element.attr('src', e.target.src); + element.css('opacity', 1); + this.leave('pre-loading'); + !this.is('pre-loading') && !this.is('initializing') && this.refresh(); + }, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina')); + }, this)); + }; + + /** + * Destroys the carousel. + * @public + */ + Owl.prototype.destroy = function() { + + this.$element.off('.owl.core'); + this.$stage.off('.owl.core'); + $(document).off('.owl.core'); + + if (this.settings.responsive !== false) { + window.clearTimeout(this.resizeTimer); + this.off(window, 'resize', this._handlers.onThrottledResize); + } + + for (var i in this._plugins) { + this._plugins[i].destroy(); + } + + this.$stage.children('.cloned').remove(); + + this.$stage.unwrap(); + this.$stage.children().contents().unwrap(); + this.$stage.children().unwrap(); + this.$stage.remove(); + this.$element + .removeClass(this.options.refreshClass) + .removeClass(this.options.loadingClass) + .removeClass(this.options.loadedClass) + .removeClass(this.options.rtlClass) + .removeClass(this.options.dragClass) + .removeClass(this.options.grabClass) + .attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\S+\\s', 'g'), '')) + .removeData('owl.carousel'); + }; + + /** + * Operators to calculate right-to-left and left-to-right. + * @protected + * @param {Number} [a] - The left side operand. + * @param {String} [o] - The operator. + * @param {Number} [b] - The right side operand. + */ + Owl.prototype.op = function(a, o, b) { + var rtl = this.settings.rtl; + switch (o) { + case '<': + return rtl ? a > b : a < b; + case '>': + return rtl ? a < b : a > b; + case '>=': + return rtl ? a <= b : a >= b; + case '<=': + return rtl ? a >= b : a <= b; + default: + break; + } + }; + + /** + * Attaches to an internal event. + * @protected + * @param {HTMLElement} element - The event source. + * @param {String} event - The event name. + * @param {Function} listener - The event handler to attach. + * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not. + */ + Owl.prototype.on = function(element, event, listener, capture) { + if (element.addEventListener) { + element.addEventListener(event, listener, capture); + } else if (element.attachEvent) { + element.attachEvent('on' + event, listener); + } + }; + + /** + * Detaches from an internal event. + * @protected + * @param {HTMLElement} element - The event source. + * @param {String} event - The event name. + * @param {Function} listener - The attached event handler to detach. + * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not. + */ + Owl.prototype.off = function(element, event, listener, capture) { + if (element.removeEventListener) { + element.removeEventListener(event, listener, capture); + } else if (element.detachEvent) { + element.detachEvent('on' + event, listener); + } + }; + + /** + * Triggers a public event. + * @todo Remove `status`, `relatedTarget` should be used instead. + * @protected + * @param {String} name - The event name. + * @param {*} [data=null] - The event data. + * @param {String} [namespace=carousel] - The event namespace. + * @param {String} [state] - The state which is associated with the event. + * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not. + * @returns {Event} - The event arguments. + */ + Owl.prototype.trigger = function(name, data, namespace, state, enter) { + var status = { + item: { count: this._items.length, index: this.current() } + }, handler = $.camelCase( + $.grep([ 'on', name, namespace ], function(v) { return v }) + .join('-').toLowerCase() + ), event = $.Event( + [ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(), + $.extend({ relatedTarget: this }, status, data) + ); + + if (!this._supress[name]) { + $.each(this._plugins, function(name, plugin) { + if (plugin.onTrigger) { + plugin.onTrigger(event); + } + }); + + this.register({ type: Owl.Type.Event, name: name }); + this.$element.trigger(event); + + if (this.settings && typeof this.settings[handler] === 'function') { + this.settings[handler].call(this, event); + } + } + + return event; + }; + + /** + * Enters a state. + * @param name - The state name. + */ + Owl.prototype.enter = function(name) { + $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) { + if (this._states.current[name] === undefined) { + this._states.current[name] = 0; + } + + this._states.current[name]++; + }, this)); + }; + + /** + * Leaves a state. + * @param name - The state name. + */ + Owl.prototype.leave = function(name) { + $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) { + this._states.current[name]--; + }, this)); + }; + + /** + * Registers an event or state. + * @public + * @param {Object} object - The event or state to register. + */ + Owl.prototype.register = function(object) { + if (object.type === Owl.Type.Event) { + if (!$.event.special[object.name]) { + $.event.special[object.name] = {}; + } + + if (!$.event.special[object.name].owl) { + var _default = $.event.special[object.name]._default; + $.event.special[object.name]._default = function(e) { + if (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) { + return _default.apply(this, arguments); + } + return e.namespace && e.namespace.indexOf('owl') > -1; + }; + $.event.special[object.name].owl = true; + } + } else if (object.type === Owl.Type.State) { + if (!this._states.tags[object.name]) { + this._states.tags[object.name] = object.tags; + } else { + this._states.tags[object.name] = this._states.tags[object.name].concat(object.tags); + } + + this._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) { + return $.inArray(tag, this._states.tags[object.name]) === i; + }, this)); + } + }; + + /** + * Suppresses events. + * @protected + * @param {Array.} events - The events to suppress. + */ + Owl.prototype.suppress = function(events) { + $.each(events, $.proxy(function(index, event) { + this._supress[event] = true; + }, this)); + }; + + /** + * Releases suppressed events. + * @protected + * @param {Array.} events - The events to release. + */ + Owl.prototype.release = function(events) { + $.each(events, $.proxy(function(index, event) { + delete this._supress[event]; + }, this)); + }; + + /** + * Gets unified pointer coordinates from event. + * @todo #261 + * @protected + * @param {Event} - The `mousedown` or `touchstart` event. + * @returns {Object} - Contains `x` and `y` coordinates of current pointer position. + */ + Owl.prototype.pointer = function(event) { + var result = { x: null, y: null }; + + event = event.originalEvent || event || window.event; + + event = event.touches && event.touches.length ? + event.touches[0] : event.changedTouches && event.changedTouches.length ? + event.changedTouches[0] : event; + + if (event.pageX) { + result.x = event.pageX; + result.y = event.pageY; + } else { + result.x = event.clientX; + result.y = event.clientY; + } + + return result; + }; + + /** + * Determines if the input is a Number or something that can be coerced to a Number + * @protected + * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested + * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number + */ + Owl.prototype.isNumeric = function(number) { + return !isNaN(parseFloat(number)); + }; + + /** + * Gets the difference of two vectors. + * @todo #261 + * @protected + * @param {Object} - The first vector. + * @param {Object} - The second vector. + * @returns {Object} - The difference. + */ + Owl.prototype.difference = function(first, second) { + return { + x: first.x - second.x, + y: first.y - second.y + }; + }; + + /** + * The jQuery Plugin for the Owl Carousel + * @todo Navigation plugin `next` and `prev` + * @public + */ + $.fn.owlCarousel = function(option) { + var args = Array.prototype.slice.call(arguments, 1); + + return this.each(function() { + var $this = $(this), + data = $this.data('owl.carousel'); + + if (!data) { + data = new Owl(this, typeof option == 'object' && option); + $this.data('owl.carousel', data); + + $.each([ + 'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove' + ], function(i, event) { + data.register({ type: Owl.Type.Event, name: event }); + data.$element.on(event + '.owl.carousel.core', $.proxy(function(e) { + if (e.namespace && e.relatedTarget !== this) { + this.suppress([ event ]); + data[event].apply(this, [].slice.call(arguments, 1)); + this.release([ event ]); + } + }, data)); + }); + } + + if (typeof option == 'string' && option.charAt(0) !== '_') { + data[option].apply(data, args); + } + }); + }; + + /** + * The constructor for the jQuery Plugin + * @public + */ + $.fn.owlCarousel.Constructor = Owl; + +})(window.Zepto || window.jQuery, window, document); + +/** + * AutoRefresh Plugin + * @version 2.3.4 + * @author Artus Kolanowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the auto refresh plugin. + * @class The Auto Refresh Plugin + * @param {Owl} carousel - The Owl Carousel + */ + var AutoRefresh = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * Refresh interval. + * @protected + * @type {number} + */ + this._interval = null; + + /** + * Whether the element is currently visible or not. + * @protected + * @type {Boolean} + */ + this._visible = null; + + /** + * All event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'initialized.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.autoRefresh) { + this.watch(); + } + }, this) + }; + + // set default options + this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options); + + // register event handlers + this._core.$element.on(this._handlers); + }; + + /** + * Default options. + * @public + */ + AutoRefresh.Defaults = { + autoRefresh: true, + autoRefreshInterval: 500 + }; + + /** + * Watches the element. + */ + AutoRefresh.prototype.watch = function() { + if (this._interval) { + return; + } + + this._visible = this._core.isVisible(); + this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval); + }; + + /** + * Refreshes the element. + */ + AutoRefresh.prototype.refresh = function() { + if (this._core.isVisible() === this._visible) { + return; + } + + this._visible = !this._visible; + + this._core.$element.toggleClass('owl-hidden', !this._visible); + + this._visible && (this._core.invalidate('width') && this._core.refresh()); + }; + + /** + * Destroys the plugin. + */ + AutoRefresh.prototype.destroy = function() { + var handler, property; + + window.clearInterval(this._interval); + + for (handler in this._handlers) { + this._core.$element.off(handler, this._handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Lazy Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the lazy plugin. + * @class The Lazy Plugin + * @param {Owl} carousel - The Owl Carousel + */ + var Lazy = function(carousel) { + + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * Already loaded items. + * @protected + * @type {Array.} + */ + this._loaded = []; + + /** + * Event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) { + if (!e.namespace) { + return; + } + + if (!this._core.settings || !this._core.settings.lazyLoad) { + return; + } + + if ((e.property && e.property.name == 'position') || e.type == 'initialized') { + var settings = this._core.settings, + n = (settings.center && Math.ceil(settings.items / 2) || settings.items), + i = ((settings.center && n * -1) || 0), + position = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i, + clones = this._core.clones().length, + load = $.proxy(function(i, v) { this.load(v) }, this); + //TODO: Need documentation for this new option + if (settings.lazyLoadEager > 0) { + n += settings.lazyLoadEager; + // If the carousel is looping also preload images that are to the "left" + if (settings.loop) { + position -= settings.lazyLoadEager; + n++; + } + } + + while (i++ < n) { + this.load(clones / 2 + this._core.relative(position)); + clones && $.each(this._core.clones(this._core.relative(position)), load); + position++; + } + } + }, this) + }; + + // set the default options + this._core.options = $.extend({}, Lazy.Defaults, this._core.options); + + // register event handler + this._core.$element.on(this._handlers); + }; + + /** + * Default options. + * @public + */ + Lazy.Defaults = { + lazyLoad: false, + lazyLoadEager: 0 + }; + + /** + * Loads all resources of an item at the specified position. + * @param {Number} position - The absolute position of the item. + * @protected + */ + Lazy.prototype.load = function(position) { + var $item = this._core.$stage.children().eq(position), + $elements = $item && $item.find('.owl-lazy'); + + if (!$elements || $.inArray($item.get(0), this._loaded) > -1) { + return; + } + + $elements.each($.proxy(function(index, element) { + var $element = $(element), image, + url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src') || $element.attr('data-srcset'); + + this._core.trigger('load', { element: $element, url: url }, 'lazy'); + + if ($element.is('img')) { + $element.one('load.owl.lazy', $.proxy(function() { + $element.css('opacity', 1); + this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); + }, this)).attr('src', url); + } else if ($element.is('source')) { + $element.one('load.owl.lazy', $.proxy(function() { + this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); + }, this)).attr('srcset', url); + } else { + image = new Image(); + image.onload = $.proxy(function() { + $element.css({ + 'background-image': 'url("' + url + '")', + 'opacity': '1' + }); + this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); + }, this); + image.src = url; + } + }, this)); + + this._loaded.push($item.get(0)); + }; + + /** + * Destroys the plugin. + * @public + */ + Lazy.prototype.destroy = function() { + var handler, property; + + for (handler in this.handlers) { + this._core.$element.off(handler, this.handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy; + +})(window.Zepto || window.jQuery, window, document); + +/** + * AutoHeight Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the auto height plugin. + * @class The Auto Height Plugin + * @param {Owl} carousel - The Owl Carousel + */ + var AutoHeight = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + this._previousHeight = null; + + /** + * All event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.autoHeight) { + this.update(); + } + }, this), + 'changed.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.autoHeight && e.property.name === 'position'){ + this.update(); + } + }, this), + 'loaded.owl.lazy': $.proxy(function(e) { + if (e.namespace && this._core.settings.autoHeight + && e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) { + this.update(); + } + }, this) + }; + + // set default options + this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options); + + // register event handlers + this._core.$element.on(this._handlers); + this._intervalId = null; + var refThis = this; + + // These changes have been taken from a PR by gavrochelegnou proposed in #1575 + // and have been made compatible with the latest jQuery version + $(window).on('load', function() { + if (refThis._core.settings.autoHeight) { + refThis.update(); + } + }); + + // Autoresize the height of the carousel when window is resized + // When carousel has images, the height is dependent on the width + // and should also change on resize + $(window).resize(function() { + if (refThis._core.settings.autoHeight) { + if (refThis._intervalId != null) { + clearTimeout(refThis._intervalId); + } + + refThis._intervalId = setTimeout(function() { + refThis.update(); + }, 250); + } + }); + + }; + + /** + * Default options. + * @public + */ + AutoHeight.Defaults = { + autoHeight: false, + autoHeightClass: 'owl-height' + }; + + /** + * Updates the view. + */ + AutoHeight.prototype.update = function() { + var start = this._core._current, + end = start + this._core.settings.items, + lazyLoadEnabled = this._core.settings.lazyLoad, + visible = this._core.$stage.children().toArray().slice(start, end), + heights = [], + maxheight = 0; + + $.each(visible, function(index, item) { + heights.push($(item).height()); + }); + + maxheight = Math.max.apply(null, heights); + + if (maxheight <= 1 && lazyLoadEnabled && this._previousHeight) { + maxheight = this._previousHeight; + } + + this._previousHeight = maxheight; + + this._core.$stage.parent() + .height(maxheight) + .addClass(this._core.settings.autoHeightClass); + }; + + AutoHeight.prototype.destroy = function() { + var handler, property; + + for (handler in this._handlers) { + this._core.$element.off(handler, this._handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] !== 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Video Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the video plugin. + * @class The Video Plugin + * @param {Owl} carousel - The Owl Carousel + */ + var Video = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * Cache all video URLs. + * @protected + * @type {Object} + */ + this._videos = {}; + + /** + * Current playing item. + * @protected + * @type {jQuery} + */ + this._playing = null; + + /** + * All event handlers. + * @todo The cloned content removale is too late + * @protected + * @type {Object} + */ + this._handlers = { + 'initialized.owl.carousel': $.proxy(function(e) { + if (e.namespace) { + this._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] }); + } + }, this), + 'resize.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.video && this.isInFullScreen()) { + e.preventDefault(); + } + }, this), + 'refreshed.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.is('resizing')) { + this._core.$stage.find('.cloned .owl-video-frame').remove(); + } + }, this), + 'changed.owl.carousel': $.proxy(function(e) { + if (e.namespace && e.property.name === 'position' && this._playing) { + this.stop(); + } + }, this), + 'prepared.owl.carousel': $.proxy(function(e) { + if (!e.namespace) { + return; + } + + var $element = $(e.content).find('.owl-video'); + + if ($element.length) { + $element.css('display', 'none'); + this.fetch($element, $(e.content)); + } + }, this) + }; + + // set default options + this._core.options = $.extend({}, Video.Defaults, this._core.options); + + // register event handlers + this._core.$element.on(this._handlers); + + this._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) { + this.play(e); + }, this)); + }; + + /** + * Default options. + * @public + */ + Video.Defaults = { + video: false, + videoHeight: false, + videoWidth: false + }; + + /** + * Gets the video ID and the type (YouTube/Vimeo/vzaar only). + * @protected + * @param {jQuery} target - The target containing the video data. + * @param {jQuery} item - The item containing the video. + */ + Video.prototype.fetch = function(target, item) { + var type = (function() { + if (target.attr('data-vimeo-id')) { + return 'vimeo'; + } else if (target.attr('data-vzaar-id')) { + return 'vzaar' + } else { + return 'youtube'; + } + })(), + id = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'), + width = target.attr('data-width') || this._core.settings.videoWidth, + height = target.attr('data-height') || this._core.settings.videoHeight, + url = target.attr('href'); + + if (url) { + + /* + Parses the id's out of the following urls (and probably more): + https://www.youtube.com/watch?v=:id + https://youtu.be/:id + https://vimeo.com/:id + https://vimeo.com/channels/:channel/:id + https://vimeo.com/groups/:group/videos/:id + https://app.vzaar.com/videos/:id + + Visual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F + */ + + id = url.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/); + + if (id[3].indexOf('youtu') > -1) { + type = 'youtube'; + } else if (id[3].indexOf('vimeo') > -1) { + type = 'vimeo'; + } else if (id[3].indexOf('vzaar') > -1) { + type = 'vzaar'; + } else { + throw new Error('Video URL not supported.'); + } + id = id[6]; + } else { + throw new Error('Missing video URL.'); + } + + this._videos[url] = { + type: type, + id: id, + width: width, + height: height + }; + + item.attr('data-video', url); + + this.thumbnail(target, this._videos[url]); + }; + + /** + * Creates video thumbnail. + * @protected + * @param {jQuery} target - The target containing the video data. + * @param {Object} info - The video info object. + * @see `fetch` + */ + Video.prototype.thumbnail = function(target, video) { + var tnLink, + icon, + path, + dimensions = video.width && video.height ? 'width:' + video.width + 'px;height:' + video.height + 'px;' : '', + customTn = target.find('img'), + srcType = 'src', + lazyClass = '', + settings = this._core.settings, + create = function(path) { + icon = '
                                                                        '; + + if (settings.lazyLoad) { + tnLink = $('
                                                                        ',{ + "class": 'owl-video-tn ' + lazyClass, + "srcType": path + }); + } else { + tnLink = $( '
                                                                        ', { + "class": "owl-video-tn", + "style": 'opacity:1;background-image:url(' + path + ')' + }); + } + target.after(tnLink); + target.after(icon); + }; + + // wrap video content into owl-video-wrapper div + target.wrap( $( '
                                                                        ', { + "class": "owl-video-wrapper", + "style": dimensions + })); + + if (this._core.settings.lazyLoad) { + srcType = 'data-src'; + lazyClass = 'owl-lazy'; + } + + // custom thumbnail + if (customTn.length) { + create(customTn.attr(srcType)); + customTn.remove(); + return false; + } + + if (video.type === 'youtube') { + path = "//img.youtube.com/vi/" + video.id + "/hqdefault.jpg"; + create(path); + } else if (video.type === 'vimeo') { + $.ajax({ + type: 'GET', + url: '//vimeo.com/api/v2/video/' + video.id + '.json', + jsonp: 'callback', + dataType: 'jsonp', + success: function(data) { + path = data[0].thumbnail_large; + create(path); + } + }); + } else if (video.type === 'vzaar') { + $.ajax({ + type: 'GET', + url: '//vzaar.com/api/videos/' + video.id + '.json', + jsonp: 'callback', + dataType: 'jsonp', + success: function(data) { + path = data.framegrab_url; + create(path); + } + }); + } + }; + + /** + * Stops the current video. + * @public + */ + Video.prototype.stop = function() { + this._core.trigger('stop', null, 'video'); + this._playing.find('.owl-video-frame').remove(); + this._playing.removeClass('owl-video-playing'); + this._playing = null; + this._core.leave('playing'); + this._core.trigger('stopped', null, 'video'); + }; + + /** + * Starts the current video. + * @public + * @param {Event} event - The event arguments. + */ + Video.prototype.play = function(event) { + var target = $(event.target), + item = target.closest('.' + this._core.settings.itemClass), + video = this._videos[item.attr('data-video')], + width = video.width || '100%', + height = video.height || this._core.$stage.height(), + html, + iframe; + + if (this._playing) { + return; + } + + this._core.enter('playing'); + this._core.trigger('play', null, 'video'); + + item = this._core.items(this._core.relative(item.index())); + + this._core.reset(item.index()); + + html = $( '' ); + html.attr( 'height', height ); + html.attr( 'width', width ); + if (video.type === 'youtube') { + html.attr( 'src', '//www.youtube.com/embed/' + video.id + '?autoplay=1&rel=0&v=' + video.id ); + } else if (video.type === 'vimeo') { + html.attr( 'src', '//player.vimeo.com/video/' + video.id + '?autoplay=1' ); + } else if (video.type === 'vzaar') { + html.attr( 'src', '//view.vzaar.com/' + video.id + '/player?autoplay=true' ); + } + + iframe = $(html).wrap( '
                                                                        ' ).insertAfter(item.find('.owl-video')); + + this._playing = item.addClass('owl-video-playing'); + }; + + /** + * Checks whether an video is currently in full screen mode or not. + * @todo Bad style because looks like a readonly method but changes members. + * @protected + * @returns {Boolean} + */ + Video.prototype.isInFullScreen = function() { + var element = document.fullscreenElement || document.mozFullScreenElement || + document.webkitFullscreenElement; + + return element && $(element).parent().hasClass('owl-video-frame'); + }; + + /** + * Destroys the plugin. + */ + Video.prototype.destroy = function() { + var handler, property; + + this._core.$element.off('click.owl.video'); + + for (handler in this._handlers) { + this._core.$element.off(handler, this._handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.Video = Video; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Animate Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the animate plugin. + * @class The Navigation Plugin + * @param {Owl} scope - The Owl Carousel + */ + var Animate = function(scope) { + this.core = scope; + this.core.options = $.extend({}, Animate.Defaults, this.core.options); + this.swapping = true; + this.previous = undefined; + this.next = undefined; + + this.handlers = { + 'change.owl.carousel': $.proxy(function(e) { + if (e.namespace && e.property.name == 'position') { + this.previous = this.core.current(); + this.next = e.property.value; + } + }, this), + 'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) { + if (e.namespace) { + this.swapping = e.type == 'translated'; + } + }, this), + 'translate.owl.carousel': $.proxy(function(e) { + if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) { + this.swap(); + } + }, this) + }; + + this.core.$element.on(this.handlers); + }; + + /** + * Default options. + * @public + */ + Animate.Defaults = { + animateOut: false, + animateIn: false + }; + + /** + * Toggles the animation classes whenever an translations starts. + * @protected + * @returns {Boolean|undefined} + */ + Animate.prototype.swap = function() { + + if (this.core.settings.items !== 1) { + return; + } + + if (!$.support.animation || !$.support.transition) { + return; + } + + this.core.speed(0); + + var left, + clear = $.proxy(this.clear, this), + previous = this.core.$stage.children().eq(this.previous), + next = this.core.$stage.children().eq(this.next), + incoming = this.core.settings.animateIn, + outgoing = this.core.settings.animateOut; + + if (this.core.current() === this.previous) { + return; + } + + if (outgoing) { + left = this.core.coordinates(this.previous) - this.core.coordinates(this.next); + previous.one($.support.animation.end, clear) + .css( { 'left': left + 'px' } ) + .addClass('animated owl-animated-out') + .addClass(outgoing); + } + + if (incoming) { + next.one($.support.animation.end, clear) + .addClass('animated owl-animated-in') + .addClass(incoming); + } + }; + + Animate.prototype.clear = function(e) { + $(e.target).css( { 'left': '' } ) + .removeClass('animated owl-animated-out owl-animated-in') + .removeClass(this.core.settings.animateIn) + .removeClass(this.core.settings.animateOut); + this.core.onTransitionEnd(); + }; + + /** + * Destroys the plugin. + * @public + */ + Animate.prototype.destroy = function() { + var handler, property; + + for (handler in this.handlers) { + this.core.$element.off(handler, this.handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.Animate = Animate; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Autoplay Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author Artus Kolanowski + * @author David Deutsch + * @author Tom De Caluwé + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the autoplay plugin. + * @class The Autoplay Plugin + * @param {Owl} scope - The Owl Carousel + */ + var Autoplay = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * The autoplay timeout id. + * @type {Number} + */ + this._call = null; + + /** + * Depending on the state of the plugin, this variable contains either + * the start time of the timer or the current timer value if it's + * paused. Since we start in a paused state we initialize the timer + * value. + * @type {Number} + */ + this._time = 0; + + /** + * Stores the timeout currently used. + * @type {Number} + */ + this._timeout = 0; + + /** + * Indicates whenever the autoplay is paused. + * @type {Boolean} + */ + this._paused = true; + + /** + * All event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'changed.owl.carousel': $.proxy(function(e) { + if (e.namespace && e.property.name === 'settings') { + if (this._core.settings.autoplay) { + this.play(); + } else { + this.stop(); + } + } else if (e.namespace && e.property.name === 'position' && this._paused) { + // Reset the timer. This code is triggered when the position + // of the carousel was changed through user interaction. + this._time = 0; + } + }, this), + 'initialized.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.autoplay) { + this.play(); + } + }, this), + 'play.owl.autoplay': $.proxy(function(e, t, s) { + if (e.namespace) { + this.play(t, s); + } + }, this), + 'stop.owl.autoplay': $.proxy(function(e) { + if (e.namespace) { + this.stop(); + } + }, this), + 'mouseover.owl.autoplay': $.proxy(function() { + if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { + this.pause(); + } + }, this), + 'mouseleave.owl.autoplay': $.proxy(function() { + if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { + this.play(); + } + }, this), + 'touchstart.owl.core': $.proxy(function() { + if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { + this.pause(); + } + }, this), + 'touchend.owl.core': $.proxy(function() { + if (this._core.settings.autoplayHoverPause) { + this.play(); + } + }, this) + }; + + // register event handlers + this._core.$element.on(this._handlers); + + // set default options + this._core.options = $.extend({}, Autoplay.Defaults, this._core.options); + }; + + /** + * Default options. + * @public + */ + Autoplay.Defaults = { + autoplay: false, + autoplayTimeout: 5000, + autoplayHoverPause: false, + autoplaySpeed: false + }; + + /** + * Transition to the next slide and set a timeout for the next transition. + * @private + * @param {Number} [speed] - The animation speed for the animations. + */ + Autoplay.prototype._next = function(speed) { + this._call = window.setTimeout( + $.proxy(this._next, this, speed), + this._timeout * (Math.round(this.read() / this._timeout) + 1) - this.read() + ); + + if (this._core.is('interacting') || document.hidden) { + return; + } + this._core.next(speed || this._core.settings.autoplaySpeed); + } + + /** + * Reads the current timer value when the timer is playing. + * @public + */ + Autoplay.prototype.read = function() { + return new Date().getTime() - this._time; + }; + + /** + * Starts the autoplay. + * @public + * @param {Number} [timeout] - The interval before the next animation starts. + * @param {Number} [speed] - The animation speed for the animations. + */ + Autoplay.prototype.play = function(timeout, speed) { + var elapsed; + + if (!this._core.is('rotating')) { + this._core.enter('rotating'); + } + + timeout = timeout || this._core.settings.autoplayTimeout; + + // Calculate the elapsed time since the last transition. If the carousel + // wasn't playing this calculation will yield zero. + elapsed = Math.min(this._time % (this._timeout || timeout), timeout); + + if (this._paused) { + // Start the clock. + this._time = this.read(); + this._paused = false; + } else { + // Clear the active timeout to allow replacement. + window.clearTimeout(this._call); + } + + // Adjust the origin of the timer to match the new timeout value. + this._time += this.read() % timeout - elapsed; + + this._timeout = timeout; + this._call = window.setTimeout($.proxy(this._next, this, speed), timeout - elapsed); + }; + + /** + * Stops the autoplay. + * @public + */ + Autoplay.prototype.stop = function() { + if (this._core.is('rotating')) { + // Reset the clock. + this._time = 0; + this._paused = true; + + window.clearTimeout(this._call); + this._core.leave('rotating'); + } + }; + + /** + * Pauses the autoplay. + * @public + */ + Autoplay.prototype.pause = function() { + if (this._core.is('rotating') && !this._paused) { + // Pause the clock. + this._time = this.read(); + this._paused = true; + + window.clearTimeout(this._call); + } + }; + + /** + * Destroys the plugin. + */ + Autoplay.prototype.destroy = function() { + var handler, property; + + this.stop(); + + for (handler in this._handlers) { + this._core.$element.off(handler, this._handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Navigation Plugin + * @version 2.3.4 + * @author Artus Kolanowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + 'use strict'; + + /** + * Creates the navigation plugin. + * @class The Navigation Plugin + * @param {Owl} carousel - The Owl Carousel. + */ + var Navigation = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * Indicates whether the plugin is initialized or not. + * @protected + * @type {Boolean} + */ + this._initialized = false; + + /** + * The current paging indexes. + * @protected + * @type {Array} + */ + this._pages = []; + + /** + * All DOM elements of the user interface. + * @protected + * @type {Object} + */ + this._controls = {}; + + /** + * Markup for an indicator. + * @protected + * @type {Array.} + */ + this._templates = []; + + /** + * The carousel element. + * @type {jQuery} + */ + this.$element = this._core.$element; + + /** + * Overridden methods of the carousel. + * @protected + * @type {Object} + */ + this._overrides = { + next: this._core.next, + prev: this._core.prev, + to: this._core.to + }; + + /** + * All event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'prepared.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.dotsData) { + this._templates.push('
                                                                        ' + + $(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '
                                                                        '); + } + }, this), + 'added.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.dotsData) { + this._templates.splice(e.position, 0, this._templates.pop()); + } + }, this), + 'remove.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.dotsData) { + this._templates.splice(e.position, 1); + } + }, this), + 'changed.owl.carousel': $.proxy(function(e) { + if (e.namespace && e.property.name == 'position') { + this.draw(); + } + }, this), + 'initialized.owl.carousel': $.proxy(function(e) { + if (e.namespace && !this._initialized) { + this._core.trigger('initialize', null, 'navigation'); + this.initialize(); + this.update(); + this.draw(); + this._initialized = true; + this._core.trigger('initialized', null, 'navigation'); + } + }, this), + 'refreshed.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._initialized) { + this._core.trigger('refresh', null, 'navigation'); + this.update(); + this.draw(); + this._core.trigger('refreshed', null, 'navigation'); + } + }, this) + }; + + // set default options + this._core.options = $.extend({}, Navigation.Defaults, this._core.options); + + // register event handlers + this.$element.on(this._handlers); + }; + + /** + * Default options. + * @public + * @todo Rename `slideBy` to `navBy` + */ + Navigation.Defaults = { + nav: false, + navText: [ + '', + '' + ], + navSpeed: false, + navElement: 'button type="button" role="presentation"', + navContainer: false, + navContainerClass: 'owl-nav', + navClass: [ + 'owl-prev', + 'owl-next' + ], + slideBy: 1, + dotClass: 'owl-dot', + dotsClass: 'owl-dots', + dots: true, + dotsEach: false, + dotsData: false, + dotsSpeed: false, + dotsContainer: false + }; + + /** + * Initializes the layout of the plugin and extends the carousel. + * @protected + */ + Navigation.prototype.initialize = function() { + var override, + settings = this._core.settings; + + // create DOM structure for relative navigation + this._controls.$relative = (settings.navContainer ? $(settings.navContainer) + : $('
                                                                        ').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled'); + + this._controls.$previous = $('<' + settings.navElement + '>') + .addClass(settings.navClass[0]) + .html(settings.navText[0]) + .prependTo(this._controls.$relative) + .on('click', $.proxy(function(e) { + this.prev(settings.navSpeed); + }, this)); + this._controls.$next = $('<' + settings.navElement + '>') + .addClass(settings.navClass[1]) + .html(settings.navText[1]) + .appendTo(this._controls.$relative) + .on('click', $.proxy(function(e) { + this.next(settings.navSpeed); + }, this)); + + // create DOM structure for absolute navigation + if (!settings.dotsData) { + this._templates = [ $(' +
                                                                        +
                                                                        + + + +
                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/img/checkbox.png b/web/html/theme/AT_WEB01/skin/member/basic/img/checkbox.png new file mode 100644 index 0000000..838b8be Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/member/basic/img/checkbox.png differ diff --git a/web/html/theme/AT_WEB01/skin/member/basic/img/id_icon.png b/web/html/theme/AT_WEB01/skin/member/basic/img/id_icon.png new file mode 100644 index 0000000..3f8b798 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/member/basic/img/id_icon.png differ diff --git a/web/html/theme/AT_WEB01/skin/member/basic/img/mypage_icon1.png b/web/html/theme/AT_WEB01/skin/member/basic/img/mypage_icon1.png new file mode 100644 index 0000000..6e4e333 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/member/basic/img/mypage_icon1.png differ diff --git a/web/html/theme/AT_WEB01/skin/member/basic/img/mypage_icon2.png b/web/html/theme/AT_WEB01/skin/member/basic/img/mypage_icon2.png new file mode 100644 index 0000000..291a342 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/member/basic/img/mypage_icon2.png differ diff --git a/web/html/theme/AT_WEB01/skin/member/basic/img/pass_icon.png b/web/html/theme/AT_WEB01/skin/member/basic/img/pass_icon.png new file mode 100644 index 0000000..7252c02 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/member/basic/img/pass_icon.png differ diff --git a/web/html/theme/AT_WEB01/skin/member/basic/img/zip_ico_up.gif b/web/html/theme/AT_WEB01/skin/member/basic/img/zip_ico_up.gif new file mode 100644 index 0000000..a1eff70 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/member/basic/img/zip_ico_up.gif differ diff --git a/web/html/theme/AT_WEB01/skin/member/basic/login.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/login.skin.php new file mode 100644 index 0000000..58ca9bd --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/login.skin.php @@ -0,0 +1,80 @@ +', 0); +?> + + +
                                                                        +

                                                                        + + LOGIN +

                                                                        + +
                                                                        + + +
                                                                        + 회원로그인 + + + + + +
                                                                        + + + + + +
                                                                        + + +
                                                                        + + + diff --git a/web/html/theme/AT_WEB01/skin/member/basic/login_check.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/login_check.skin.php new file mode 100644 index 0000000..95608c8 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/login_check.skin.php @@ -0,0 +1,5 @@ + diff --git a/web/html/theme/AT_WEB01/skin/member/basic/member_confirm.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/member_confirm.skin.php new file mode 100644 index 0000000..457a318 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/member_confirm.skin.php @@ -0,0 +1,45 @@ +', 0); +?> + + +
                                                                        +

                                                                        + +

                                                                        + 비밀번호를 한번 더 입력해주세요. + + 비밀번호를 입력하시면 회원탈퇴가 완료됩니다. + + 회원님의 정보를 안전하게 보호하기 위해 비밀번호를 한번 더 확인합니다. + +

                                                                        + +
                                                                        + + + +
                                                                        + 회원아이디 + + + + +
                                                                        + +
                                                                        + +
                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/memo.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/memo.skin.php new file mode 100644 index 0000000..82207d2 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/memo.skin.php @@ -0,0 +1,47 @@ +', 0); +?> + + +
                                                                        +

                                                                        +
                                                                        + +
                                                                        + + 전체 쪽지
                                                                        +
                                                                        +
                                                                        +
                                                                        + +
                                                                          + +
                                                                        • + + - 삭제 +
                                                                        • + + 자료가 없습니다.'; } ?> +
                                                                        +
                                                                        + + + + +

                                                                        + 쪽지 보관일수는 최장 일 입니다. +

                                                                        + +
                                                                        + +
                                                                        +
                                                                        +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/memo_form.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/memo_form.skin.php new file mode 100644 index 0000000..67693cb --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/memo_form.skin.php @@ -0,0 +1,60 @@ +', 0); +?> + + +
                                                                        +

                                                                        쪽지 보내기

                                                                        +
                                                                        + + +
                                                                        +
                                                                        +

                                                                        쪽지쓰기

                                                                        +
                                                                          +
                                                                        • + + + + 여러 회원에게 보낼때는 컴마(,)로 구분하세요. + +
                                                                          쪽지 보낼때 회원당 점의 포인트를 차감합니다. + +
                                                                        • +
                                                                        • + + +
                                                                        • +
                                                                        • + 자동등록방지 + + + +
                                                                        • +
                                                                        +
                                                                        + +
                                                                        + + +
                                                                        +
                                                                        + +
                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/memo_view.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/memo_view.skin.php new file mode 100644 index 0000000..fe62d7a --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/memo_view.skin.php @@ -0,0 +1,63 @@ +', 0); +?> + + +
                                                                        +

                                                                        +
                                                                        + + + + +
                                                                        +
                                                                        +

                                                                        쪽지 내용

                                                                        +
                                                                        +
                                                                          +
                                                                        • + 사람 + +
                                                                        • +
                                                                        • + 시간 + +
                                                                        • +
                                                                        +

                                                                        + +

                                                                        +
                                                                        + + +
                                                                        + + 이전쪽지 + + + 다음쪽지 + + + 목록 + + 답장 +
                                                                        +
                                                                        +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/password.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/password.skin.php new file mode 100644 index 0000000..eab8475 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/password.skin.php @@ -0,0 +1,46 @@ +', 0); +?> + + +
                                                                        +

                                                                        +

                                                                        + + 작성자만 글을 수정할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 수정할 수 있습니다. + + 작성자만 글을 삭제할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 삭제할 수 있습니다. + + 비밀글 기능으로 보호된 글입니다. + 작성자와 관리자만 열람하실 수 있습니다.
                                                                        본인이라면 비밀번호를 입력하세요. + +

                                                                        + +
                                                                        + + + + + + + + +
                                                                        + + + +
                                                                        +
                                                                        + +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/password_lost.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/password_lost.skin.php new file mode 100644 index 0000000..ff9bb9e --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/password_lost.skin.php @@ -0,0 +1,48 @@ +', 0); +?> + + +
                                                                        +

                                                                        회원정보 찾기

                                                                        +
                                                                        +
                                                                        +
                                                                        +

                                                                        + 회원가입 시 등록하신 이메일 주소를 입력해 주세요.
                                                                        + 해당 이메일로 아이디와 비밀번호 정보를 보내드립니다. +

                                                                        + + +
                                                                        + + + +
                                                                        + + + +
                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/point.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/point.skin.php new file mode 100644 index 0000000..5c0c80d --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/point.skin.php @@ -0,0 +1,79 @@ +', 0); +?> + +
                                                                        +

                                                                        + +
                                                                        + +
                                                                          +
                                                                        • + 보유포인트 + +
                                                                        • + 0) { + $point1 = '+' .number_format($row['po_point']); + $sum_point1 += $row['po_point']; + } else { + $point2 = number_format($row['po_point']); + $sum_point2 += $row['po_point']; + } + + $po_content = $row['po_content']; + + $expr = ''; + if($row['po_expired'] == 1) + $expr = ' txt_expired'; + ?> +
                                                                        • +
                                                                          + + + +
                                                                          + + + + 만료 + + +
                                                                        • + 자료가 없습니다.'; + else { + if ($sum_point1 > 0) + $sum_point1 = "+" . number_format($sum_point1); + $sum_point2 = number_format($sum_point2); + } + ?> + +
                                                                        • + 소계 + + +
                                                                        • +
                                                                        + +
                                                                        + + + + +
                                                                        \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/profile.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/profile.skin.php new file mode 100644 index 0000000..31fa9c1 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/profile.skin.php @@ -0,0 +1,52 @@ +', 0); +?> + + +
                                                                        +

                                                                        님의 프로필

                                                                        +
                                                                        + + + + +
                                                                        +
                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                        회원권한 포인트
                                                                        회원가입일= $mb['mb_level']) ? substr($mb['mb_datetime'],0,10) ." (".number_format($mb_reg_after)." 일)" : "알 수 없음"; ?> 최종접속일= $mb['mb_level']) ? $mb['mb_today_login'] : "알 수 없음"; ?>
                                                                        홈페이지
                                                                        + + +
                                                                        +

                                                                        인사말

                                                                        +

                                                                        +
                                                                        +
                                                                        +
                                                                        + +
                                                                        +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/register.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/register.skin.php new file mode 100644 index 0000000..5db2669 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/register.skin.php @@ -0,0 +1,111 @@ +', 0); +?> + + +
                                                                        +
                                                                        + +
                                                                        + +

                                                                        회원가입 및 약관동의

                                                                        join +
                                                                        +
                                                                        + + +
                                                                        + + + +
                                                                        +
                                                                        +

                                                                        이용약관

                                                                        + +
                                                                        + + +
                                                                        +
                                                                        + +
                                                                        +

                                                                        개인정보처리방침안내

                                                                        +
                                                                        +
                                                                        +
                                                                        수집하는 개인정보의 항목
                                                                        +

                                                                        회사는 회원가입, 상담, 서비스 신청 등을 위해 아래와 같은 개인정보를 수집하고 있습니다.

                                                                        +
                                                                          +
                                                                        • - 수집항목 : 아이디, 별명, 패스워드, 성명, e-mail, 주소, 전화번호, 휴대전화, 생년월일, 결혼, 추천인 아이디
                                                                        • +
                                                                        • - 개인정보 수집방법 : 홈페이지(회원가입)
                                                                        • +
                                                                        + +
                                                                        개인정보의 수집 및 이용목적
                                                                        +

                                                                        회사는 수집한 개인정보를 다음의 목적을 위해 활용합니다.

                                                                        +
                                                                          +
                                                                        • + - 서비스 제공에 관한 계약 이행 및 서비스 제공에 따른 요금정산 +

                                                                          구매 및 요금 결제, 물품배송 또는 청구지 등 발송

                                                                          +
                                                                        • +
                                                                        • + - 회원 관리 +

                                                                          회원제 서비스 이용에 따른 본인확인, 개인 식별, 불량회원의 부정 이용 방지와 비인가 사용 방지, 가입 의사 확인, 연령확인

                                                                          +
                                                                        • +
                                                                        + +
                                                                        개인정보의 보유 및 이용기간
                                                                        +

                                                                        회사는 개인정보 수집 및 이용목적이 달성된 후에는 예외 없이 해당 정보를 지체 없이 파기합니다.

                                                                        +
                                                                        +
                                                                        + +
                                                                        + + +
                                                                        +
                                                                        + +
                                                                        + +
                                                                        + +
                                                                        + + +
                                                                        +
                                                                        + diff --git a/web/html/theme/AT_WEB01/skin/member/basic/register_form.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/register_form.skin.php new file mode 100644 index 0000000..38a2f66 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/register_form.skin.php @@ -0,0 +1,470 @@ +', 0); +?> + + + + + + + + +
                                                                        + + + + + + + + date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면 ?> + + + + + + +
                                                                        + +
                                                                        + + +
                                                                        +
                                                                        + +

                                                                        회원가입 및 약관동의

                                                                        join +
                                                                        +
                                                                        + +

                                                                        필수 입력 항목

                                                                        + +
                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                        + class="frm_input " minlength="3" maxlength="20"> + 영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요. + +
                                                                        class="frm_input " minlength="3" maxlength="20">
                                                                        class="frm_input " minlength="3" maxlength="20">
                                                                        + + 아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다. + + class="frm_input " size="10"> + 아이핀 본인확인'.PHP_EOL; + if($config['cf_cert_hp']) + echo ''.PHP_EOL; + + echo ''.PHP_EOL; + } + ?> + +
                                                                        + 본인확인성인인증 완료 +
                                                                        + +
                                                                        + + + + 공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)
                                                                        + 닉네임을 바꾸시면 앞으로 일 이내에는 변경 할 수 없습니다. +
                                                                        + +
                                                                        + + + + + + + + +
                                                                        class="frm_input " size="70" maxlength="255">
                                                                        class="frm_input " maxlength="20">
                                                                        + class="frm_input " maxlength="20"> + + + +
                                                                        + 주소 + 필수 + + + class="frm_input " size="5" maxlength="6"> +
                                                                        + class="frm_input frm_address " size="50"> +
                                                                        + + +
                                                                        + + + +
                                                                        +
                                                                        + + + + +

                                                                        부가 입력 항목

                                                                        +
                                                                        + + + + + + + + + + + + + + + + + + = $config['cf_icon_level']) { ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                        + + 이미지 크기는 가로 픽셀, 세로 픽셀 이하로 해주세요.
                                                                        + gif만 가능하며 용량 바이트 이하만 등록됩니다. +
                                                                        + + + 회원아이콘 + + + +
                                                                        + > + 정보 메일을 받겠습니다. +
                                                                        + > + 휴대폰 문자메세지를 받겠습니다. +
                                                                        + + 정보공개를 바꾸시면 앞으로 일 이내에는 변경이 안됩니다. + + + id="reg_mb_open"> + 다른분들이 나의 정보를 볼 수 있도록 합니다. +
                                                                        정보공개 + + 정보공개는 수정후 일 이내, 까지는 변경이 안됩니다.
                                                                        + 이렇게 하는 이유는 잦은 정보공개 수정으로 인하여 쪽지를 보낸 후 받지 않는 경우를 막기 위해서 입니다. +
                                                                        + +
                                                                        자동등록방지
                                                                        +
                                                                        + +
                                                                        +
                                                                        + 취소 + +
                                                                        +
                                                                        +
                                                                        + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/register_result.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/register_result.skin.php new file mode 100644 index 0000000..d425300 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/register_result.skin.php @@ -0,0 +1,63 @@ +', 0); +?> + + +
                                                                        +
                                                                        +

                                                                        회원가입이 완료되었습니다.

                                                                        +

                                                                        + 님의 회원가입을 축하합니다.
                                                                        +

                                                                        + + +

                                                                        + 회원 가입 시 입력하신 이메일 주소로 인증메일이 발송되었습니다.
                                                                        + 발송된 인증메일을 확인하신 후 인증처리를 하시면 사이트를 원활하게 이용하실 수 있습니다. +

                                                                        +
                                                                        + 아이디 +
                                                                        + 이메일 주소 + +
                                                                        +

                                                                        + 이메일 주소를 잘못 입력하셨다면, 사이트 관리자에게 문의해주시기 바랍니다. +

                                                                        + + +

                                                                        + 회원님의 비밀번호는 아무도 알 수 없는 암호화 코드로 저장되므로 안심하셔도 좋습니다.
                                                                        + 아이디, 비밀번호 분실시에는 회원가입시 입력하신 이메일 주소를 이용하여 찾을 수 있습니다. +

                                                                        + +

                                                                        + 회원 탈퇴는 언제든지 가능하며 일정기간이 지난 후, 회원님의 정보는 삭제하고 있습니다.
                                                                        + 감사합니다. +

                                                                        + + 메인으로 + +
                                                                        +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/scrap.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/scrap.skin.php new file mode 100644 index 0000000..c2a7c52 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/scrap.skin.php @@ -0,0 +1,33 @@ +', 0); +?> + + +
                                                                        +

                                                                        + +
                                                                        +
                                                                          + +
                                                                        • + + + + 삭제 +
                                                                        • + + + 자료가 없습니다."; ?> +
                                                                        +
                                                                        + + + +
                                                                        + +
                                                                        +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/scrap_popin.skin.php b/web/html/theme/AT_WEB01/skin/member/basic/scrap_popin.skin.php new file mode 100644 index 0000000..ad3ed8b --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/scrap_popin.skin.php @@ -0,0 +1,40 @@ +', 0); +?> + + +
                                                                        +

                                                                        스크랩하기

                                                                        +
                                                                        + + +
                                                                        + +
                                                                        +

                                                                        제목 확인 및 댓글 쓰기

                                                                        +
                                                                          +
                                                                        • + 제목 + +
                                                                        • +
                                                                        • + + +
                                                                        • +
                                                                        +
                                                                        + +

                                                                        + 스크랩을 하시면서 감사 혹은 격려의 댓글을 남기실 수 있습니다. +

                                                                        + +
                                                                        + +
                                                                        +
                                                                        +
                                                                        +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/member/basic/style.css b/web/html/theme/AT_WEB01/skin/member/basic/style.css new file mode 100644 index 0000000..cc3e860 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/member/basic/style.css @@ -0,0 +1,391 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 버튼 */ +.mbskin a.btn01 {} +.mbskin a.btn01:focus, .mbskin .btn01:hover {} +.mbskin a.btn02 {} +.mbskin a.btn02:focus, .mbskin .btn02:hover {} +.mbskin .btn_confirm {} /* 서식단계 진행 */ +.mbskin .btn_submit {} +.mbskin button.btn_submit {} +.mbskin fieldset .btn_submit {} +.mbskin .btn_cancel {} +.mbskin button.btn_cancel {} +.mbskin .btn_cancel:focus, .mbskin .btn_cancel:hover {} +.mbskin a.btn_frmline, .mbskin button.btn_frmline {} /* 우편번호검색버튼 등 */ +.mbskin button.btn_frmline {} +.mbskin .win_btn {} /* 새창용 */ +.mbskin .win_btn button {} +.mbskin .win_btn input {} +.mbskin .win_btn a {} +.mbskin .win_btn a:focus, .mbskin .win_btn a:hover {} + +/* 게시판용 버튼 */ +.mbskin a.btn_b01 {} +.mbskin a.btn_b01:focus, .mbskin .btn_b01:hover {} +.mbskin a.btn_b02 {} +.mbskin a.btn_b02:focus, .mbskin .btn_b02:hover {} +.mbskin a.btn_admin {} /* 관리자 전용 버튼 */ +.mbskin a.btn_admin:focus, .mbskin a.btn_admin:hover {} + +/* 기본박스 */ +.mbskin{position: relative;margin:100px auto 0;border:1px solid #ddd;width:400px;background:#fff;text-align:center; +} +.mbskin:before,.mbskin:after{ +content:""; +position:absolute;z-index:-1;top:2%;bottom:0;left:10px;right:10px; +-webkit-box-shadow:0 0 20px rgba(0,0,0,0.8); + -moz-box-shadow:0 0 20px rgba(0,0,0,0.8); + box-shadow:0 0 20px rgba(0,0,0,0.8); +-moz-border-radius:100px / 10px; + border-radius:100px / 10px;} +.mbskin:after{right:10px;left:auto; + -webkit-transform:skew(8deg) rotate(3deg); + -moz-transform:skew(8deg) rotate(3deg); + -ms-transform:skew(8deg) rotate(3deg); + -o-transform:skew(8deg) rotate(3deg); + transform:skew(8deg) rotate(3deg);} +.mbskin .frm_input{width:100%} +.mbskin .btn_submit{width:100%;margin:10px 0 0;height:45px;font-weight:bold;font-size:1.25em} +.mbskin h1{margin: 60px 0 30px;font-size: 2em;} + + +/* 기본테이블 */ + +.mbskin .tbl_head01 {} +.mbskin .tbl_head01 caption {} +.mbskin .tbl_head01 thead th {} +.mbskin .tbl_head01 thead a {} +.mbskin .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.mbskin .tbl_head01 tfoot th {} +.mbskin .tbl_head01 tfoot td {} +.mbskin .tbl_head01 tbody th {} +.mbskin .tbl_head01 td {} +.mbskin .tbl_head01 a {} +.mbskin td.empty_table {} + +/* 폼 테이블 */ +.mbskin table {} +.mbskin caption {} +.mbskin .frm_info {} +.mbskin .frm_file {} + +.mbskin .tbl_frm01 {} +.mbskin .tbl_frm01 th {width:85px;} +.mbskin .tbl_frm01 td {} +.mbskin .tbl_frm01 textarea, .mb_skin tbl_frm01 .frm_input {} +.mbskin .tbl_frm01 textarea {} +/* +.mbskin .tbl_frm01 #captcha {} +.mbskin .tbl_frm01 #captcha input {} +*/ +.mbskin .tbl_frm01 a {} + +/* 필수입력 */ +.mbskin .required, .mbskin textarea.required {} + +/* 테이블 항목별 정의 */ +.mbskin .td_board {} +.mbskin .td_chk {} +.mbskin .td_date {} +.mbskin .td_datetime {} +.mbskin .td_group {} +.mbskin .td_mb_id {} +.mbskin .td_mng {} +.mbskin .td_name {} +.mbskin .td_nick {} +.mbskin .td_num {} +.mbskin .td_numbig {} + +.mbskin .txt_active {} +.mbskin .txt_expired {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 회원가입 약관 */ +#fregister p{text-align:center;color: #c7254e;background: #f9f2f4;padding:10px;border:1px solid #ecc7d2;margin:0 0 5px} +#fregister section {;margin:10px auto 30px;border:1px solid #dbdbdb;position:relative;border-radius:3px 3px 0 0 ; +-webkit-box-shadow: 0 1px 3px #eee; +-moz-box-shadow: 0 1px 3px #eee; +box-shadow: 0 1px 3px #eee; +} +#fregister_chkall{text-align:right} +#fregister h2 {text-align:left;padding:15px 20px;border-bottom:1px solid #dbdbdb;background:#f8f8f8} +#fregister textarea {display:block;padding:20px;width:100%;height:150px;background:#fff;border:0;line-height:1.6em} +#fregister .fregister_agree {position:absolute;top:0;right:0;;padding:15px} +#fregister_private div{padding:20px;background:#fff} +#fregister_private table{width:100%;border-collapse:collapse} +#fregister_private table caption {position:absolute;font-size:0;line-height:0;overflow:hidden} +#fregister_private table th{background:#646982;width:33.33%;color:#fff;padding:10px;border:1px solid #555971} +#fregister_private table td{border:1px solid #ddd;padding:10px;} +#fregister .btn_confirm{text-align:center;} +#fregister .btn_confirm .btn_submit{height:50px;padding:0 40px;font-weight:bold;font-size:1.083em} + +/* 회원가입 입력 */ +#register_form{background:#fff;padding:20px;margin-bottom:20px} +#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center} +#fregisterform .frm_address {margin:5px 0 0} +#fregisterform #mb_addr3 {display:inline-block;margin:5px 0 0;vertical-align:middle} +#fregisterform #mb_addr_jibeon {display:block;margin:5px 0 0} +#fregisterform .btn_confirm{text-align:center} +#fregisterform .btn_confirm .btn_submit{height:45px;;padding:0 30px;font-weight:bold;font-size:1.083em} +#fregisterform .btn_confirm .btn_cancel{line-height:45px;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em} +#fregisterform .frm_info{display:block;color:#3497d9;font-size:0.92em} +#fregisterform .form_01 div{margin: 0 0 50px} +#fregisterform .captcha{display:block;margin:5px 0 0} +#fregisterform .reg_mb_img_file img{max-width:100%;height:auto} + + +/* 회원가입 완료 */ +#reg_result {padding:100px 0 40px;text-align:center;background:#fff} +#reg_result h2{font-size:2em;margin:0 0 20px} +#reg_result h2 strong{color:#ed6478} +#reg_result #result_email {margin:20px 0;padding:10px 50px;border-top:1px solid #e9e9e9;border-bottom:1px solid #dde4e9;background:#fff;line-height:2em} +#reg_result #result_email span {display:inline-block;width:150px} +#reg_result #result_email strong {color:#e8180c;font-size:1.2em} +#reg_result p {line-height:1.8em} +#reg_result .btn_confirm {margin:50px 0} +#reg_result .reg_result_p{font-size:1.25em;margin:0 0 10px;} +#reg_result .reg_result_p strong{color:#3497d9} +#reg_result .btn_submit{padding: 0 30px;font-weight:bold;height:40px;line-height:40px;display:inline-block;margin:30px 0 0 ;font-size:1.083em} + +/* 아이디/비밀번호 찾기 */ +#find_info #mb_hp_label {display:inline-block;margin-left:10px} +#find_info p {line-height:1.5em} +#find_info #mb_email{margin:10px 0;} + +/* 로그인 */ +#mb_login {} +#login_fs{padding:0 50px} +#mb_login #login_fs .frm_input{margin:0 0 10px} +#mb_login #login_fs .btn_submit {margin:0 0 20px} +#mb_login #login_info{background:#f6f6f6;padding:25px 10px;border-top:1px solid #e8e8e8;margin:40px 0 0 } +#mb_login #login_info:after {display:block;visibility:hidden;clear:both;content:""} +#mb_login #login_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#mb_login #login_info a{display:inline-block;width:50%;float:left} +#login_password_lost{border-right:1px solid #ddd} + +#mb_login_notmb{margin:30px auto;padding:20px 30px } +#mb_login_notmb h2{font-size:1.25em;margin:20px 0 10px} +#guest_privacy{border:1px solid #ccc;text-align:left;line-height:1.6em;color:#666;background:#fafafa;padding:10px;height:150px;margin:10px 0;overflow-y:auto} +#mb_login_notmb .btn_submit{display:block;text-align:center;line-height:45px} + +#mb_login_od_wr{margin:30px auto;padding:20px 30px } +#mb_login_od_wr h2{font-size:1.25em;margin:20px 0 10px} +#mb_login_od_wr .frm_input{margin:10px 0 0 } +#mb_login_od_wr p{background:#f3f3f3;margin:20px 0 0 ;padding:15px 20px;line-height:1.5em} + +/* 쪽지 */ +#memo_list .memo_name,#memo_list .memo_name .sv_wrap{font-weight:bold} +#memo_list .memo_datetime{float:right;font-size:0.92em;color:#777;font-style:italic} +#memo_list .memo_del{margin-left: 5px; color: #49857c;font-size: 15px;} + +#memo_view_contents {margin:10px 0;border:1px solid #ddd;} +#memo_view_contents h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#memo_view_ul {margin:0;border-bottom:1px solid #eee;list-style:none;background:#f3f3f3;} +#memo_view_ul:after {display:block;visibility:hidden;clear:both;content:""} +.memo_view_li {position:relative;padding:10px;float:left;width:50%;} +.memo_view_name strong,.memo_view_name .sv_wrap{font-weight:bold !important} +.memo_view_subj{display: inline-block;height: 20px;line-height: 18px;border: 1px solid #3497d9;color: #3497d9;padding: 0 5px;border-radius: 15px;font-size: 11px;} +.memo_view_li .profile_img img{border-radius:50%} +.memo_view_date{text-align:right;color:#555;font-style:italic} +.memo_view_date strong{font-weight:normal} +#memo_view .btn_b02{float:right} +#memo_view .btn_b02.reply_btn{margin-left:4px} +#memo_view p {padding:10px;border-top:1px solid #ddd;min-height:150px;height:auto !important;height:150px;background:#fff;line-height:1.8em} + +#memo_write textarea {height:100px} + +/* 스크랩 */ +#scrap .scrap_tit{font-weight:bold;display:block;font-size:1.083em;margin-bottom:5px;line-height:1.3em} +#scrap .scrap_cate{ display:block;color:#3598db ;font-size:0.92em;float:left} +#scrap .scrap_datetime{;color:#777;font-style:italic;float:right} +#scrap .scrap_del{position:absolute;top:5px;right:10px;font-size:18px;color:#49857c} +#scrap .scrap_del:hover{color:#98ca69} +#scrap_do table {margin:0 0 10px;width:100%} +#scrap_do textarea {height:100px} +#scrap_do .scrap_tit{background:#f3f3f3;padding:10px 15px;font-size:1.083em;font-weight:bold} +#scrap_do label{display:block;margin:0 0 5px;font-size:0.92em} +/*포인트*/ +#point .point_top{line-height:15px;margin:0 0 5px} +#point .point_top:after {display:block;visibility:hidden;clear:both;content:""} +#point .point_tit{font-weight:bold;float:left;font-size:1.083em;display:block;} +#point .point_num{font-size:1.25em;color:#00c4ac;font-weight:bold;float:right;} +#point .point_date1{float:left;color:#555;font-style:italic} +#point .point_date{float:right;color:#555;font-style:italic} +#point .txt_expired {color:#aaa;} +#point .point_all{background:#ae99da;border:0;border-bottom:2px solid #9781c5;color:#fff;font-weight:bold;font-size:1.083em} +#point .point_all span,#point .point_status span{float:right;} +#point .point_status{background:#737373;border:0;color:#fff;font-weight:bold;font-size:1.083em} +#point .point_status span{margin-left:10px} + +/* 회원 비밀번호 확인 */ +#mb_confirm {} +#mb_confirm h1 {margin:60px 0 30px;font-size:2em} +#mb_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565} +#mb_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px} +#mb_confirm fieldset {;padding:50px;text-align:left} +#mb_confirm fieldset .frm_input {background-color:#fff !important} +#mb_confirm label {letter-spacing:-0.1em} +#mb_confirm_id {display:block;margin:5px 0 10px;font-weight:bold} +#mb_confirm .confirm_id{font-size:0.92em;color:#666} + +/* 비밀글 비밀번호 확인 */ +#pw_confirm h1 {margin:60px 20px 30px;font-size:2em} +#pw_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565} +#pw_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px} +#pw_confirm fieldset {;padding:50px;text-align:center} +#pw_confirm fieldset .frm_input {background-color:#fff !important} +#pw_confirm label {letter-spacing:-0.1em} +#pw_confirm_id {display:inline-block;margin-right:20px;font-weight:bold} +#mb_confirm_id{} + +/* 폼메일 */ +#formmail textarea {height:100px} +#formmail .formmail_flie{position:relative} +#formmail .formmail_flie .file_wr {border: 1px solid #ccc;background: #fff;color: #000;vertical-align: middle;border-radius: 3px;padding: 5px;height: 40px;margin: 0;} +#formmail .lb_icon {position: absolute;top: 1px;left: 1px;border-radius: 3px 0 0 3px;height: 38px;line-height: 38px;width: 40px;background: #eee;text-align: center;color: #888;} +#formmail .frm_file {padding-left: 50px;} +#formmail .frm_info{color: #3497d9;font-size: 0.92em;} + +/* 자기소개 */ +#profile h1 a{color:#fff} +#profile table {margin-bottom:0} +#profile table th{text-align:left;padding:10px;width:100px} +#profile section {color: #2d4c7b;background: #eff9f9;padding: 10px;border: 1px solid #bfd4dc;margin: 10px 0;} +#profile h2 {margin:0 0 5px} +#profile .profile_name{text-align:center;font-weight:bold} +#profile .my_profile_img{display:block;margin:20px 0 5px;} +#profile .my_profile_img img{border-radius:50%;border:1px solid #aaa} +#profile .profile_img img{border-radius:50%} +#profile .profile_name .sv_wrap{font-weight:bold;text-align:left} + + +/* 골뱅이 스토어 회원가입 기본 디자인 */ +.reg-inner {width: 1000px; margin: 60px auto;font-family: 'Nanum Gothic' ,sans-serif;} +.reg-inner label {display: inline-block;} +#container_title {display: none;} +#register_form {padding: 20px 0;} +/*.reg-inner .register_tit h1{ margin: 20px 0;padding: 0;font-size: 32px;color: #000;line-height: 1.3em;letter-spacing: -.03em;}*/ +.reg-inner .register_tit {padding: 10px 0 20px;} +.reg-inner .register_tit .reg-tit{ display: inline-block;font-size: 30px;font-weight: 700;color: #444;} + +.reg-inner .register_tit .reg-tit-desc{display: inline-block;padding: 0 10px;font-size: 17px;font-weight: 700;color: #777;text-transform: uppercase; } +.reg-inner #fregister .reg-title {margin: 0 0 10px; padding: 15px 0px;border-bottom: 0; background: #fff; font-size: 16px;font-weight: 600;color: #000; -ms-transform: skew(-0.1deg); -webkit-transform: skew(-0.1deg); transform: skew(-0.1deg);} +.reg-inner .reg-title:before {content: '';position: relative;top: 0;margin-right: 8px;border-left: 3px solid #777;} + +.reg-inner .ind-agree-box {display: block;overflow: auto;height: 250px;color: #444; margin-top: 15px;padding: 20px;border: 1px solid #ccc;border-radius: 3px;} +.reg-inner .ind-agree-box h5:first-child {margin-top: 0;} +.reg-inner .ind-agree-box h5 {margin: 40px 0 0;padding: 0; font-size: 15px;font-weight: 600;color: #000;} +.reg-inner .ind-agree-box li {margin-top: 10px;padding-left: 10px;} +.reg-inner #fregister .ind-agree-box .ag-tit {padding-left: 10px;margin: 15px 0 0;padding: 0; font-size: 13px; text-align: left;} +.reg-inner #fregister .ind-agree-box p {padding-left: 10px;margin: 15px 0 0;padding: 0; border: 0; background: #fff; color: #333;font-size: 13px; text-align: left;} +.reg-inner .ind-agree-box ul{margin: 15px 0 0;padding: 0;font-size: 13px;} +.reg-inner #fregister section {margin: 10px auto 60px;border: 0; -webkit-box-shadow: 0 0 0 #fff;box-shadow: 0 0 0 #fff; } +.reg-inner #fregister .fregister_agree {position: absolute; top: auto; right: auto; left: 0;padding: 15px 0;} +.reg-inner #fregister_private>div {padding: 0;} +.reg-inner #fregister textarea{ border: 1px solid #dbdbdb;border-radius: 5px;} +#fregister .btn_confirm .btn_submit {width: 150px; background: #444; border-radius: 5px;} +.tbl_frm01 table {border: 0;} +.tbl_frm01 th {border: 0; background: #fff; border-top: 1px solid #e9e9e9; border-bottom: 1px solid #e9e9e9;width: 150px; vertical-align: top; color: #444; font-weight: 100;} +.tbl_frm01 input {background: #fafafa; border: 1px solid #ddd; border-radius: 0; box-shadow: inset 0 0 0 rgba(0, 0, 0, 0); width: 100%; } +#fregisterform .form_01 div {margin: 0 0 50px;border: 1px solid #ccc;padding: 30px;border-radius: 5px;} +#fregisterform .frm_info {color: #999;margin: 7px 0 0;padding: 0;} +#fregisterform .btn_confirm .btn_submit,#fregisterform .btn_confirm .btn_cancel{border-radius: 5px;} +#captcha #captcha_img {display: inline-block;} + +/**** 로그인 CSS ****/ +#mb_login input:-webkit-autofill, +#mb_login input:-webkit-autofill:hover, +#mb_login input:-webkit-autofill:focus, +#mb_login textarea:-webkit-autofill, +#mb_login textarea:-webkit-autofill:hover, +#mb_login textarea:-webkit-autofill:focus, +#mb_login select:-webkit-autofill, +#mb_login select:-webkit-autofill:hover, +#mb_login select:-webkit-autofill:focus{ + border: none; + -webkit-text-fill-color: #fff; + -webkit-box-shadow: 0 0 0px 1000px #fff inset; + -webkit-transition: background-color 5000s ease-in-out 0s; + transition: background-color 5000s ease-in-out 0s; + -webkit-text-fill-color: #999; +} +#mb_login{padding-bottom: 90px; background: #fff;} +.mbskin{border-color: #e6e6e6;} +.mbskin:before{-webkit-box-shadow: none;box-shadow: none;} +.mbskin h1{margin: 60px 0 15px; font-size: 36px; line-height: 40px; font-weight: 900; color: #c80e21;} +.mb_login_desc{margin-bottom: 40px; color: #999; font-size: 15px; line-height: 18px; font-weight: 700;} +#mb_login #login_fs .frm_input{margin: 0; border: none; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; color: #999; font-size: 15px; -ms-transform: skew(-0.1deg); -webkit-transform: skew(-0.1deg); transform: skew(-0.1deg);} +.login_box{border-bottom: 1px solid #c80e21; margin: 0 0 20px;} +.login_box .icon{float: left; width: 40px; height: 40px; background: url(../basic/img/id_icon.png) center no-repeat; background-size: 15px auto;} +.login_box .icon.pw_icon{background-image: url(../basic/img/pass_icon.png);} +#mb_login #login_fs .frm_input{float: right; width: 250px;} +.login_info_area{margin: 30px 0;} +.auto_login_box{float: left; width: 50%; height: 20px;} +.auto_login_box input{display: none;} +.auto_login_box input:checked + label{background: url(../basic/img/checkbox.png) no-repeat center; background-size: 15px auto;} +.auto_login_box label{float: left; line-height: 20px; font-size: 15px; -ms-transform: skew(-0.1deg); -webkit-transform: skew(-0.1deg); transform: skew(-0.1deg); color: #999;} +.auto_login_box .checkbox{margin-right: 10px; text-indent: -9999px; overflow: hidden; width: 20px; height: 20px; border: 1px solid #ccc;} +.find_id_box{float: right; width: 50%; height: 20px;} +.find_id_box #login_password_lost{font-size: 15px; line-height: 20px; border-right: none; color: #999; text-align: right;} +#mb_login #login_fs .btn_submit,.mb_join{width: 100%; height: 55px; line-height: 55px; font-size: 18px; font-weight: 700; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out;} +#mb_login #login_fs .btn_submit{margin: 0 0 10px; background: #c80e21;} +#mb_login #login_fs .btn_submit:hover{background: #333;} +.mb_join{border: 1px solid #c80e21;} +.mb_join:hover{background:#333; border: 1px solid #333;} +.mb_join a{ color: #c80e21;} +.mb_join:hover a{color: #fff;} +/* height 속성을 해당 홈페이지의 각 헤더 높이에 맞게 추가 하시면 됩니다. */ +/* 기본 헤더가 투명일 경우에만 적용 */ +/* 반응형: 태블릿, 모바일에서 헤더 높이가 달라질 경우 미디어 쿼리 사이즈에 맞게 추가해 주세요. */ +.reg_bn {width: 100%; height: 90px; background: #333; } +@media screen and (max-width:1199px){ + .mbskin h1{font-size: 30px; line-height: 32px;} + .mb_login_desc{font-size: 14px;} + .auto_login_box label{font-size: 14px;} + .find_id_box #login_password_lost{font-size: 14px;} + #mb_login #login_fs .btn_submit,.mb_join{font-size: 17px;} +} + +@media screen and (max-width:1024px){ + .reg_bn{height: 60px;} +} +@media screen and (max-width:1000px) { + .reg-inner {width: 100%; padding:0 10px;} +} +@media screen and (max-width:768px) { + .reg-inner .register_tit h1 {font-size: 22px;} + #fregisterform .form_01 div {padding: 0; } + .reg-inner .tbl_frm01 th {width: 80px;} + .reg-inner .tbl_frm01 input {width: 100%;} + .reg-inner #reg_mb_mailling , .reg-inner #reg_mb_open{width: 10px;} + .reg-inner .register_tit .reg-tit {font-size: 20px;} + .reg-inner .register_tit .reg-tit-desc {font-size: 14px;} +} +@media screen and (max-width:480px) { + .reg-inner #fregister .fregister_agree {font-size: 12px;} + #fregisterform .frm_info{font-size: 11px;} + .reg-inner .tbl_frm01 th { font-size: 12px; } + .reg-inner .tbl_frm01 input {height: 35px;} + .reg-inner .tbl_frm01 td{ font-size: 13px;} + .reg-inner .reg-title {font-size: 16px;} + #fregister .btn_confirm .btn_submit, #fregisterform .btn_confirm .btn_submit, #fregisterform .btn_confirm .btn_cancel{font-size: 14px; height: 34px; line-height: 34px;} + .mbskin{width: 90%; border: none;} + .mbskin h1{font-size: 24px; line-height: 26px;} + .mb_login_desc{font-size: 12px;} + .login_box .icon{width: 10%;} + #mb_login #login_fs .frm_input{width: 90%; font-size: 12px;} + .auto_login_box label{font-size: 12px;} + .auto_login_box .checkbox{margin-right: 5px;} + .find_id_box #login_password_lost{font-size: 12px;} + #mb_login #login_fs .btn_submit,.mb_join{height: 45px; line-height: 45px; font-size: 16px;} + +} +@media screen and (max-width:400px){ + #login_fs{padding: 0 20px;} +} + + diff --git a/web/html/theme/AT_WEB01/skin/nav/mysubmenu/mysubmenu.php b/web/html/theme/AT_WEB01/skin/nav/mysubmenu/mysubmenu.php new file mode 100644 index 0000000..c12f117 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/nav/mysubmenu/mysubmenu.php @@ -0,0 +1,55 @@ + + +
                                                                        + + + +
                                                                        + + + diff --git a/web/html/theme/AT_WEB01/skin/new/basic/new.skin.php b/web/html/theme/AT_WEB01/skin/new/basic/new.skin.php new file mode 100644 index 0000000..adb023d --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/new/basic/new.skin.php @@ -0,0 +1,144 @@ +', 0); +?> + + +
                                                                        + 상세검색 +
                                                                        + + + + + + +

                                                                        회원 아이디만 검색 가능

                                                                        +
                                                                        + +
                                                                        + + + +
                                                                        + + + + + + + + +
                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
                                                                        + + + 그룹게시판제목이름일시
                                                                        + + + + +
                                                                        게시물이 없습니다.
                                                                        +
                                                                        + + +
                                                                        + +
                                                                        + +
                                                                        + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/new/basic/style.css b/web/html/theme/AT_WEB01/skin/new/basic/style.css new file mode 100644 index 0000000..fc0707b --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/new/basic/style.css @@ -0,0 +1,12 @@ +@charset "utf-8"; + +/* 최근게시물 스킨 (new) */ +#new_sch {margin-bottom:15px;text-align:center;padding: 20px;border: 1px solid #e8e8e8;background: #fbfbfb;} +#new_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#new_sch p {padding:5px 0 0;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +#new_sch .frm_input{border-color:#646982;border-radius:0} +#new_sch select{border:1px solid #646982;height:40px;padding:0 5px} +#new_sch .btn_submit{padding: 0 10px;height: 40px;font-size: 1.083em;font-weight: bold;color: #fff;background: #253dbe;} +#fnewlist .new_tit{font-weight:bold} +#fnewlist .profile_img img{border-radius:50%} +#fnewlist .td_date{font-style:italic} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/outlogin/basic/img/info_edit.png b/web/html/theme/AT_WEB01/skin/outlogin/basic/img/info_edit.png new file mode 100644 index 0000000..ce5eae3 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/outlogin/basic/img/info_edit.png differ diff --git a/web/html/theme/AT_WEB01/skin/outlogin/basic/outlogin.skin.1.php b/web/html/theme/AT_WEB01/skin/outlogin/basic/outlogin.skin.1.php new file mode 100644 index 0000000..a2a07b0 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/outlogin/basic/outlogin.skin.1.php @@ -0,0 +1,63 @@ +', 0); +?> + + +
                                                                        +

                                                                        회원로그인

                                                                        +
                                                                        +
                                                                        +
                                                                        + + + + + + +
                                                                        +
                                                                        +
                                                                        + + +
                                                                        + +
                                                                        + + +
                                                                        +
                                                                        +
                                                                        + + + diff --git a/web/html/theme/AT_WEB01/skin/outlogin/basic/outlogin.skin.2.php b/web/html/theme/AT_WEB01/skin/outlogin/basic/outlogin.skin.2.php new file mode 100644 index 0000000..2341db4 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/outlogin/basic/outlogin.skin.2.php @@ -0,0 +1,51 @@ +', 0); +?> + + +
                                                                        +
                                                                        +

                                                                        나의 회원정보

                                                                        + + + 정보수정 + + + 로그아웃 + 관리자 +
                                                                        + + +
                                                                        + + + diff --git a/web/html/theme/AT_WEB01/skin/outlogin/basic/style.css b/web/html/theme/AT_WEB01/skin/outlogin/basic/style.css new file mode 100644 index 0000000..239b407 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/outlogin/basic/style.css @@ -0,0 +1,48 @@ +@charset "utf-8"; + +/* 아웃로그인 스킨 */ +.ol {position:relative;margin:20px;} +.ol h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} + +.ol a.btn_admin {display:inline-block;padding:0 10px;height:25px;text-decoration:none;line-height:25px;vertical-align:middle} /* 관리자 전용 버튼 */ +.ol a.btn_admin:focus, .ol a.btn_admin:hover {text-decoration:none} + +#ol_before {} +#ol_before:after {display:block;visibility:hidden;clear:both;content:""} +#ol_before .ol_wr{position:relative;border:1px solid #b7bece;margin-bottom:5px} +#ol_id {display:block;width:185px;border:1px solid #fff;padding:0 10px;height:32px} +#ol_pw {display:block;width:185px;border:1px solid #fff;padding:0 10px;border-top:1px solid #ededed;height:32px} +#ol_submit {position:absolute;top:0;right:0;width:76px;height:64px;background:#fff;border-left:1px solid #ccc;color:#000;font-weight:bold;font-size:1.167em} +#ol_svc {float:right;line-height:20px} +#ol_svc a{display:inline-block;color:#555;margin:0 5px} +#ol_auto {float:left;line-height:20px} +#ol_auto label {color:#555} +#ol_auto input {width:13px;height:13px} +.ol_auto_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#ol_after {background:#fff;border: 1px solid #d2d9e6; border-bottom: 1px solid #c1ccda; +-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +box-shadow:0 1px 2px rgba(0,0,0,0.1)} +#ol_after_hd {position:relative;margin:0 0 10px;padding:10px;padding-left:80px;height:72px;} +#ol_after_hd strong{display:block;margin:5px 0} +#ol_after_hd .profile_img{position:absolute;top:15px;left:15px;display:inline-block;} +#ol_after_hd .profile_img img{border:1px solid #bbb;border-radius:50%;width:50px;height:50px} +#ol_after_hd .profile_img a{display:block;position:absolute;bottom:-5px;right:-5px;background: #fff;text-align:center;font-size:17px;width:30px;line-height:30px;border-radius:50%;color:#777; +-webkit-box-shadow: -2px -2px 5px rgba(0,0,0,0.1); +-moz-box-shadow: -2px -2px 5px rgba(0,0,0,0.1); +box-shadow: -2px -2px 5px rgba(0,0,0,0.1);} +#ol_after_hd .btn_admin {} +#ol_after_hd .btn_b04{line-height:23px;padding:0 5px} +#ol_after_private {background:#f7f7f7;border-top: 1px solid #e8e8e8;zoom:1} +#ol_after_private:after {display:block;visibility:hidden;clear:both;content:""} +#ol_after_private li {margin-bottom:1px;position:relative;float:left;width:33.333%;text-align:center} +#ol_after_private a {display:block;color:#444;line-height:20px;height:60px;border-left:1px solid #e8e8e8;padding:10px 0;} +#ol_after_private li:first-child a{border-left:0} +#ol_after_private a strong {display:inline-block;max-width:87px;overflow:hidden;white-space:nowrap;text-overflow:clip;background:#7587a2;color:#fff;padding:0 8px;border-radius:15px;font-size:0.92em;box-shadow:inset 2px 1px 3px rgba(0,0,0,0.2)} +#ol_after_private a strong.scrap{padding:0 14px} +#ol_after_private a:hover strong{background:#4b8bff} +#ol_after_private li a:hover{color:#4b8bff;background:#f1f1f1} +#ol_after_memo {;margin-right:1px} +#ol_after_pt {margin-right:1px} + diff --git a/web/html/theme/AT_WEB01/skin/poll/basic/poll.skin.php b/web/html/theme/AT_WEB01/skin/poll/basic/poll.skin.php new file mode 100644 index 0000000..b83cbe4 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/poll/basic/poll.skin.php @@ -0,0 +1,69 @@ +', 0); +?> + + +
                                                                        + + +
                                                                        +
                                                                        +

                                                                        설문조사

                                                                        + 설문관리 +
                                                                        + +
                                                                        +
                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/poll/basic/poll_result.skin.php b/web/html/theme/AT_WEB01/skin/poll/basic/poll_result.skin.php new file mode 100644 index 0000000..632658f --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/poll/basic/poll_result.skin.php @@ -0,0 +1,120 @@ +', 0); +?> + + +
                                                                        +

                                                                        +
                                                                        + + 전체 +
                                                                        +

                                                                        결과

                                                                        + +
                                                                          + +
                                                                        1. + + % +
                                                                          + +
                                                                          +
                                                                        2. + +
                                                                        +
                                                                        + + + + +
                                                                        +

                                                                        이 설문에 대한 기타의견

                                                                        + + +
                                                                        +
                                                                        +

                                                                        님의 의견

                                                                        + + 삭제"; } ?> +
                                                                        +

                                                                        + +

                                                                        + +
                                                                        + + + = $po['po_level']) { ?> +
                                                                        + + + + +

                                                                        + +
                                                                        +
                                                                          + +
                                                                        • + + +
                                                                        • +
                                                                        • + +
                                                                        • + +
                                                                        • + + +
                                                                        • +
                                                                        • + +
                                                                        • + +
                                                                        +
                                                                        + + +
                                                                        + + +
                                                                        + + + + + + + +
                                                                        + +
                                                                        +
                                                                        +
                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/poll/basic/style.css b/web/html/theme/AT_WEB01/skin/poll/basic/style.css new file mode 100644 index 0000000..723c775 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/poll/basic/style.css @@ -0,0 +1,101 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +#poll a.btn_admin {} /* 관리자 전용 버튼 */ +#poll a.btn_admin:focus, #poll a.btn_admin:hover {} + +#poll_result .tbl_frm table {} +#poll_result .tbl_frm .frm_info {} +#poll_result .tbl_frm .frm_address {} +#poll_result .tbl_frm .frm_file {} +#poll_result .tbl_frm caption {} + +#poll_result .tbl_frm01 {} +#poll_result .tbl_frm01 th {} +#poll_result .tbl_frm01 td {} +#poll_result .tbl_frm01 textarea, #poll_result tbl_frm01 .frm_input {} +#poll_result .tbl_frm01 textarea {} +/* +#poll_result .tbl_frm01 #captcha {} +#poll_result .tbl_frm01 #captcha input {} +*/ +#poll_result .tbl_frm01 a {} + +/* 필수입력 */ +#poll_result .required, #poll_result textarea.required {} + +#poll_result .btn_confirm {} /* 서식단계 진행 */ +#poll_result .btn_submit {} +#poll_result button.btn_submit {} +#poll_result .win_btn {} /* 새창용 */ +#poll_result .win_btn button {} +#poll_result .win_btn input {} +#poll_result .win_btn a {} +#poll_result .win_btn a:focus, #poll_result .win_btn a:hover {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 설문조사 스킨 */ +#poll {border: 1px solid #d2d9e6; border-bottom: 1px solid #c1ccda;background:#fff;margin:50px 20px 20px;position:relative; +-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +box-shadow:0 1px 2px rgba(0,0,0,0.1)} +#poll h2 {font-size:1.167em;text-align:center;padding-top:25px;color:#1d9d74;position:relative} +#poll h2 i{position:absolute;top:-22px;left:50%;width:44px;line-height:44px;margin-left:-22px;border-radius:25px;background:#1d9d74;color:#fff} +#poll header .btn_admin {text-align:center;position:absolute;top:10px;right:10px;height:25px;line-height:25px;padding:0 5px;border-radius:3px} +#poll ul {padding: 10px 15px;list-style:none} +#poll li {padding:5px 0} +#poll .poll_con{} +#poll .poll_con p{font-weight:bold;padding: 10px 15px;background: #f1f9f7;border:1px solid #e0f1e9;color: #457163;margin:10px 10px 0} +#poll_btn{background:#f7f7f7;padding:10px;text-align:center} +#poll_btn:after {display:block;visibility:hidden;clear:both;content:""} +#poll_btn .btn_poll{display:inline-block;height:30px;line-height:28px;padding: 0 10px} +#poll_btn .btn_result{;display:inline-block;height:30px;line-height:30px;padding: 0 10px;font-weight:bold} + + +/* 설문조사 결과 (새창) */ +#poll_result {} +#poll_result section {margin:0 0 20px;padding:25px;border:1px solid #dbdbdb;background:#fff; +-webkit-box-shadow: 0 0 5px rgba(55,55,5,0.1)); + -moz-box-shadow: 0 0 5px rgba(55,55,5,0.1)); + box-shadow: 0 0 5px rgba(55,55,5,0.1); } +#poll_result .tbl_wrap {margin:0} +#poll_result h2 {} +#poll_result a {} +#poll_result .sv_member, +#poll_result .sv_guest {font-weight:bold} +#poll_result .poll_all{float:right;display:inline-block;margin:0 0 10px;line-height: 30px;font-size: 0.92em;color: #4e546f;background: #d4d4d4;padding: 0 10px;border-radius: 5px;} +#poll_result_list {margin:0 auto 20px;clear:both} +#poll_result_list h2 {margin:0;font-size:1.25em;padding: 0 0 15px;margin:0 0 15px;border-bottom:1px solid #ddd;text-align:center;} +#poll_result_list dt {margin-right:5%;color:#e8180d;text-align:right} +#poll_result_list ol {margin:0;padding:0} +#poll_result_list li {margin:20px 0;position:relative;list-style-position:inside} +#poll_result_list .poll_percent{position:absolute;top:0;right:0;color:#415b72;font-weight:bold} +.poll_result_graph {position:relative;margin-right:5%;margin:5px 0 ;height:15px;background:#f4f4f4;border-radius:10px 10px} +.poll_result_graph span {position:absolute;top:0;left:0;height:15px;background:#ae99da;border-radius:10px 10px;white-space: nowrap;} +.poll_result_graph span .poll_cnt {display:none;position:absolute;top:18px;right:0;font-size:0.92em;text-align:right;background:#333;color:#fff;padding:0 7px;line-height:22px;border-radius:3px} +.poll_result_graph span:hover .poll_cnt {display:block} +.poll_result_graph span .poll_cnt:before{content: "";position: absolute;top: -6px;left: 50%;margin-left:-4px;width: 0;height: 0;border-style: solid;border-width: 0 4px 6px 4px;border-color: transparent transparent #333 transparent;} +#poll_result_cmt {} +#poll_result_cmt h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#poll_result_cmt h3 {margin:0;font-size:1.25em;padding: 0 0 15px;margin:0 0 15px;border-bottom:1px solid #ddd;text-align:center;} +#poll_result_cmt article {margin:15px 0 ;position:relative;} +#poll_result_cmt h1 {position:absolute;margin:0;padding:0;border:0;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#poll_result_cmt header{margin:0 0 5px} +#poll_result_cmt .poll_datetime{display:inline-block;position:absolute;top:0;right:0;font-size:0.92em;color:#777;font-style:italic} +#poll_result_cmt .profile_img img{border-radius:50%} +#poll_result_cmt p {padding:10px;background:#f6f6f6;border-radius:5px;line-height:1.5em} +#poll_result_cmt fieldset {margin-bottom:0;text-align:left} +#poll_result_cmt fieldset p {margin:0 0 15px;padding:3px 0 0px;text-align:left} +#poll_result_cmt footer {text-align:right} +#poll_result_cmt .btn_submit {padding:0 20px;float:right} + +.poll_cmt_del a {display:inline-block;margin-left:5px;color:#49857c;font-size:15px;} +.poll_cmt_del a:hover{color:#98ca69} +#poll_result_oth {padding:0 0 30px} +#poll_result_oth h2 {padding:0 0 10px} +#poll_result_oth ul {margin:0;padding:0;list-style:none;border:1px solid #ddd;background:#fff;border-top:0} +#poll_result_oth ul li{border-top:1px solid #ddd; position:relative;line-height:20px} +#poll_result_oth a {display:block;padding: 10px} +#poll_result_oth li span{position:absolute;bottom:10px;right:15px;color:#777;font-size:0.92em;font-style:italic} diff --git a/web/html/theme/AT_WEB01/skin/popular/basic/popular.skin.php b/web/html/theme/AT_WEB01/skin/popular/basic/popular.skin.php new file mode 100644 index 0000000..fbaae65 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/popular/basic/popular.skin.php @@ -0,0 +1,27 @@ +', 0); +?> + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/popular/basic/style.css b/web/html/theme/AT_WEB01/skin/popular/basic/style.css new file mode 100644 index 0000000..d0d5cfa --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/popular/basic/style.css @@ -0,0 +1,10 @@ +@charset "utf-8"; +/* 인기검색어 */ +#popular {margin:8px 0 0;position:relative} +#popular h2{display:inline-block;font-size:0.92em;color:#4b8bff;background:#fff;line-height:20px;padding:0 5px;border:1px solid #dcdcde;vertical-align:top} +#popular .popular_inner{position:absolute;left:70px;top:2px;height:18px;overflow:hidden} +#popular ul{display:inline-block} +#popular ul:after {display:block;visibility:hidden;clear:both;content:""} +#popular li{height:18px;line-height:18px;border-left:1px solid #c3c3c3;padding:0 10px;float:left} +#popular li:first-child{border-left:0} +#popular li a:hover{color:#a22121;text-decoration:underline} diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/img/btn_close.gif b/web/html/theme/AT_WEB01/skin/qa/basic/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/qa/basic/img/btn_close.gif differ diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_answer.gif b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_answer.gif new file mode 100644 index 0000000..91c1359 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_answer.gif differ diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_file.gif b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_file.gif new file mode 100644 index 0000000..cca47f5 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_file.gif differ diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_hot.gif b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_hot.gif new file mode 100644 index 0000000..c95b839 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_hot.gif differ diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_img.gif b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_img.gif new file mode 100644 index 0000000..fefa10d Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_img.gif differ diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_link.gif b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_link.gif new file mode 100644 index 0000000..0f3cb1a Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_link.gif differ diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_mobile.gif b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_mobile.gif new file mode 100644 index 0000000..ad934d2 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_movie.gif b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_movie.gif differ diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_new.gif b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_new.gif differ diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_secret.gif b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_secret.gif new file mode 100644 index 0000000..c04899f Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_secret.gif differ diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_sound.gif b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/AT_WEB01/skin/qa/basic/img/icon_sound.gif differ diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/list.skin.php b/web/html/theme/AT_WEB01/skin/qa/basic/list.skin.php new file mode 100644 index 0000000..b2cb077 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/qa/basic/list.skin.php @@ -0,0 +1,176 @@ +', 0); +?> + +
                                                                        + + + +
                                                                        +
                                                                        + Total + 페이지 +
                                                                        + + + + +
                                                                        + + + + + + + + +
                                                                        + + + + +
                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; } ?> + +
                                                                        목록
                                                                        + + + 번호제목글쓴이등록일상태
                                                                        + + + + + + + " ; ?> + + 답변완료' : ' 답변대기'); ?>
                                                                        게시물이 없습니다.
                                                                        +
                                                                        + +
                                                                        + +
                                                                        +
                                                                        + + + +
                                                                        + 게시물 검색 + +
                                                                        + + + + +
                                                                        +
                                                                        + +
                                                                        + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/style.css b/web/html/theme/AT_WEB01/skin/qa/basic/style.css new file mode 100644 index 0000000..034898c --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/qa/basic/style.css @@ -0,0 +1,374 @@ +@charset "utf-8"; +/* 테마 기본설정 */ +/*qa.css*/ +#bo_list{ display:block; width:100%; margin:20px auto;} +#bo_btn_top.faq_bo_btn_top #bo_list_total{width: inherit;} +.btn_bo_user.faq_btn_bo_user{margin: 35px 0 20px 0;} +.bo_fx.faq_bo_fx{display: block; width: inherit;} +.bo_fx.faq_bo_fx .btn_b02.faq_submit{display: none;} +.sch_btn .fa{display: none;} +.qnaIco{color: #333;} +.qnaIco2{border-color: #c80e21; color: #c80e21;} +.qnaIco3{color: #747474;} +#bo_list a.btn_admin, #bo_list a.btn_b01 { + display: none; +} +a.btn_b02, .btn_b02 { + height: 40px; + width:130px; +} +.tbl_wrap table { + background:#fcfcfc; + border-bottom:0; +} +@media screen and (max-width:767px){ + #bo_list.faq_bo_list .td_num2{width: 100px;} + #bo_list.faq_bo_list .tbl_head01 thead .th_name{display: none;} + #bo_list.faq_bo_list .td_name{display: none;} +} +@media screen and (max-width:480px){ + #bo_list.faq_bo_list .td_num2{width: 80px;} + #bo_list.faq_bo_list .tbl_head01 thead th{font-size: 14px;} + #bo_list.faq_bo_list .tbl_head01 thead .th_date{display: none;} + #bo_list.faq_bo_list .td_datetime{display: none;} + #bo_list.faq_bo_list .tbl_head01 .faq_td_subject a{width: 100%;} +} + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w h2{position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:80px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:40px;;text-align:center} +#bo_list .td_num2 {width:50px;;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list .td_stat,#bo_v_rel .td_stat{width:100px;text-align:center} + +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list .txt_done,#bo_v_rel .txt_done{display:inline-block;height:30px;line-height:30px;padding:0 10px;border-radius:15px;color:#fff;font-size:0.92em;background:#ff63ab} +#bo_list .txt_done i,#bo_v_rel .txt_done i{font-size:13px} +#bo_list .txt_rdy,#bo_v_rel .txt_rdy{display:inline-block;height:30px;line-height:28px;padding:0 10px;border-radius:15px;color:#ff63ab;font-size:0.92em;border:1px solid #ff63ab} +#bo_list .txt_rdy i,#bo_v_rel .txt_rdy i{font-size:13px}#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +/* 게시판 목록 */ +#bo_cate {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#d2d6dc;} +#bo_cate #bo_cate_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} + + +.td_subject img {margin-left:5px} + + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 5px} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f5f6fa} +.bo_notice td a {font-weight:bold} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;font-weight:bold;color:#000} +.td_subject .fa-download{width:16px;height:16px;line-height:16px;background:#ecaa30;color:#fff;text-align:center;font-size:10px;border-radius:2px} + +.bo_current {color:#e8180c} +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold;color:#ed6478;} +#bo_list .bo_tit .fa-heart{color:#fe4560} +#bo_list .bo_tit .fa-lock{color:#000} +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrp {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute;top:24px;right:117px;padding:8px;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;overflow-y:scroll} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:right} +#autosave_pop button {margin:0;padding:0;border:0;background:transparent} +#autosave_pop ul {margin:10px 0;padding:0;border-top:1px solid #e9e9e9;list-style:none} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #e9e9e9;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right} +.autosave_close {cursor:pointer} +.autosave_content {display:none} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding-bottom:20px} +#bo_v_table {position:absolute;top:0;right:15px;margin:0;padding:0 5px;height:25px;background:#565e60;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v header{background:#eee;border:1px solid #d4d4d4;border-bottom:0;} +#bo_v_title {font-size:1.083em;padding:10px 10px 5px} +#bo_v_title .bo_v_cate{display: inline-block;height: 20px;line-height: 18px;border: 1px solid #3497d9;color: #3497d9;padding: 0 5px;border-radius: 15px;font-size:11px} +#bo_v_info {padding:5px 10px 10px ;background:#eee;border:1px solid #d4d4d4;color:#555;border-top:0;position:relative;font-size:0.92em} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 7px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .bo_date{position:absolute;top:10px;right:10px;font-style:italic} +#bo_v_info .profile_img img{border-radius:50%;} + + +#bo_v_file {margin:10px 0 0;background:#f3f3f3} +#bo_v_file h2 {margin:0;padding:0;height:0;overflow:hidden} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {} +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_link ul {margin:0;padding:0;list-style:none} +#bo_v_link li {padding:0 10px;border-bottom:1px solid #eee;background:#f5f6fa} +#bo_v_link a {display:inline-block;padding:8px 0 7px;width:100%;color:#000;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {display:inline-block;margin:0 0 3px 16px} + +#bo_v_contact {border-bottom:1px solid #ddd} +#bo_v_contact h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_contact dl {margin:0;padding:0;list-style:none;zoom:1} +#bo_v_contact dl:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_contact dt, #bo_v_contact dd {float:left;margin:0;border-bottom:1px solid #eee;background:#f5f6fa;} +#bo_v_contact dt {clear:both;padding:8px 0 8px 30px;width:100px;font-weight:bold} +#bo_v_contact dd {padding:8px 0;width:598px} + +#bo_v_top {padding:10px 0;zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {margin:0;padding:0;height:0;overflow:hidden} +#bo_v_top ul {margin:0;padding:0;list-style:none} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {margin:0;padding:0;list-style:none} + +.bo_v_nb {float:left} +.bo_v_nb li {float:left;margin-right:5px} +.bo_v_com {float:right} +.bo_v_com li {float:left;margin-left:5px} + +#bo_v_atc {min-height:100px;background:#fff;height:auto !important;height:100px;padding:15px ;border:1px solid #d4d4d4;border-top:0;;} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {margin:0 0 10px;width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin-bottom:30px;width:100%;line-height:1.7em;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act a {margin-right:5px;vertical-align:top} +#bo_v_act span {display:inline-block;margin-right:5px;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:2.15em;vertical-align:top} +#bo_v_act strong {color:#ff3061} +#bo_v_act_good, +#bo_v_act_nogood {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_sns {margin:0 0 20px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;margin:0 5px 0 0} + +#bo_v_addq {margin:0 0 30px;text-align:right} + +#bo_v_ans {margin:0 0 30px;border:1px solid #d4d4d4;background:#fff;position:relative;} +#bo_v_ans h2 {font-size:1.083em;padding:10px 90px 5px 10px;background:#eee} +#bo_v_ans h2 span{display:inline-block;font-size:11px;background:#555;border-radius:5px;height:22px;line-height:22px;;padding:0 5px;color:#fff;font-weight:normal} +#bo_v_ans #ans_datetime {padding:0 10px 10px;font-size:0.92em;;background:#eee;;color:#666;font-style:italic} +#bo_v_ans #ans_con {margin:0 0 10px;padding:15px;line-height:1.8em} +#bo_v_ans #ans_con img{max-width:100%;height:auto} +#bo_v_ans #ans_add {text-align:right;padding:15px;} +#ans_msg {padding:40px 0;background:#f2f5f9;text-align:center} +#bo_v_ans .add_qa{position:absolute;top:10px;right:10px;background:#f57b8a;color:#fff} +#bo_v_ans .add_qa:hover{background:#ed6478} + +#bo_v_rel {margin:0 0 30px;padding:30px 0 0;} +#bo_v_rel h2 {margin:0 0 10px;font-size:1.2em} + +#bo_v_ans_form h2{margin:10px 0 0;font-size:1.167em } +#bo_v_ans_form .btn_submit{height: 50px;padding: 0 20px;border-radius: 3px;font-weight: bold;font-size: 1.083em;} + +/* 게시판 댓글 */ +#bo_vc {padding:20px 20px 10px;border-top:1px solid #cfded8;border-bottom:1px solid #cfded8;background:#f5f6fa} +#bo_vc h2 {margin-bottom:10px} +#bo_vc article {padding:0 0 10px;border-top:1px dotted #ccc} +#bo_vc header {position:relative;padding:15px 0 5px} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .sv_wrap {margin-right:15px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {display:inline-block;margin:0 15px 0 5px} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc a {color:#000;text-decoration:none} +#bo_vc p {padding:0 0 5px;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc_empty {margin:0;padding:20px !important;text-align:center} +#bo_vc fieldset {margin:0 0 10px;padding:0} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc footer {zoom:1} +#bo_vc footer:after {display:block;visibility:hidden;clear:both;content:""} + +.bo_vc_act {float:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {float:left;margin-left:5px} + +#bo_vc_w {position:relative;margin:0 0 10px;padding:0 0 20px;border-bottom:1px solid #cfded8} +#bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc_w #char_cnt {display:block;margin:0 0 5px} + +#bo_vc_sns {margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 20px 0 0} +#bo_vc_sns input {margin:0 0 0 5px} + +#bo_vc form {padding:0} + +/*글쓰기*/ +#bo_w li{;position:relative;} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5%} +.qa_content_wrap.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w #qa_category{border:1px solid #3497d9;height:40px;border-radius:3px} +#bo_w .bo_w_mail{float:left;width:49%} +#bo_w .bo_w_hp{float:right;width:49%} +#bo_w .bo_w_sbj{clear:both} +#bo_w .frm_info{color: #3497d9;margin:0 0 5px;display:inline-block;font-size: 0.92em;} \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/view.answer.skin.php b/web/html/theme/AT_WEB01/skin/qa/basic/view.answer.skin.php new file mode 100644 index 0000000..fdb2c5e --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/qa/basic/view.answer.skin.php @@ -0,0 +1,25 @@ + + +
                                                                        +

                                                                        답변

                                                                        + 추가질문 + +
                                                                        + +
                                                                        + +
                                                                        + +
                                                                        + +
                                                                        + + 답변수정 + + + 답변삭제 + +
                                                                        +
                                                                        \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/view.answerform.skin.php b/web/html/theme/AT_WEB01/skin/qa/basic/view.answerform.skin.php new file mode 100644 index 0000000..8e3590a --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/qa/basic/view.answerform.skin.php @@ -0,0 +1,123 @@ + + +
                                                                        + +

                                                                        답변등록

                                                                        + +
                                                                        + + + + + + '; + } else { + $option .= "\n".''."\n".''; + } + + echo $option_hidden; + ?> + +
                                                                        +
                                                                          + +
                                                                        • + 옵션 + +
                                                                        • + +
                                                                        • + + +
                                                                        • +
                                                                        • + + + + +
                                                                        • +
                                                                        +
                                                                        + +
                                                                        + +
                                                                        +
                                                                        + + + +

                                                                        고객님의 문의에 대한 답변을 준비 중입니다.

                                                                        + +
                                                                        \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/view.skin.php b/web/html/theme/AT_WEB01/skin/qa/basic/view.skin.php new file mode 100644 index 0000000..35a143e --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/qa/basic/view.skin.php @@ -0,0 +1,183 @@ +', 0); +?> + + + + + +
                                                                        +
                                                                        +

                                                                        + '.$view['category'].' '; // 분류 출력 끝 + ?> + +

                                                                        +
                                                                        + +
                                                                        +

                                                                        페이지 정보

                                                                        + 작성자 + 작성일 + + + 이메일 + + + + 휴대폰 + + + +
                                                                        + + + +
                                                                        +

                                                                        본문

                                                                        + + \n"; + + for ($i=0; $i<$view['img_count']; $i++) { + //echo $view['img_file'][$i]; + echo get_view_thumbnail($view['img_file'][$i], $qaconfig['qa_image_width']); + } + + echo "
                                                                        \n"; + } + ?> + + +
                                                                        + + + + + + + + + +
                                                                        +

                                                                        첨부파일

                                                                        + +
                                                                        + + + + + + + + + + + + + + +
                                                                        +

                                                                        연관질문

                                                                        + +
                                                                        + + + + + + + + + + + + + + + + + +
                                                                        제목등록일상태
                                                                        + + + + + + 답변완료' : ' 답변대기'); ?>
                                                                        +
                                                                        +
                                                                        + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/qa/basic/write.skin.php b/web/html/theme/AT_WEB01/skin/qa/basic/write.skin.php new file mode 100644 index 0000000..fe1d1a6 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/qa/basic/write.skin.php @@ -0,0 +1,179 @@ +', 0); +?> + +
                                                                        +

                                                                        1:1문의 작성

                                                                        + +
                                                                        + + + + + + '; + } else { + $option .= "\n".''."\n".''; + } + + echo $option_hidden; + ?> + +
                                                                        +
                                                                          + +
                                                                        • + + + +
                                                                        • + + + + +
                                                                        • + + class="frm_input full_input email" size="50" maxlength="100" placeholder="이메일"> + > + + +
                                                                        • + + + +
                                                                        • + + class="frm_input full_input" size="30" placeholder="휴대폰"> + + > + +
                                                                        • + + +
                                                                        • + + + + +
                                                                        • + +
                                                                        • + + + +
                                                                        • + + +
                                                                        • + 옵션 + +
                                                                        • + + +
                                                                        • +
                                                                          + + + + + +
                                                                          +
                                                                        • + +
                                                                        • +
                                                                          + + + + + +
                                                                          +
                                                                        • +
                                                                        +
                                                                        + +
                                                                        + 목록 + + +
                                                                        +
                                                                        + + +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/search/basic/search.skin.php b/web/html/theme/AT_WEB01/skin/search/basic/search.skin.php new file mode 100644 index 0000000..c6386f5 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/search/basic/search.skin.php @@ -0,0 +1,148 @@ +', 0); +?> + + +
                                                                        + +
                                                                        + 상세검색 + + + + + + + + + + + + + + + id="sop_or" name="sop"> + + id="sop_and" name="sop"> + + +
                                                                        +
                                                                        + +
                                                                        + + +
                                                                        +

                                                                        전체검색 결과

                                                                        +
                                                                        +
                                                                        게시판
                                                                        +
                                                                        +
                                                                        게시물
                                                                        +
                                                                        +
                                                                        +

                                                                        / 페이지 열람 중

                                                                        +
                                                                        + + + + + +
                                                                        검색된 자료가 하나도 없습니다.
                                                                        + + +
                                                                        + +
                                                                        + +

                                                                        게시판 내 결과

                                                                        +
                                                                          + 댓글 '; + $comment_href = '#c_'.$list[$idx][$i]['wr_id']; + } + else + { + $comment_def = ''; + $comment_href = ''; + } + ?> + +
                                                                        • +
                                                                          + + 새창 +
                                                                          +

                                                                          +
                                                                          + + +
                                                                          +
                                                                        • + +
                                                                        + + +
                                                                        + +
                                                                        + + + +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/skin/search/basic/style.css b/web/html/theme/AT_WEB01/skin/search/basic/style.css new file mode 100644 index 0000000..6b38240 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/search/basic/style.css @@ -0,0 +1,53 @@ +@charset "utf-8"; +/* 전체검색결과 스킨 */ +#sch_res_detail {background:#fff;padding:30px;border:1px solid #ccc;text-align:center;margin:0 0 10px} +#sch_res_detail legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#sch_res_detail select{border:1px solid #646982;height:40px;padding:0 5px} +#sch_res_detail .frm_input{border:1px solid #646982;border-radius:0;} +#sch_res_detail .sch_wr{position:relative;display:inline-block} +#sch_res_detail .btn_submit{padding:0 10px;height:40px;color:#000;font-size:1.083em;font-weight:bold;color:#fff;background:#253dbe} +#sch_res_detail .sch_rd{display:block;margin:5px 0 0;font-size:0.92em;color:#666} + +#sch_res_ov {text-align:center;zoom:1} +#sch_res_ov:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_ov h2 {text-align:center;margin:30px 0 10px;font-size:1.5em;} +#sch_res_ov h2 strong{color:#00c4ac;} +#sch_res_ov dl {display:inline-block;line-height: 30px;font-size: 0.92em;color: #4e546f;background: #d4d4d4;padding: 0 10px;border-radius: 5px;} +#sch_res_ov dl:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_ov dt {float:left} +#sch_res_ov dd {float:left;margin:0 10px 0 5px} +#sch_res_ov dd .sch_word{color:#000} +#sch_res_ov p {margin:0;padding:0;line-height:1em;color:#777;font-size:0.92em} + + +#sch_res_board {background:#ecf2f3;padding:7px;margin:10px 0;border:1px solid #bed1d4} +#sch_res_board h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sch_res_board ul {zoom:1} +#sch_res_board ul:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_board li {display:inline-block;padding:2px;} +#sch_res_board a {display:block;line-height:26px;padding:0 10px;border-radius:3px;border:1px solid transparent} +#sch_res_board a:focus, #sch_res_board a:hover {text-decoration:none;background:#d2d6dc;} +#sch_res_board .cnt_cmt {font-weight:normal !important;display:inline-block;background:#c4dce0;margin-left:3px;color:#3497d9;border-radius:15px;height:18px;padding:0 5px;line-height:18px;font-size:0.92em} +#sch_res_board .sch_on {z-index:2;background:#3497d9;color:#fff;font-weight:bold;border-bottom-color:#1977b5; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202);} +#sch_res_board .sch_on:hover{;background:#3497d9;color:#fff;} + + + + +.sch_res_list {margin:0 0 10px;padding:10px 0 15px} +.sch_res_list h2 {margin:0 0 10px;font-size:1.2em} +.sch_res_list ul {margin:0;padding:0;list-style:none;border-top:1px solid #000} +.sch_res_list li {;border-bottom:1px solid #e0e0e0;background:#fff;position:relative} +.sch_res_list .sch_tit{display:block;background:#f4f4f4;padding:10px 70px 10px 10px} +.sch_res_list .pop_a{position:absolute;top:10px;right:10px;color:#666;} +.sch_res_title {display:inline-block;margin:0 0 5px} +.sch_res_list p {padding:10px;color:#666;line-height:1.5em} +.sch_res_list .sch_info{padding:10px;color:#777} +.sch_res_list .sch_info:after {display:block;visibility:hidden;clear:both;content:""} +.sch_res_list .profile_img img{border-radius:50%} +.sch_res_list .sch_datetime{float:right;} +.sch_more {text-align:right;margin:10px 0 30px} +.sch_more a{display:inline-block;color:#f2664f} diff --git a/web/html/theme/AT_WEB01/skin/visit/basic/style.css b/web/html/theme/AT_WEB01/skin/visit/basic/style.css new file mode 100644 index 0000000..ad9724a --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/visit/basic/style.css @@ -0,0 +1,15 @@ +@charset "utf-8"; +/* 방문자 집계 */ +#visit {border: 1px solid #d2d9e6; border-bottom: 1px solid #c1ccda;margin:40px 20px 20px;background:#fff;position:relative; +-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1); +box-shadow:0 1px 2px rgba(0,0,0,0.1)} +#visit .btn_admin{position:absolute;top:10px;right:10px;height:25px;line-height:25px;padding:0 5px;border-radius:3px} +#visit h2 {font-size:1.167em;text-align:center;padding-bottom:15px;padding-top:25px;color:#16b3d6;position:relative} +#visit h2 i{position:absolute;top:-22px;left:50%;width:44px;line-height:44px;margin-left:-22px;border-radius:25px;background:#16b3d6;color:#fff} +#visit dl {border-top:1px solid #e9e9e9;padding:10px 15px;border-radius:5px} +#visit dl:after {display:block;visibility:hidden;clear:both;content:""} +#visit dt {float:left;width:20%;padding:0 5px;line-height:23px;height:23px;color:#555} +#visit dt span{display:inline-block;width:5px;height:5px;border-radius:50%;vertical-align: middle;} +#visit dd {float:left;;width:30%;padding:0 5px;;text-align:right;text-align:right;font-weight:bold;line-height:23px;height:23px;font-size:0.92em} +#visit dd strong{display:inline-block;padding:0 5px;border-radius:20px;line-height:15px;color:#fff;} diff --git a/web/html/theme/AT_WEB01/skin/visit/basic/visit.skin.php b/web/html/theme/AT_WEB01/skin/visit/basic/visit.skin.php new file mode 100644 index 0000000..768a588 --- /dev/null +++ b/web/html/theme/AT_WEB01/skin/visit/basic/visit.skin.php @@ -0,0 +1,25 @@ +', 0); +?> + + +
                                                                        +

                                                                        접속자집계

                                                                        +
                                                                        +
                                                                        오늘
                                                                        +
                                                                        +
                                                                        어제
                                                                        +
                                                                        +
                                                                        최대
                                                                        +
                                                                        +
                                                                        전체
                                                                        +
                                                                        +
                                                                        + 상세보기 +
                                                                        + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/sub1.php b/web/html/theme/AT_WEB01/sub1.php new file mode 100644 index 0000000..5e8481d --- /dev/null +++ b/web/html/theme/AT_WEB01/sub1.php @@ -0,0 +1,177 @@ + + + + +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +

                                                                        '골뱅이커뮤니케이션은'

                                                                        +

                                                                        온라인 마케팅 전문 기업입니다.

                                                                        +

                                                                        정확한 데이터와 골뱅이 커뮤니케이션만의 풍부한 경험으로
                                                                        고객의 비즈니스 성장과 성공을 위해 최선을 다하고 있습니다.

                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +

                                                                        골뱅이커뮤니케이션 목표

                                                                        +

                                                                        고객의 비즈니스 성장과 성공을 생각하는 마케팅

                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                          +
                                                                        • +
                                                                          +
                                                                          +
                                                                          01. Professional
                                                                          +

                                                                          골뱅이커뮤니케이션은 각 분야별 최고의 마케팅 전문가들이
                                                                          성공을 위한 최적의 솔루션을 제안합니다.

                                                                          +
                                                                          +
                                                                        • +
                                                                        • +
                                                                          +
                                                                          +
                                                                          01. Professional
                                                                          +

                                                                          골뱅이커뮤니케이션은 각 분야별 최고의 마케팅 전문가들이
                                                                          성공을 위한 최적의 솔루션을 제안합니다.

                                                                          +
                                                                          +
                                                                        • +
                                                                        • +
                                                                          +
                                                                          +
                                                                          01. Professional
                                                                          +

                                                                          골뱅이커뮤니케이션은 각 분야별 최고의 마케팅 전문가들이
                                                                          성공을 위한 최적의 솔루션을 제안합니다.

                                                                          +
                                                                          +
                                                                        • +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +

                                                                        골뱅이커뮤니케이션 비젼

                                                                        +

                                                                        마케팅에 감정을 더하다

                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        한발 앞서가는 스마트한 마케팅
                                                                        +

                                                                        미래를 향한 노력과 급변하는 시대를
                                                                        한발 먼저 나아가는 스마트한 마케팅

                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        창의력적인 마케팅
                                                                        +

                                                                        다른 마케팅회사와 차별화 된
                                                                        크리에이티브한 기획과 마케팅

                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        함께 성장하는 마케팅
                                                                        +

                                                                        고객과 함께 같이 성장해가고 발전해가는
                                                                        골뱅이커뮤니케이션

                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +

                                                                        골뱅이커뮤니케이션 연혁

                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        + + +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        + +
                                                                        +
                                                                        +
                                                                        + + + + + diff --git a/web/html/theme/AT_WEB01/tail.php b/web/html/theme/AT_WEB01/tail.php new file mode 100644 index 0000000..8ae168f --- /dev/null +++ b/web/html/theme/AT_WEB01/tail.php @@ -0,0 +1,250 @@ + + +
                                                                        +
                                                                        + +
                                                                        +
                                                                        + + +
                                                                        +
                                                                        +
                                                                          + +
                                                                        • + + '.PHP_EOL; + ?> +
                                                                        • + + 0 ){ + $l = 0; + if ( isset($row2['sub2'])) { + foreach( (array) $row2['sub2'] as $row3 ) { + if( empty($row3) ) continue; + if( $l == 0 ) echo '
                                                                            '.PHP_EOL; + ?> +
                                                                          • -
                                                                          • + 0 ) { + echo '
                                                                          '.PHP_EOL; + } + } // end sub3 if + // 3차메뉴 끝 + //} // end if + ?> + 0) + echo '
                                                                        '.PHP_EOL; + ?> + + +
                                                                      • 메뉴 준비 중입니다. 관리자모드 > 환경설정 > 메뉴설정에서 설정하실 수 있습니다.
                                                                      • + + +
                                                                        +
                                                                        +
                                                                        + + + + + +
                                                                        + + + + +
                                                                        +
                                                                        + + +
                                                                        + 031-919-1359 +

                                                                        평일 : 09:00 - 17:00
                                                                        (점심시간 12:00 - 13:00 / 주말, 공휴일 휴무)

                                                                        +
                                                                        + + +
                                                                        +
                                                                          +
                                                                        • (주)대동에프앤디
                                                                        • +
                                                                        • 대표 : 김인호
                                                                        • +
                                                                        • 주소 : 경기도 고양시 일산서구 멱절길 114-9
                                                                        • +
                                                                          +
                                                                        • 메일 : daedongfnd@naver.com
                                                                        • +
                                                                        • 사업자등록번호 : 128-86-12389
                                                                        • +
                                                                          +
                                                                        • 통신판매업 신고번호 : 경기고양-제4490호
                                                                        • +
                                                                        +
                                                                        + +
                                                                        + Copyright © 우리플랫폼 All rights reserved. +
                                                                        +
                                                                        + + +
                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/AT_WEB01/tail.sub.php b/web/html/theme/AT_WEB01/tail.sub.php new file mode 100644 index 0000000..aeb0cea --- /dev/null +++ b/web/html/theme/AT_WEB01/tail.sub.php @@ -0,0 +1,25 @@ + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/AT_WEB01/theme.config.php b/web/html/theme/AT_WEB01/theme.config.php new file mode 100644 index 0000000..bd1cddf --- /dev/null +++ b/web/html/theme/AT_WEB01/theme.config.php @@ -0,0 +1,38 @@ + false, // 기본환경설정의 최근게시물 등의 기본스킨 변경여부 true, false + 'preview_board_skin' => 'basic', // 테마 미리보기 때 적용될 기본 게시판 스킨 + 'preview_mobile_board_skin' => 'basic', // 테마 미리보기 때 적용될 기본 모바일 게시판 스킨 + 'cf_member_skin' => 'basic', // 회원 스킨 + 'cf_mobile_member_skin' => 'basic', // 모바일 회원 스킨 + 'cf_new_skin' => 'basic', // 최근게시물 스킨 + 'cf_mobile_new_skin' => 'basic', // 모바일 최근게시물 스킨 + 'cf_search_skin' => 'basic', // 검색 스킨 + 'cf_mobile_search_skin' => 'basic', // 모바일 검색 스킨 + 'cf_connect_skin' => 'basic', // 접속자 스킨 + 'cf_mobile_connect_skin' => 'basic', // 모바일 접속자 스킨 + 'cf_faq_skin' => 'basic', // FAQ 스킨 + 'cf_mobile_faq_skin' => 'basic', // 모바일 FAQ 스킨 + 'bo_gallery_cols' => 4, // 갤러리 이미지 수 + 'bo_gallery_width' => 210, // 갤러리 이미지 폭 + 'bo_gallery_height' => 150, // 갤러리 이미지 높이 + 'bo_mobile_gallery_width' => 125, // 모바일 갤러리 이미지 폭 + 'bo_mobile_gallery_height' => 100, // 모바일 갤러리 이미지 높이 + 'bo_image_width' => 600, // 게시판 뷰 이미지 폭 + 'qa_skin' => 'basic', // 1:1문의 스킨 + 'qa_mobile_skin' => 'basic' // 1:1문의 모바일 스킨 +); +?> \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/_common.php b/web/html/theme/FT_WEB20/_common.php new file mode 100644 index 0000000..03b90f3 --- /dev/null +++ b/web/html/theme/FT_WEB20/_common.php @@ -0,0 +1,2 @@ +board>list01 */ +#board_list01 { + /* 전체감싸는태그 */ + width:100%; + overflow: hidden; +} +#board_list01 .listForm { + padding:5% 0; +} +#board_list01 .listFormul { + border-top:2px solid #333; + box-sizing:border-box; +} +#board_list01 .listForm ul li { + border-bottom:1px solid #ccc; + padding:2%; + overflow: hidden; + cursor: pointer; +} +#board_list01 .listForm ul li:hover { + background-color:#f9f7f7; + box-shadow:3px 3px 5px rgba(0,0,0,0.2); +} +#board_list01 .listForm ul li .lf_box { + width:70%; + float:left; +} +#board_list01 .listForm ul li dl{ + display:flex; + padding-bottom:20px; +} +#board_list01 .listForm ul li dl dt { + font-size:2em; + font-weight:bold; + color:#333; + padding-right:30px; + position:relative; +} +#board_list01 .listForm ul li dl dt::after { + content:''; + position:absolute; + top:8px; + right:15px; + width:1px; + height:22px; + background-color:#c7c7c7; +} +#board_list01 .listForm ul li dl dd { + font-size:2em; + font-weight:bold; + color:#333; +} +#board_list01 .listForm .info_box { + display:table; +} +#board_list01 .listForm .info_box p { + display:table-cell; + padding-right:20px; +} +#board_list01 .listForm .info_box i { + font-size:1.1em; + font-weight:400; + color:#9f9f9f; + padding-right:5px; +} +#board_list01 .listForm .info_box span { + font-size:1em; + font-weight:400; + color:#9f9f9f; +} +#board_list01 .listForm ul li .rt_box { + width:30%; + float:right; + padding-top:2%; +} +#board_list01 .listForm ul li .rt_box i { + font-size:1.5em; +} +#board_list01 .listForm .info_txt { + font-size:1.8em; + font-weight:bold; + color:#333; + display: flex; + justify-content: center; + align-items: center; + padding: 4% 0; +} + +@media screen and (max-width:800px) { + #board_list01 .listForm ul li .lf_box { + width:100%; + } + #board_list01 .listForm ul li dl { + padding-bottom:10px; + } + #board_list01 .listForm ul li dl dt { + font-size:18px; + } + #board_list01 .listForm ul li dl dd { + font-size:18px; + } +} +/* e:skin>board>list01 */ + + + +/* s:skin>board>webzine01 */ +#board_webzine01 { + /* 전체감싸는태그 */ + width:100%; + overflow: hidden; +} +#board_webzine01 .listForm { + margin-top:3%; + border-top:2px solid #333; +} +#board_webzine01 .listForm li{ + padding:2%; + cursor: pointer; + display:table; + border-bottom:1px solid #ccc; +} +#board_webzine01 .listForm li:hover { + background-color:#f9f7f7; + box-shadow:3px 3px 5px rgba(0,0,0,0.2); +} +#board_webzine01 .listForm li .lf_box { + display:table-cell; + vertical-align: middle; + width:750px; +} +#board_webzine01 .listForm li dl dt { + font-size:1.8em; + font-weight:bold; + color:#333; + padding-bottom:10px; +} +#board_webzine01 .listForm li dl dd:nth-child(2) { + font-size:1.2em; + font-weight:400; + color:#333; + padding-bottom:10px; +} +#board_webzine01 .listForm li dl dd:nth-child(3) { + font-size:1em; + font-weight:400; + color:#454545; + display:table; +} +#board_webzine01 .listForm li dl dd:nth-child(3) span { + display:table-cell; + padding-right:10px; +} +#board_webzine01 .listForm li .rt_box { + display:table-cell; + vertical-align: middle; + width:40%; + padding-left:10%; + overflow:hidden; +} +#board_webzine01 .listForm li .rt_box div { + display:inline-block; +} +#board_webzine01 .listForm li .rt_box div:nth-child(2) { + font-size:1.2em; + font-weight:500; + color:#333; + text-align:center; + padding-left:50px; +} +#board_webzine01 .listForm .info_txt { + font-size:1.8em; + font-weight:bold; + color:#333; + display: flex; + justify-content: center; + align-items: center; + padding: 4% 0; +} +@media screen and (max-width:800px) { + #board_webzine01 .listForm li { + display:block; + padding:20px; + } + #board_webzine01 .listForm li .lf_box { + display:block; + width:auto; + margin-bottom:20px; + } + #board_webzine01 .listForm li .lf_box { + width:auto; + } + #board_webzine01 .listForm li .rt_box { + width:auto; + padding-left:0px; + } + #board_webzine01 .listForm li dl dt { + font-size:18px; + } + #board_webzine01 .listForm li dl dd:nth-child(3) span { + padding-right:0px; + } + #board_webzine01 .listForm li dl dd:nth-child(2) { + font-size:14px; + } + #board_webzine01 .listForm li .rt_box div:nth-child(2) { + padding-top:10px; + padding-left:0; + width:100%; + text-align:left; + } +} +/* e:skin>board>webzine01 */ + + +/* s:skin>board>webzine02 */ +#board_webzine02 .listForm{ + margin-top:3%; + border-top:2px solid #333; +} +#board_webzine02 .listForm li{ + padding:2%; + cursor: pointer; + display:table; + border-bottom:1px solid #ccc; +} +#board_webzine02 li:hover { + background-color:#f9f7f7; + box-shadow:3px 3px 5px rgba(0,0,0,0.2); +} +#board_webzine02 li .lf_box { + display:table-cell; + vertical-align: middle; + width:20%; + overflow:hidden; +} +#board_webzine02 li .rt_box { + display:table-cell; + vertical-align: middle; + width:1000px; +} +#board_webzine02 li dl dt { + font-size:1.8em; + font-weight:bold; + color:#333; + padding-bottom:10px; +} +#board_webzine02 li dl dd:nth-child(2) { + font-size:1.2em; + font-weight:400; + color:#333; + padding-bottom:10px; +} +#board_webzine02 li dl dd:nth-child(3) { + font-size:1em; + font-weight:400; + color:#454545; + display:table; +} +#board_webzine02 li dl dd:nth-child(3) span { + display:table-cell; + padding-right:10px; +} +#board_webzine02 .info_txt { + font-size:1.8em; + font-weight:bold; + color:#333; + display: flex; + justify-content: center; + align-items: center; + padding: 4% 0; +} +@media screen and (max-width:1200px) { + #board_webzine02 li .rt_box { + width:55%; + } + #board_webzine02 li dl dd:nth-child(3) span { + padding-left:0px; + } +} +@media screen and (max-width:800px) { + #board_webzine02 .listForm li { + display:block; + } + #board_webzine02 li .lf_box { + display:block; + width:100%; + padding:20px 0; + } + #board_webzine01 .listForm li dl dt { + font-size:18px; + } + #board_webzine01 .listForm li dl dd:nth-child(2) { + font-size:14px; + } + #board_webzine02 li dl dd:nth-child(3) span { + padding-left:2px; + padding-right:0px; + } +} +/* e:skin>board>webzine02 */ + +/* s:skin>board>gallery01 */ +#board_gallery01 .listForm { + width:100%; + padding:4% 0; + overflow:hidden; +} +#board_gallery01 .listForm li { + width:32%; /*갤러리 한줄 갯수 조절*/ + margin-right:1.33%; + margin-bottom:5%; + height:330px; + float:left; + position:relative; + overflow: hidden; + box-shadow:3px 3px 8px rgba(0, 0, 0, .075); +} + +#board_gallery01 .listForm li:hover .img_box img{ + transform:scale(1.1); + transition:all 0.6s; +} +#board_gallery01 .listForm li .img_box { + width:100%; + height:220px; + overflow: hidden; + transition:0.6s; +} +#board_gallery01 .listForm li .text_box{ + padding:5% 4% 8% 4%; +} +#board_gallery01 .listForm li .text_box h2 { + font-size:1.8em; + font-weight:bold; + font-family: 'Noto Sans KR', sans-serif; + padding-bottom:10px; + color:#333; +} +#board_gallery01 .listForm li:hover .text_box h2{ + font-size:1.7em; + transition:all 0.6s; +} +#board_gallery01 .listForm li .text_box p { + font-size:1.2em; + font-weight:300; + font-family: 'Noto Sans KR', sans-serif; + color:#333; +} +#board_gallery01 .listForm li:hover .text_box p{ + font-size:1.1em; + transition:all 0.6s; +} + +@media screen and (max-width:960px) { + #board_gallery01 .listForm li { + width:48%; /*갤러리 한줄 갯수 조절*/ + margin-right:0; + margin-bottom:4%; + height:330px; + float:left; + position:relative; + overflow: hidden; + } + #board_gallery01 .listForm li .img_box img{ + width:100%; + } + #board_gallery01 .listForm li:nth-child(2n) { + margin-left:4%; + } +} +@media screen and (max-width:800px) { + #board_gallery01 .listForm li { + width:384px; /*갤러리 한줄 갯수 조절*/ + margin-right:0; + margin-bottom:4%; + float:none; + position:relative; + overflow: hidden; + margin:0 auto; + } + #board_gallery01 .listForm li:nth-child(2n) { + margin:20px auto; + } + #board_gallery01 .listForm li:nth-child(3n) { + margin:20px auto; + } + #board_gallery01 .listForm li .text_box h2 { + font-size:18px; + } +} +@media screen and (max-width:384px) { + #board_gallery01 .listForm li { + width:280px; + height:270px; + } + #board_gallery01 .listForm li .img_box { + height:160px; + } +} +/* e:skin>board>gallery01 */ + + +/* s:skin>board>gallery02 */ +#board_gallery02 .listForm { + width:100%; + padding:4% 0; + overflow:hidden; +} +#board_gallery02 .listForm li { + width:32%; /*갤러리 한줄 갯수 조절*/ + margin-right:1.33%; + margin-bottom:5%; + height:300px; + float:left; + position:relative; + overflow: hidden; +} +#board_gallery02 .listForm li:hover { + transform: scale3d(0.985, 0.985, 0.985) translateX(0); + transition:0.6s; +} +#board_gallery02 .listForm li .img_box { + width:100%; + height:300px; + overflow: hidden; +} +#board_gallery02 .listForm li .text_box{ + padding:5%; + position:absolute; + bottom:10px; + z-index:1; +} +#board_gallery02 .listForm li .text_box h2 { + font-size:2.5em; + font-weight:bold; + font-family: 'Noto Sans KR', sans-serif; + padding-bottom:10px; + color:#fff; +} +#board_gallery02 .listForm li:hover .text_box { + display:none; +} +#board_gallery02 .listForm li .text_box p { + font-size:1.3em; + font-weight:300; + font-family: 'Noto Sans KR', sans-serif; + color:#f6f6f6; +} +#board_gallery02 .listForm li:hover .text_hover { + opacity:1; + transition:all 0.6s; +} +#board_gallery02 .listForm li .text_hover { + position:absolute; + top:0; + left:0; + z-index:2; + width:100%; + height:100%; + background-color:#c91d1d; + padding:10% 6% 0 6%; + opacity:0; +} +#board_gallery02 .listForm li .text_hover h2 { + font-size:2em; + font-weight:bold; + color:#fff; + padding-bottom:10%; +} +#board_gallery02 .listForm li .text_hover p { + font-size:1.1em; + font-weight:400; + color:#ddd; +} + +@media screen and (max-width:960px) { + #board_gallery02 .listForm li { + width:48%; /*갤러리 한줄 갯수 조절*/ + margin-right:0; + margin-bottom:4%; + height:300px; + float:left; + position:relative; + overflow: hidden; + } + #board_gallery02 .listForm li:nth-child(2n) { + margin-left:4%; + } + +} +@media screen and (max-width:800px) { + #board_gallery02 .listForm li { + width:384px; /*갤러리 한줄 갯수 조절*/ + margin-right:0; + margin-bottom:4%; + height:300px; + float:none; + position:relative; + overflow: hidden; + margin:0 auto; + } + #board_gallery02 .listForm li:nth-child(2n) { + margin:20px auto; + } + #board_gallery02 .listForm li:nth-child(3n) { + margin:20px auto; + } +} +@media screen and (max-width:384px) { + #board_gallery02 .listForm li { + width:100%; + height:auto; + } + #board_gallery02 .listForm li .text_box h2 { + font-size:18px; + padding-bottom:0px; + } + #board_gallery02 .listForm li .text_box p { + font-size:16px; + } +} +/* e:skin>board>gallery02 */ + +@media screen and (max-width:1200px) { + +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/css/common.css b/web/html/theme/FT_WEB20/css/common.css new file mode 100644 index 0000000..f547d36 --- /dev/null +++ b/web/html/theme/FT_WEB20/css/common.css @@ -0,0 +1,519 @@ +* { + padding:0; + margin:0; + list-style:none; + text-decoration:none; +} +@import url('//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css'); +@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap'); + +.pg_wrap { + padding-top:20px; + position:relative; + left: 50%; + transform: translateX(-50%); +} + + +body { + font-family: 'Noto Sans KR', sans-serif; + overflow: hidden; +} +.blind { + display:none; +} +.main { + overflow: hidden; +} + +#header { + width:100%; + position:absolute; + top:0px; + z-index:999999999999999999999999999999999; +} +#header.on { + background-color:#333; + transition-duration:0.6s; +} + +#header > .inner { + width:80%; + position:relative; + margin:0 auto; +} +#header .logo, +#header #nav, +#header #info { + height:70px; + line-height:70px; +} +#header .logo { + position:absolute; + left:0; + z-index:999999999; +} +#header #nav { + position:absolute; + top:0; + left:50%; + transform:translateX(-50%); +} +#header #nav .menu_ul { + display:flex; + /* width:720px; */ + position:absolute; + left:50%; + transform:translateX(-50%); +} +#header #nav .menu_li { + width:140px; + /* padding:0 40px; */ + flex-direction:column; + text-align:center; + position:relative; +} +#header #nav .menu_tit { + flex-direction:column; + font-size:17px; + font-weight:bold; + position:relative; + letter-spacing:-0.6px; + color:#fff !important; +} + +#header #nav .menu_tit.on { + color:#f6f6f6; +} + +#header #nav .menu_li:hover { + color:#f6f6f6; +} +#header #nav .gnb_box { + display:none; + position:absolute; + top:65px; + left:0; + width:100%; + margin-left:0; + padding:20px 60px 60px 20px; + background-color:rgba(0, 0, 0, 0.8); + border-radius:10px; + +} + +#header #nav .gnb_box.on { + display:block; +} +#header #nav .gnb_ul { + +} +#header #nav .gnb_li { + flex-direction:column; + width:120px; + height:35px; + line-height:35px; + float:left; + text-align:left; +} +/* #header #nav .gnb_a::after { + content: "\f105"; + position:absolute; + top:0; + right:-30px; + font-family:FontAwesome; + font-size:18px; + color:#fff; + transition-duration:0.6s; + opacity:0; +} */ +#header #nav .gnb_a:hover::after { + right:-40px; + opacity:1; +} +#header #nav .gnb_a { + position:relative; + width:100%; + display:block; + font-size:16px; + color:#fff; + z-index:9999999; + transition-duration:0.2s; +} +#header #nav .gnb_a:hover { + padding-left:10px; + color:#f6f6f6; +} +/* #header #nav .gnb_li .gnb_a::before { + content:''; + width:0; + height:1px; + position:absolute; + left:0; + bottom:0; + background-color:#fff; + transition-duration:0.2s; +} */ +#header #nav .gnb_li:hover .gnb_a:before { + width:100%; +} +#header #nav .gnb_li:hover .gnb_a::after { + right:-10px; + opacity:0.6; +} +#header #info { + position:absolute; + top:0; + right:0; + display:flex; +} +#header #info .userBox { + margin-right:30px; +} +#header #info .userBox ul { + display:table; +} +#header #info .userBox ul li { + display:table-cell; + vertical-align:middle; + padding-right:14px; +} +#header #info .userBox ul li a { + font-size:14px; + font-weight:400; + color:#fff; +} +#header #info .member { + display:table; +} +#header #info .member li { + display:table-cell; + padding-right:5px; +} +#header #info .member li::after { + content:''; + padding-left:5px; + border-right:1px solid #ccc; +} +#header #info .member li:last-child:after { + border-right:none; +} +#header #info .member li a{ + font-size:1em; + font-weight:400; +} +#header #info .member li:last-child { + padding-right:0; +} + +/* s:햄버거버튼 */ +/* hambergur button */ +.hamburger { + padding:18px 0; + cursor: pointer; + display:block; + overflow: hidden; + background-color: transparent; + position:relative; + top:8px; + right:10%; + z-index:99999; +} + +.hamburger__container { + width:30px; + height:18px; + position: relative; +} +.hamburger.is-active .hamburger__inner { + transform: translate(-51px,50%); +} +.hamburger.is-active .hamburger__inner::before, +.hamburger.is-active .hamburger__inner::after { + transform: translate(102px, 0); + opacity: 0; +} + +.hamburger__inner { + width: 100%; + height: 2px; + /* border-color */ + background-color: #fff; + border-radius: 4px; + position: absolute; + transition-property: transform, opacity; + transition-timing-function: ease; + transition-duration: 0.4s; + top: 50%; + transform: translate(5px, -50%); + opacity: 1; +} + +.hamburger__inner::before, .hamburger__inner::after { + width: 100%; + height: 2px; + /* border-color */ + background-color: #fff; + border-radius: 4px; + position: absolute; + transition-property: transform, opacity; + transition-timing-function: ease; + transition-duration: 0.4s; + content: ""; + opacity: 1; + transform: translate(-5px, 0); +} + +.hamburger__inner::before { + top: -8px; +} + +.hamburger__inner::after { + top: 8px; +} + + +.hamburger:hover .hamburger__hidden { + transform: translate(0, -50%); + background-color:#fff; +} + +.hamburger:hover .hamburger__hidden::before, +.hamburger:hover .hamburger__hidden::after { + opacity: 1; + transform: translate(0, 0); + background-color:#fff; +} +.hamburger__hidden{ + opacity: 0; +} +.hamburger.is-active .hamburger__hidden { + opacity: 1; + transform: rotate(45deg); + background-color:#fff; +} + +.hamburger.is-active .hamburger__hidden::before { + transform: translate(0, 13px) rotate(90deg); + transform-origin: center; + background-color:#fff; +} + +.hamburger.is-active .hamburger__hidden::after { + transform-origin: center; + transform: translate(0, -13px) rotate(0); + background-color:#fff; +} + +.hamburger__hidden { + opacity: 0; + width: 100%; + height: 2px; + border-radius: 4px; + position: absolute; + transition-property: transform, opacity; + transition-timing-function: ease; + transition-duration: 0.4s; + top: 50%; + transform: translate(51px, -50%); +} + +.hamburger__hidden::before, .hamburger__hidden::after { + width: 100%; + height: 2px; + border-radius: 4px; + position: absolute; + transition-property: transform, opacity; + transition-timing-function: ease; + transition-duration: 0.4s; + content: ""; + transform: translate(102px, 0); +} + +.hamburger__hidden::before { + top: -13px; +} + +.hamburger__hidden::after { + top: 13px; +} + + +/* e:햄버거버튼 */ + +/* s:all_menu */ +#header #all_menu { + width:100%; + height:100vh; + position:absolute; + top:0; + left:0; + background-color:#333; + z-index:999; + display:none; +} +#header #all_menu.on { + display:block; +} +#header #all_menu .menu_ul { + width:18%; + position:absolute; + top:50%; + left:50%; + transform:translate(-50%,-50%); + text-align:center; + vertical-align:middle; + +} +#header #all_menu .menu_li { + width:100%; +} + +#header #all_menu .menu_tit{ + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + display: block; + width: 100%; + padding: 1px; + position: relative; + z-index: 2; + text-decoration: none; + color: #969696; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + font-size: 5em; + font-weight: 600; + -webkit-user-select: none; + -webkit-touch-callout: none; + text-align:center; + +} +#header #all_menu .menu_tit:hover { + color:#fff; +} +/* text_hover effect */ + +#header #all_menu .menu_tit:hover:after, +#header #all_menu .menu_tit:focus:after{ + width: 100%; + background-color: #fff; +} +#header #all_menu .menu_tit:hover { + color: #fff; + -webkit-transition: color 1s ease; + -moz-transition: color 1s ease; + -ms-transition: color 1s ease; + -o-transition: color 1s ease; + transition: color 1s ease; + cursor: pointer; +} +#header #all_menu .all_box { + display:none; +} +#header #all_menu .all_box.on { + display:block; + transition-duration:0.6s; +} +#header #all_menu .all_tit { + font-size:18px; + font-weight:400; + color: #fff; + padding:10px 0; + display: block; +} +#header #all_menu .all_tit:hover { + padding-left:20px; + transition-duration:0.6s; + font-weight:bold; + color:#0c56b1; +} + + +/* e:all_menu */ + + +@media screen and (max-width:1240px){ + #header { + background-color:rgba(255,255,255,0.5); + } + #header > .inner { + width:100%; + } + #nav { + display:none; + } + #header .logo { + width:200px; + display:block; + margin:0 auto; + position:absolute; + top:8px; + left:50%; + transform:translateX(-50%); + z-index:9999999999; + } + #header #info { + top:0px; + right:20px; + position:absolute; + } + #header #info .member { + display:none; + } + #header .logo, #header #nav, #header #info { + height:45px; + line-height:45px; + } + .hamburger { + padding:5px 0; + } + #header #all_menu { + background-color:#333; + } + .hamburger.is-active .hamburger__hidden::before { + background-color:#fff; + } + .hamburger.is-active .hamburger__hidden::after { + background-color:#fff; + } + #header .member.on { + display:block; + position:fixed; + } + #header #all_menu .menu_ul { + width:50%; + } + #header #all_menu .menu_tit { + font-size:2rem; + } + #header #all_menu .all_tit { + color:#f6f6f6; + } + #header #all_menu .menu_tit:hover { + color:#f6f6f6; + } + /* #header #all_menu .menu_tit::before{ + content: "\f067"; + position:absolute; + top:50%; + right:0; + transform:translateY(-50%); + font-family:FontAwesome; + font-size:10px; + width:20px; + height:20px; + line-height:20px; + border-radius:50%; + background-color:#ececec; + box-shadow:2px 2px 4px rgba(0, 0, 0, 0.1); + color:#898989; + } */ + #header #all_menu .menu_li.on .menu_tit::before { + content: "\f068"; + } + #header #info .userBox { + display:none; + } +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/css/default.css b/web/html/theme/FT_WEB20/css/default.css new file mode 100644 index 0000000..25e1eec --- /dev/null +++ b/web/html/theme/FT_WEB20/css/default.css @@ -0,0 +1,447 @@ +@charset "utf-8"; + +/* 초기화 */ +html {overflow-y:scroll} +body {margin:0;padding:0;font-size:0.75em;font-family: 'Noto Sans KR', sans-serif;;background:#fff} +html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0} +h1, h2, h3, h4, h5, h6 {font-size:1em;font-family: 'Noto Sans KR', sans-serif;} +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block} + +ul, dl,dt,dd {margin:0;padding:0;list-style:none} +legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +label, input, button, select, img {vertical-align:middle;font-size:1em} +input, button {margin:0;padding:0;font-family: 'Noto Sans KR', sans-serif;;font-size:1em} +input[type="submit"] {cursor:pointer} +button {cursor:pointer} + +textarea, select {font-family: 'Noto Sans KR', sans-serif;;font-size:1em} +select {margin:0} +p {margin:0;padding:0;word-break:break-all} +hr {display:none} +pre {overflow-x:scroll;font-size:1.1em} +a {color:#000;text-decoration:none} + +*, :after, :before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; +} + +input[type=text],input[type=password], textarea { +-webkit-transition:all 0.30s ease-in-out; +-moz-transition:all 0.30s ease-in-out; +-ms-transition:all 0.30s ease-in-out; +-o-transition:all 0.30s ease-in-out; +outline:none; +} + +input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus { +-webkit-box-shadow:0 0 5px #9ed4ff; +-moz-box-shadow:0 0 5px #9ed4ff; +box-shadow:0 0 5px #9ed4ff; +border:1px solid #558ab7 !important; +} + +.placeholdersjs {color:#aaa !important} + +/* 레이아웃 크기 지정 */ +#hd, #wrapper, #ft {min-width:1200px} + +#hd_pop, +#hd_wrapper, +#tnb .inner, + +#gnb .gnb_wrap, +#container_wr, +#ft_wr {width:1200px} + +/* 팝업레이어 */ +#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0} +#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff} +.hd_pops img {max-width:100%} +.hd_pops_con {} +.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative} +.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""} +.hd_pops_footer button {padding:10px;border:0;color:#fff} +.hd_pops_footer .hd_pops_reject {background:#000;text-align:left} +.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0} + +/* 상단 레이아웃 */ +#hd {background:#212020} +#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#tnb {border-bottom:1px solid #383838;margin:0 auto} +#tnb:after {display:block;visibility:hidden;clear:both;content:""} +#tnb .inner {margin:0 auto} + +#hd_wrapper {position:relative;margin:0 auto;height:140px;zoom:1} +#hd_wrapper:after {display:block;visibility:hidden;clear:both;content:""} + +#logo {float:left;padding:30px 0 0} + +.hd_sch_wr {float:left;padding:30px 0;width:445px;margin-left:65px} +#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#hd_sch {border-radius:30px;overflow:hidden} +#hd_sch #sch_stx {float:left;width:385px;height:45px;padding-left:10px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff} +#hd_sch #sch_submit {float:left;width:60px;height:45px;border:0;background:#2c2c2c;color:#fff;border-radius:0 30px 30px 0;cursor:pointer;font-size:16px} + +#hd_qnb {float:right;text-align:right} +#hd_qnb:after {display:block;visibility:hidden;clear:both;content:""} +#hd_qnb li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px} +#hd_qnb li:last-child {padding-right:0;margin-right:0;border-right:0} +#hd_qnb li span {display:block;margin-top:5px;font-size:0.92em} +#hd_qnb li a {display:inline-block;color:#919191} +#hd_qnb .visit .visit-num {display:inline-block;line-height:16px;padding:0 5px;margin-left:5px;border-radius:10px;background:#da22f5;color:#fff;font-size:10px} + + +.hd_login {position:absolute;right:0;top:60px} +.hd_login li {float:left;margin:0 5px;border-left:1px solid #616161;padding-left:10px;line-height:13px} +.hd_login li:first-child {border-left:0} +.hd_login a {color:#fff} + + +/* 메인메뉴 */ +#gnb {position:relative;background:#fff} +#gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#gnb .gnb_wrap {margin:0 auto;position:relative} +#gnb .gnb_wrap:hover, #gnb .gnb_wrap:focus, #gnb .gnb_wrap:active{z-index:3} +#gnb #gnb_1dul {font-size:1.083em;padding:0;border-bottom:1px solid #e0e2e5;zoom:1} +#gnb ul:after {display:block;visibility:hidden;clear:both;content:""} +#gnb .gnb_1dli {float:left;line-height:55px;padding:0px;position:relative} +#gnb .gnb_1dli:hover > a {color:#3a8afd; +-webkit-transition:background-color 2s ease-out; +-moz-transition:background-color 0.3s ease-out; +-o-transition:background-color 0.3s ease-out; +transition:background-color 0.3s ease-out} + +.gnb_1dli .bg {position:absolute;top:24px;right:8px;display:inline-block;width:10px;height:10px;overflow:hidden;background:url('./images/gnb_bg2.gif') no-repeat 50% 50%;text-indent:-999px} +.gnb_1da {display:block;font-weight:bold;padding:0 15px;color:#080808;text-decoration:none} +.gnb_1dli.gnb_al_li_plus .gnb_1da{padding-right:25px} +.gnb_2dli:first-child {border:0} +.gnb_2dul {display:none;position:absolute;top:54px;min-width:140px;padding-top:2px} +.gnb_2dul .gnb_2dul_box {border:1px solid #e0e2e5;border-top:0;padding:0; +-webkit-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2); +-moz-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2); +box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2)} +.gnb_2da {display:block;padding:0 10px;line-height:40px;background:#fff;color:#080808;text-align:left;text-decoration:none} +a.gnb_2da:hover {color:#3a8afd;background:#f7f7f8; +-moz-transition:all 0.3s ease-out; +-o-transition:all 0.3s ease-out; +transition:all 0.3s ease-out} + +.gnb_1dli_air .gnb_2da {} +.gnb_1dli_on .gnb_2da {} +.gnb_2da:focus, .gnb_2da:hover {color:#fff} +.gnb_1dli_over .gnb_2dul {display:block;left:0} +.gnb_1dli_over2 .gnb_2dul {display:block;right:0} +.gnb_wrap .gnb_empty {padding:10px 0;width:100%;text-align:center;line-height:2.7em;color:#080808} +.gnb_wrap .gnb_empty a {color:#3a8afd;text-decoration:underline} +.gnb_wrap .gnb_al_ul .gnb_empty, .gnb_wrap .gnb_al_ul .gnb_empty a {color:#555} + +#gnb .gnb_menu_btn {background:#4158d1;color:#fff;width:50px;height:55px;border:0;vertical-align:top;font-size:18px} +#gnb .gnb_close_btn {background:#fff;color:#b6b9bb;width:50px;height:50px;border:0;vertical-align:top;font-size:18px;position:absolute;top:0;right:0} +#gnb .gnb_mnal {float:right;padding:0} + +#gnb_all {display:none;position:absolute;border:1px solid #c5d6da;width:100%;background:#fff;z-index:1000;-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2); +-moz-box-shadow:0 2px 5px rgba(0,0,0,0.2); +box-shadow:0 2px 5px rgba(0,0,0,0.2)} +#gnb_all h2 {font-size:1.3em;padding:15px 20px;border-bottom:1px solid #e7eeef} +#gnb_all .gnb_al_ul:after {display:block;visibility:hidden;clear:both;content:""} +#gnb_all .gnb_al_ul > li:nth-child(5n+1) {border-left:0} +#gnb_all .gnb_al_li {float:left;width:20%;min-height:150px;padding:20px;border-left:1px solid #e7eeef} +#gnb_all .gnb_al_li .gnb_al_a {font-size:1.2em;display:block;position:relative;margin-bottom:10px;font-weight:bold;color:#3a8afd} +#gnb_all .gnb_al_li li {line-height:2em} +#gnb_all .gnb_al_li li a {color:#555} +#gnb_all_bg {display:none;background:rgba(0,0,0,0.1);width:100%;height:100%;position:fixed;left:0;top:0;z-index:999} + +/* 중간 레이아웃 */ +#wrapper {} +#container_wr:after {display:block;visibility:hidden;clear:both;content:""} +#container_wr {margin:0 auto;height:100%;zoom:1} +#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px} + +#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1} +#container:after {display:block;visibility:hidden;clear:both;content:""} +#container_title {font-size:1.333em;margin:0 auto;font-weight:bold} +#container_title span {margin:0 auto 10px;display:block;line-height:30px} + +.lt_wr {width:32%} +.lt_wr:nth-child(3n+1) {clear:both} +.latest_wr {margin-bottom:20px} +.latest_wr:after {display:block;visibility:hidden;clear:both;content:""} +.latest_top_wr {margin:0 -10px 20px} +.latest_top_wr:after {display:block;visibility:hidden;clear:both;content:""} + +/* 하단 레이아웃 */ +#ft {background:#212020;margin:0 auto;text-align:center} +#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ft_wr {max-width:1240px;margin:0;padding:40px 0;position:relative;display:inline-block;text-align:left} +#ft_wr:after {display:block;visibility:hidden;clear:both;content:""} +#ft_wr .ft_cnt {width:25%;float:left;padding:0 20px} + +#ft_link {text-align:left} +#ft_link a {display:block;color:#fff;line-height:2em;font-weight:bold} +#ft_company h2 {font-size:1.2em;margin-bottom:20px} +#ft_company {font-weight:normal;color:#e3e3e3;line-height:2em} +#ft_catch {margin:20px 0 10px} +#ft_copy {text-align:center;width:1200px;margin:0 auto;padding:20px 0;color:#5b5b5b;font-size:0.92em;border-top:1px solid #383838} +#top_btn {position:fixed;bottom:20px;right:20px;width:50px;height:50px;line-height:46px;border:2px solid #333;color:#333;text-align:center;font-size:15px;z-index:90;background:rgba(255,255,255,0.5)} +#top_btn:hover {border-color:#3059c7;background:#3059c7;color:#fff} + +/* 게시물 선택복사 선택이동 */ +#copymove {} +#copymove .win_desc {text-align:center;display:block} +#copymove .tbl_wrap {margin:20px} +#copymove .win_btn {padding:0 20px 20px} +.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px} +.copymove_currentbg {background:#f4f4f4} + +/* 화면낭독기 사용자용 */ +#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden} +.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important} + +/* 본문 바로가기 */ +#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} +#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em} + +/* ie6 이미지 너비 지정 */ +.img_fix {width:100%;height:auto} + +/* 캡챠 자동등록(입력)방지 기본 -pc */ +#captcha {display:inline-block;position:relative} +#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0} +#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px} +#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px} +#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top} +#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em} + +/* 캡챠 자동등록(입력)방지 기본 - mobile */ +#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px} +#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block} +#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px} +#captcha.m_captcha #captcha_reload span {display:none} +#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px} +#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em} +#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none} + +/* ckeditor 단축키 */ +.cke_sc {margin:0 0 5px;text-align:right} +.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer} +.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center} +.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1} +.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""} +.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9} +.cke_sc_def dt {width:20%;font-weight:bold} +.cke_sc_def dd {width:30%} + +/* ckeditor 태그 기본값 */ +#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px} +#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px} +#bo_v_con li {display:list-item} + +/* 버튼 */ +a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1.4em; +-webkit-transition:background-color 0.3s ease-out; +-moz-transition:background-color 0.3s ease-out; +-o-transition:background-color 0.3s ease-out; +transition:background-color 0.3s ease-out} + +a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle} +a.btn01:focus, a.btn01:hover {text-decoration:none} +button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none} +a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle} +a.btn02:focus, .btn02:hover {text-decoration:none} +button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none} + +.btn_confirm {text-align:right} /* 서식단계 진행 */ + +.btn_submit {border:0;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px} +.btn_submit:hover {background:#2375eb} +.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff} +a.btn_close {text-align:center;line-height:50px} + +a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle} +button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle} +.btn_cancel:hover {background:#aaa} +a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */ +a.btn_frmline {} +button.btn_frmline {font-size:1em} + +/* 게시판용 버튼 */ +a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent} +.btn_b01:hover, .btn_b01:hover {color:#000} +a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle} +a.btn_b02:hover, .btn_b02:hover {background:#0025eb} +a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle} +a.btn_b03:hover, .btn_b03:hover {background:#ebedf6} +a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle} +a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9} +a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */ +.btn_admin:hover, a.btn_admin:hover {color:#ff3746} + + +/* 기본테이블 */ +.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec} +.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left} +.tbl_head01 {margin:0 0 10px} +.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden} +.tbl_head01 thead th {padding:20px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ececec;height:40px} +.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center} +.tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8} +.tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all} +.tbl_head01 tbody tr:hover td {background:#fafafa} +.tbl_head01 a:hover {text-decoration:underline} + +.tbl_head02 {margin:0 0 10px} +.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden} +.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +.tbl_head02 thead a {color:#383838} +.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center} +.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff} +.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff;line-height:1.4em;word-break:break-all} +.tbl_head02 a {} + +/* 폼 테이블 */ +.tbl_frm01 {margin:0 0 20px} +.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0} +.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left} +.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent} +.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px; +-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +} +.tbl_frm01 textarea {padding:2px 2px 3px} +.frm_input {height:40px} + +.full_input {width:100%} +.half_input {width:49.5%} +.twopart_input {width:385px;margin-right:10px} +.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px} +.tbl_frm01 a {text-decoration:none} +.tbl_frm01 .frm_file {display:block;margin-bottom:5px} +.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em} + +/*기본 리스트*/ +.list_01 ul {border-top:1px solid #ececec} +.list_01 li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative} +.list_01 li:nth-child(odd) {background:#f6f6f6} +.list_01 li:after {display:block;visibility:hidden;clear:both;content:""} +.list_01 li:hover {background:#f9f9f9} +.list_01 li.empty_li {text-align:center;padding:20px 0;color:#666} + +/*폼 리스트*/ +.form_01 h2 {font-size:1.167em} +.form_01 li {margin-bottom:10px} +.form_01 ul:after, +.form_01 li:after {display:block;visibility:hidden;clear:both;content:""} +.form_01 .left_input {float:left} +.form_01 .margin_input {margin-right:1%} +.form_01 textarea {height:100px;width:100%} +.form_01 .frm_label {display:inline-block;width:130px} + +/* 자료 없는 목록 */ +.empty_table {padding:50px 0 !important;text-align:center} +.empty_list {padding:20px 0 !important;color:#666;text-align:center} + +/* 필수입력 */ +.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important} + +/* 테이블 항목별 정의 */ +.td_board {width:80px;text-align:center} +.td_category {width:80px;text-align:center} +.td_chk {width:30px;text-align:center} +.td_date {width:60px;text-align:center} +.td_datetime {width:110px;text-align:center} +.td_group {width:80px;text-align:center} +.td_mb_id {width:100px;text-align:center} +.td_mng {width:80px;text-align:center} +.td_name {width:100px;text-align:left} +.td_nick {width:100px;text-align:center} +.td_num {width:50px;text-align:center} +.td_numbig {width:80px;text-align:center} +.td_stat {width:60px;text-align:center} + +.txt_active {color:#5d910b} +.txt_done {color:#e8180c} +.txt_expired {color:#ccc} +.txt_rdy {color:#8abc2a} + +/* 새창 기본 스타일 */ +.new_win {position:relative} +.new_win .tbl_wrap {margin:0 20px} +.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1); +-moz-box-shadow:0 1px 10px rgba(0,0,0,.1); +box-shadow:0 1px 10px rgba(0,0,0,.1)} +.new_win #win_title .sv {font-size:0.75em;line-height:1.2em} +.new_win .win_ul {margin-bottom:15px;padding:0 20px} +.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""} +.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px} +.new_win .win_ul li:first-child {margin-left:0} +.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3} +.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5} +.new_win .win_ul .selected a {color:#fff;font-weight:bold} +.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px} +.new_win .win_desc i {font-size:1.2em;vertical-align:baseline} +.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px} +.new_win .frm_info {font-size:0.92em;color:#919191} +.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px} +.new_win .new_win_con {margin:20px 0;padding:20px} +.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""} +.new_win .new_win_con2 {margin:20px 0} +.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""} +.new_win .win_btn {text-align:center} +.new_win .btn_close {height:45px;width:60px;overflow:hidden;cursor:pointer} +.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em} + +/* 검색결과 색상 */ +.sch_word {color:#fff;background:#ff005a;padding:2px 5px 3px;line-height:18px;margin:0 2px} + +/* 자바스크립트 alert 대안 */ +#validation_check {margin:100px auto;width:500px} +#validation_check h1 {margin-bottom:20px;font-size:1.3em} +#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff} + +/* 사이드뷰 */ +.sv_wrap {position:relative;font-weight:normal} +.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent} +.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb} +.sv_wrap .sv a:hover {background:#000;color:#fff} +.sv_member {color:#333} +.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto} +.sv_nojs .sv {display:block} + +/* 페이징 */ +.pg_wrap {clear:both;float:left;display:inline-block} +.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} +.pg {text-align:center} +.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee} +.pg a:focus, .pg a:hover {text-decoration:none} +.pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px} +.pg_page:hover {background-color:#fafafa} +.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa} + +.pg_current {display:inline-block;background:#333;border:1px solid #333;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px} + +/* cheditor 이슈 */ +.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before { +-webkit-box-sizing:content-box; +-moz-box-sizing:content-box; +box-sizing:content-box; +} + +/* Mobile화면으로 */ +#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center} + diff --git a/web/html/theme/FT_WEB20/css/default_shop.css b/web/html/theme/FT_WEB20/css/default_shop.css new file mode 100644 index 0000000..001744b --- /dev/null +++ b/web/html/theme/FT_WEB20/css/default_shop.css @@ -0,0 +1,1282 @@ +@charset "utf-8"; + +/* 초기화 */ +html {overflow-y:scroll} +body {margin:0;padding:0;font-size:0.75em;font-family:'Malgun Gothic', dotum, sans-serif} +html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0} +/* h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif} */ +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block} +ul {margin:0;padding:0;list-style:none} +ol,li,dl,dt,dd {margin:0;padding:0} +legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +label, input, button, select, img {vertical-align:middle} +input, button {margin:0;padding:0;font-family:'Malgun Gothic', dotum, sans-serif;font-size:1em} +button {cursor:pointer} +textarea, select {font-family:'Malgun Gothic', dotum, sans-serif;font-size:1em} +select {margin:0} +p {margin:0;padding:0;word-break:break-all} +hr {display:none} +pre {overflow-x:scroll;font-size:1.1em} +a {color:#000;text-decoration:none} + +*, :after, :before { +-webkit-box-sizing:border-box; +-moz-box-sizing:border-box; +box-sizing:border-box; +} + +input[type=text],input[type=password], textarea { +-webkit-transition:all 0.30s ease-in-out; +-moz-transition:all 0.30s ease-in-out; +-ms-transition:all 0.30s ease-in-out; +-o-transition:all 0.30s ease-in-out; +outline:none; +} + +input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus { +-webkit-box-shadow:0 0 5px #9ed4ff; +-moz-box-shadow:0 0 5px #9ed4ff; +box-shadow:0 0 5px #9ed4ff; +border:1px solid #558ab7 !important; +} + +.placeholdersjs {color:#aaa !important} +#hd, #wrapper, #ft {min-width:1200px} + +#hd_pop, +#hd_wrapper, +#tnb .inner, + +#gnb .gnb_wrap, +#container_wr, +#ft_wr {width:1200px} + +/* 팝업레이어 */ +#hd_pop {z-index:1000;position:relative;margin:0 auto;width:1200px;height:0} +#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff} +.hd_pops img {max-width:100%} +.hd_pops_con {} +.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative} +.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""} +.hd_pops_footer button {padding:10px;border:0;color:#fff} +.hd_pops_footer .hd_pops_reject {background:#000;text-align:left} +.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0} + +/* 상단 레이아웃 */ +#hd {background:#212020} +#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#hd_wrapper {position:relative;margin:0 auto} +#hd_wrapper:after {display:block;visibility:hidden;clear:both;content:""} + +#logo {float:left;padding:30px 0 0} +.hd_sch_wr {float:left;padding:30px 0;width:445px;margin-left:65px} +#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#hd_sch {border-radius:30px;overflow:hidden} +#hd_sch #sch_str {float:left;width:385px;height:45px;padding-left:15px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.2em;color:#fff} +#hd_sch #sch_submit {float:left;width:60px;height:45px;border:0;background:#2c2c2c;color:#fff;border-radius:0 30px 30px 0;cursor:pointer;font-size:16px} + +#tnb {border-bottom:1px solid #383838;margin:0 auto} +#tnb:after {display:block;visibility:hidden;clear:both;content:""} +#tnb .inner {margin:0 auto} + +#hd_define {float:left} +#hd_define:after {display:block;visibility:hidden;clear:both;content:""} +#hd_define li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px} +#hd_define li:last-child {padding-right:0;margin-right:0;border-right:0} +#hd_define li a {display:inline-block;color:#919191} +#hd_define li.active a {color:#fff} + +#hd_qnb {float:right;text-align:right} +#hd_qnb:after {display:block;visibility:hidden;clear:both;content:""} +#hd_qnb li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px} +#hd_qnb li:last-child {padding-right:0;margin-right:0;border-right:0} +#hd_qnb li a {display:inline-block;color:#919191} + +.hd_login {position:absolute;right:0;top:45px} +.hd_login>li {float:left;position:relative;margin:0 5px} +.hd_login>li.login a {color:#3a8afd;padding:10px;border-radius:3px;border:1px solid #3a8afd} +.hd_login>li a {color:#fff} +.hd_login>li.shop_login {margin-top:-15px} +.hd_login .fa-shopping-cart {font-size:1.6em} +.hd_login .count {display:inline-block;position:absolute;top:-5px;right:-10px;line-height:12px;padding:0 5px;border-radius:10px;background:#ff1a21;color:#fff;min-width:16px;height:14px;font-size:0.85em} + +#hd_menu {position:relative;background:#000;width:1200px;margin:0 auto} +#hd_menu:after {display:block;visibility:hidden;clear:both;content:""} +#hd_menu button#menu_open {float:left;width:265px;height:50px;border:0;background:#3a8afd;text-align:left;color:#fff;padding:0 20px;font-weight:bold;font-size:1.167em} +.hd_menu {float:left;display:inline-block;width:935px;font-size:1.083em} +.hd_menu:after {display:block;visibility:hidden;clear:both;content:""} +.hd_menu li {float:left;width:20%;padding:12px 0;line-height:26px;text-align:center} +.hd_menu li:last-child a {border-right:0} +.hd_menu li a {display:block;color:#fff;border-right:1px solid #333} + + +/*사이드 메뉴*/ +#side_menu {height:100%;position:fixed;top:0;right:0;background:#fff;border-left:1px solid #e5e7ea;z-index:120;padding-left:50px;-webkit-box-shadow:0 1px 5px #d6d6d6; +-moz-box-shadow:0 1px 5px #d6d6d6; +box-shadow:0 1px 5px #d6d6d6} + +#quick {position:absolute;top:50%;left:0;width:50px;margin-top:-157.5px} +#quick li {position:relative} +#quick li button {width:50px;height:50px;border:0;font-size:1.325em;background:#fff;color:#495057} +#quick .qk_tit {display:none;position:absolute;top:12px;right:60px;white-space:pre;padding:0 15px;line-height:30px;background:#8b929c;color:#fff;font-size:0.75em;border-radius:5px} +#quick .qk_tit:after {content:"";position:absolute;top:10px;right:-8px;display:inline-block;width:0;height:0;border-style:solid;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #8b929c;color:transparent} +#quick li:hover .qk_tit {display:block} + +#tabs_con {height:100%;text-align:left} + +.side_mn_wr1 {display:none;width:230px;overflow-y:auto;height:100%} +.side_mn_wr2 {display:none;width:230px;overflow-y:auto;height:100%} +.side_mn_wr3 {display:none;width:230px;overflow-y:auto;height:100%} +.side_mn_wr4 {display:none;width:230px;overflow-y:auto;height:100%} +.btn_sm_on i {color:#3a8afd} + +.qk_con {display:none;position:relative;width:230px;height:100%;background:#fff;border-left:1px solid #f0f0f0} +.qk_con h2.s_h2 {position:relative;margin:0;font-size:1.25em;padding:15px;border-bottom:1px solid #e5e7ea} +.qk_con h2.s_h2 span {display:inline-block;min-width:20px;padding:2px 8px;border-radius:30px;text-align:center;background:#eff5ff;color:#3b8afc;font-size:0.7em;font-weight:normal;vertical-align:text-bottom} +.qk_con_wr {padding:0;height:100%;overflow-y:auto} +.qk_con_wr .btn_side_shop {position:relative;width:100%;height:30px;background:none;border:0;text-align:left;font-weight:bold} +.qk_con_wr .btn_side_shop span {position:absolute;top:5px;right:0;padding:0 5px;line-height:20px;border-radius:10px;color:#fff;background:#ed1c24} +.qk_con_wr .con_close {position:fixed;top:0;right:230px;width:50px;height:50px;border:0;background:none;font-size:25px;color:#dedede} +.qk_con_wr .con_close:hover {color:rgba(0,0,0,0.8)} +.qk_con_wr .side_tnb {padding:25px} +.qk_con_wr .side_tnb li a {display:block;line-height:28px;color:#465168;padding:5px 0} +.qk_con_wr .side_tnb li:hover a {color:#3a8afd} + +#category {display:none;position:absolute;border:1px solid #c5d6da;width:100%;background:#fff;z-index:1000;-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2); +-moz-box-shadow:0 2px 5px rgba(0,0,0,0.2); +box-shadow:0 2px 5px rgba(0,0,0,0.2)} +#category h2 {font-size:1.3em;padding:15px 20px;border-bottom:1px solid #e7eeef} +#category ul:after {display:block;visibility:hidden;clear:both;content:""} +#category ul li:nth-child(5n+1) {border-left:0} +#category .cate_li_1 {float:left;width:20%;min-height:150px;padding:20px;border-left:1px solid #e7eeef} +#category .cate_li_1_a {font-size:1.2em;display:block;position:relative;margin-bottom:10px;font-weight:bold;color:#3a8afd} +#category .cate_li_2 {line-height:2em} +#category .cate_li_2 a {color:#555} +#category .close_btn {position:absolute;top:0;right:0;width:50px;height:50px;background:#fff;color:#b6b9bb;border:0;vertical-align:top;font-size:18px} +#category_all_bg {display:none;background:rgba(0,0,0,0.1);width:100%;height:100%;position:fixed;left:0;top:0;z-index:999} +#category .no-cate{text-align:center;padding:15px} + + +/* 중간 레이아웃 */ +/* #wrapper {z-index:5;margin:0 auto;width:1200px;position:relative} */ +#wrapper {z-index:5;position:relative;width:100%;background:#f6f6f6} +#wrapper.is_community{background:#fff} +#wrapper:after {display:block;visibility:hidden;clear:both;content:""} +#wrapper_title {padding:20px 0;font-size:2em;font-weight:bold} + +.lt_wr {width:49%} +.lt_wr:nth-child(2n+1) {clear:both} + +/* aside + wrapper */ +#aside {position:absolute;top:0;left:0;margin:0 10px 0 0;width:265px} +#side_pd {position:relative;border:1px solid #dde7e9;background:#fff;border-radius:3px;margin-bottom:15px} +#side_pd h2 {border-bottom:1px solid #e8e8e8;padding:15px} +#side_pd .bx-wrapper {padding-bottom:10px;height:400px;overflow:hidden} +#side_pd .bx-controls {display:inline-block;position:absolute;right:10px;top:12px} +#side_pd .bx-prev {display:inline-block;width:20px;height:20px;text-indent:-9999em;background:url('../img/btn_prev.png') no-repeat} +#side_pd .bx-next {display:inline-block;width:20px;height:20px;text-indent:-9999em;background:url('../img/btn_next.png') no-repeat} + +#container {position:relative;margin:0 auto;width:1200px;min-height:500px;height:auto !important} +#container:after {display:block;visibility:hidden;clear:both;content:""} +#container .shop-content {position:relative;padding:1px 0} +#container .is_index {margin-left:285px} +.shop-content #bo_v{margin-top:20px} + +#idx_hit {overflow:hidden} +#idx_hit:after {display:block;visibility:hidden;clear:both;content:""} +#idx_hit .owl-prev {position:absolute;top:50%;left:0;width:36px;height:36px;margin-top:-20px;text-indent:-9999em;background:url('../img/btn_idx_left.png') no-repeat} +#idx_hit .owl-next {position:absolute;top:50%;right:0;width:36px;height:36px;margin-top:-20px;text-indent:-9999px;background:url('../img/btn_idx_right.png') no-repeat} + + +.sale_prd h2 {font-size:1.167em;margin:20px 0 10px} +.st_bg {display:inline-block;width:1px;height:10px;margin:0 10px;background:#e2e1e0;vertical-align:-1px} + +/* 텍스트 크기 조절 */ +#text_size {display:none;position:absolute;top:-31px;left:-1px} +#text_size button {padding:0 10px;height:30px;border:1px solid #cfded8;border-bottom:0;background:#000;color:#fff;cursor:pointer} + +/* 하단 레이아웃 */ +#ft {background:#212020;margin:0 auto;text-align:center} +#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ft_wr {max-width:1240px;margin:0;padding:40px 0;position:relative;display:inline-block;text-align:left} +#ft_wr:after {display:block;visibility:hidden;clear:both;content:""} +#ft_wr .ft_cnt {width:25%;float:left;padding:0 20px} + +#ft_link {text-align:left} +#ft_link a {display:block;color:#fff;line-height:2em;font-weight:bold} +#ft_company h2 {font-size:1.2em;margin-bottom:20px} +#ft_company {font-weight:normal;color:#e3e3e3;line-height:2em} +#ft_catch {margin:20px 0 10px} +#ft_copy {text-align:center;width:1200px;margin:0 auto;padding:20px 0;color:#5b5b5b;font-size:0.92em;border-top:1px solid #383838} +#top_btn {position:absolute;bottom:0;left:0;border:0;border-top:1px solid #e5e7ea;margin-top:-25px;width:50px;height:50px;background:none;font-size:20px;color:#dedede} +#top_btn:hover {border-color:#3059c7;background:#3059c7;color:#fff} + +/* 쇼핑몰 회원가입 */ +#container .register{margin-bottom:30px} +#register_form .register_form_inner{background:#fff} +.register #register_form{background-color:initial} + +/* 쇼핑몰 비회원 주문조회 */ +#mb_login_od_wr {margin:20px auto 0;border:1px solid #dde7e9;width:360px;background:#fff;text-align:center} +#mb_login_od_wr h2 {font-size:1.25em;margin:20px 0 10px} +/*#mb_login_od_wr #mb_login_od {padding:0 35px}*/ +#mb_login_od_wr .frm_input {width:100%;margin:10px 0 0} +#mb_login_od_wr .btn_submit {width:100%;margin:10px 0 0;height:45px;font-weight:bold;font-size:1.25em} +#mb_login_od_wr p {background:#f3f3f3;margin:20px 0 0;padding:15px 20px;line-height:1.5em} + +#mb_login #sns_login {margin-top:0;border-color:#edeaea;padding:25px} +#mb_login #sns_login:after {display:block;visibility:hidden;clear:both;content:""} +#mb_login #sns_login h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#mb_login #sns_login .sns-wrap {margin:0 !important} +#mb_login #sns_login .sns-icon {width:49% !important;float:left !important} +#mb_login #sns_login .sns-icon:nth-child(odd) {margin-right:2%} +#mb_login #sns_login .txt {font-size:0.95em;padding-left:5px !important;border-left:0 !important} + +/*쇼핑몰 비회원 구매*/ +#mb_login_notmb {width:360px;margin:30px auto;padding:20px 30px;background:#fff;border:1px solid #dde7e9} +#mb_login_notmb h2 {font-size:1.25em;margin:10px 0;text-align:center} +#mb_login_notmb p {text-align:left} +#mb_login_notmb label {text-align:left} +#guest_privacy {border:1px solid #ccc;text-align:left;line-height:1.6em;color:#666;background:#fafafa;padding:10px;height:150px;margin:10px 0;overflow-y:auto} +#mb_login_notmb .btn_submit {display:block;text-align:center;margin-top:10px;line-height:45px} + +/* 쇼핑몰 로그인 */ +.mb_log_cate h2 {width:50%;float:left;padding:20px 0;text-align:center} +.mb_log_cate .join {width:50%;float:left;padding:20px 0;text-align:center;background:#f7f7f7;color:#6e6e6e} +.mb_log_cate:after {display:block;visibility:hidden;clear:both;content:""} +.mbskin .chk_box input[type="checkbox"] + label span{position:relative} + +/* 새글 */ +.is_community .tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;border-left:0 none;line-height:1.4em;height:60px;word-break:break-all} + +/* 글쓰기 및 글보기 */ +.is_community .chk_box input[type="checkbox"] + label span{top:2px;left:0} +.is_community .bo_fx{margin-bottom:20px} + +/* 화면낭독기 사용자용 */ +#hd_login_msg {position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden} +.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important} + +/* 본문 바로가기 */ +#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} +#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em} + +/* 이미지 등비율 리사이징 */ +.img_fix {width:100%;height:auto} + +/* 캡챠 자동등록(입력)방지 기본 -pc */ +#captcha {display:inline-block;position:relative} +#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0} +#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px} +#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px} +#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top} +#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em} + +/* ckeditor 단축키 */ +.cke_sc {margin:0 0 5px;text-align:right} +.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:1.9em;vertical-align:middle} +.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f2f5f9;text-align:center} +.cke_sc_def dl {margin:0 0 5px;text-align:left} +.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""} +.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9} +.cke_sc_def dt {width:20%;font-weight:bold} +.cke_sc_def dd {width:30%} + +/* ckeditor 태그 기본값 */ +#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px} +#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px} +#bo_v_con li {display:list-item} + +/* Mobile화면으로 */ +#mobile_cng {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center} + +/* 목록 바로가기 */ +.sanchor {margin:30px 0 20px;padding:0} +.sanchor:after {display:block;visibility:hidden;clear:both;content:""} +.sanchor li {float:left;width:20%;text-align:center;list-style:none} +.sanchor li a {display:block;position:relative;height:60px;margin-left:-1px;background-color:#f7f7f7;border:1px solid #cdcdcd;border-bottom:1px solid #000;font-size:1.25em;color:#666;line-height:58px;text-align:center;z-index:1} +.sanchor li .sanchor_on {margin:0 0 0 -1px;border:1px solid #000;background:#fff;z-index:2;border-bottom-color:#fff;color:#000;font-weight:bold} +.sanchor li a .item_qa_count,.sanchor li a .item_use_count {display:inline-block;background:#aaa;padding:0 5px;line-height:23px;border-radius:15px;color:#fff;min-width:23px;font-size:12px} +.sanchor li .sanchor_on .item_qa_count,.sanchor li .sanchor_on .item_use_count {background:#55bfb1} + +/* 콘텐츠별 스타일 */ +.cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold} + +/* 버튼 */ +a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1.4em; +-webkit-transition:background-color 0.3s ease-out; +-moz-transition:background-color 0.3s ease-out; +-o-transition:background-color 0.3s ease-out; +transition:background-color 0.3s ease-out} + +a.btn01 {display:inline-block;padding:7px;border:1px solid #bababa;border-radius:3px;background:#fff;color:#717171;text-decoration:none;vertical-align:middle} +a.btn01:focus, a.btn01:hover {text-decoration:none} +button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none} +a.btn02 {display:inline-block;padding:7px;background:#3a8afd;color:#fff;border-radius:3px;text-decoration:none;vertical-align:middle} +a.btn02:focus, .btn02:hover {text-decoration:none} +button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none} + +.btn_confirm {text-align:center} /* 서식단계 진행 */ + +.btn_submit {border:1px solid #1c70e9;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px} +.btn_submit:hover {background:#2375eb} +.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff} +a.btn_close {text-align:center;line-height:50px} + +a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle} +button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle} +.btn_cancel:hover {background:#aaa} +a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */ +a.btn_frmline {} +button.btn_frmline {font-size:1em} +a.btn_frmline {line-height:24px} + +/* 게시판용 버튼 */ +a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent} +.btn_b01:hover, .btn_b01:hover {color:#000} +a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle} +a.btn_b02:hover, .btn_b02:hover {background:#0025eb} +a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle} +a.btn_b03:hover, .btn_b03:hover {background:#ebedf6} +a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle} +a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9} +a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */ +.btn_admin:hover, a.btn_admin:hover {color:#ff3746} + +/* 선택수정 버튼 */ +.btn_list {margin:0 auto;width:93%} +.btn_list input, .btn_list button {background:none repeat scroll 0 0 #617D46;border:0 none;color:#FFFFFF;height:28px;line-height:2.2em;padding:0 15px;vertical-align:middle} + +/* 기본테이블 */ +.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0} +.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left} + +.tbl_head01 {margin:0 0 10px} +.tbl_head01 table {} +.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden} +.tbl_head01 thead th {padding:12px 0;border-top:2px solid #000;border-bottom:1px solid #d3d3d3;background:#fff;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +.tbl_head01 thead a {color:#383838} +.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center} +.tbl_head01 tbody th {padding:10px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.tbl_head01 td {padding:15px 5px;border-top:1px solid #f3f3f3;border-left:1px solid #f3f3f3;line-height:1.5em;word-break:break-all} +.tbl_head01 td:first-child {border-left:0} +.tbl_head01 a {} + +.tbl_head02 {margin:0 0 10px} +.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden} +.tbl_head02 thead th {padding:7px;background:#f3f3f3;border-top:1px solid #d3d3d3;border-bottom:1px solid #d3d3d3} +.tbl_head02 thead a {color:#383838} +.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center} +.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.tbl_head02 td {padding:5px 3px;border-bottom:1px solid #e9e9e9;line-height:1.4em;word-break:break-all} +.tbl_head02 a {} + +.tbl_head03 {margin:0 0 10px} +.tbl_head03 table {border-bottom:1px solid #d3d3d3} +.tbl_head03 caption {padding:0;font-size:0;line-height:0;overflow:hidden} +.tbl_head03 thead th {padding:20px 0;border-top:2px solid #959da6;border-bottom:1px solid #d3d3d3;color:#383838;font-size:1.2em;text-align:center;letter-spacing:-0.1em} +.tbl_head03 thead a {color:#383838} +.tbl_head03 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head03 tfoot th, .tbl_head03 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center} +.tbl_head03 tbody th {padding:10px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.tbl_head03 td {background:#fff;background-clip:padding-box;padding:25px 15px;border-top:1px solid #ccd2d9;border-left:1px solid #f6f6f6;line-height:1.5em;word-break:break-all} +.tbl_head03 td:first-child {border-left:0} +.tbl_head03 a {} + +/* 폼 테이블 */ +.tbl_frm01 {margin:0 0 20px} +.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0} +.tbl_frm01 th {width:90px;padding:5px 10px;background:none;text-align:right;font-weight:normal} +.tbl_frm01 td {padding:5px 10px;background:transparent} +.wr_content textarea, +.tbl_frm01 textarea, +.form_01 textarea, +.frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px; +-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.tbl_frm01 textarea {padding:2px 2px 3px} +.frm_input {height:45px} + +.full_input, .frm_address {width:100%} +.half_input {width:49.5%} +.tbl_frm01 textarea {width:100%;height:100px} +.tbl_frm01 a {text-decoration:none} +.tbl_frm01 .frm_address {margin-top:5px} +.tbl_frm01 .frm_file {display:block;margin-bottom:5px} +.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em} + +/*기본리스트*/ +.list_01 li {position:relative;border:1px solid #dbdbdb;border-radius:3px;margin:8px 0;padding:10px 15px;list-style:none} +.list_01 li:after {display:block;visibility:hidden;clear:both;content:""} +.list_01 li:hover {background:#f9f9f9} + +.list_02 ul:after {display:block;visibility:hidden;clear:both;content:""} +.list_02 li {float:left;width:225px;margin:10px 0 20px 18px} +.list_02 li:nth-child(5n+1) {clear:both;margin-left:0} + +/*폼 리스트*/ +.form_01 h2 {margin:0 0 10px;font-size:1.25em} +.form_01 li {margin:10px 0} +.form_01 li:after {display:block;visibility:hidden;clear:both;content:""} +.form_01 li .right_input {float:right} +.form_01 textarea {height:100px;width:100%} +.form_01 .frm_label {display:inline-block;width:130px} +.form_01 .form_left {float:left;width:49.5%} +.form_01 .form_right {float:right;width:49.5%} + +/* 자료 없는 목록 */ +.empty_table {padding:50px 0 !important;text-align:center;color:#777 !important} +.empty_list, .empty_li {padding:20px 0 !important;text-align:center !important;color:#777 !important} + +/* 필수입력 */ +.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important} + +/* 테이블 그리드 padding 0 5px 고려한 넓이 */ +.grid_1 {width:40px} +.grid_2 {width:90px} +.grid_3 {width:140px} +.grid_4 {width:190px} +.grid_5 {width:240px} +.grid_6 {width:290px} +.grid_7 {width:340px} +.grid_8 {width:390px} +.grid_9 {width:440px} +.grid_10 {width:490px} +.grid_11 {width:540px} +.grid_12 {width:590px} +.grid_13 {width:640px} +.grid_14 {width:690px} +.grid_15 {width:740px} +.grid_16 {width:790px} +.grid_17 {width:840px} +.grid_18 {width:890px} + +/* 테이블 항목별 정의 */ +.td_board {width:120px;text-align:center} +.td_chk {width:30px;text-align:center} +.td_date {width:60px;text-align:center} +.td_datetime {width:110px;text-align:center} +.td_default {width:60px;text-align:center} +.td_dvr {width:100px;text-align:center} +.td_group {width:100px;text-align:center} +.td_imgsmall {width:60px;text-align:center} +.td_num {width:80px;text-align:center} +.td_numbig {width:100px;text-align:center} +.td_nick {width:100px;text-align:center} +.td_name {width:100px;text-align:left} +.td_namesmall {width:50px;text-align:left} +.td_mb_id {width:100px;text-align:center} +.td_mng {width:80px;text-align:center} +.td_mngsmall {width:100px;text-align:center} +.td_statsmall {width:50px;text-align:center} + +.text_left {text-align:left !important} +.text_center {text-align:center !important} +.text_right {text-align:right !important} + +/* 새창 기본 스타일 */ +.new_win {position:relative;background:#fff} +.new_win .tbl_wrap {margin:0 20px} +.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1); +-moz-box-shadow:0 1px 10px rgba(0,0,0,.1); +box-shadow:0 1px 10px rgba(0,0,0,.1)} +.new_win #win_title .sv {font-size:0.75em;line-height:1.2em} +.new_win .win_ul {margin-bottom:15px;padding:0 20px} +.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""} +.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px} +.new_win .win_ul li:first-child {margin-left:0} +.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3} +.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5} +.new_win .win_ul .selected a {color:#fff;font-weight:bold} +.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px} +.new_win .win_desc i {font-size:1.2em;vertical-align:baseline} +.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px} +.new_win .frm_info {font-size:0.92em;color:#919191} +.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px} +.new_win .new_win_con {margin:20px 0;padding:20px} +.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""} +.new_win .new_win_con2 {margin:20px 0 0} +.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""} +.new_win .win_btn {text-align:center;padding-bottom:30px} +.new_win .btn_close {height:45px;width:60px;overflow:hidden;cursor:pointer} +.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em} + + +/* 자바스크립트 alert 대안 */ +#validation_check {margin:100px auto;width:500px} +#validation_check h1 {margin-bottom:20px;font-size:1.3em} +#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff} + +/* 사이드뷰 */ +.sv_wrap {display:inline-block;position:relative;font-weight:normal} +.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;border:1px solid #283646;background:#111} +.sv_wrap .sv a {display:inline-block !important;margin:0 !important;padding:3px !important;width:94px;border-bottom:1px solid #283646;color:#fff !important} +.sv_wrap a:focus, .sv_wrap a:hover, .sv_wrap a:active {text-decoration:none !important} +.sv_on {display:block !important;position:absolute;top:10px;left:20px;width:auto;height:auto !important} +.sv_nojs .sv {display:block} + +/* 페이징 */ +.pg_wrap {margin:10px 0 30px;text-align:center} +.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} +.pg {text-align:center} +.pg_page, .pg_current,.qa_page {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee} +.pg a:focus, .pg a:hover {text-decoration:none} +.pg_page,.qa_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px} +.pg_page:hover,.qa_page:hover {background-color:#fafafa} +.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa} + +.pg_current {display:inline-block;background:#3a8afd;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px} + +/* 팁 */ +.tooltip_icon {display:inline-block;vertical-align:middle;color:#b3b5b8;border:0;font-size:1.4em;background:transparent;cursor:pointer} +.tooltip_icon:hover {color:#448bf5} +.tooltip {position:relative;width:auto;color:#fff;background:#000;padding:10px;font-size:small;line-height:18px;display:none;position:absolute;z-index:9;font-weight:normal;margin-left:15px;margin-top:20px} +.tooltip:before {content:"";position:absolute;top:0;left:-10px;width:0;height:0;border-style:solid;border-top:0px solid transparent;border-bottom:10px solid transparent;border-left:0;border-right:10px solid #000} + +.tooltip_txt {position:relative;text-align:left;color:#fff;height:50px;line-height:50px;font-size:1.1em;background:#f2838f;margin:0 0 10px;padding:0 20px;border-radius:5px;font-weight:bold} +.tooltip_txt:before {content:"";position:absolute;top:0;left:0;width:5px;height:50px;border-radius:5px 0 0 5px;background:#da4453} +.tooltip_txt i {font-size:1.2em;vertical-align:middle} + + +/* ########## 쇼핑몰 컨텐츠 ########## */ +/* 인덱스 이미지 출력 */ +#sidx_img {margin:0 0 20px} +#sidx_img img {max-width:100%;height:auto} + + +/* 상품 메일 추천하기 */ +#sit_rec_new {} +#sit_rec_new th, +#sit_rec_new td {display:block;width:100%} +#sit_rec_new th {text-align:left;margin-top:20px;margin-bottom:5px} +#sit_rec_new textarea {width:100%;min-height:100px} +#sit_rec_new .win_btn {margin:20px 0} + +/* 마이페이지 */ +#smb_my {position:relative;margin-bottom:30px} +#smb_my:after {display:block;visibility:hidden;clear:both;content:""} + +/* 마이페이지 aside */ +#smb_my_ov {position:relative;float:left;margin:0 10px 0 0;width:265px;border:1px solid #e8e8e8;background:#fff;margin-right:20px} +#smb_my_ov h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#smb_my_ov .smb_me {display:block;background:#fff;border-bottom:1px solid #e8e8e8;padding:20px;text-align:center;font-size:1.167em} +#smb_my_ov .smb_me img {width:45px;border-radius:50%} +#smb_my_ov .smb_me .my_ov_name {display:inline-block;margin-bottom:10px;line-height:28px} +#smb_my_ov .smb_me a {display:inline-block;font-size:0.85em;height:28px;line-height:22px;border:1px solid #d5d9dd;color:#8a8a8a;border-radius:2px;padding:2px 5px} +#smb_my_ov .smb_me a.smb_info {color:#3a8afd} + +#smb_private:after {display:block;visibility:hidden;clear:both;content:""} +#smb_private {padding:10px 0} +#smb_private li {text-align:left;position:relative;text-align:left} +#smb_private a {display:block;background:#fff;color:#465168;line-height:20px;padding:10px 20px 10px 25px} +#smb_private a strong {display:inline-block;float:right;max-width:87px;overflow:hidden;white-space:nowrap;text-overflow:clip;color:#3a8afd;padding:0 5px;border-radius:15px;font-size:0.92em} +#smb_private a:hover strong {background:#4b8bff} +#smb_private li a:hover {color:#4b8bff} +#smb_private li a:hover:after {position:absolute;left:0;top:0;width:2px;height:100%;background:#3a8afd;content:""} +#smb_private li i {width:25px;color:#8c9eb0;margin-right:5px} +#smb_private li:hover i {color:#3a8afd} +#smb_private .win_point strong {background:#37bc9b;color:#fff} +#smb_private .win_memo strong {background:#ff8b77;color:#fff} +#smb_private .win_scrap strong {background:#8cc152;color:#fff} +#smb_private .win_coupon strong {background:#a352c1;color:#fff} + +#smb_my_ov h3 {font-size:1.2em;padding:20px 20px 10px;border-top:1px solid #e8e8e8} +#smb_my_ov .op_area {border-top:0;padding:0 20px;line-height:18px;color:#555} +#smb_my_ov .op_area:after {display:block;visibility:hidden;clear:both;content:""} +#smb_my_ov .op_area dt {margin:5px 0;padding-top:5px;font-weight:bold;color:#8c9eb0;line-height:20px} +#smb_my_ov .op_area dd {margin:5px 0;padding-bottom:10px;border-bottom:1px dashed #e5e5e5} +#smb_my_ovaddt {border-bottom:0 !important} +#smb_my_ovaddd {border-bottom:0 !important} + +.withdrawal {display:block;padding:10px 20px;border-top:1px solid #e8e8e8;color:#c7c7c7} + +/* 마이페이지 list */ +#smb_my_list {float:left;width:915px} + +#smb_my_od h2 {margin:0 0 10px;font-size:1.25em} +#smb_my_od {position:relative;margin:0 0 50px} +.smb_my_od {background:#fff} +.smb_my_od li {padding:15px;border-bottom:1px solid #ececec} +.smb_my_od li:last-child {border-bottom:0} +.smb_my_od li:after {display:block;visibility:hidden;clear:both;content:""} +.smb_my_od li:hover {background:#fff6f6} +.smb_my_od .smb_my_od_li {float:left;line-height:18px} +.smb_my_od .smb_my_od_li1 {width:140px;text-align:center} +.smb_my_od .smb_my_od_li2 {width:75%;padding:0 20px} +.smb_my_od .smb_my_od_li3 {width:80px;float:right;text-align:center} + +.smb_my_od .ord_num, +.smb_my_od .ord_name {font-size:1.2em;font-weight:bold;letter-spacing:-0.5px} +.smb_my_od .date {color:#b5b5b5} +.smb_my_od .cost {color:#3a8afd;font-weight:bold} +.smb_my_od .misu {color:#6d6d6d} + +#smb_my_wish {position:relative;margin-bottom:30px} +#smb_my_wish h2 {font-size:1.25em;padding:0 0 20px;border-bottom:1px solid #d9dde2} +#smb_my_wish li {position:relative;background:#fff;border-bottom:1px solid #ececec;padding:15px} +#smb_my_wish li:after {display:block;visibility:hidden;clear:both;content:""} +#smb_my_wish .smb_my_chk {display:inline-block;float:left;margin-right:10px;color:red} +#smb_my_wish .smb_my_img {float:left;margin-right:20px} +#smb_my_wish .smb_my_tit {margin:5px 0;font-size:1.167em;font-weight:bold} +#smb_my_wish .smb_my_price {font-weight:bold;font-size:1.2em;margin-bottom:30px} +#smb_my_wish .smb_my_date {font-size:1em;color:#777} +.smb_my_more {position:absolute;top:0;right:0} +.smb_my_more a {display:block;background:url('../img/more-btn.gif') no-repeat 0 2px;padding-left:20px;height:30px} +#smb_my_wish li .wish_del {position:absolute;right:20px;top:50px;font-size:1.4em;color:#b2b2b2} +#smb_ws_act {text-align:center;margin:20px 0 30px} +#smb_ws_act .btn01 {width:180px;height:50px;font-weight:bold;font-size:1.167em;border:1px solid #98a3b3;border-radius:3px} +#smb_ws_act .btn02 {width:180px;height:50px;font-weight:bold;font-size:1.167em;border:1px solid #1c70e9;border-radius:3px;background:#3a8afd} + + +/* 장바구니 주문서 공통 */ +.od_prd_list .td_chk {} +.od_prd_list .td_prd {border-left:0;position:relative;padding-left:120px;min-height:100px} +.od_prd_list .td_prd .sod_img {position:absolute;top:25px;left:20px} +.od_prd_list .td_prd .sod_name {min-height:80px} +.od_prd_list .td_prd .prd_name {font-size:1.4em} +.od_prd_list .total_prc {color:#000;font-weight:bold;font-size:1.4em} + +.sod_opt {margin:5px 0} +.sod_opt ul {display:inline-block;margin:0;padding:0;list-style:none} +.sod_opt li {color:#000;padding:3px 0;line-height:1.3em} +.sod_opt li:before {content:"옵션";display:inline-block;margin:1px 5px 2px 0;padding:3px;border-radius:3px;background:#e2eaf6;line-height:1em;color:#3a8afd} +.sod_option_btn .mod_options {height:30px;margin:5px 0 0;padding:0 5px;border:1px solid #d4d6db;color:#606060;background:#fff;border-radius:3px} +.cp_btn {padding:0 10px;border:1px solid #d4d6db;color:#3a8afd;background:#fff;height:26px;border-radius:3px} +.cp_cancel {padding:0 10px;border:1px solid #aaa;color:#666;background:#fff;height:26px;border-radius:3px} + +/* 장바구니 */ +#sod_bsk {margin-bottom:30px} +.btn_cart_del {padding:20px 0;border-bottom:1px solid #ccd2d9} +.btn_cart_del button {height:30px;padding:0 10px;border:1px solid #d4d6db;border-radius:5px;background:#fff;color:#666} +#sod_bsk_list {position:relative} +#sod_bsk #sod_bsk_tot {border:1px solid #212a37;margin:20px 0} +#sod_bsk #sod_bsk_tot ul:after {display:block;visibility:hidden;clear:both;content:""} +#sod_bsk #sod_bsk_tot li {float:left;width:33.333%;background:#4a505a;color:#fff;border-left:1px solid #212a37;text-align:right;padding:25px;font-size:1.167em} +#sod_bsk #sod_bsk_tot li:first-child {border:0} +#sod_bsk #sod_bsk_tot li span {display:inline-block;float:left} +#sod_bsk #sod_bsk_tot .sod_bsk_cnt {width:33.335%;background:#212a37} +#sod_bsk_act {text-align:center;margin-bottom:30px} +#sod_bsk_act .btn_submit {height:50px;padding:0 10px;width:160px;font-weight:bold;font-size:1.25em} +#sod_bsk_act .btn01 {height:50px;line-height:50px;padding:0 10px;width:160px;font-weight:bold;font-size:1.25em} +#sod_bsk_act p {margin:0 0 10px} + +/* 장바구니 선택사항수정 */ +#sod_bsk_list #mod_option_frm {z-index:10000;position:fixed;top:50%;left:50%;width:540px;height:auto !important;height:500px;max-height:500px;margin-left:-280px; +margin-top:-150px;border:1px solid #dde7e9;border-radius:3px;background:#fff;overflow-y:auto;overflow-x:inherit} +#sod_bsk_list .mod_option_bg {content:"";position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0.1);display:block;z-index:9999} +#mod_option_frm h2 {border-bottom:1px solid #e8e8e8;padding:0 20px;line-height:50px;font-size:1.25em} + +.option_wr {padding:20px 20px 0} +.option_wr h3 {font-size:1.167em;margin-bottom:10px} +.option_wr .get_item_options, +.option_wr .get_item_supply {margin-bottom:10px} +.option_wr label {display:block;margin:10px 0 5px} +.option_wr select {width:100%;border:1px solid #d4d4d4;height:48px} + +#sit_opt_added {margin:0;padding:0;border-bottom:0;list-style:none} +#sit_opt_added li {padding:10px 15px;background:#f9f9f9;border:1px solid #e6e9ed;margin:10px 0;position:relative} +#sit_opt_added li:after {display:block;visibility:hidden;clear:both;content:""} +#sit_opt_added li .opt_name {line-height:28px;font-weight:bold} +#sit_opt_added li .opt_count {} +#sit_opt_added button {float:left;width:30px;height:30px;border:1px solid #bdc9dc;border-radius:0;background:#fff;color:#666;font-size:0.92em} +#sit_opt_added button:hover {color:#000} +#sit_opt_added .num_input {float:left;border:0;height:30px;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;text-align:center} +#sit_opt_added .sit_opt_del {position:absolute;right:0;top:0;font-size:15px;border:0;border-left:1px solid #e6e9ed;border-bottom:1px solid #e6e9ed} +#sit_opt_added .sit_opt_del:hover {color:#be334a} +#sit_opt_added .sit_opt_prc {display:block;float:right;width:100px;padding:0 3px;text-align:right;line-height:30px;font-size:1.183em;font-weight:bold} + +#mod_option_frm #sit_sel_option {margin:20px 20px 10px} +#mod_option_frm #sit_tot_price {float:left;display:inline-block;margin:0 20px 20px} +#mod_option_frm #sit_opt_added {} +#mod_option_frm .btn_confirm {float:right;display:inline-block;margin:0 20px 20px;background:yellow} +#mod_option_frm .btn_confirm .btn_submit {width:100px;height:40px;font-size:1.167em;font-weight:bold;cursor:pointer} +#mod_option_frm .btn_confirm .btn_close {position:absolute;top:0;right:0;width:50px;height:50px;border:0;background:none;font-size:1.25em;border-radius:0} +#mod_option_frm .btn_confirm .btn_close:hover {background:#f3f3f3} + +/* 주문서 작성 */ +#sod_frm {} +#sod_frm p {margin:0 0 10px} +#sod_frm .od_prd_list {margin-bottom:20px} +#sod_list {position:relative} +#sod_list #cp_frm {z-index:10000;position:absolute;top:50%;left:50%;width:540px;height:auto !important;height:500px;max-height:500px;margin-left:-270px;margin-top:-150px;border:1px solid #dde7e9;border-radius:3px;background:#fff;overflow-y:auto;overflow-x:inherit} + +.od_coupon h3{border-bottom: 1px solid #cdcdcd;padding: 0 20px;line-height: 50px;margin: 0 0 15px;font-size: 1.25em;text-align:left; +-webkit-box-shadow: 1px 2px 2px #eee; +-moz-box-shadow: 1px 2px 2px #eee; +box-shadow: 1px 2px 2px #eee;} +.od_coupon .btn_close {position: absolute;top: 0;right: 0;width: 50px;height: 50px;border: 0;background: none;border-left: 1px solid #cdcdcd;font-size: 1.25em;} +.od_coupon .btn_close:hover{background:#f3f3f3} +.od_coupon .tbl_head02{margin:20px} +.od_coupon .cp_apply{padding: 0 5px;border: 1px solid #38b2b9;color: #38b2b9;background: #fff;height: 23px;line-height: 21px;} +.od_coupon td,#sod_frm_pay .od_coupon td{text-align:left;border-left:0;padding:7px} +#sod_frm_pay .od_coupon th{width:auto;text-align:center;padding: 7px;background: #f3f3f3;border-top: 1px solid #d3d3d3;border-bottom: 1px solid #d3d3d3;} +.od_coupon .td_numbig,#sod_frm_pay .od_coupon .td_numbig{text-align:center;} +.od_coupon .td_mngsmall{width:60px} + +/* 주문서 작성 - 왼쪽 */ +.sod_left {display:inline-block;float:left;width:840px;margin-right:20px;vertical-align:top} + +/* 주문서 작성 - 주문하시는 분 */ +#sod_frm .tbl_frm01 {padding:20px 10px} +#sod_frm .tbl_frm01 th,#sod_frm .tbl_frm01 td {text-align:left;padding:10px;vertical-align:top} +#sod_frm .tbl_frm01 th{padding:0px 10px} +#sod_frm .tbl_frm01 td input {width:100%} +#sod_frm .tbl_frm01 td .addr input {width:20%} +#sod_frm .tbl_frm01 td .addr button {background:#434a54;color:#fff;width:128px;height:45px;border:0;border-radius:3px} + +/* 주문서 작성 - 받으시는 분 */ +#sod_frm_taker .tbl_frm01 {padding:20px 10px} +#sod_frm_taker .tbl_frm01 .choice_place {display:block;background:#edf3fc;padding:10px 15px;border:1px solid #d1ddee;margin:0 10px 10px} +#sod_frm_taker .tbl_frm01 .choice_place:after {display:block;visibility:hidden;clear:both;content:""} +#sod_frm_taker .tbl_frm01 .choice_place .chk_box {float:left;display:inline-block;width:85%;line-height:30px} +#sod_frm_taker .tbl_frm01 .choice_tit {float:left;display:inline-block;width:15% !important;line-height:30px} +#sod_frm_taker .tbl_frm01 .choice_place input[type="radio"] + label span {top:7px} +#sod_frm_taker .tbl_frm01 .choice_place input, +#sod_frm_taker .tbl_frm01 .choice_place label {margin-left:10px} +#sod_frm_taker .tbl_frm01 .btn_frmline {width:80px;height:30px;line-height:28px;background:#fff;border:1px solid #d4d6db;color:#606060;text-align:center;float:right} + +#sod_frm_taker .tbl_frm01 td input {width:100%} +#sod_frm_taker .tbl_frm01 td .addr input {width:20%} +#sod_frm_taker .tbl_frm01 td .addr button {background:#434a54;color:#fff;width:128px;height:45px;border:0;border-radius:3px} +#sod_frm_taker .tbl_frm01 td .ad_choice {padding:5px 0} +#sod_frm_taker .tbl_frm01 td .ad_choice input {width:auto} + +#sod_frm_orderer, #sod_frm_taker {margin:0 0 30px;border:1px solid #e3e5e8;background:#fff} +#sod_frm section h2 {border-bottom:1px solid #e2e4e7;font-size:1.167em;padding:20px} +#sod_frm_orderer #od_addr_jibeon, +#sod_frm_taker #od_b_addr_jibeon {display:inline-block;margin:5px 0 0} + +/* 5.4.1.3 버전이후 추가 css */ +#sod_frm div.tbl_frm01, #sod_frm_taker div.tbl_frm01{padding:0px 10px !important} +#sod_frm .tbl_frm01 th, #sod_frm .tbl_frm01 td{padding:10px;line-height:45px} +#sod_frm .tbl_frm01 th{width:94px} +#sod_frm #od_name,#sod_frm #od_tel,#sod_frm #od_hp,#sod_frm #od_pwd,#sod_frm #od_b_name,#sod_frm #od_b_tel,#sod_frm #od_b_hp,#sod_frm #ad_subject,#sod_frm #od_hope_date{width:40%} +#sod_frm #od_zip,#sod_frm #od_b_zip{width:90px} +#sod_frm .tbl_frm01 td .btn_address {background:#434a54;color:#fff;width:128px;height:45px;border:0;border-radius:3px} +#sod_frm #od_memo{min-height:100px} +#sod_frm_taker .order_choice_place{position:relative;background:#edf3fc;border:1px solid #d1ddee;padding-left:10px} +#sod_frm_taker .tbl_frm01 .btn_frmline{float:none;position:absolute;top:8px;right:10px} +#sod_frm #sod_bsk_tot:after {display:block;visibility:hidden;clear:both;content:""} +#sod_frm #sod_bsk_tot li{position:relative;float:left;background:#fff;width:33.333%;height:70px;text-align:center;border-bottom:1px solid #e7ebf1;padding:15px 0} +#sod_frm #sod_bsk_tot li:after {display:block;visibility:hidden;clear:both;content:""} +#sod_frm #sod_bsk_tot li span{display:block;color:#777;margin-bottom:5px;font-weight:bold} +#sod_frm #sod_bsk_tot .sod_bsk_sell,#sod_frm #sod_bsk_tot .sod_bsk_coupon{border-right:1px solid #e7ebf1} +#sod_frm #sod_bsk_tot .sod_bsk_point,#sod_frm #sod_bsk_tot .sod_bsk_cnt{width:100%;clear:both;height:40px;padding:0 15px;line-height:40px;text-align:right} +#sod_frm #sod_bsk_tot li:last-child {border-bottom:0 none} +#sod_frm #sod_bsk_tot .sod_bsk_point span,#sod_frm #sod_bsk_tot .sod_bsk_cnt span {float:left;margin:0} +#sod_frm #sod_bsk_tot .sod_bsk_coupon:before{display:block;content:"-";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:#fff;color:#ff006c;border-radius:50%;border:1px solid #e7ebf1;font-weight:bold;font-size: 16px;line-height: 14px;} +#sod_frm #sod_bsk_tot .sod_bsk_dvr:before{display:block;content:"+";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:#fff;color:#ff006c;border-radius:50%;border:1px solid #e7ebf1;font-weight:bold;font-size: 16px;line-height: 14px;} +#sod_frm #sod_bsk_tot .sod_bsk_cnt strong{color:#ff006c;font-size:1.25em} +#sod_frm_pay {position:relative;margin:10px 0} +#sod_frm #sod_frm_pay h2 {position:absolute;border:0;font-size:0;line-height:0;content:""} +#sod_frm_pay .pay_tbl table{width:100%;border-collapse:collapse} +#sod_frm_pay .pay_tbl th{text-align:left;padding:10px;width:80px;border-bottom:1px solid #e7ebf1;background:#fff;font-weight:bold;color:#777} +#sod_frm_pay .pay_tbl td{text-align:right;padding: 10px;height:30px;border-bottom:1px solid #e7ebf1;background:#fff} +#sod_frm_pay .pay_tbl td .cp_cancel{margin:0 0 0 2px} +#sod_frm_pay .pay_tbl td .btn_frmline{padding: 0 7px;border: 1px solid #38b2b9;color: #38b2b9;background: #fff;height: 23px;line-height: 21px;margin: 0;} +#od_tot_price{margin:10px 0;background:#fff;line-height:40px;text-align:right;padding:0 10px} +#od_tot_price span{float:left;font-weight:bold} +#od_tot_price strong{font-size:1.5em;color:#ff006c} +#sod_frm #sod_frm_pt_alert {margin:5px 0;color:#38b2bb } +#od_pay_sl h3{font-size:1.167em;margin:20px 0 5px} +#od_pay_sl input[type="radio"]{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left: 0;z-index: -1px;} +#od_pay_sl .lb_icon {display: inline-block;float:left;width:50%;background:#fff;border:1px solid #eceff4;margin:-1px 0 0 -1px;cursor: pointer;height:60px;position:relative;padding-left:65px;padding-top:20px;z-index:1} +#od_pay_sl input[type="radio"]:checked+.lb_icon {border:1px solid #ff006c;z-index:3} +#sod_frm_paysel {} +#sod_frm_paysel legend {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sod_frm_paysel .KPAY{background:url('../../../img/kpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .PAYNOW{background:url('../../../img/paynow.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .PAYCO{background:url('../../../img/payco.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .inicis_lpay{background:url('../../../img/lpay_logo.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .inicis_kakaopay{position:relative;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .inicis_kakaopay em{position:absolute;top:15px;left:45px;width:70px;height:30px;background:url('../../../img/kakao.png') no-repeat 50% 50% #ffeb00;overflow:hidden;text-indent:-999px;border-radius:30px} +#sod_frm_paysel .kakaopay_icon{background:url('../../../img/kakao.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .naverpay_icon{background:url('../../../img/ico-default-naverpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .bank_icon{background:url('../../../img/pay_icon1.png') no-repeat 15px 50% #fff} +#sod_frm_paysel .vbank_icon{background:url('../../../img/pay_icon2.png') no-repeat 15px 50% #fff} +#sod_frm_paysel .iche_icon{background:url('../../../img/pay_icon2.png') no-repeat 15px 50% #fff} +#sod_frm_paysel .hp_icon{background:url('../../../img/pay_icon3.png') no-repeat 24px 50% #fff} +#sod_frm_paysel .card_icon{background:url('../../../img/pay_icon4.png') no-repeat 17px 50% #fff} +#forderform .sod_right #sod_bsk_tot {border:1px solid #e3e5e8} +#forderform .od_pay_buttons_el{margin-top:20px;border:1px solid #e3e5e8;background:#fff;padding:10px} +#forderform .od_pay_buttons_el h3{font-size:1.167em;margin:0px 0 5px} +#forderform #sod_frm_pt{border-top:1px solid #e3e5e8} + +.sod_right .pay_tbl{border:1px solid #e3e5e8;border-bottom:0 none} +.sod_right #od_tot_price{border:1px solid #e3e5e8} +#sod_frm_pay .od_pay_buttons_el:after{display:block;visibility:hidden;clear:both;content:""} +#sod_frm_pay .sod_frm_point{margin-top:20px;border:1px solid #e3e5e8} +#sod_frm_pay .sod_frm_point div{background:#fff;padding:10px;text-align:left;text-align:right} +#sod_frm_pay .sod_frm_point div:after {display:block;visibility:hidden;clear:both;content:''} +#sod_frm_pay .sod_frm_point div label{float:left;line-height:30px;font-weight:bold} +#sod_frm_pay .sod_frm_point div span{display:block} +#sod_frm_pay .sod_frm_point div span:after {display:block;visibility:hidden;clear:both;content:''} +#sod_frm_pay .sod_frm_point div strong{float:left;color:#666} +#sod_frm_pay .sod_frm_point .max_point_box em{font-style:normal !important} +#sod_frm_pay .sod_frm_point #od_temp_point{height:30px;text-align:right;padding:0 5px;border:1px solid #ccc;} + +/* 주문서 작성 - 오른쪽 */ +.sod_right {display:inline-block;float:left;width:340px;height:100%;vertical-align:top} + +.sod_right #sod_bsk_tot {border:1px solid #3a8afd} +.sod_right #sod_bsk_tot:after {display:block;visibility:hidden;clear:both;content:""} +.sod_right .sod_info li {position:relative;float:left;background:#fff;width:33.333%;height:70px;text-align:center;border-bottom:1px solid #e7ebf1;padding:15px 0} +.sod_right .sod_info li:after {display:block;visibility:hidden;clear:both;content:""} +.sod_right .sod_info li span {display:block;color:#777;margin-bottom:5px;font-weight:bold;color:#000} +.sod_right .sod_info .sod_bsk_sell, .sod_right .sod_info .sod_bsk_coupon {border-right:1px solid #e7ebf1} +.sod_right .sod_info .sod_bsk_coupon:before {display:block;content:"-";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:#fff;color:#9da6c9;border-radius:50%;border:1px solid #e7ebf1;font-weight:bold;font-size:16px;line-height:14px} +.sod_right .sod_info .sod_bsk_dvr:before {display:block;content:"+";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:#fff;color:#9da6c9;border-radius:50%;border:1px solid #e7ebf1;font-weight:bold;font-size:16px;line-height:14px} +.sod_right .sod_info .sod_bsk_cnt strong {font-size:1.25em} + +.sod_right .sod_info_bt {clear:both;padding:10px 15px;background:#fff} +.sod_right .sod_info_bt:after {display:block;visibility:hidden;clear:both;content:""} +.sod_right .sod_info_bt li {} +.sod_right .sod_info_bt li:after {display:block;visibility:hidden;clear:both;content:""} +.sod_right .sod_info_bt li span {display:inline-block;float:left;width:50%;line-height:28px;text-align:left;font-weight:bold;color:#000} +.sod_right .sod_info_bt li strong {display:inline-block;float:left;width:50%;line-height:28px;text-align:right} + +.sod_right .sod_info_option {clear:both;border-top:1px solid #e7ebf1} +.sod_right .sod_info_option h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.sod_right .sod_info_option ul {padding:10px 15px;background:#fff} +.sod_right .sod_info_option li {margin-bottom:5px} +.sod_right .sod_info_option li:after {display:block;visibility:hidden;clear:both;content:""} +.sod_right .sod_info_option .sod_ifop_tit {display:inline-block;float:left;width:50%;line-height:28px;text-align:left;font-weight:bold} +.sod_right .sod_info_option .sod_ifop_tit .btn_frmline {width:auto;height:30px;color:#3a8afd;background:#fff;border:1px solid #d4d6db} +.sod_right .sod_info_option .sod_ifop_tit .cp_cancel {width:auto;height:30px;border:1px solid #d4d6db;padding:0 5px;margin-left:5px;color:#b1b1b1;vertical-align:baseline} +.sod_right .sod_info_option .sod_ifop_tit .od_coupon {z-index:10000;position:absolute;top:50%;left:50%;min-width:300px;height:auto !important;height:500px;max-height:500px;margin-left:-200px;margin-top:-150px;border:1px solid #dde7e9;border-radius:3px;background:#fff;overflow-y:auto;overflow-x:inherit} +.sod_right .sod_info_option .sod_ifop_tit .od_coupon>td {text-align:left} +.sod_right .sod_info_option>td, .sod_right .sod_info_option .sod_ifop_t {display:inline-block;float:left;width:50%;line-height:28px;text-align:right} +.sod_right .sod_info_option>td {text-align:right;padding:10px;height:30px} +.sod_right .sod_info_option>td .cp_cancel {margin:0 0 0 2px} +.sod_right .sod_info_option>td .btn_frmline {padding:0 7px;border:1px solid #38b2b9;color:#38b2b9;background:#fff;height:23px;line-height:21px;margin:0} + + +/* 주문서 작성 - 포인트사용 */ +#sod_point {clear:both;background:#fff;margin-top:10px;border:1px solid #e3e5e8} +#sod_point h2 {font-size:1.167em;padding:15px;border-bottom:1px solid #e3e5e8} +#sod_point h2:after {display:block;visibility:hidden;clear:both;content:''} + +#sod_point .point_tit {vertical-align:baseline;float:left;line-height:28px} +#sod_point .point_tit label {vertical-align:baseline} +#sod_point .point_ipt {float:right;display:inline-block;margin-left:35px;text-align:left;text-align:right;font-weight:normal} +#sod_point .point_ipt:after {display:block;visibility:hidden;clear:both;content:''} +#sod_point .point_ipt #od_temp_point {width:100px;height:30px;text-align:right;padding:0 5px;border:1px solid #d0d3db;border-radius:3px} + +#sod_frm_pt {padding:20px} +/* +#sod_frm_pt strong {display:inline-block;width:45%;color:#000;line-height:28px;text-align:left} +#sod_frm_pt span {display:inline-block;width:55%;color:#000;text-align:right} +#sod_frm_pt span:after {display:block;visibility:hidden;clear:both;content:''} +*/ +#sod_frm_pt .max_point_box em {font-style:normal !important} + +/* 주문서 작성 - 결제수단 */ +/* #sod_frm_pay {position:relative;margin:10px 0 0;background:#fff;border:1px solid #e3e5e8} */ +#sod_frm_pay {position:relative;margin:10px 0 0} +#sod_frm_pay h2 {font-size:1.167em;padding:15px;border-bottom:1px solid #e3e5e8} +#sod_frm_pay .tooltip_txt {height:auto;line-height:18px;font-weight:normal;font-size:1em;padding:10px 20px;margin:10px} +#sod_frm_pay .tooltip_txt i {float:left;line-height:36px;font-size:2em;margin-right:15px} +#sod_frm_pay .tooltip_txt:before {height:100%} +#sod_frm_pay input[type="radio"] {} +#sod_frm_pay .lb_icon {display:inline-block;position:relative;cursor:pointer;z-index:1} +#sod_frm_pay input[type="radio"]:checked+.lb_icon {color:#3a8afd;z-index:3} +#sod_frm_pay input[type="radio"] + label span {top:7px} + +#sod_frm_paysel {} +#sod_frm_paysel legend {position:absolute;font-size:0;line-height:0;overflow:hidden} +/* +#sod_frm_paysel .PAYCO {display:inline-block;width:75px;background:url('../../../img/payco.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px;border:1px solid #fa1417} +#sod_frm_paysel .PAYNOW {display:inline-block;width:75px;background:url('../../../img/paynow.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px;border:1px solid #c01734} +#sod_frm_paysel .kakaopay_icon {display:inline-block;width:60px;background:url('../../../img/kakao.png') no-repeat 50% 50% #ffeb00;overflow:hidden;text-indent:-999px;border-radius:30px} +#sod_frm_paysel .KPAY {display:inline-block;width:58px;background:url('../../../img/kpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px;border:1px solid #22096a} +#sod_frm_paysel .inicis_lpay {display:inline-block;width:50px;background:url('../../../img/lpay_logo.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px;border:1px solid #009bd7} +*/ +#sod_frm_paysel ul.pay_way {margin:0;padding:15px} +#sod_frm_paysel ul.pay_way input[type="radio"] + label span {top:7px} +#sod_frm_paysel ul:after {display:block;visibility:hidden;clear:both;content:""} +#sod_frm_paysel li {position:relative;line-height:28px;text-align:left;list-style:none} + +#settle_bank {border:1px solid #e3e5e8;border-top:0 none;background:#fff;padding:10px;clear:both;line-height:32px} +#settle_bank:after {display:block;visibility:hidden;clear:both;content:''} +#settle_bank label {float:left;width:30%;line-height:30px} +#settle_bank select, #settle_bank input {width:70%;height:32px;margin:0 0 5px;border:1px solid #e3e5e8;border-radius:3px;text-align:left} +#settle_bank option {padding:3px 0} +#settle_bank #od_deposit_name {height:32px;padding:0 5px;border:1px solid #e3e5e8} + +#display_pay_button {background:#fff;padding:20px;border:1px solid #e3e5e8;border-top:0} +#display_pay_button .btn_submit {width:100%;height:50px;font-weight:bold;font-size:1.25em;cursor:pointer;border:1px solid #3a8afd} +#display_pay_button .btn01 {width:100%;height:50px;line-height:38px;font-weight:bold;font-size:1.25em;margin:5px 0;border:1px solid #ccd1d9} + +.display_setup_message {margin:0 0 10px;padding:15px;border:1px solid #fccdff;background:#ffeef9} +.display_setup_message strong {display:block;margin:0 0 10px} + +#sod_frm_taker td input[type="radio"], #sod_frm_taker td input[type="checkbox"]{width:auto;-webkit-appearance:radio;-webkit-border-radius:initial} +#sod_frm_taker label {display:inline-block;font-weight:normal;margin-right:1em} +#sod_frm_same {margin:0 0 10px} + +#sod_frm #display_pay_process {text-align:center} +#sod_frm #display_pay_process span {display:block;margin:5px 0 0} + +#od_tot_price {background:#e5f0ff;line-height:20px;text-align:right;padding:15px} +#od_tot_price span {float:left;font-weight:bold} +#od_tot_price strong {font-size:1.5em;color:#ff006c} +#sod_frm_pay_info {margin:0 0 10px} + +#sod_frm_pay #sc_coupon_frm, #sod_frm_pay #od_coupon_frm {z-index:10000;position:absolute;top:0;right:0;width:500px;height:auto !important;height:500px;max-height:500px;border:1px solid #000;background:#fff;overflow-y:auto} +#sod_frm_deli {position:relative;line-height:2em} + +#sod_frm_escrow {margin:30px 0 0} +#sod_frm #sod_frm_escrow h2 {margin:0;border:0} +#sod_frm #sod_frm_escrow p {margin:5px 0} +#display_pay_process {padding:20px;text-align:center} +/* 위시리스트 */ +#sod_ws {} +.sod_ws_img {width:90px;text-align:center} +#sod_ws_act {text-align:center;margin:20px 0 30px} +#sod_ws_act button {height:50px;width:180px;font-weight:bold;font-size:1.167em;border-radius:3px} +#sod_ws_act .btn01 {border:1px solid #98a3b3} +#sod_ws_act .btn02 {border:1px solid #1c70e9;background:#3a8afd} + +#sod_ws li .info_link {display:block;margin:10px 0 5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:#646464;font-weight:bold} +#sod_ws li .info_date {color:#646464;font-size:0.92em} +#sod_ws li .wish_chk {position:absolute;top:0;left:0;width:30px;text-align:center;line-height:35px;color:#f00} +#sod_ws li .wish_info {padding:0 35px 10px 30px;position:relative;border-bottom:1px solid #e0e0e0;margin-top:10px;height:45px} +#sod_ws li .wish_del {position:absolute;top:0;right:0;width:35px;height:35px;line-height:35px;text-align:center;background:#e6e6e6;display:block;font-size:1.25em;color:#777} +#sod_ws li .wish_del:hover {background:#777;color:#fff} + +/* 배송지 목록 */ +#sod_addr .tbl_wrap {margin:30px} +#sod_addr .td_mng .sel_address {color:#fff;background:#fff;border:1px solid #19bc9b;color:#19bc9b;padding:0 5px;height:26px;border-radius:3px} +#sod_addr .td_mng .del_address {display:inline-block;border:1px solid #aaa;color:#888;padding:0 5px;height:26px;line-height:24px;vertical-align:middle;border-radius:3px} +#sod_addr input[type="radio"] {position:absolute;left:0;z-index:-1;visibility:hidden;width:0;height:0;overflow:hidden;text-indent:-999px} +#sod_addr .default_lb {display:inline-block;background:#fff;border:1px solid #1c70e9;color:#3a8afd;cursor:pointer;position:relative;padding:0 5px;height:26px;line-height:24px;border-radius:3px} +#sod_addr input[type="radio"]:checked+.default_lb {background:#3476be;color:#fff} +#sod_addr td {height:40px;vertical-align:top} +#sod_addr .td_name {width:100px} +#sod_addr .frm_input {height:30px} +#sod_addr .td_sbj {width:155px;text-align:left} +#sod_addr .td_sbj .chk_box {display:inline-block;float:left} +#sod_addr .td_sbj .chk_box input[type="checkbox"]:checked + label span {background:url(../img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} +#sod_addr .ad_tel {display:block;color:#666} +#sod_addr .td_mng {width:100px;padding:10px} +#sod_addr .td_mng .mng_btn {width:100%;margin:2px 0} + +/* 주문내역 */ +#sod_v {margin-bottom:30px} +#sod_v:after {display:block;visibility:hidden;clear:both;content:''} +#sod_v td {text-align:center} +#sod_v td a {font-weight:bold} +#sod_v .basic_tbl {text-align:center} +.status_01 {display:inline-block;background:#edfbde;color:#8cc152;padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px} +.status_02 {display:inline-block;background:#84c93a;color:#fff;padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px} +.status_03 {display:inline-block;background:#e2f6f2;color:#16b494;padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px} +.status_04 {display:inline-block;background:#e2eaf6;color:#3a8afd;padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px} +.status_05 {display:inline-block;background:#3a8afd;color:#fff;padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px} +.status_06 {display:inline-block;background:#fff;color:red;padding:0 5px;line-height:20px;font-size:0.92em;border-radius:5px} + +/* 주문상세내역 */ +#sod_fin {} +#sod_fin_no {margin:0 0 20px;padding:15px;border:1px solid #d6e2f4;background:#edf3fc;font-size:1.2em;border-radius:5px;color:#3a8afd} + +#sod_sts_wrap {margin:0 0 10px;text-align:right} +#sod_sts_explan {display:none} + +#sod_fin_legend {padding:20px;line-height:20px;background:#fff;margin:10px 0;border:1px solid #e9e9e9;text-align:left} +#sod_fin_legend:after {display:block;visibility:hidden;clear:both;content:''} +#sod_fin_legend dt {clear:both;float:left;margin:0 0 5px;width:50px;font-weight:bold} +#sod_fin_legend dd {float:left;margin:0} + +#sod_fin #sod_bsk_tot li {background:#fff;border-bottom:1px solid #e7ebf1;height:40px;padding:0 15px;line-height:40px;text-align:right} +#sod_fin #sod_bsk_tot li span {float:left;clear:both;color:#777} +#sod_fin #sod_bsk_tot li strong {} +#sod_fin #sod_bsk_tot .sod_bsk_cnt strong {color:#ff006c;font-size:1.25em} + +#sod_bsk_tot2 {border:1px solid #3a8afd;margin-bottom:20px} +#sod_bsk_tot2 li {background:#fff;padding:0 15px;line-height:40px;text-align:right} +#sod_bsk_tot2 li span {float:left;clear:both;font-size:1em} +#sod_bsk_tot2 li strong {font-size:1em} +#sod_bsk_tot2 li.sod_fin_tot {background:#e5f0ff;border-top:1px solid #c6d7ef} +#sod_bsk_tot2 li#alrdy {border-bottom:0 !important} +#sod_bsk_tot2 li#alrdy div {padding:5px 0 15px;text-align:right} +#sod_bsk_tot2 li#alrdy div p {position:relative;background:#d6e3f3;padding:0 10px;margin-bottom:1px} +#sod_bsk_tot2 li.sod_fin_tot strong {color:#3a8afd;font-size:1.2em} + +#request_form {position:relative} +#request_form div {display:none;z-index:10000;position:absolute;top:23px;left:0;padding:20px 0;width:520px;border:1px solid #000;background:#f2f5f9;text-align:center} +#request_form .frm_input {width:300px;background:#fff !important} +#request_form .btn_frmline, #request_form .btn_cancel {vertical-align:middle !important} +#request_form .btn_frmline {padding:0 10px;line-height:1.6em} + +#sod_req_btn {margin:0 0 10px} +#sod_req_btn button {background:#626870} + +#sod_req_log {margin:0 0 20px} +#sod_req_log ul {margin:0;padding:0;border-top:1px solid #e9e9e9;background:#f2f5f9;list-style:none} +#sod_req_log li {padding:10px 10px 20px;border:1px solid #e9e9e9;border-top:0} +#sod_req_log h3 {margin:20px 0 10px} +.sod_req_log_view table {margin:0} +.sod_req_log_view caption {padding:10px 0;font-size:1em;font-weight:bold;text-align:left;line-height:1em} +.sod_req_log_view caption span {color:#ff3061} +.sod_req_log_view th {border-top:1px solid #e9e9e9;background:#f7f7f7 !important;color:#000 !important;text-align:center} +.sod_req_log_view td {background:#fff;color:#000} +.sod_req_log_view p {padding:10px 15px;border-bottom:1px solid #e9e9e9;background:#fff;color:#000} +.sod_req_log_view .sod_req_it {width:270px} +.sod_req_log_view button {margin:0;padding:0;border:0;background:transparent;color:#ff3061;text-decoration:underline;vertical-align:middle;cursor:pointer} + +#sod_fin_list h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sod_fin_list .td_prd {border-left:0;position:relative;padding-left:90px;min-height:100px} +#sod_fin_list .sod_img {position:absolute;top:25px;left:20px} +#sod_fin_list .sod_name a {font-weight:bold;line-height:1.5em} +#sod_fin_list .sod_name .sod_opt:before {content:"옵션";display:inline-block;margin:1px 5px 2px 0;padding:3px;border-radius:3px;background:#e2eaf6;line-height:1em;color:#3a8afd} +#sod_fin_list #th_itst {width:80px} + +#sod_fin_view {border:1px solid #e9e9e9} +#sod_fin_view h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sod_fin_view h3 {margin:0 0 10px} +#sod_fin_view .basic_tbl th {padding:0 10px;border-top:1px solid #eee;border-bottom:1px solid #eee;background:#f2f5f9;text-align:left} + +#sod_fin_pay {margin:0 0 20px;background:#fff;border:1px solid #e3e5e8} +#sod_fin_pay h3 {background:#fff;font-size:1.167em;padding:15px 20px;border-bottom:1px solid #e3e5e8} +#sod_fin_pay ul {margin:0;padding:15px 20px} +#sod_fin_pay li {line-height:24px;padding:5px 0} +#sod_fin_pay li:after {display:block;visibility:hidden;clear:both;content:""} +#sod_fin_pay li>span, #sod_fin_pay li>strong {display:inline-block;float:left} +#sod_fin_pay li>strong {margin-right:10px;width:50px} +#sod_fin_pay li>span {width:238px} +#sod_fin_pay li .letter-2px{letter-spacing:-2px} +a.btn_frmline.is-long-text{height:auto;width:160px} + +#sod_fin_orderer, #sod_fin_receiver, #sod_fin_dvr {margin:0 0 20px} +#sod_fin_orderer .tbl_wrap, #sod_fin_receiver .tbl_wrap, #sod_fin_dvr .tbl_wrap {padding:20px} +#sod_fin_dvr .tbl_wrap {padding:20px} +#sod_fin .sod_left h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sod_fin .sod_left h3 {background:#fff;font-size:1.167em;padding:15px 20px;border:1px solid #e3e5e8;border-bottom:0} +#sod_fin .sod_left .tbl_head01 {background:#fff;border:1px solid #e3e5e8} +#sod_fin .sod_left th {padding:10px 0;border:0;text-align:left;width:100px;color:#666;background:#fff} +#sod_fin .sod_left td {padding:10px 0;border:0;background:#fff} + +#sod_fin_dvr .dvr_link {color:#ff3061;text-decoration:underline} + +#sod_fin_cancel {text-align:center} +#sod_fin_cancel .sod_fin_c_btn {height:50px;border:1px solid #bababa;border-radius:3px;font-weight:bold;width:100%;background:none;color:#5e6b6f} +#sod_fin_cancel .sod_fin_c_btn:hover {background:#fff} +#sod_fin_cancel h2 {padding:15px;border-bottom:1px solid #e8e8e8;text-align:left} +#sod_fin_cancel p {text-align:center;background:#ffe0e0;border:2px solid #d50c0c;padding:15px;color:#d50c0c;font-size:1.167em;font-weight:bold} + +#sod_cancel_pop {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +#sod_fin_cancelfrm {position:absolute;top:50%;left:50%;background:#fff;text-align:center;width:245px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +#sod_fin_cancelfrm form {padding:20px} +.sod_fin_bg {background:rgba(0,0,0,0.1);width:100%;height:100%} +.sod_cls_btn {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} + +#sod_fin_cancelfrm .frm_input {background:#fff;margin:0 0 5px;width:100%} +#sod_fin_cancelfrm .btn_frmline {background:#5e6b6f;color:#fff;border:0;padding:10px;width:100%;cursor:pointer} +#sod_fin_test {padding:10px} + +/* 주문상세내역 중 현금영수증 발급 */ +#scash {} +#scash section {padding:10px 0} +#scash h2 {margin:0 0 10px;text-align:center} +#scash .basic_tbl th {padding:0 10px;border-top:1px solid #eee;border-bottom:1px solid #eee;background:#f2f5f9;text-align:left} +#scash_apply {padding:10px 0 20px;text-align:center} +#scash_apply button {padding:10px;border:0;background:#565e60;color:#fff} +#scash_copy {text-align:center} + +/* 배너 인덱스 출력 */ +#sbn_idx {} + +/* 쇼핑몰 이벤트 */ +#sev {} +.sev_admin {margin:0 0 10px;text-align:right} +.sev_admin a {line-height:35px;padding:0 10px} + +/* 쿠폰 */ +#coupon {text-align:center} +#coupon h1 {text-align:left} +#coupon ul:after {display:block;visibility:hidden;clear:both;content:""} +#coupon li {padding:15px;border-bottom:1px solid #ececec;text-align:left} +#coupon .cou_top {margin-bottom:10px} +#coupon .cou_tit {font-size:1.25em;font-weight:bold} +#coupon .cou_pri {font-size:1.25em;color:#3a8afd;font-weight:bold;float:right} +#coupon .cou_target {color:#8cc152;background:#edfbde;padding:5px;line-height:20px;font-size:0.92em;border-radius:5px} +#coupon .cou_date {float:right;color:#888d92} +#coupon .btn_close {margin:20px auto} + +/* 모바일일때 피시버전 주문폼 */ +.sod_frm_mobile .sod_list{margin:10px 0} +.sod_frm_mobile .sod_list .sod_li{background:#fff;border-bottom:1px solid #e5e5e5;margin:10px 0} +.sod_frm_mobile .sod_list .li_name{font-size:1.083em} +.sod_frm_mobile .sod_list .li_op_wr{position:relative;padding:10px 10px 0 110px;min-height:75px} +.sod_frm_mobile .sod_list .li_op_wr .chk_box{position:absolute;top:10px;left:10px} +.sod_frm_mobile .sod_list .total_img{position:absolute;top:10px;left:35px} +.sod_frm_mobile .sod_list .mod_options{padding:0 7px;border:1px solid #d4d6db;border-radius:3px;color:#606060;background:#fff;line-height:24px;margin:5px 0 0;font-size:.923em} +.sod_frm_mobile .sod_list .li_prqty{padding:10px;border-top:1px solid #f8f8f8} +.sod_frm_mobile .sod_list .li_prqty:after{display:block;visibility:hidden;clear:both;content:''} +.sod_frm_mobile .sod_list .li_prqty_sp{float:left;width:50%;display:block;line-height:20px;padding:0 5px;text-align:right} +.sod_frm_mobile .sod_list .li_prqty_sp span{float:left;color:#696969} +.sod_frm_mobile .sod_list .prqty_sc,.sod_frm_mobile .sod_list .prqty_price{border-right:1px solid #e5e5e5} +.sod_frm_mobile .sod_list .total_price{background:#f2f7ff;display:block;clear:both;margin:0 10px 10px;text-align:right;padding:5px 10px;line-height:20px} +.sod_frm_mobile .sod_list .total_price span{float:left} +.sod_frm_mobile .sod_list .total_price strong{font-size:1.25em;color:#3a8afd} +.sod_frm_mobile .sod_opt{padding:5px 10px 5px 35px} +.sod_frm_mobile .sod_opt li{color:#777;margin:3px 0;line-height:1.3em} +.sod_frm_mobile .sod_opt li:before{content:"옵션";display:inline-block;margin:1px 5px 2px 0;font-size:11px;padding:0 5px;border-radius:3px;background:#e2eaf6;line-height:20px;color:#3a8afd} +.sod_frm_mobile .sod_opt .opt_name:before{content:"옵션";display:inline-block;margin:1px 5px 2px 0;font-size:11px;padding:0 5px;border-radius:3px;background:#e2eaf6;line-height:20px;color:#3a8afd} +.sod_frm_mobile #sod_frm_orderer,.sod_frm_mobile #sod_frm_taker{margin:0 0 30px;border:1px solid #e3e5e8;background:#fff} +.sod_frm_mobile #sod_frm_orderer #od_addr_jibeon,.sod_frm_mobile #sod_frm_taker #od_b_addr_jibeon{display:inline-block;margin:5px 0 0} +.sod_frm_mobile #m_sod_bsk_tot{background:#4a505a;color:#fff} +.sod_frm_mobile #m_sod_bsk_tot:after{display:block;visibility:hidden;clear:both;content:""} +.sod_frm_mobile #m_sod_bsk_tot dt{float:left;width:40%;padding:10px;line-height:20px;clear:both} +.sod_frm_mobile #m_sod_bsk_tot dd{float:left;width:60%;padding:10px;text-align:right;line-height:20px} +.sod_frm_mobile #m_sod_bsk_tot .sod_bsk_cnt{font-weight:700;margin-top:5px;line-height:25px;background:#212a37} +.sod_frm_mobile #m_sod_bsk_tot .sod_bsk_cnt strong{color:#3a8afd;font-size:1.25em} +.sod_frm_mobile .sod_list .li_op_wr{padding-left:100px} +.sod_frm_mobile .sod_list .total_img{left:10px} +.sod_frm_mobile .sod_opt{padding-left:10px} +.sod_frm_mobile #m_sod_frm_paysel{margin:10px 0} +.sod_frm_mobile #m_sod_frm_paysel h3{background:#fff;padding:15px 10px;border:1px solid #e3e5e8;border-bottom:0} +.sod_frm_mobile #m_sod_frm_paysel ul{margin:0;background:#fff;padding:10px;border:1px solid #e3e5e8} +.sod_frm_mobile #m_sod_frm_paysel ul:after{display:block;visibility:hidden;clear:both;content:""} +.sod_frm_mobile #m_sod_frm_paysel li{float:left;padding:5px;width:46%;height:25px} +.sod_frm_mobile #m_sod_frm_paysel .KPAY{background:url(../../../img/kpay.png) no-repeat;width:37px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%} +.sod_frm_mobile #m_sod_frm_paysel .PAYNOW{background:url(../../../img/paynow.png) no-repeat;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%} +.sod_frm_mobile #m_sod_frm_paysel .PAYCO{background:url(../../../img/payco.png) no-repeat 1px;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%} +.sod_frm_mobile #m_sod_frm_paysel .inicis_lpay{background:url(../../../img/lpay_logo.png) no-repeat;width:35px;height:12px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%} +.sod_frm_mobile #m_sod_frm_paysel .inicis_kakaopay{background:url(../../../img/kakao.png) no-repeat 50% 50% #f4dc34;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} +.sod_frm_mobile #m_sod_frm_paysel .kakaopay_icon{background:url(../../../img/kakao.png) no-repeat 50% 50% #f4dc34;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} +.sod_frm_mobile #m_sod_frm_paysel .naverpay_icon{background:url(../../../img/ico-default-naverpay.png) no-repeat 50% 50% #fff;border-radius:30px;height:22px;width:50px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} +.sod_frm_mobile #m_sod_frm_paysel .samsung_pay{margin-left:-23px;background:url(../../../img/samsungpay.png) no-repeat 24px 3px;height:25px;width:106px;display:inline-block;overflow:hidden;text-indent:-999px} +.sod_frm_mobile #sod_frm_pay{border-top:1px solid #f3f3f3} +.sod_frm_mobile #sod_frm_pay h2{margin:10px 0;font-size:1.25em} +.sod_frm_mobile #sod_frm_pay .cp_btn1,.sod_frm_mobile #sod_frm_pay .cp_cancel1{margin-top:0} +.sod_frm_mobile .odf_tbl{position:relative} +.sod_frm_mobile .odf_tbl table{background:#fff;width:100%;border-collapse:collapse;border-bottom:1px solid #ccc} +.sod_frm_mobile .odf_tbl table th{border-top:1px solid #eceff4;padding:10px;text-align:left;width:120px;font-weight:400} +.sod_frm_mobile .odf_tbl table td{border-top:1px solid #eceff4;padding:7px 10px;text-align:right} +.sod_frm_mobile#sod_frm #sod_frm_pt_alert{margin:10px 0;text-align:left;color:#fff;line-height:18px;background:#f2838f;padding:10px 10px 10px 13px;border-radius:5px;position:relative} +.sod_frm_mobile #sod_frm_pt_alert::before{content:"";position:absolute;top:0;left:0;width:5px;height:50px;border-radius:5px 0 0 5px;background:#da4453;height:100%} +.sod_frm_mobile#sod_frm .sod_frm_point{padding:10px 0;clear:both;border:0 none} +.sod_frm_mobile .sod_frm_point div{background:#fff;border:1px solid #e3e5e8;padding:10px;text-align:right} +.sod_frm_mobile .sod_frm_point div:after{display:block;visibility:hidden;clear:both;content:''} +.sod_frm_mobile .sod_frm_point div label{float:left;line-height:30px} +.sod_frm_mobile .sod_frm_point div span{display:block;margin:5px 0} +.sod_frm_mobile .sod_frm_point div span:after{display:block;visibility:hidden;clear:both;content:''} +.sod_frm_mobile .sod_frm_point .max_point_box em{font-style:normal!important} +.sod_frm_mobile .sod_frm_point div strong{float:left;color:#666;font-weight:400} +.sod_frm_mobile .sod_frm_point #od_temp_point{height:30px;border:1px solid #d0d3db;text-align:right;background:#fff;border-radius:3px;-webkit-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1);-moz-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1);box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1)} +.sod_frm_mobile #settle_bank{background:#fff;border:1px solid #e3e5e8;padding:10px;clear:both;line-height:30px} +.sod_frm_mobile #settle_bank:after{display:block;visibility:hidden;clear:both;content:''} +.sod_frm_mobile #settle_bank select{height:30px;margin:0 0 5px;width:100%;border:1px solid #d0d3db} +.sod_frm_mobile #settle_bank #od_deposit_name{height:30px;border:1px solid #d0d3db;text-align:center;border-radius:3px;float:right;-webkit-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1);-moz-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1);box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1)} +.sod_frm_mobile #settle_bank label{float:left;line-height:30px} +.sod_frm_mobile #sod_frm_pt_info{border-top:0} +.sod_frm_mobile .od_coupon{position:absolute;top:0;left:0;background:#fff;width:100%;z-index:99;border-radius:0 0 3px 3px;-webkit-box-shadow:1px 1px 5px rgba(0,0,0,0.4);-moz-box-shadow:1px 1px 5px rgba(0,0,0,0.4);box-shadow:1px 1px 5px rgba(0,0,0,0.4)} +.sod_frm_mobile .od_coupon h3{height:45px;line-height:45px;font-size:1.167em;background:#333;color:#fff;padding:0 15px;text-align:left} +.sod_frm_mobile .od_coupon .tbl_head02 .btn_frmline{background:#3b67c2;color:#fff;border:0;padding:0 5px;line-height:25px} +.sod_frm_mobile .od_coupon .tbl_head02 td{text-align:left} +.sod_frm_mobile .od_coupon .tbl_head02 th{width:auto!important} +.sod_frm_mobile .od_coupon .tbl_head02 .td_mngsmall{width:60px;text-align:center} +.sod_frm_mobile .od_coupon .tbl_head02 .td_numbig{width:80px;text-align:right} +.sod_frm_mobile .od_coupon .btn_confirm{margin:20px} +.sod_frm_mobile .od_coupon .btn_confirm .btn_submit{height:40px;font-size:1.167em;font-weight:700;width:100%} +.sod_frm_mobile .od_coupon .btn_confirm .btn_close{position:absolute;top:0;right:0;width:45px;height:45px;border:0;background:none;color:#fff;font-size:1.25em} +.sod_frm_mobile .cp_btn,.sod_frm_mobile .cp_btn1{padding:0 7px;border:1px solid #d4d6db;border-radius:3px;color:#3a8afd;background:#fff;line-height:24px;margin:5px 0 0;font-size:.923em} +.sod_frm_mobile .cp_apply{padding:0 5px;border:1px solid #3a8afd;color:#3a8afd;background:#fff;height:23px;line-height:21px} +.sod_frm_mobile .cp_cancel,.sod_frm_mobile .cp_cancel1{padding:0 7px;border:1px solid #d4d6db;border-radius:3px;color:#aaa;background:#fff;line-height:24px;margin:5px 0 0 2px;font-size:.923em} +.sod_frm_mobile #sod_frm_escrow{margin:10px} +.sod_frm_mobile #sod_frm_escrow h2{font-size:1.25em} +.sod_frm_mobile #od_pay_sl h3{font-size:1.25em} +.sod_frm_mobile .sod_list .li_name{border-bottom:1px solid #dcdcdc;line-height:1.3em;padding:10px;font-size:1.083em} +#sod_frm.sod_frm_mobile .odf_list .frm_input{width:100%!important} +#sod_frm.sod_frm_mobile input[type="radio"],.sod_frm_mobile #sod_frm.sod_frm_mobile input[type="checkbox"]{width:auto;-webkit-appearance:radio;-webkit-border-radius:initial} +#sod_frm.sod_frm_mobile #od_memo{min-height:50px} +.sod_frm_mobile .od_prd_list{margin:10px;background:#fff;padding:15px} +.sod_frm_mobile .od_prd_list .td_chk{border-left:0} +.sod_frm_mobile .od_prd_list .td_prd{border-left:0;position:relative;padding-left:90px;min-height:100px} +.sod_frm_mobile .od_prd_list .td_prd .sod_img{position:absolute;top:15px;left:0} +.sod_frm_mobile .od_prd_list .td_prd .sod_name{min-height:80px} +.sod_frm_mobile .od_prd_list .td_prd .prd_name{font-size:1.167em} +.sod_frm_mobile .od_prd_list .total_prc{color:#ff006c;font-weight:700;font-size:1.167em} +.sod_frm_mobile #sod_frm_orderer{padding:10px;border-bottom:1px solid #d6d3d3} +.sod_frm_mobile #sod_frm_taker{padding:10px;border-bottom:1px solid #d6d3d3;border-top:1px solid #f3f3f3} +.sod_frm_mobile #sod_frm_taker h2,.sod_frm_mobile #sod_frm_orderer h2{margin:10px 0;font-size:1.25em} +.sod_frm_mobile .odf_list label,.sod_frm_mobile .odf_list strong{display:block;margin:7px 0 5px;color:#444;font-weight:400} +.sod_frm_mobile .odf_list .frm_input{width:100%;margin:0 0 5px} +.sod_frm_mobile .odf_list .dlv_slt{background:#edf3fc;position:relative;border:1px solid #d1ddee;margin:5px 0;padding:10px} +.sod_frm_mobile .odf_list .dlv_slt strong{margin:0;font-weight:700;line-height:30px} +.sod_frm_mobile .odf_list .dlv_slt div label{display:inline-block;margin:3px 0;color:#000} +.sod_frm_mobile #order_address{display:block;position:absolute;top:5px;right:5px;text-align:center;border:1px solid #d4d6db;background:#fff;border-radius:3px;color:#606060;height:30px;line-height:28px;margin:5px 0 0;padding:0 5px} +.sod_frm_mobile .odf_list .ad_default{display:inline-block;margin:0} +.sod_frm_mobile .odf_list .btn_addsch{position:absolute;top:5px;right:5px;border-radius:3px;height:30px} +.sod_frm_mobile .odf_list .add_num{position:relative;display:block} +.sod_frm_mobile .odf_list textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:70px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)} +.sod_frm_mobile .sod_ta_wr{background:#fff;margin-bottom:1em} +.sod_frm_mobile .btn_confirm{margin:0 0 10px} +.sod_frm_mobile .btn_submit{width:100%;height:45px;font-size:1.167em;font-weight:700;margin:5px 0;border-radius:4px} +.sod_frm_mobile .btn_cancel,.sod_frm_mobile .btn01{width:100%;height:45px;line-height:43px;font-size:1.167em;font-weight:700;padding:0;border-radius:4px} +.sod_frm_mobile #sod_frm_escrow{margin:10px} +.sod_frm_mobile #sod_frm_escrow h2{font-size:1.25em} +.sod_frm_mobile #od_pay_sl h3{font-size:1.25em} +.sod_frm_mobile #od_tot_price{background:none;font-weight:700} + +html.no-overflowscrolling #sc_coupon_frm, html.no-overflowscrolling #od_coupon_frm {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#sod_frm_pay_info {margin:0 0 10px} + +/* 네이버페이 */ +.itemform-naverpay {margin:15px 0;clear:both} +.cart-naverpay {margin-top:15px} + +/* theme.config.php 파일에서 G5_COMMUNITY_USE 를 false로 한 경우 1:1 문의와 게시판 css 처리 */ +#bo_list table td, #fqalist table td {border-left:0;border-right:0} +#bo_v_top .btn_admin, #bo_list .btn_admin {padding-top:0} + +/* 개인결제 */ +.pesonal {background:#fff;border:1px solid #e3e5e8;margin-bottom:30px} +.pesonal h2 {border-bottom:1px solid #e2e4e7;font-size:1.167em;padding:20px} +.pesonal .tbl_frm01 {padding:20px 10px;margin:0} +.pesonal th {text-align:left} +.pesonal td {text-align:left;font-weight:bold} +.pesonal td input {width:100%} +.pesonal .half_tr {width:50%} + +#personal_pay {background:#fff;border:1px solid #e3e5e8} +#personal_pay h2 {background:#fff;border-bottom:1px solid #e2e4e7;font-size:1.167em;padding:20px} +#personal_pay input[type="radio"] {} +#personal_pay .lb_icon {position:relative;display:inline-block;cursor:pointer;z-index:1} +#personal_pay input[type="radio"]:checked+.lb_icon {z-index:3} + +#personal_pay legend {position:absolute;font-size:0;line-height:0;overflow:hidden} +#personal_pay .KPAY {width:58px;background:url('../../../img/kpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#personal_pay .PAYNOW {width:75px;background:url('../../../img/paynow.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px} +#personal_pay .PAYCO {width:75px;background:url('../../../img/payco.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px;border-radius:30px} +#personal_pay .kakaopay_icon {width:60px;background:url('../../../img/kakao.png') no-repeat 50% 50% #ffeb00;overflow:hidden;text-indent:-999px;border-radius:30px} +#personal_pay .pay_way {border-bottom:1px solid #e2e4e7} +#personal_pay #display_pay_button {border:0} + + +/* input, radio */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box input[type="checkbox"] + label {position:relative;padding-left:20px;color:#676e70} +.chk_box input[type="checkbox"] + label:hover{color:#2172f8} +.chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url('../img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + +.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70} +.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#fff;border:1px solid #cdd6df;border-radius:50%} +.chk_box input[type="radio"]:checked + label {color:#305af9} +.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:#305af9;content:'';position:absolute;top:3px;left:3px;border-radius:50%} + diff --git a/web/html/theme/FT_WEB20/css/fonts/icofont.eot b/web/html/theme/FT_WEB20/css/fonts/icofont.eot new file mode 100644 index 0000000..56e15db Binary files /dev/null and b/web/html/theme/FT_WEB20/css/fonts/icofont.eot differ diff --git a/web/html/theme/FT_WEB20/css/fonts/icofont.svg b/web/html/theme/FT_WEB20/css/fonts/icofont.svg new file mode 100644 index 0000000..d280136 --- /dev/null +++ b/web/html/theme/FT_WEB20/css/fonts/icofont.svg @@ -0,0 +1,2105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/css/fonts/icofont.ttf b/web/html/theme/FT_WEB20/css/fonts/icofont.ttf new file mode 100644 index 0000000..ba6d235 Binary files /dev/null and b/web/html/theme/FT_WEB20/css/fonts/icofont.ttf differ diff --git a/web/html/theme/FT_WEB20/css/fonts/icofont.woff b/web/html/theme/FT_WEB20/css/fonts/icofont.woff new file mode 100644 index 0000000..48002ce Binary files /dev/null and b/web/html/theme/FT_WEB20/css/fonts/icofont.woff differ diff --git a/web/html/theme/FT_WEB20/css/fonts/icofont.woff2 b/web/html/theme/FT_WEB20/css/fonts/icofont.woff2 new file mode 100644 index 0000000..75f03d7 Binary files /dev/null and b/web/html/theme/FT_WEB20/css/fonts/icofont.woff2 differ diff --git a/web/html/theme/FT_WEB20/css/footer.css b/web/html/theme/FT_WEB20/css/footer.css new file mode 100644 index 0000000..4825ea8 --- /dev/null +++ b/web/html/theme/FT_WEB20/css/footer.css @@ -0,0 +1,229 @@ +@import url('//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css'); +#footer{ + background-color: rgb(47, 47, 51); + display: flex;flex-flow: row wrap; +} + +.fooTp{ + width:100%; + z-index: 201; +} + +.footp-title{ + color:#fff;font-size:1.2rem;font-weight: 600; + margin-bottom: 25px; +} + +.footp-inner{ + width:90%;margin:0 auto; + padding:50px 0px; + display: flex;justify-content: space-between;align-items: center; +} + +.foobt{ + width:100%; + z-index: 200; +} + +.footp-con ul li{ + display: flex; + font-size:0.9rem;margin-top:10px;color:#fff +} + +.footp-con ul li span{ + width:115px; +} + +.footp-con ul li p{ + color:#ddd;font-weight: 500; +} + + + +.footp-follow ul{ + display: flex;justify-content: space-between; +} +.footp-follow ul li:nth-child(1) a { + background-color:#be252d; +} +.footp-follow ul li:nth-child(2) a{ + background-color:#dd4937; +} +.footp-follow ul li:nth-child(3) a{ + background-color:#2157c9; +} +.footp-follow ul li:nth-child(4) a{ + background-color:#1cace4; +} +.footp-follow ul li:nth-child(5) a{ + background-color:#c82b34; +} +.footp-follow ul li a{ + width:50px;height: 50px;border-radius: 50%; + background: #444;display: flex;align-items: center;justify-content: center; +} + +.footp-follow ul li a:hover{ + background:#3c3c3c; + transition: .4s ease; +} +.footp-follow ul li a:hover i { + color:#f6f6f6; +} +.footp-follow ul li a:hover i { + font-size:2em; +} +.footp-follow ul li a i{ + color:#fff; + font-size:1.8em; +} +.footp-follow ul li:not(:nth-of-type(1)){ + margin-left:5px; +} + +.footp-site-sel{ + margin-right: 100px; + position: relative; +} + +.footp-site-sel>.site-wrap>li p { + padding:15px 35px 15px 25px; + background: rgb(0,0,0,0); + border:1px solid #999; + color:#999;width:100%; + cursor: pointer; +} + +.site-wrap li p i{ + margin-left:10px; + font-size:1rem; + align-self: flex-start; +} + +.site-wrap-sub{ + position: absolute;bottom:100%;left:0; + width:100%;display: none; +} +.site-wrap-sub.on { + display:block; +} +.site-wrap-sub>li { + border-bottom:1px solid #999; +} +.site-wrap-sub>li>a{ + display: block;padding:15px 35px 15px 25px; + background: rgb(20, 20, 22); + color:#fff; + font-weight: 500; +} +.site-wrap-sub>li:last-child { + border-bottom:none; +} + +.site-wrap-sub>li a:hover{ + background:#fff; + color:#333; + transition: .4s ease; +} + +.foobt{ + background-color: rgb(20, 20, 22);padding:25px 0px; +} +.foobt-inner{ + width:90%;margin:0 auto; + display: flex;justify-content: space-between; +} + +.foobt-copy p{ + color:#888; + font-weight: 500; +} + +.foobt-nav ul{ + display: flex; +} +.foobt-nav ul li{ + margin-right:25px; +} + +.foobt-nav ul li a{ + color:#888;font-weight: 500; +} + +@media screen and (max-width:1240px) { + + + .footp-inner{ + width:95%;display: flex;flex-flow:row wrap; + } + + .foo-logo{width:100%;margin-bottom: 50px;} + + .footp-title{ + color:#fff;font-size:1.1rem; + } + + .footp-site-sel{ + margin-right: 70px; + position: relative; + } + +} + + +@media screen and (max-width:900px){ + .footp-inner{ + width:95%;display: flex;flex-direction: column;align-items: flex-start; + flex-flow:row wrap;justify-content: space-between; + padding:20px; + } + .footp-title{ + color:#fff;font-size:1.1rem; + } + .footp-site .fa { + display:none; + } + .foo-logo{width:100%;margin: 50px 0px;} + + .footp-con{ + width:100%; + margin-bottom: 50px; + } + + + .footp-follow{ + margin-bottom: 50px; + } + + .footp-site-sel{ + margin-right: 70px; + position: relative; + } + + .foobt-inner{ + width:90%;margin:0 auto; + display: flex;justify-content: space-between;flex-flow:row wrap; + } + .foobt-copy p{ + width:100%; + margin-bottom: 20px; + } + +} + +@media screen and (max-width:600px){ + .footp-con ul li{ + display: flex;align-content: center;flex-flow: row wrap; + } + .footp-con ul li span{ + width:100%;margin-bottom: 10px;; + } + + .foobt-nav ul{ + display: flex;flex-flow: row wrap; + } + .foobt-nav ul li{ + margin-bottom: 10px; + } + +} diff --git a/web/html/theme/FT_WEB20/css/icofont.css b/web/html/theme/FT_WEB20/css/icofont.css new file mode 100644 index 0000000..a4d0958 --- /dev/null +++ b/web/html/theme/FT_WEB20/css/icofont.css @@ -0,0 +1,10757 @@ +/*! +* @package IcoFont +* @version 1.0.1 +* @author IcoFont https://icofont.com +* @copyright Copyright (c) 2015 - 2018 IcoFont +* @license - https://icofont.com/license/ +*/ + +@font-face +{ + + font-family: "IcoFont"; +font-weight: normal; +font-style: "Regular"; +src: url("./fonts/icofont.woff2") format("woff2"), +url("./fonts/icofont.woff") format("woff"); +} + +[class^="icofont-"], [class*=" icofont-"] +{ + font-family: 'IcoFont' !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + line-height: 1; +/* Better Font Rendering =========== */ + -webkit-font-feature-settings: "liga"; + -webkit-font-smoothing: antialiased; +} + +.icofont-angry-monster:before +{ + content: "\e800"; +} + +.icofont-bathtub:before +{ + content: "\e801"; +} + +.icofont-bird-wings:before +{ + content: "\e802"; +} + +.icofont-bow:before +{ + content: "\e803"; +} + +.icofont-castle:before +{ + content: "\e804"; +} + +.icofont-circuit:before +{ + content: "\e805"; +} + +.icofont-crown-king:before +{ + content: "\e806"; +} + +.icofont-crown-queen:before +{ + content: "\e807"; +} + +.icofont-dart:before +{ + content: "\e808"; +} + +.icofont-disability-race:before +{ + content: "\e809"; +} + +.icofont-diving-goggle:before +{ + content: "\e80a"; +} + +.icofont-eye-open:before +{ + content: "\e80b"; +} + +.icofont-flora-flower:before +{ + content: "\e80c"; +} + +.icofont-flora:before +{ + content: "\e80d"; +} + +.icofont-gift-box:before +{ + content: "\e80e"; +} + +.icofont-halloween-pumpkin:before +{ + content: "\e80f"; +} + +.icofont-hand-power:before +{ + content: "\e810"; +} + +.icofont-hand-thunder:before +{ + content: "\e811"; +} + +.icofont-king-monster:before +{ + content: "\e812"; +} + +.icofont-love:before +{ + content: "\e813"; +} + +.icofont-magician-hat:before +{ + content: "\e814"; +} + +.icofont-native-american:before +{ + content: "\e815"; +} + +.icofont-owl-look:before +{ + content: "\e816"; +} + +.icofont-phoenix:before +{ + content: "\e817"; +} + +.icofont-robot-face:before +{ + content: "\e818"; +} + +.icofont-sand-clock:before +{ + content: "\e819"; +} + +.icofont-shield-alt:before +{ + content: "\e81a"; +} + +.icofont-ship-wheel:before +{ + content: "\e81b"; +} + +.icofont-skull-danger:before +{ + content: "\e81c"; +} + +.icofont-skull-face:before +{ + content: "\e81d"; +} + +.icofont-snowmobile:before +{ + content: "\e81e"; +} + +.icofont-space-shuttle:before +{ + content: "\e81f"; +} + +.icofont-star-shape:before +{ + content: "\e820"; +} + +.icofont-swirl:before +{ + content: "\e821"; +} + +.icofont-tattoo-wing:before +{ + content: "\e822"; +} + +.icofont-throne:before +{ + content: "\e823"; +} + +.icofont-tree-alt:before +{ + content: "\e824"; +} + +.icofont-triangle:before +{ + content: "\e825"; +} + +.icofont-unity-hand:before +{ + content: "\e826"; +} + +.icofont-weed:before +{ + content: "\e827"; +} + +.icofont-woman-bird:before +{ + content: "\e828"; +} + +.icofont-bat:before +{ + content: "\e829"; +} + +.icofont-bear-face:before +{ + content: "\e82a"; +} + +.icofont-bear-tracks:before +{ + content: "\e82b"; +} + +.icofont-bear:before +{ + content: "\e82c"; +} + +.icofont-bird-alt:before +{ + content: "\e82d"; +} + +.icofont-bird-flying:before +{ + content: "\e82e"; +} + +.icofont-bird:before +{ + content: "\e82f"; +} + +.icofont-birds:before +{ + content: "\e830"; +} + +.icofont-bone:before +{ + content: "\e831"; +} + +.icofont-bull:before +{ + content: "\e832"; +} + +.icofont-butterfly-alt:before +{ + content: "\e833"; +} + +.icofont-butterfly:before +{ + content: "\e834"; +} + +.icofont-camel-alt:before +{ + content: "\e835"; +} + +.icofont-camel-head:before +{ + content: "\e836"; +} + +.icofont-camel:before +{ + content: "\e837"; +} + +.icofont-cat-alt-1:before +{ + content: "\e838"; +} + +.icofont-cat-alt-2:before +{ + content: "\e839"; +} + +.icofont-cat-alt-3:before +{ + content: "\e83a"; +} + +.icofont-cat-dog:before +{ + content: "\e83b"; +} + +.icofont-cat-face:before +{ + content: "\e83c"; +} + +.icofont-cat:before +{ + content: "\e83d"; +} + +.icofont-cow-head:before +{ + content: "\e83e"; +} + +.icofont-cow:before +{ + content: "\e83f"; +} + +.icofont-crab:before +{ + content: "\e840"; +} + +.icofont-crocodile:before +{ + content: "\e841"; +} + +.icofont-deer-head:before +{ + content: "\e842"; +} + +.icofont-dog-alt:before +{ + content: "\e843"; +} + +.icofont-dog-barking:before +{ + content: "\e844"; +} + +.icofont-dog:before +{ + content: "\e845"; +} + +.icofont-dolphin:before +{ + content: "\e846"; +} + +.icofont-duck-tracks:before +{ + content: "\e847"; +} + +.icofont-eagle-head:before +{ + content: "\e848"; +} + +.icofont-eaten-fish:before +{ + content: "\e849"; +} + +.icofont-elephant-alt:before +{ + content: "\e84a"; +} + +.icofont-elephant-head-alt:before +{ + content: "\e84b"; +} + +.icofont-elephant-head:before +{ + content: "\e84c"; +} + +.icofont-elephant:before +{ + content: "\e84d"; +} + +.icofont-elk:before +{ + content: "\e84e"; +} + +.icofont-fish-1:before +{ + content: "\e84f"; +} + +.icofont-fish-2:before +{ + content: "\e850"; +} + +.icofont-fish-3:before +{ + content: "\e851"; +} + +.icofont-fish-4:before +{ + content: "\e852"; +} + +.icofont-fish-5:before +{ + content: "\e853"; +} + +.icofont-fish:before +{ + content: "\e854"; +} + +.icofont-fox-alt:before +{ + content: "\e855"; +} + +.icofont-fox:before +{ + content: "\e856"; +} + +.icofont-frog-tracks:before +{ + content: "\e857"; +} + +.icofont-frog:before +{ + content: "\e858"; +} + +.icofont-froggy:before +{ + content: "\e859"; +} + +.icofont-giraffe-head-1:before +{ + content: "\e85a"; +} + +.icofont-giraffe-head-2:before +{ + content: "\e85b"; +} + +.icofont-giraffe-head:before +{ + content: "\e85c"; +} + +.icofont-giraffe:before +{ + content: "\e85d"; +} + +.icofont-goat-head:before +{ + content: "\e85e"; +} + +.icofont-gorilla:before +{ + content: "\e85f"; +} + +.icofont-hen-tracks:before +{ + content: "\e860"; +} + +.icofont-horse-head-1:before +{ + content: "\e861"; +} + +.icofont-horse-head-2:before +{ + content: "\e862"; +} + +.icofont-horse-head:before +{ + content: "\e863"; +} + +.icofont-horse-tracks:before +{ + content: "\e864"; +} + +.icofont-jellyfish:before +{ + content: "\e865"; +} + +.icofont-kangaroo:before +{ + content: "\e866"; +} + +.icofont-lemur:before +{ + content: "\e867"; +} + +.icofont-lion-head-1:before +{ + content: "\e868"; +} + +.icofont-lion-head-2:before +{ + content: "\e869"; +} + +.icofont-lion-head:before +{ + content: "\e86a"; +} + +.icofont-lion:before +{ + content: "\e86b"; +} + +.icofont-monkey-2:before +{ + content: "\e86c"; +} + +.icofont-monkey-3:before +{ + content: "\e86d"; +} + +.icofont-monkey-face:before +{ + content: "\e86e"; +} + +.icofont-monkey:before +{ + content: "\e86f"; +} + +.icofont-octopus-alt:before +{ + content: "\e870"; +} + +.icofont-octopus:before +{ + content: "\e871"; +} + +.icofont-owl:before +{ + content: "\e872"; +} + +.icofont-panda-face:before +{ + content: "\e873"; +} + +.icofont-panda:before +{ + content: "\e874"; +} + +.icofont-panther:before +{ + content: "\e875"; +} + +.icofont-parrot-lip:before +{ + content: "\e876"; +} + +.icofont-parrot:before +{ + content: "\e877"; +} + +.icofont-paw:before +{ + content: "\e878"; +} + +.icofont-pelican:before +{ + content: "\e879"; +} + +.icofont-penguin:before +{ + content: "\e87a"; +} + +.icofont-pig-face:before +{ + content: "\e87b"; +} + +.icofont-pig:before +{ + content: "\e87c"; +} + +.icofont-pigeon-1:before +{ + content: "\e87d"; +} + +.icofont-pigeon-2:before +{ + content: "\e87e"; +} + +.icofont-pigeon:before +{ + content: "\e87f"; +} + +.icofont-rabbit:before +{ + content: "\e880"; +} + +.icofont-rat:before +{ + content: "\e881"; +} + +.icofont-rhino-head:before +{ + content: "\e882"; +} + +.icofont-rhino:before +{ + content: "\e883"; +} + +.icofont-rooster:before +{ + content: "\e884"; +} + +.icofont-seahorse:before +{ + content: "\e885"; +} + +.icofont-seal:before +{ + content: "\e886"; +} + +.icofont-shrimp-alt:before +{ + content: "\e887"; +} + +.icofont-shrimp:before +{ + content: "\e888"; +} + +.icofont-snail-1:before +{ + content: "\e889"; +} + +.icofont-snail-2:before +{ + content: "\e88a"; +} + +.icofont-snail-3:before +{ + content: "\e88b"; +} + +.icofont-snail:before +{ + content: "\e88c"; +} + +.icofont-snake:before +{ + content: "\e88d"; +} + +.icofont-squid:before +{ + content: "\e88e"; +} + +.icofont-squirrel:before +{ + content: "\e88f"; +} + +.icofont-tiger-face:before +{ + content: "\e890"; +} + +.icofont-tiger:before +{ + content: "\e891"; +} + +.icofont-turtle:before +{ + content: "\e892"; +} + +.icofont-whale:before +{ + content: "\e893"; +} + +.icofont-woodpecker:before +{ + content: "\e894"; +} + +.icofont-zebra:before +{ + content: "\e895"; +} + +.icofont-brand-acer:before +{ + content: "\e896"; +} + +.icofont-brand-adidas:before +{ + content: "\e897"; +} + +.icofont-brand-adobe:before +{ + content: "\e898"; +} + +.icofont-brand-air-new-zealand:before +{ + content: "\e899"; +} + +.icofont-brand-airbnb:before +{ + content: "\e89a"; +} + +.icofont-brand-aircell:before +{ + content: "\e89b"; +} + +.icofont-brand-airtel:before +{ + content: "\e89c"; +} + +.icofont-brand-alcatel:before +{ + content: "\e89d"; +} + +.icofont-brand-alibaba:before +{ + content: "\e89e"; +} + +.icofont-brand-aliexpress:before +{ + content: "\e89f"; +} + +.icofont-brand-alipay:before +{ + content: "\e8a0"; +} + +.icofont-brand-amazon:before +{ + content: "\e8a1"; +} + +.icofont-brand-amd:before +{ + content: "\e8a2"; +} + +.icofont-brand-american-airlines:before +{ + content: "\e8a3"; +} + +.icofont-brand-android-robot:before +{ + content: "\e8a4"; +} + +.icofont-brand-android:before +{ + content: "\e8a5"; +} + +.icofont-brand-aol:before +{ + content: "\e8a6"; +} + +.icofont-brand-apple:before +{ + content: "\e8a7"; +} + +.icofont-brand-appstore:before +{ + content: "\e8a8"; +} + +.icofont-brand-asus:before +{ + content: "\e8a9"; +} + +.icofont-brand-ati:before +{ + content: "\e8aa"; +} + +.icofont-brand-att:before +{ + content: "\e8ab"; +} + +.icofont-brand-audi:before +{ + content: "\e8ac"; +} + +.icofont-brand-axiata:before +{ + content: "\e8ad"; +} + +.icofont-brand-bada:before +{ + content: "\e8ae"; +} + +.icofont-brand-bbc:before +{ + content: "\e8af"; +} + +.icofont-brand-bing:before +{ + content: "\e8b0"; +} + +.icofont-brand-blackberry:before +{ + content: "\e8b1"; +} + +.icofont-brand-bmw:before +{ + content: "\e8b2"; +} + +.icofont-brand-box:before +{ + content: "\e8b3"; +} + +.icofont-brand-burger-king:before +{ + content: "\e8b4"; +} + +.icofont-brand-business-insider:before +{ + content: "\e8b5"; +} + +.icofont-brand-buzzfeed:before +{ + content: "\e8b6"; +} + +.icofont-brand-cannon:before +{ + content: "\e8b7"; +} + +.icofont-brand-casio:before +{ + content: "\e8b8"; +} + +.icofont-brand-china-mobile:before +{ + content: "\e8b9"; +} + +.icofont-brand-china-telecom:before +{ + content: "\e8ba"; +} + +.icofont-brand-china-unicom:before +{ + content: "\e8bb"; +} + +.icofont-brand-cisco:before +{ + content: "\e8bc"; +} + +.icofont-brand-citibank:before +{ + content: "\e8bd"; +} + +.icofont-brand-cnet:before +{ + content: "\e8be"; +} + +.icofont-brand-cnn:before +{ + content: "\e8bf"; +} + +.icofont-brand-cocal-cola:before +{ + content: "\e8c0"; +} + +.icofont-brand-compaq:before +{ + content: "\e8c1"; +} + +.icofont-brand-debian:before +{ + content: "\e8c2"; +} + +.icofont-brand-delicious:before +{ + content: "\e8c3"; +} + +.icofont-brand-dell:before +{ + content: "\e8c4"; +} + +.icofont-brand-designbump:before +{ + content: "\e8c5"; +} + +.icofont-brand-designfloat:before +{ + content: "\e8c6"; +} + +.icofont-brand-disney:before +{ + content: "\e8c7"; +} + +.icofont-brand-dodge:before +{ + content: "\e8c8"; +} + +.icofont-brand-dove:before +{ + content: "\e8c9"; +} + +.icofont-brand-drupal:before +{ + content: "\e8ca"; +} + +.icofont-brand-ebay:before +{ + content: "\e8cb"; +} + +.icofont-brand-eleven:before +{ + content: "\e8cc"; +} + +.icofont-brand-emirates:before +{ + content: "\e8cd"; +} + +.icofont-brand-espn:before +{ + content: "\e8ce"; +} + +.icofont-brand-etihad-airways:before +{ + content: "\e8cf"; +} + +.icofont-brand-etisalat:before +{ + content: "\e8d0"; +} + +.icofont-brand-etsy:before +{ + content: "\e8d1"; +} + +.icofont-brand-fastrack:before +{ + content: "\e8d2"; +} + +.icofont-brand-fedex:before +{ + content: "\e8d3"; +} + +.icofont-brand-ferrari:before +{ + content: "\e8d4"; +} + +.icofont-brand-fitbit:before +{ + content: "\e8d5"; +} + +.icofont-brand-flikr:before +{ + content: "\e8d6"; +} + +.icofont-brand-forbes:before +{ + content: "\e8d7"; +} + +.icofont-brand-foursquare:before +{ + content: "\e8d8"; +} + +.icofont-brand-foxconn:before +{ + content: "\e8d9"; +} + +.icofont-brand-fujitsu:before +{ + content: "\e8da"; +} + +.icofont-brand-general-electric:before +{ + content: "\e8db"; +} + +.icofont-brand-gillette:before +{ + content: "\e8dc"; +} + +.icofont-brand-gizmodo:before +{ + content: "\e8dd"; +} + +.icofont-brand-gnome:before +{ + content: "\e8de"; +} + +.icofont-brand-google:before +{ + content: "\e8df"; +} + +.icofont-brand-gopro:before +{ + content: "\e8e0"; +} + +.icofont-brand-gucci:before +{ + content: "\e8e1"; +} + +.icofont-brand-hallmark:before +{ + content: "\e8e2"; +} + +.icofont-brand-hi5:before +{ + content: "\e8e3"; +} + +.icofont-brand-honda:before +{ + content: "\e8e4"; +} + +.icofont-brand-hp:before +{ + content: "\e8e5"; +} + +.icofont-brand-hsbc:before +{ + content: "\e8e6"; +} + +.icofont-brand-htc:before +{ + content: "\e8e7"; +} + +.icofont-brand-huawei:before +{ + content: "\e8e8"; +} + +.icofont-brand-hulu:before +{ + content: "\e8e9"; +} + +.icofont-brand-hyundai:before +{ + content: "\e8ea"; +} + +.icofont-brand-ibm:before +{ + content: "\e8eb"; +} + +.icofont-brand-icofont:before +{ + content: "\e8ec"; +} + +.icofont-brand-icq:before +{ + content: "\e8ed"; +} + +.icofont-brand-ikea:before +{ + content: "\e8ee"; +} + +.icofont-brand-imdb:before +{ + content: "\e8ef"; +} + +.icofont-brand-indiegogo:before +{ + content: "\e8f0"; +} + +.icofont-brand-intel:before +{ + content: "\e8f1"; +} + +.icofont-brand-ipair:before +{ + content: "\e8f2"; +} + +.icofont-brand-jaguar:before +{ + content: "\e8f3"; +} + +.icofont-brand-java:before +{ + content: "\e8f4"; +} + +.icofont-brand-joomla:before +{ + content: "\e8f5"; +} + +.icofont-brand-kickstarter:before +{ + content: "\e8f6"; +} + +.icofont-brand-kik:before +{ + content: "\e8f7"; +} + +.icofont-brand-lastfm:before +{ + content: "\e8f8"; +} + +.icofont-brand-lego:before +{ + content: "\e8f9"; +} + +.icofont-brand-lenovo:before +{ + content: "\e8fa"; +} + +.icofont-brand-levis:before +{ + content: "\e8fb"; +} + +.icofont-brand-lexus:before +{ + content: "\e8fc"; +} + +.icofont-brand-lg:before +{ + content: "\e8fd"; +} + +.icofont-brand-life-hacker:before +{ + content: "\e8fe"; +} + +.icofont-brand-linux-mint:before +{ + content: "\e8ff"; +} + +.icofont-brand-linux:before +{ + content: "\e900"; +} + +.icofont-brand-lionix:before +{ + content: "\e901"; +} + +.icofont-brand-loreal:before +{ + content: "\e902"; +} + +.icofont-brand-louis-vuitton:before +{ + content: "\e903"; +} + +.icofont-brand-mac-os:before +{ + content: "\e904"; +} + +.icofont-brand-marvel-app:before +{ + content: "\e905"; +} + +.icofont-brand-mashable:before +{ + content: "\e906"; +} + +.icofont-brand-mazda:before +{ + content: "\e907"; +} + +.icofont-brand-mcdonals:before +{ + content: "\e908"; +} + +.icofont-brand-mercedes:before +{ + content: "\e909"; +} + +.icofont-brand-micromax:before +{ + content: "\e90a"; +} + +.icofont-brand-microsoft:before +{ + content: "\e90b"; +} + +.icofont-brand-mobileme:before +{ + content: "\e90c"; +} + +.icofont-brand-mobily:before +{ + content: "\e90d"; +} + +.icofont-brand-motorola:before +{ + content: "\e90e"; +} + +.icofont-brand-msi:before +{ + content: "\e90f"; +} + +.icofont-brand-mts:before +{ + content: "\e910"; +} + +.icofont-brand-myspace:before +{ + content: "\e911"; +} + +.icofont-brand-mytv:before +{ + content: "\e912"; +} + +.icofont-brand-nasa:before +{ + content: "\e913"; +} + +.icofont-brand-natgeo:before +{ + content: "\e914"; +} + +.icofont-brand-nbc:before +{ + content: "\e915"; +} + +.icofont-brand-nescafe:before +{ + content: "\e916"; +} + +.icofont-brand-nestle:before +{ + content: "\e917"; +} + +.icofont-brand-netflix:before +{ + content: "\e918"; +} + +.icofont-brand-nexus:before +{ + content: "\e919"; +} + +.icofont-brand-nike:before +{ + content: "\e91a"; +} + +.icofont-brand-nokia:before +{ + content: "\e91b"; +} + +.icofont-brand-nvidia:before +{ + content: "\e91c"; +} + +.icofont-brand-omega:before +{ + content: "\e91d"; +} + +.icofont-brand-opensuse:before +{ + content: "\e91e"; +} + +.icofont-brand-oracle:before +{ + content: "\e91f"; +} + +.icofont-brand-panasonic:before +{ + content: "\e920"; +} + +.icofont-brand-paypal:before +{ + content: "\e921"; +} + +.icofont-brand-pepsi:before +{ + content: "\e922"; +} + +.icofont-brand-philips:before +{ + content: "\e923"; +} + +.icofont-brand-pizza-hut:before +{ + content: "\e924"; +} + +.icofont-brand-playstation:before +{ + content: "\e925"; +} + +.icofont-brand-puma:before +{ + content: "\e926"; +} + +.icofont-brand-qatar-air:before +{ + content: "\e927"; +} + +.icofont-brand-qvc:before +{ + content: "\e928"; +} + +.icofont-brand-readernaut:before +{ + content: "\e929"; +} + +.icofont-brand-redbull:before +{ + content: "\e92a"; +} + +.icofont-brand-reebok:before +{ + content: "\e92b"; +} + +.icofont-brand-reuters:before +{ + content: "\e92c"; +} + +.icofont-brand-samsung:before +{ + content: "\e92d"; +} + +.icofont-brand-sap:before +{ + content: "\e92e"; +} + +.icofont-brand-saudia-airlines:before +{ + content: "\e92f"; +} + +.icofont-brand-scribd:before +{ + content: "\e930"; +} + +.icofont-brand-shell:before +{ + content: "\e931"; +} + +.icofont-brand-siemens:before +{ + content: "\e932"; +} + +.icofont-brand-sk-telecom:before +{ + content: "\e933"; +} + +.icofont-brand-slideshare:before +{ + content: "\e934"; +} + +.icofont-brand-smashing-magazine:before +{ + content: "\e935"; +} + +.icofont-brand-snapchat:before +{ + content: "\e936"; +} + +.icofont-brand-sony-ericsson:before +{ + content: "\e937"; +} + +.icofont-brand-sony:before +{ + content: "\e938"; +} + +.icofont-brand-soundcloud:before +{ + content: "\e939"; +} + +.icofont-brand-sprint:before +{ + content: "\e93a"; +} + +.icofont-brand-squidoo:before +{ + content: "\e93b"; +} + +.icofont-brand-starbucks:before +{ + content: "\e93c"; +} + +.icofont-brand-stc:before +{ + content: "\e93d"; +} + +.icofont-brand-steam:before +{ + content: "\e93e"; +} + +.icofont-brand-suzuki:before +{ + content: "\e93f"; +} + +.icofont-brand-symbian:before +{ + content: "\e940"; +} + +.icofont-brand-t-mobile:before +{ + content: "\e941"; +} + +.icofont-brand-tango:before +{ + content: "\e942"; +} + +.icofont-brand-target:before +{ + content: "\e943"; +} + +.icofont-brand-tata-indicom:before +{ + content: "\e944"; +} + +.icofont-brand-techcrunch:before +{ + content: "\e945"; +} + +.icofont-brand-telenor:before +{ + content: "\e946"; +} + +.icofont-brand-teliasonera:before +{ + content: "\e947"; +} + +.icofont-brand-tesla:before +{ + content: "\e948"; +} + +.icofont-brand-the-verge:before +{ + content: "\e949"; +} + +.icofont-brand-thenextweb:before +{ + content: "\e94a"; +} + +.icofont-brand-toshiba:before +{ + content: "\e94b"; +} + +.icofont-brand-toyota:before +{ + content: "\e94c"; +} + +.icofont-brand-tribenet:before +{ + content: "\e94d"; +} + +.icofont-brand-ubuntu:before +{ + content: "\e94e"; +} + +.icofont-brand-unilever:before +{ + content: "\e94f"; +} + +.icofont-brand-vaio:before +{ + content: "\e950"; +} + +.icofont-brand-verizon:before +{ + content: "\e951"; +} + +.icofont-brand-viber:before +{ + content: "\e952"; +} + +.icofont-brand-vodafone:before +{ + content: "\e953"; +} + +.icofont-brand-volkswagen:before +{ + content: "\e954"; +} + +.icofont-brand-walmart:before +{ + content: "\e955"; +} + +.icofont-brand-warnerbros:before +{ + content: "\e956"; +} + +.icofont-brand-whatsapp:before +{ + content: "\e957"; +} + +.icofont-brand-wikipedia:before +{ + content: "\e958"; +} + +.icofont-brand-windows:before +{ + content: "\e959"; +} + +.icofont-brand-wire:before +{ + content: "\e95a"; +} + +.icofont-brand-wordpress:before +{ + content: "\e95b"; +} + +.icofont-brand-xiaomi:before +{ + content: "\e95c"; +} + +.icofont-brand-yahoobuzz:before +{ + content: "\e95d"; +} + +.icofont-brand-yamaha:before +{ + content: "\e95e"; +} + +.icofont-brand-youtube:before +{ + content: "\e95f"; +} + +.icofont-brand-zain:before +{ + content: "\e960"; +} + +.icofont-bank-alt:before +{ + content: "\e961"; +} + +.icofont-bank:before +{ + content: "\e962"; +} + +.icofont-barcode:before +{ + content: "\e963"; +} + +.icofont-bill-alt:before +{ + content: "\e964"; +} + +.icofont-billboard:before +{ + content: "\e965"; +} + +.icofont-briefcase-1:before +{ + content: "\e966"; +} + +.icofont-briefcase-2:before +{ + content: "\e967"; +} + +.icofont-businessman:before +{ + content: "\e968"; +} + +.icofont-businesswoman:before +{ + content: "\e969"; +} + +.icofont-chair:before +{ + content: "\e96a"; +} + +.icofont-coins:before +{ + content: "\e96b"; +} + +.icofont-company:before +{ + content: "\e96c"; +} + +.icofont-contact-add:before +{ + content: "\e96d"; +} + +.icofont-files-stack:before +{ + content: "\e96e"; +} + +.icofont-handshake-deal:before +{ + content: "\e96f"; +} + +.icofont-id-card:before +{ + content: "\e970"; +} + +.icofont-meeting-add:before +{ + content: "\e971"; +} + +.icofont-money-bag:before +{ + content: "\e972"; +} + +.icofont-pie-chart:before +{ + content: "\e973"; +} + +.icofont-presentation-alt:before +{ + content: "\e974"; +} + +.icofont-presentation:before +{ + content: "\e975"; +} + +.icofont-stamp:before +{ + content: "\e976"; +} + +.icofont-stock-mobile:before +{ + content: "\e977"; +} + +.icofont-chart-arrows-axis:before +{ + content: "\e978"; +} + +.icofont-chart-bar-graph:before +{ + content: "\e979"; +} + +.icofont-chart-flow-1:before +{ + content: "\e97a"; +} + +.icofont-chart-flow-2:before +{ + content: "\e97b"; +} + +.icofont-chart-flow:before +{ + content: "\e97c"; +} + +.icofont-chart-growth:before +{ + content: "\e97d"; +} + +.icofont-chart-histogram-alt:before +{ + content: "\e97e"; +} + +.icofont-chart-histogram:before +{ + content: "\e97f"; +} + +.icofont-chart-line-alt:before +{ + content: "\e980"; +} + +.icofont-chart-line:before +{ + content: "\e981"; +} + +.icofont-chart-pie-alt:before +{ + content: "\e982"; +} + +.icofont-chart-pie:before +{ + content: "\e983"; +} + +.icofont-chart-radar-graph:before +{ + content: "\e984"; +} + +.icofont-architecture-alt:before +{ + content: "\e985"; +} + +.icofont-architecture:before +{ + content: "\e986"; +} + +.icofont-barricade:before +{ + content: "\e987"; +} + +.icofont-bolt:before +{ + content: "\e988"; +} + +.icofont-bricks:before +{ + content: "\e989"; +} + +.icofont-building-alt:before +{ + content: "\e98a"; +} + +.icofont-bull-dozer:before +{ + content: "\e98b"; +} + +.icofont-calculations:before +{ + content: "\e98c"; +} + +.icofont-cement-mix:before +{ + content: "\e98d"; +} + +.icofont-cement-mixer:before +{ + content: "\e98e"; +} + +.icofont-concrete-mixer:before +{ + content: "\e98f"; +} + +.icofont-danger-zone:before +{ + content: "\e990"; +} + +.icofont-drill:before +{ + content: "\e991"; +} + +.icofont-eco-energy:before +{ + content: "\e992"; +} + +.icofont-eco-environmen:before +{ + content: "\e993"; +} + +.icofont-energy-air:before +{ + content: "\e994"; +} + +.icofont-energy-oil:before +{ + content: "\e995"; +} + +.icofont-energy-savings:before +{ + content: "\e996"; +} + +.icofont-energy-solar:before +{ + content: "\e997"; +} + +.icofont-energy-water:before +{ + content: "\e998"; +} + +.icofont-engineer:before +{ + content: "\e999"; +} + +.icofont-fire-extinguisher-alt:before +{ + content: "\e99a"; +} + +.icofont-fire-extinguisher:before +{ + content: "\e99b"; +} + +.icofont-fix-tools:before +{ + content: "\e99c"; +} + +.icofont-fork-lift:before +{ + content: "\e99d"; +} + +.icofont-glue-oil:before +{ + content: "\e99e"; +} + +.icofont-hammer-alt:before +{ + content: "\e99f"; +} + +.icofont-hammer:before +{ + content: "\e9a0"; +} + +.icofont-help-robot:before +{ + content: "\e9a1"; +} + +.icofont-industries-1:before +{ + content: "\e9a2"; +} + +.icofont-industries-2:before +{ + content: "\e9a3"; +} + +.icofont-industries-3:before +{ + content: "\e9a4"; +} + +.icofont-industries-4:before +{ + content: "\e9a5"; +} + +.icofont-industries-5:before +{ + content: "\e9a6"; +} + +.icofont-industries:before +{ + content: "\e9a7"; +} + +.icofont-labour:before +{ + content: "\e9a8"; +} + +.icofont-mining:before +{ + content: "\e9a9"; +} + +.icofont-paint-brush:before +{ + content: "\e9aa"; +} + +.icofont-pollution:before +{ + content: "\e9ab"; +} + +.icofont-power-zone:before +{ + content: "\e9ac"; +} + +.icofont-radio-active:before +{ + content: "\e9ad"; +} + +.icofont-recycle-alt:before +{ + content: "\e9ae"; +} + +.icofont-recycling-man:before +{ + content: "\e9af"; +} + +.icofont-safety-hat-light:before +{ + content: "\e9b0"; +} + +.icofont-safety-hat:before +{ + content: "\e9b1"; +} + +.icofont-saw:before +{ + content: "\e9b2"; +} + +.icofont-screw-driver:before +{ + content: "\e9b3"; +} + +.icofont-tools-1:before +{ + content: "\e9b4"; +} + +.icofont-tools-bag:before +{ + content: "\e9b5"; +} + +.icofont-tow-truck:before +{ + content: "\e9b6"; +} + +.icofont-trolley:before +{ + content: "\e9b7"; +} + +.icofont-trowel:before +{ + content: "\e9b8"; +} + +.icofont-under-construction-alt:before +{ + content: "\e9b9"; +} + +.icofont-under-construction:before +{ + content: "\e9ba"; +} + +.icofont-vehicle-cement:before +{ + content: "\e9bb"; +} + +.icofont-vehicle-crane:before +{ + content: "\e9bc"; +} + +.icofont-vehicle-delivery-van:before +{ + content: "\e9bd"; +} + +.icofont-vehicle-dozer:before +{ + content: "\e9be"; +} + +.icofont-vehicle-excavator:before +{ + content: "\e9bf"; +} + +.icofont-vehicle-trucktor:before +{ + content: "\e9c0"; +} + +.icofont-vehicle-wrecking:before +{ + content: "\e9c1"; +} + +.icofont-worker:before +{ + content: "\e9c2"; +} + +.icofont-workers-group:before +{ + content: "\e9c3"; +} + +.icofont-wrench:before +{ + content: "\e9c4"; +} + +.icofont-afghani-false:before +{ + content: "\e9c5"; +} + +.icofont-afghani-minus:before +{ + content: "\e9c6"; +} + +.icofont-afghani-plus:before +{ + content: "\e9c7"; +} + +.icofont-afghani-true:before +{ + content: "\e9c8"; +} + +.icofont-afghani:before +{ + content: "\e9c9"; +} + +.icofont-baht-false:before +{ + content: "\e9ca"; +} + +.icofont-baht-minus:before +{ + content: "\e9cb"; +} + +.icofont-baht-plus:before +{ + content: "\e9cc"; +} + +.icofont-baht-true:before +{ + content: "\e9cd"; +} + +.icofont-baht:before +{ + content: "\e9ce"; +} + +.icofont-bitcoin-false:before +{ + content: "\e9cf"; +} + +.icofont-bitcoin-minus:before +{ + content: "\e9d0"; +} + +.icofont-bitcoin-plus:before +{ + content: "\e9d1"; +} + +.icofont-bitcoin-true:before +{ + content: "\e9d2"; +} + +.icofont-bitcoin:before +{ + content: "\e9d3"; +} + +.icofont-dollar-flase:before +{ + content: "\e9d4"; +} + +.icofont-dollar-minus:before +{ + content: "\e9d5"; +} + +.icofont-dollar-plus:before +{ + content: "\e9d6"; +} + +.icofont-dollar-true:before +{ + content: "\e9d7"; +} + +.icofont-dollar:before +{ + content: "\e9d8"; +} + +.icofont-dong-false:before +{ + content: "\e9d9"; +} + +.icofont-dong-minus:before +{ + content: "\e9da"; +} + +.icofont-dong-plus:before +{ + content: "\e9db"; +} + +.icofont-dong-true:before +{ + content: "\e9dc"; +} + +.icofont-dong:before +{ + content: "\e9dd"; +} + +.icofont-euro-false:before +{ + content: "\e9de"; +} + +.icofont-euro-minus:before +{ + content: "\e9df"; +} + +.icofont-euro-plus:before +{ + content: "\e9e0"; +} + +.icofont-euro-true:before +{ + content: "\e9e1"; +} + +.icofont-euro:before +{ + content: "\e9e2"; +} + +.icofont-frank-false:before +{ + content: "\e9e3"; +} + +.icofont-frank-minus:before +{ + content: "\e9e4"; +} + +.icofont-frank-plus:before +{ + content: "\e9e5"; +} + +.icofont-frank-true:before +{ + content: "\e9e6"; +} + +.icofont-frank:before +{ + content: "\e9e7"; +} + +.icofont-hryvnia-false:before +{ + content: "\e9e8"; +} + +.icofont-hryvnia-minus:before +{ + content: "\e9e9"; +} + +.icofont-hryvnia-plus:before +{ + content: "\e9ea"; +} + +.icofont-hryvnia-true:before +{ + content: "\e9eb"; +} + +.icofont-hryvnia:before +{ + content: "\e9ec"; +} + +.icofont-lira-false:before +{ + content: "\e9ed"; +} + +.icofont-lira-minus:before +{ + content: "\e9ee"; +} + +.icofont-lira-plus:before +{ + content: "\e9ef"; +} + +.icofont-lira-true:before +{ + content: "\e9f0"; +} + +.icofont-lira:before +{ + content: "\e9f1"; +} + +.icofont-peseta-false:before +{ + content: "\e9f2"; +} + +.icofont-peseta-minus:before +{ + content: "\e9f3"; +} + +.icofont-peseta-plus:before +{ + content: "\e9f4"; +} + +.icofont-peseta-true:before +{ + content: "\e9f5"; +} + +.icofont-peseta:before +{ + content: "\e9f6"; +} + +.icofont-peso-false:before +{ + content: "\e9f7"; +} + +.icofont-peso-minus:before +{ + content: "\e9f8"; +} + +.icofont-peso-plus:before +{ + content: "\e9f9"; +} + +.icofont-peso-true:before +{ + content: "\e9fa"; +} + +.icofont-peso:before +{ + content: "\e9fb"; +} + +.icofont-pound-false:before +{ + content: "\e9fc"; +} + +.icofont-pound-minus:before +{ + content: "\e9fd"; +} + +.icofont-pound-plus:before +{ + content: "\e9fe"; +} + +.icofont-pound-true:before +{ + content: "\e9ff"; +} + +.icofont-pound:before +{ + content: "\ea00"; +} + +.icofont-renminbi-false:before +{ + content: "\ea01"; +} + +.icofont-renminbi-minus:before +{ + content: "\ea02"; +} + +.icofont-renminbi-plus:before +{ + content: "\ea03"; +} + +.icofont-renminbi-true:before +{ + content: "\ea04"; +} + +.icofont-renminbi:before +{ + content: "\ea05"; +} + +.icofont-riyal-false:before +{ + content: "\ea06"; +} + +.icofont-riyal-minus:before +{ + content: "\ea07"; +} + +.icofont-riyal-plus:before +{ + content: "\ea08"; +} + +.icofont-riyal-true:before +{ + content: "\ea09"; +} + +.icofont-riyal:before +{ + content: "\ea0a"; +} + +.icofont-rouble-false:before +{ + content: "\ea0b"; +} + +.icofont-rouble-minus:before +{ + content: "\ea0c"; +} + +.icofont-rouble-plus:before +{ + content: "\ea0d"; +} + +.icofont-rouble-true:before +{ + content: "\ea0e"; +} + +.icofont-rouble:before +{ + content: "\ea0f"; +} + +.icofont-rupee-false:before +{ + content: "\ea10"; +} + +.icofont-rupee-minus:before +{ + content: "\ea11"; +} + +.icofont-rupee-plus:before +{ + content: "\ea12"; +} + +.icofont-rupee-true:before +{ + content: "\ea13"; +} + +.icofont-rupee:before +{ + content: "\ea14"; +} + +.icofont-taka-false:before +{ + content: "\ea15"; +} + +.icofont-taka-minus:before +{ + content: "\ea16"; +} + +.icofont-taka-plus:before +{ + content: "\ea17"; +} + +.icofont-taka-true:before +{ + content: "\ea18"; +} + +.icofont-taka:before +{ + content: "\ea19"; +} + +.icofont-turkish-lira-false:before +{ + content: "\ea1a"; +} + +.icofont-turkish-lira-minus:before +{ + content: "\ea1b"; +} + +.icofont-turkish-lira-plus:before +{ + content: "\ea1c"; +} + +.icofont-turkish-lira-true:before +{ + content: "\ea1d"; +} + +.icofont-turkish-lira:before +{ + content: "\ea1e"; +} + +.icofont-won-false:before +{ + content: "\ea1f"; +} + +.icofont-won-minus:before +{ + content: "\ea20"; +} + +.icofont-won-plus:before +{ + content: "\ea21"; +} + +.icofont-won-true:before +{ + content: "\ea22"; +} + +.icofont-won:before +{ + content: "\ea23"; +} + +.icofont-yen-false:before +{ + content: "\ea24"; +} + +.icofont-yen-minus:before +{ + content: "\ea25"; +} + +.icofont-yen-plus:before +{ + content: "\ea26"; +} + +.icofont-yen-true:before +{ + content: "\ea27"; +} + +.icofont-yen:before +{ + content: "\ea28"; +} + +.icofont-android-nexus:before +{ + content: "\ea29"; +} + +.icofont-android-tablet:before +{ + content: "\ea2a"; +} + +.icofont-apple-watch:before +{ + content: "\ea2b"; +} + +.icofont-drawing-tablet:before +{ + content: "\ea2c"; +} + +.icofont-earphone:before +{ + content: "\ea2d"; +} + +.icofont-flash-drive:before +{ + content: "\ea2e"; +} + +.icofont-game-console:before +{ + content: "\ea2f"; +} + +.icofont-game-controller:before +{ + content: "\ea30"; +} + +.icofont-game-pad:before +{ + content: "\ea31"; +} + +.icofont-game:before +{ + content: "\ea32"; +} + +.icofont-headphone-alt-1:before +{ + content: "\ea33"; +} + +.icofont-headphone-alt-2:before +{ + content: "\ea34"; +} + +.icofont-headphone-alt-3:before +{ + content: "\ea35"; +} + +.icofont-headphone-alt:before +{ + content: "\ea36"; +} + +.icofont-headphone:before +{ + content: "\ea37"; +} + +.icofont-htc-one:before +{ + content: "\ea38"; +} + +.icofont-imac:before +{ + content: "\ea39"; +} + +.icofont-ipad:before +{ + content: "\ea3a"; +} + +.icofont-iphone:before +{ + content: "\ea3b"; +} + +.icofont-ipod-nano:before +{ + content: "\ea3c"; +} + +.icofont-ipod-touch:before +{ + content: "\ea3d"; +} + +.icofont-keyboard-alt:before +{ + content: "\ea3e"; +} + +.icofont-keyboard-wireless:before +{ + content: "\ea3f"; +} + +.icofont-keyboard:before +{ + content: "\ea40"; +} + +.icofont-laptop-alt:before +{ + content: "\ea41"; +} + +.icofont-laptop:before +{ + content: "\ea42"; +} + +.icofont-macbook:before +{ + content: "\ea43"; +} + +.icofont-magic-mouse:before +{ + content: "\ea44"; +} + +.icofont-micro-chip:before +{ + content: "\ea45"; +} + +.icofont-microphone-alt:before +{ + content: "\ea46"; +} + +.icofont-microphone:before +{ + content: "\ea47"; +} + +.icofont-monitor:before +{ + content: "\ea48"; +} + +.icofont-mouse:before +{ + content: "\ea49"; +} + +.icofont-mp3-player:before +{ + content: "\ea4a"; +} + +.icofont-nintendo:before +{ + content: "\ea4b"; +} + +.icofont-playstation-alt:before +{ + content: "\ea4c"; +} + +.icofont-psvita:before +{ + content: "\ea4d"; +} + +.icofont-radio-mic:before +{ + content: "\ea4e"; +} + +.icofont-radio:before +{ + content: "\ea4f"; +} + +.icofont-refrigerator:before +{ + content: "\ea50"; +} + +.icofont-samsung-galaxy:before +{ + content: "\ea51"; +} + +.icofont-surface-tablet:before +{ + content: "\ea52"; +} + +.icofont-ui-head-phone:before +{ + content: "\ea53"; +} + +.icofont-ui-keyboard:before +{ + content: "\ea54"; +} + +.icofont-washing-machine:before +{ + content: "\ea55"; +} + +.icofont-wifi-router:before +{ + content: "\ea56"; +} + +.icofont-wii-u:before +{ + content: "\ea57"; +} + +.icofont-windows-lumia:before +{ + content: "\ea58"; +} + +.icofont-wireless-mouse:before +{ + content: "\ea59"; +} + +.icofont-xbox-360:before +{ + content: "\ea5a"; +} + +.icofont-arrow-down:before +{ + content: "\ea5b"; +} + +.icofont-arrow-left:before +{ + content: "\ea5c"; +} + +.icofont-arrow-right:before +{ + content: "\ea5d"; +} + +.icofont-arrow-up:before +{ + content: "\ea5e"; +} + +.icofont-block-down:before +{ + content: "\ea5f"; +} + +.icofont-block-left:before +{ + content: "\ea60"; +} + +.icofont-block-right:before +{ + content: "\ea61"; +} + +.icofont-block-up:before +{ + content: "\ea62"; +} + +.icofont-bubble-down:before +{ + content: "\ea63"; +} + +.icofont-bubble-left:before +{ + content: "\ea64"; +} + +.icofont-bubble-right:before +{ + content: "\ea65"; +} + +.icofont-bubble-up:before +{ + content: "\ea66"; +} + +.icofont-caret-down:before +{ + content: "\ea67"; +} + +.icofont-caret-left:before +{ + content: "\ea68"; +} + +.icofont-caret-right:before +{ + content: "\ea69"; +} + +.icofont-caret-up:before +{ + content: "\ea6a"; +} + +.icofont-circled-down:before +{ + content: "\ea6b"; +} + +.icofont-circled-left:before +{ + content: "\ea6c"; +} + +.icofont-circled-right:before +{ + content: "\ea6d"; +} + +.icofont-circled-up:before +{ + content: "\ea6e"; +} + +.icofont-collapse:before +{ + content: "\ea6f"; +} + +.icofont-cursor-drag:before +{ + content: "\ea70"; +} + +.icofont-curved-double-left:before +{ + content: "\ea71"; +} + +.icofont-curved-double-right:before +{ + content: "\ea72"; +} + +.icofont-curved-down:before +{ + content: "\ea73"; +} + +.icofont-curved-left:before +{ + content: "\ea74"; +} + +.icofont-curved-right:before +{ + content: "\ea75"; +} + +.icofont-curved-up:before +{ + content: "\ea76"; +} + +.icofont-dotted-down:before +{ + content: "\ea77"; +} + +.icofont-dotted-left:before +{ + content: "\ea78"; +} + +.icofont-dotted-right:before +{ + content: "\ea79"; +} + +.icofont-dotted-up:before +{ + content: "\ea7a"; +} + +.icofont-double-left:before +{ + content: "\ea7b"; +} + +.icofont-double-right:before +{ + content: "\ea7c"; +} + +.icofont-expand-alt:before +{ + content: "\ea7d"; +} + +.icofont-hand-down:before +{ + content: "\ea7e"; +} + +.icofont-hand-drag:before +{ + content: "\ea7f"; +} + +.icofont-hand-drag1:before +{ + content: "\ea80"; +} + +.icofont-hand-drag2:before +{ + content: "\ea81"; +} + +.icofont-hand-drawn-alt-down:before +{ + content: "\ea82"; +} + +.icofont-hand-drawn-alt-left:before +{ + content: "\ea83"; +} + +.icofont-hand-drawn-alt-right:before +{ + content: "\ea84"; +} + +.icofont-hand-drawn-alt-up:before +{ + content: "\ea85"; +} + +.icofont-hand-drawn-down:before +{ + content: "\ea86"; +} + +.icofont-hand-drawn-left:before +{ + content: "\ea87"; +} + +.icofont-hand-drawn-right:before +{ + content: "\ea88"; +} + +.icofont-hand-drawn-up:before +{ + content: "\ea89"; +} + +.icofont-hand-grippers:before +{ + content: "\ea8a"; +} + +.icofont-hand-left:before +{ + content: "\ea8b"; +} + +.icofont-hand-right:before +{ + content: "\ea8c"; +} + +.icofont-hand-up:before +{ + content: "\ea8d"; +} + +.icofont-line-block-down:before +{ + content: "\ea8e"; +} + +.icofont-line-block-left:before +{ + content: "\ea8f"; +} + +.icofont-line-block-right:before +{ + content: "\ea90"; +} + +.icofont-line-block-up:before +{ + content: "\ea91"; +} + +.icofont-long-arrow-down:before +{ + content: "\ea92"; +} + +.icofont-long-arrow-left:before +{ + content: "\ea93"; +} + +.icofont-long-arrow-right:before +{ + content: "\ea94"; +} + +.icofont-long-arrow-up:before +{ + content: "\ea95"; +} + +.icofont-rounded-collapse:before +{ + content: "\ea96"; +} + +.icofont-rounded-double-left:before +{ + content: "\ea97"; +} + +.icofont-rounded-double-right:before +{ + content: "\ea98"; +} + +.icofont-rounded-down:before +{ + content: "\ea99"; +} + +.icofont-rounded-expand:before +{ + content: "\ea9a"; +} + +.icofont-rounded-left-down:before +{ + content: "\ea9b"; +} + +.icofont-rounded-left-up:before +{ + content: "\ea9c"; +} + +.icofont-rounded-left:before +{ + content: "\ea9d"; +} + +.icofont-rounded-right-down:before +{ + content: "\ea9e"; +} + +.icofont-rounded-right-up:before +{ + content: "\ea9f"; +} + +.icofont-rounded-right:before +{ + content: "\eaa0"; +} + +.icofont-rounded-up:before +{ + content: "\eaa1"; +} + +.icofont-scroll-bubble-down:before +{ + content: "\eaa2"; +} + +.icofont-scroll-bubble-left:before +{ + content: "\eaa3"; +} + +.icofont-scroll-bubble-right:before +{ + content: "\eaa4"; +} + +.icofont-scroll-bubble-up:before +{ + content: "\eaa5"; +} + +.icofont-scroll-double-down:before +{ + content: "\eaa6"; +} + +.icofont-scroll-double-left:before +{ + content: "\eaa7"; +} + +.icofont-scroll-double-right:before +{ + content: "\eaa8"; +} + +.icofont-scroll-double-up:before +{ + content: "\eaa9"; +} + +.icofont-scroll-down:before +{ + content: "\eaaa"; +} + +.icofont-scroll-left:before +{ + content: "\eaab"; +} + +.icofont-scroll-long-down:before +{ + content: "\eaac"; +} + +.icofont-scroll-long-left:before +{ + content: "\eaad"; +} + +.icofont-scroll-long-right:before +{ + content: "\eaae"; +} + +.icofont-scroll-long-up:before +{ + content: "\eaaf"; +} + +.icofont-scroll-right:before +{ + content: "\eab0"; +} + +.icofont-scroll-up:before +{ + content: "\eab1"; +} + +.icofont-simple-down:before +{ + content: "\eab2"; +} + +.icofont-simple-left-down:before +{ + content: "\eab3"; +} + +.icofont-simple-left-up:before +{ + content: "\eab4"; +} + +.icofont-simple-left:before +{ + content: "\eab5"; +} + +.icofont-simple-right-down:before +{ + content: "\eab6"; +} + +.icofont-simple-right-up:before +{ + content: "\eab7"; +} + +.icofont-simple-right:before +{ + content: "\eab8"; +} + +.icofont-simple-up:before +{ + content: "\eab9"; +} + +.icofont-square-down:before +{ + content: "\eaba"; +} + +.icofont-square-left:before +{ + content: "\eabb"; +} + +.icofont-square-right:before +{ + content: "\eabc"; +} + +.icofont-square-up:before +{ + content: "\eabd"; +} + +.icofont-stylish-down:before +{ + content: "\eabe"; +} + +.icofont-stylish-left:before +{ + content: "\eabf"; +} + +.icofont-stylish-right:before +{ + content: "\eac0"; +} + +.icofont-stylish-up:before +{ + content: "\eac1"; +} + +.icofont-swoosh-down:before +{ + content: "\eac2"; +} + +.icofont-swoosh-left:before +{ + content: "\eac3"; +} + +.icofont-swoosh-right:before +{ + content: "\eac4"; +} + +.icofont-swoosh-up:before +{ + content: "\eac5"; +} + +.icofont-thin-double-left:before +{ + content: "\eac6"; +} + +.icofont-thin-double-right:before +{ + content: "\eac7"; +} + +.icofont-thin-down:before +{ + content: "\eac8"; +} + +.icofont-thin-left:before +{ + content: "\eac9"; +} + +.icofont-thin-right:before +{ + content: "\eaca"; +} + +.icofont-thin-up:before +{ + content: "\eacb"; +} + +.icofont-abc:before +{ + content: "\eacc"; +} + +.icofont-atom:before +{ + content: "\eacd"; +} + +.icofont-award:before +{ + content: "\eace"; +} + +.icofont-bell-alt:before +{ + content: "\eacf"; +} + +.icofont-black-board:before +{ + content: "\ead0"; +} + +.icofont-book-alt:before +{ + content: "\ead1"; +} + +.icofont-book:before +{ + content: "\ead2"; +} + +.icofont-brainstorming:before +{ + content: "\ead3"; +} + +.icofont-certificate-alt-1:before +{ + content: "\ead4"; +} + +.icofont-certificate-alt-2:before +{ + content: "\ead5"; +} + +.icofont-certificate:before +{ + content: "\ead6"; +} + +.icofont-education:before +{ + content: "\ead7"; +} + +.icofont-electron:before +{ + content: "\ead8"; +} + +.icofont-fountain-pen:before +{ + content: "\ead9"; +} + +.icofont-globe-alt:before +{ + content: "\eada"; +} + +.icofont-graduate-alt:before +{ + content: "\eadb"; +} + +.icofont-graduate:before +{ + content: "\eadc"; +} + +.icofont-group-students:before +{ + content: "\eadd"; +} + +.icofont-hat-alt:before +{ + content: "\eade"; +} + +.icofont-hat:before +{ + content: "\eadf"; +} + +.icofont-instrument:before +{ + content: "\eae0"; +} + +.icofont-lamp-light:before +{ + content: "\eae1"; +} + +.icofont-medal:before +{ + content: "\eae2"; +} + +.icofont-microscope-alt:before +{ + content: "\eae3"; +} + +.icofont-microscope:before +{ + content: "\eae4"; +} + +.icofont-paper:before +{ + content: "\eae5"; +} + +.icofont-pen-alt-4:before +{ + content: "\eae6"; +} + +.icofont-pen-nib:before +{ + content: "\eae7"; +} + +.icofont-pencil-alt-5:before +{ + content: "\eae8"; +} + +.icofont-quill-pen:before +{ + content: "\eae9"; +} + +.icofont-read-book-alt:before +{ + content: "\eaea"; +} + +.icofont-read-book:before +{ + content: "\eaeb"; +} + +.icofont-school-bag:before +{ + content: "\eaec"; +} + +.icofont-school-bus:before +{ + content: "\eaed"; +} + +.icofont-student-alt:before +{ + content: "\eaee"; +} + +.icofont-student:before +{ + content: "\eaef"; +} + +.icofont-teacher:before +{ + content: "\eaf0"; +} + +.icofont-test-bulb:before +{ + content: "\eaf1"; +} + +.icofont-test-tube-alt:before +{ + content: "\eaf2"; +} + +.icofont-university:before +{ + content: "\eaf3"; +} + +.icofont-angry:before +{ + content: "\eaf4"; +} + +.icofont-astonished:before +{ + content: "\eaf5"; +} + +.icofont-confounded:before +{ + content: "\eaf6"; +} + +.icofont-confused:before +{ + content: "\eaf7"; +} + +.icofont-crying:before +{ + content: "\eaf8"; +} + +.icofont-dizzy:before +{ + content: "\eaf9"; +} + +.icofont-expressionless:before +{ + content: "\eafa"; +} + +.icofont-heart-eyes:before +{ + content: "\eafb"; +} + +.icofont-laughing:before +{ + content: "\eafc"; +} + +.icofont-nerd-smile:before +{ + content: "\eafd"; +} + +.icofont-open-mouth:before +{ + content: "\eafe"; +} + +.icofont-rage:before +{ + content: "\eaff"; +} + +.icofont-rolling-eyes:before +{ + content: "\eb00"; +} + +.icofont-sad:before +{ + content: "\eb01"; +} + +.icofont-simple-smile:before +{ + content: "\eb02"; +} + +.icofont-slightly-smile:before +{ + content: "\eb03"; +} + +.icofont-smirk:before +{ + content: "\eb04"; +} + +.icofont-stuck-out-tongue:before +{ + content: "\eb05"; +} + +.icofont-wink-smile:before +{ + content: "\eb06"; +} + +.icofont-worried:before +{ + content: "\eb07"; +} + +.icofont-file-alt:before +{ + content: "\eb08"; +} + +.icofont-file-audio:before +{ + content: "\eb09"; +} + +.icofont-file-avi-mp4:before +{ + content: "\eb0a"; +} + +.icofont-file-bmp:before +{ + content: "\eb0b"; +} + +.icofont-file-code:before +{ + content: "\eb0c"; +} + +.icofont-file-css:before +{ + content: "\eb0d"; +} + +.icofont-file-document:before +{ + content: "\eb0e"; +} + +.icofont-file-eps:before +{ + content: "\eb0f"; +} + +.icofont-file-excel:before +{ + content: "\eb10"; +} + +.icofont-file-exe:before +{ + content: "\eb11"; +} + +.icofont-file-file:before +{ + content: "\eb12"; +} + +.icofont-file-flv:before +{ + content: "\eb13"; +} + +.icofont-file-gif:before +{ + content: "\eb14"; +} + +.icofont-file-html5:before +{ + content: "\eb15"; +} + +.icofont-file-image:before +{ + content: "\eb16"; +} + +.icofont-file-iso:before +{ + content: "\eb17"; +} + +.icofont-file-java:before +{ + content: "\eb18"; +} + +.icofont-file-javascript:before +{ + content: "\eb19"; +} + +.icofont-file-jpg:before +{ + content: "\eb1a"; +} + +.icofont-file-midi:before +{ + content: "\eb1b"; +} + +.icofont-file-mov:before +{ + content: "\eb1c"; +} + +.icofont-file-mp3:before +{ + content: "\eb1d"; +} + +.icofont-file-pdf:before +{ + content: "\eb1e"; +} + +.icofont-file-php:before +{ + content: "\eb1f"; +} + +.icofont-file-png:before +{ + content: "\eb20"; +} + +.icofont-file-powerpoint:before +{ + content: "\eb21"; +} + +.icofont-file-presentation:before +{ + content: "\eb22"; +} + +.icofont-file-psb:before +{ + content: "\eb23"; +} + +.icofont-file-psd:before +{ + content: "\eb24"; +} + +.icofont-file-python:before +{ + content: "\eb25"; +} + +.icofont-file-ruby:before +{ + content: "\eb26"; +} + +.icofont-file-spreadsheet:before +{ + content: "\eb27"; +} + +.icofont-file-sql:before +{ + content: "\eb28"; +} + +.icofont-file-svg:before +{ + content: "\eb29"; +} + +.icofont-file-text:before +{ + content: "\eb2a"; +} + +.icofont-file-tiff:before +{ + content: "\eb2b"; +} + +.icofont-file-video:before +{ + content: "\eb2c"; +} + +.icofont-file-wave:before +{ + content: "\eb2d"; +} + +.icofont-file-wmv:before +{ + content: "\eb2e"; +} + +.icofont-file-word:before +{ + content: "\eb2f"; +} + +.icofont-file-zip:before +{ + content: "\eb30"; +} + +.icofont-cycling-alt:before +{ + content: "\eb31"; +} + +.icofont-cycling:before +{ + content: "\eb32"; +} + +.icofont-dumbbell:before +{ + content: "\eb33"; +} + +.icofont-dumbbells:before +{ + content: "\eb34"; +} + +.icofont-gym-alt-1:before +{ + content: "\eb35"; +} + +.icofont-gym-alt-2:before +{ + content: "\eb36"; +} + +.icofont-gym-alt-3:before +{ + content: "\eb37"; +} + +.icofont-gym:before +{ + content: "\eb38"; +} + +.icofont-muscle-weight:before +{ + content: "\eb39"; +} + +.icofont-muscle:before +{ + content: "\eb3a"; +} + +.icofont-apple:before +{ + content: "\eb3b"; +} + +.icofont-arabian-coffee:before +{ + content: "\eb3c"; +} + +.icofont-artichoke:before +{ + content: "\eb3d"; +} + +.icofont-asparagus:before +{ + content: "\eb3e"; +} + +.icofont-avocado:before +{ + content: "\eb3f"; +} + +.icofont-baby-food:before +{ + content: "\eb40"; +} + +.icofont-banana:before +{ + content: "\eb41"; +} + +.icofont-bbq:before +{ + content: "\eb42"; +} + +.icofont-beans:before +{ + content: "\eb43"; +} + +.icofont-beer:before +{ + content: "\eb44"; +} + +.icofont-bell-pepper-capsicum:before +{ + content: "\eb45"; +} + +.icofont-birthday-cake:before +{ + content: "\eb46"; +} + +.icofont-bread:before +{ + content: "\eb47"; +} + +.icofont-broccoli:before +{ + content: "\eb48"; +} + +.icofont-burger:before +{ + content: "\eb49"; +} + +.icofont-cabbage:before +{ + content: "\eb4a"; +} + +.icofont-carrot:before +{ + content: "\eb4b"; +} + +.icofont-cauli-flower:before +{ + content: "\eb4c"; +} + +.icofont-cheese:before +{ + content: "\eb4d"; +} + +.icofont-chef:before +{ + content: "\eb4e"; +} + +.icofont-cherry:before +{ + content: "\eb4f"; +} + +.icofont-chicken-fry:before +{ + content: "\eb50"; +} + +.icofont-chicken:before +{ + content: "\eb51"; +} + +.icofont-cocktail:before +{ + content: "\eb52"; +} + +.icofont-coconut-water:before +{ + content: "\eb53"; +} + +.icofont-coconut:before +{ + content: "\eb54"; +} + +.icofont-coffee-alt:before +{ + content: "\eb55"; +} + +.icofont-coffee-cup:before +{ + content: "\eb56"; +} + +.icofont-coffee-mug:before +{ + content: "\eb57"; +} + +.icofont-coffee-pot:before +{ + content: "\eb58"; +} + +.icofont-cola:before +{ + content: "\eb59"; +} + +.icofont-corn:before +{ + content: "\eb5a"; +} + +.icofont-croissant:before +{ + content: "\eb5b"; +} + +.icofont-crop-plant:before +{ + content: "\eb5c"; +} + +.icofont-cucumber:before +{ + content: "\eb5d"; +} + +.icofont-culinary:before +{ + content: "\eb5e"; +} + +.icofont-cup-cake:before +{ + content: "\eb5f"; +} + +.icofont-dining-table:before +{ + content: "\eb60"; +} + +.icofont-donut:before +{ + content: "\eb61"; +} + +.icofont-egg-plant:before +{ + content: "\eb62"; +} + +.icofont-egg-poached:before +{ + content: "\eb63"; +} + +.icofont-farmer-alt:before +{ + content: "\eb64"; +} + +.icofont-farmer:before +{ + content: "\eb65"; +} + +.icofont-fast-food:before +{ + content: "\eb66"; +} + +.icofont-food-basket:before +{ + content: "\eb67"; +} + +.icofont-food-cart:before +{ + content: "\eb68"; +} + +.icofont-fork-and-knife:before +{ + content: "\eb69"; +} + +.icofont-french-fries:before +{ + content: "\eb6a"; +} + +.icofont-fruits:before +{ + content: "\eb6b"; +} + +.icofont-grapes:before +{ + content: "\eb6c"; +} + +.icofont-honey:before +{ + content: "\eb6d"; +} + +.icofont-hot-dog:before +{ + content: "\eb6e"; +} + +.icofont-ice-cream-alt:before +{ + content: "\eb6f"; +} + +.icofont-ice-cream:before +{ + content: "\eb70"; +} + +.icofont-juice:before +{ + content: "\eb71"; +} + +.icofont-ketchup:before +{ + content: "\eb72"; +} + +.icofont-kiwi:before +{ + content: "\eb73"; +} + +.icofont-layered-cake:before +{ + content: "\eb74"; +} + +.icofont-lemon-alt:before +{ + content: "\eb75"; +} + +.icofont-lemon:before +{ + content: "\eb76"; +} + +.icofont-lobster:before +{ + content: "\eb77"; +} + +.icofont-mango:before +{ + content: "\eb78"; +} + +.icofont-milk:before +{ + content: "\eb79"; +} + +.icofont-mushroom:before +{ + content: "\eb7a"; +} + +.icofont-noodles:before +{ + content: "\eb7b"; +} + +.icofont-onion:before +{ + content: "\eb7c"; +} + +.icofont-orange:before +{ + content: "\eb7d"; +} + +.icofont-pear:before +{ + content: "\eb7e"; +} + +.icofont-peas:before +{ + content: "\eb7f"; +} + +.icofont-pepper:before +{ + content: "\eb80"; +} + +.icofont-pie-alt:before +{ + content: "\eb81"; +} + +.icofont-pie:before +{ + content: "\eb82"; +} + +.icofont-pineapple:before +{ + content: "\eb83"; +} + +.icofont-pizza-slice:before +{ + content: "\eb84"; +} + +.icofont-pizza:before +{ + content: "\eb85"; +} + +.icofont-plant:before +{ + content: "\eb86"; +} + +.icofont-popcorn:before +{ + content: "\eb87"; +} + +.icofont-potato:before +{ + content: "\eb88"; +} + +.icofont-pumpkin:before +{ + content: "\eb89"; +} + +.icofont-raddish:before +{ + content: "\eb8a"; +} + +.icofont-restaurant-menu:before +{ + content: "\eb8b"; +} + +.icofont-restaurant:before +{ + content: "\eb8c"; +} + +.icofont-salt-and-pepper:before +{ + content: "\eb8d"; +} + +.icofont-sandwich:before +{ + content: "\eb8e"; +} + +.icofont-sausage:before +{ + content: "\eb8f"; +} + +.icofont-soft-drinks:before +{ + content: "\eb90"; +} + +.icofont-soup-bowl:before +{ + content: "\eb91"; +} + +.icofont-spoon-and-fork:before +{ + content: "\eb92"; +} + +.icofont-steak:before +{ + content: "\eb93"; +} + +.icofont-strawberry:before +{ + content: "\eb94"; +} + +.icofont-sub-sandwich:before +{ + content: "\eb95"; +} + +.icofont-sushi:before +{ + content: "\eb96"; +} + +.icofont-taco:before +{ + content: "\eb97"; +} + +.icofont-tea-pot:before +{ + content: "\eb98"; +} + +.icofont-tea:before +{ + content: "\eb99"; +} + +.icofont-tomato:before +{ + content: "\eb9a"; +} + +.icofont-watermelon:before +{ + content: "\eb9b"; +} + +.icofont-wheat:before +{ + content: "\eb9c"; +} + +.icofont-baby-backpack:before +{ + content: "\eb9d"; +} + +.icofont-baby-cloth:before +{ + content: "\eb9e"; +} + +.icofont-baby-milk-bottle:before +{ + content: "\eb9f"; +} + +.icofont-baby-trolley:before +{ + content: "\eba0"; +} + +.icofont-baby:before +{ + content: "\eba1"; +} + +.icofont-candy:before +{ + content: "\eba2"; +} + +.icofont-holding-hands:before +{ + content: "\eba3"; +} + +.icofont-infant-nipple:before +{ + content: "\eba4"; +} + +.icofont-kids-scooter:before +{ + content: "\eba5"; +} + +.icofont-safety-pin:before +{ + content: "\eba6"; +} + +.icofont-teddy-bear:before +{ + content: "\eba7"; +} + +.icofont-toy-ball:before +{ + content: "\eba8"; +} + +.icofont-toy-cat:before +{ + content: "\eba9"; +} + +.icofont-toy-duck:before +{ + content: "\ebaa"; +} + +.icofont-toy-elephant:before +{ + content: "\ebab"; +} + +.icofont-toy-hand:before +{ + content: "\ebac"; +} + +.icofont-toy-horse:before +{ + content: "\ebad"; +} + +.icofont-toy-lattu:before +{ + content: "\ebae"; +} + +.icofont-toy-train:before +{ + content: "\ebaf"; +} + +.icofont-burglar:before +{ + content: "\ebb0"; +} + +.icofont-cannon-firing:before +{ + content: "\ebb1"; +} + +.icofont-cc-camera:before +{ + content: "\ebb2"; +} + +.icofont-cop-badge:before +{ + content: "\ebb3"; +} + +.icofont-cop:before +{ + content: "\ebb4"; +} + +.icofont-court-hammer:before +{ + content: "\ebb5"; +} + +.icofont-court:before +{ + content: "\ebb6"; +} + +.icofont-finger-print:before +{ + content: "\ebb7"; +} + +.icofont-gavel:before +{ + content: "\ebb8"; +} + +.icofont-handcuff-alt:before +{ + content: "\ebb9"; +} + +.icofont-handcuff:before +{ + content: "\ebba"; +} + +.icofont-investigation:before +{ + content: "\ebbb"; +} + +.icofont-investigator:before +{ + content: "\ebbc"; +} + +.icofont-jail:before +{ + content: "\ebbd"; +} + +.icofont-judge:before +{ + content: "\ebbe"; +} + +.icofont-law-alt-1:before +{ + content: "\ebbf"; +} + +.icofont-law-alt-2:before +{ + content: "\ebc0"; +} + +.icofont-law-alt-3:before +{ + content: "\ebc1"; +} + +.icofont-law-book:before +{ + content: "\ebc2"; +} + +.icofont-law-document:before +{ + content: "\ebc3"; +} + +.icofont-law-order:before +{ + content: "\ebc4"; +} + +.icofont-law-protect:before +{ + content: "\ebc5"; +} + +.icofont-law-scales:before +{ + content: "\ebc6"; +} + +.icofont-law:before +{ + content: "\ebc7"; +} + +.icofont-lawyer-alt-1:before +{ + content: "\ebc8"; +} + +.icofont-lawyer-alt-2:before +{ + content: "\ebc9"; +} + +.icofont-lawyer:before +{ + content: "\ebca"; +} + +.icofont-legal:before +{ + content: "\ebcb"; +} + +.icofont-pistol:before +{ + content: "\ebcc"; +} + +.icofont-police-badge:before +{ + content: "\ebcd"; +} + +.icofont-police-cap:before +{ + content: "\ebce"; +} + +.icofont-police-car-alt-1:before +{ + content: "\ebcf"; +} + +.icofont-police-car-alt-2:before +{ + content: "\ebd0"; +} + +.icofont-police-car:before +{ + content: "\ebd1"; +} + +.icofont-police-hat:before +{ + content: "\ebd2"; +} + +.icofont-police-van:before +{ + content: "\ebd3"; +} + +.icofont-police:before +{ + content: "\ebd4"; +} + +.icofont-thief-alt:before +{ + content: "\ebd5"; +} + +.icofont-thief:before +{ + content: "\ebd6"; +} + +.icofont-abacus-alt:before +{ + content: "\ebd7"; +} + +.icofont-abacus:before +{ + content: "\ebd8"; +} + +.icofont-angle-180:before +{ + content: "\ebd9"; +} + +.icofont-angle-45:before +{ + content: "\ebda"; +} + +.icofont-angle-90:before +{ + content: "\ebdb"; +} + +.icofont-angle:before +{ + content: "\ebdc"; +} + +.icofont-calculator-alt-1:before +{ + content: "\ebdd"; +} + +.icofont-calculator-alt-2:before +{ + content: "\ebde"; +} + +.icofont-calculator:before +{ + content: "\ebdf"; +} + +.icofont-circle-ruler-alt:before +{ + content: "\ebe0"; +} + +.icofont-circle-ruler:before +{ + content: "\ebe1"; +} + +.icofont-compass-alt-1:before +{ + content: "\ebe2"; +} + +.icofont-compass-alt-2:before +{ + content: "\ebe3"; +} + +.icofont-compass-alt-3:before +{ + content: "\ebe4"; +} + +.icofont-compass-alt-4:before +{ + content: "\ebe5"; +} + +.icofont-golden-ratio:before +{ + content: "\ebe6"; +} + +.icofont-marker-alt-1:before +{ + content: "\ebe7"; +} + +.icofont-marker-alt-2:before +{ + content: "\ebe8"; +} + +.icofont-marker-alt-3:before +{ + content: "\ebe9"; +} + +.icofont-marker:before +{ + content: "\ebea"; +} + +.icofont-math:before +{ + content: "\ebeb"; +} + +.icofont-mathematical-alt-1:before +{ + content: "\ebec"; +} + +.icofont-mathematical-alt-2:before +{ + content: "\ebed"; +} + +.icofont-mathematical:before +{ + content: "\ebee"; +} + +.icofont-pen-alt-1:before +{ + content: "\ebef"; +} + +.icofont-pen-alt-2:before +{ + content: "\ebf0"; +} + +.icofont-pen-alt-3:before +{ + content: "\ebf1"; +} + +.icofont-pen-holder-alt-1:before +{ + content: "\ebf2"; +} + +.icofont-pen-holder:before +{ + content: "\ebf3"; +} + +.icofont-pen:before +{ + content: "\ebf4"; +} + +.icofont-pencil-alt-1:before +{ + content: "\ebf5"; +} + +.icofont-pencil-alt-2:before +{ + content: "\ebf6"; +} + +.icofont-pencil-alt-3:before +{ + content: "\ebf7"; +} + +.icofont-pencil-alt-4:before +{ + content: "\ebf8"; +} + +.icofont-pencil:before +{ + content: "\ebf9"; +} + +.icofont-ruler-alt-1:before +{ + content: "\ebfa"; +} + +.icofont-ruler-alt-2:before +{ + content: "\ebfb"; +} + +.icofont-ruler-compass-alt:before +{ + content: "\ebfc"; +} + +.icofont-ruler-compass:before +{ + content: "\ebfd"; +} + +.icofont-ruler-pencil-alt-1:before +{ + content: "\ebfe"; +} + +.icofont-ruler-pencil-alt-2:before +{ + content: "\ebff"; +} + +.icofont-ruler-pencil:before +{ + content: "\ec00"; +} + +.icofont-ruler:before +{ + content: "\ec01"; +} + +.icofont-rulers-alt:before +{ + content: "\ec02"; +} + +.icofont-rulers:before +{ + content: "\ec03"; +} + +.icofont-square-root:before +{ + content: "\ec04"; +} + +.icofont-ui-calculator:before +{ + content: "\ec05"; +} + +.icofont-aids:before +{ + content: "\ec06"; +} + +.icofont-ambulance-crescent:before +{ + content: "\ec07"; +} + +.icofont-ambulance-cross:before +{ + content: "\ec08"; +} + +.icofont-ambulance:before +{ + content: "\ec09"; +} + +.icofont-autism:before +{ + content: "\ec0a"; +} + +.icofont-bandage:before +{ + content: "\ec0b"; +} + +.icofont-blind:before +{ + content: "\ec0c"; +} + +.icofont-blood-drop:before +{ + content: "\ec0d"; +} + +.icofont-blood-test:before +{ + content: "\ec0e"; +} + +.icofont-blood:before +{ + content: "\ec0f"; +} + +.icofont-brain-alt:before +{ + content: "\ec10"; +} + +.icofont-brain:before +{ + content: "\ec11"; +} + +.icofont-capsule:before +{ + content: "\ec12"; +} + +.icofont-crutch:before +{ + content: "\ec13"; +} + +.icofont-disabled:before +{ + content: "\ec14"; +} + +.icofont-dna-alt-1:before +{ + content: "\ec15"; +} + +.icofont-dna-alt-2:before +{ + content: "\ec16"; +} + +.icofont-dna:before +{ + content: "\ec17"; +} + +.icofont-doctor-alt:before +{ + content: "\ec18"; +} + +.icofont-doctor:before +{ + content: "\ec19"; +} + +.icofont-drug-pack:before +{ + content: "\ec1a"; +} + +.icofont-drug:before +{ + content: "\ec1b"; +} + +.icofont-first-aid-alt:before +{ + content: "\ec1c"; +} + +.icofont-first-aid:before +{ + content: "\ec1d"; +} + +.icofont-heart-beat-alt:before +{ + content: "\ec1e"; +} + +.icofont-heart-beat:before +{ + content: "\ec1f"; +} + +.icofont-heartbeat:before +{ + content: "\ec20"; +} + +.icofont-herbal:before +{ + content: "\ec21"; +} + +.icofont-hospital:before +{ + content: "\ec22"; +} + +.icofont-icu:before +{ + content: "\ec23"; +} + +.icofont-injection-syringe:before +{ + content: "\ec24"; +} + +.icofont-laboratory:before +{ + content: "\ec25"; +} + +.icofont-medical-sign-alt:before +{ + content: "\ec26"; +} + +.icofont-medical-sign:before +{ + content: "\ec27"; +} + +.icofont-nurse-alt:before +{ + content: "\ec28"; +} + +.icofont-nurse:before +{ + content: "\ec29"; +} + +.icofont-nursing-home:before +{ + content: "\ec2a"; +} + +.icofont-operation-theater:before +{ + content: "\ec2b"; +} + +.icofont-paralysis-disability:before +{ + content: "\ec2c"; +} + +.icofont-patient-bed:before +{ + content: "\ec2d"; +} + +.icofont-patient-file:before +{ + content: "\ec2e"; +} + +.icofont-pills:before +{ + content: "\ec2f"; +} + +.icofont-prescription:before +{ + content: "\ec30"; +} + +.icofont-pulse:before +{ + content: "\ec31"; +} + +.icofont-stethoscope-alt:before +{ + content: "\ec32"; +} + +.icofont-stethoscope:before +{ + content: "\ec33"; +} + +.icofont-stretcher:before +{ + content: "\ec34"; +} + +.icofont-surgeon-alt:before +{ + content: "\ec35"; +} + +.icofont-surgeon:before +{ + content: "\ec36"; +} + +.icofont-tablets:before +{ + content: "\ec37"; +} + +.icofont-test-bottle:before +{ + content: "\ec38"; +} + +.icofont-test-tube:before +{ + content: "\ec39"; +} + +.icofont-thermometer-alt:before +{ + content: "\ec3a"; +} + +.icofont-thermometer:before +{ + content: "\ec3b"; +} + +.icofont-tooth:before +{ + content: "\ec3c"; +} + +.icofont-xray:before +{ + content: "\ec3d"; +} + +.icofont-ui-add:before +{ + content: "\ec3e"; +} + +.icofont-ui-alarm:before +{ + content: "\ec3f"; +} + +.icofont-ui-battery:before +{ + content: "\ec40"; +} + +.icofont-ui-block:before +{ + content: "\ec41"; +} + +.icofont-ui-bluetooth:before +{ + content: "\ec42"; +} + +.icofont-ui-brightness:before +{ + content: "\ec43"; +} + +.icofont-ui-browser:before +{ + content: "\ec44"; +} + +.icofont-ui-calendar:before +{ + content: "\ec45"; +} + +.icofont-ui-call:before +{ + content: "\ec46"; +} + +.icofont-ui-camera:before +{ + content: "\ec47"; +} + +.icofont-ui-cart:before +{ + content: "\ec48"; +} + +.icofont-ui-cell-phone:before +{ + content: "\ec49"; +} + +.icofont-ui-chat:before +{ + content: "\ec4a"; +} + +.icofont-ui-check:before +{ + content: "\ec4b"; +} + +.icofont-ui-clip-board:before +{ + content: "\ec4c"; +} + +.icofont-ui-clip:before +{ + content: "\ec4d"; +} + +.icofont-ui-clock:before +{ + content: "\ec4e"; +} + +.icofont-ui-close:before +{ + content: "\ec4f"; +} + +.icofont-ui-contact-list:before +{ + content: "\ec50"; +} + +.icofont-ui-copy:before +{ + content: "\ec51"; +} + +.icofont-ui-cut:before +{ + content: "\ec52"; +} + +.icofont-ui-delete:before +{ + content: "\ec53"; +} + +.icofont-ui-dial-phone:before +{ + content: "\ec54"; +} + +.icofont-ui-edit:before +{ + content: "\ec55"; +} + +.icofont-ui-email:before +{ + content: "\ec56"; +} + +.icofont-ui-file:before +{ + content: "\ec57"; +} + +.icofont-ui-fire-wall:before +{ + content: "\ec58"; +} + +.icofont-ui-flash-light:before +{ + content: "\ec59"; +} + +.icofont-ui-flight:before +{ + content: "\ec5a"; +} + +.icofont-ui-folder:before +{ + content: "\ec5b"; +} + +.icofont-ui-game:before +{ + content: "\ec5c"; +} + +.icofont-ui-handicapped:before +{ + content: "\ec5d"; +} + +.icofont-ui-home:before +{ + content: "\ec5e"; +} + +.icofont-ui-image:before +{ + content: "\ec5f"; +} + +.icofont-ui-laoding:before +{ + content: "\ec60"; +} + +.icofont-ui-lock:before +{ + content: "\ec61"; +} + +.icofont-ui-love-add:before +{ + content: "\ec62"; +} + +.icofont-ui-love-broken:before +{ + content: "\ec63"; +} + +.icofont-ui-love-remove:before +{ + content: "\ec64"; +} + +.icofont-ui-love:before +{ + content: "\ec65"; +} + +.icofont-ui-map:before +{ + content: "\ec66"; +} + +.icofont-ui-message:before +{ + content: "\ec67"; +} + +.icofont-ui-messaging:before +{ + content: "\ec68"; +} + +.icofont-ui-movie:before +{ + content: "\ec69"; +} + +.icofont-ui-music-player:before +{ + content: "\ec6a"; +} + +.icofont-ui-music:before +{ + content: "\ec6b"; +} + +.icofont-ui-mute:before +{ + content: "\ec6c"; +} + +.icofont-ui-network:before +{ + content: "\ec6d"; +} + +.icofont-ui-next:before +{ + content: "\ec6e"; +} + +.icofont-ui-note:before +{ + content: "\ec6f"; +} + +.icofont-ui-office:before +{ + content: "\ec70"; +} + +.icofont-ui-password:before +{ + content: "\ec71"; +} + +.icofont-ui-pause:before +{ + content: "\ec72"; +} + +.icofont-ui-play-stop:before +{ + content: "\ec73"; +} + +.icofont-ui-play:before +{ + content: "\ec74"; +} + +.icofont-ui-pointer:before +{ + content: "\ec75"; +} + +.icofont-ui-power:before +{ + content: "\ec76"; +} + +.icofont-ui-press:before +{ + content: "\ec77"; +} + +.icofont-ui-previous:before +{ + content: "\ec78"; +} + +.icofont-ui-rate-add:before +{ + content: "\ec79"; +} + +.icofont-ui-rate-blank:before +{ + content: "\ec7a"; +} + +.icofont-ui-rate-remove:before +{ + content: "\ec7b"; +} + +.icofont-ui-rating:before +{ + content: "\ec7c"; +} + +.icofont-ui-record:before +{ + content: "\ec7d"; +} + +.icofont-ui-remove:before +{ + content: "\ec7e"; +} + +.icofont-ui-reply:before +{ + content: "\ec7f"; +} + +.icofont-ui-rotation:before +{ + content: "\ec80"; +} + +.icofont-ui-rss:before +{ + content: "\ec81"; +} + +.icofont-ui-search:before +{ + content: "\ec82"; +} + +.icofont-ui-settings:before +{ + content: "\ec83"; +} + +.icofont-ui-social-link:before +{ + content: "\ec84"; +} + +.icofont-ui-tag:before +{ + content: "\ec85"; +} + +.icofont-ui-text-chat:before +{ + content: "\ec86"; +} + +.icofont-ui-text-loading:before +{ + content: "\ec87"; +} + +.icofont-ui-theme:before +{ + content: "\ec88"; +} + +.icofont-ui-timer:before +{ + content: "\ec89"; +} + +.icofont-ui-touch-phone:before +{ + content: "\ec8a"; +} + +.icofont-ui-travel:before +{ + content: "\ec8b"; +} + +.icofont-ui-unlock:before +{ + content: "\ec8c"; +} + +.icofont-ui-user-group:before +{ + content: "\ec8d"; +} + +.icofont-ui-user:before +{ + content: "\ec8e"; +} + +.icofont-ui-v-card:before +{ + content: "\ec8f"; +} + +.icofont-ui-video-chat:before +{ + content: "\ec90"; +} + +.icofont-ui-video-message:before +{ + content: "\ec91"; +} + +.icofont-ui-video-play:before +{ + content: "\ec92"; +} + +.icofont-ui-video:before +{ + content: "\ec93"; +} + +.icofont-ui-volume:before +{ + content: "\ec94"; +} + +.icofont-ui-weather:before +{ + content: "\ec95"; +} + +.icofont-ui-wifi:before +{ + content: "\ec96"; +} + +.icofont-ui-zoom-in:before +{ + content: "\ec97"; +} + +.icofont-ui-zoom-out:before +{ + content: "\ec98"; +} + +.icofont-cassette-player:before +{ + content: "\ec99"; +} + +.icofont-cassette:before +{ + content: "\ec9a"; +} + +.icofont-forward:before +{ + content: "\ec9b"; +} + +.icofont-guiter:before +{ + content: "\ec9c"; +} + +.icofont-movie:before +{ + content: "\ec9d"; +} + +.icofont-multimedia:before +{ + content: "\ec9e"; +} + +.icofont-music-alt:before +{ + content: "\ec9f"; +} + +.icofont-music-disk:before +{ + content: "\eca0"; +} + +.icofont-music-note:before +{ + content: "\eca1"; +} + +.icofont-music-notes:before +{ + content: "\eca2"; +} + +.icofont-music:before +{ + content: "\eca3"; +} + +.icofont-mute-volume:before +{ + content: "\eca4"; +} + +.icofont-pause:before +{ + content: "\eca5"; +} + +.icofont-play-alt-1:before +{ + content: "\eca6"; +} + +.icofont-play-alt-2:before +{ + content: "\eca7"; +} + +.icofont-play-alt-3:before +{ + content: "\eca8"; +} + +.icofont-play-pause:before +{ + content: "\eca9"; +} + +.icofont-play:before +{ + content: "\ecaa"; +} + +.icofont-record:before +{ + content: "\ecab"; +} + +.icofont-retro-music-disk:before +{ + content: "\ecac"; +} + +.icofont-rewind:before +{ + content: "\ecad"; +} + +.icofont-song-notes:before +{ + content: "\ecae"; +} + +.icofont-sound-wave-alt:before +{ + content: "\ecaf"; +} + +.icofont-sound-wave:before +{ + content: "\ecb0"; +} + +.icofont-stop:before +{ + content: "\ecb1"; +} + +.icofont-video-alt:before +{ + content: "\ecb2"; +} + +.icofont-video-cam:before +{ + content: "\ecb3"; +} + +.icofont-video-clapper:before +{ + content: "\ecb4"; +} + +.icofont-video:before +{ + content: "\ecb5"; +} + +.icofont-volume-bar:before +{ + content: "\ecb6"; +} + +.icofont-volume-down:before +{ + content: "\ecb7"; +} + +.icofont-volume-mute:before +{ + content: "\ecb8"; +} + +.icofont-volume-off:before +{ + content: "\ecb9"; +} + +.icofont-volume-up:before +{ + content: "\ecba"; +} + +.icofont-youtube-play:before +{ + content: "\ecbb"; +} + +.icofont-2checkout-alt:before +{ + content: "\ecbc"; +} + +.icofont-2checkout:before +{ + content: "\ecbd"; +} + +.icofont-amazon-alt:before +{ + content: "\ecbe"; +} + +.icofont-amazon:before +{ + content: "\ecbf"; +} + +.icofont-american-express-alt:before +{ + content: "\ecc0"; +} + +.icofont-american-express:before +{ + content: "\ecc1"; +} + +.icofont-apple-pay-alt:before +{ + content: "\ecc2"; +} + +.icofont-apple-pay:before +{ + content: "\ecc3"; +} + +.icofont-bank-transfer-alt:before +{ + content: "\ecc4"; +} + +.icofont-bank-transfer:before +{ + content: "\ecc5"; +} + +.icofont-braintree-alt:before +{ + content: "\ecc6"; +} + +.icofont-braintree:before +{ + content: "\ecc7"; +} + +.icofont-cash-on-delivery-alt:before +{ + content: "\ecc8"; +} + +.icofont-cash-on-delivery:before +{ + content: "\ecc9"; +} + +.icofont-diners-club-alt-1:before +{ + content: "\ecca"; +} + +.icofont-diners-club-alt-2:before +{ + content: "\eccb"; +} + +.icofont-diners-club-alt-3:before +{ + content: "\eccc"; +} + +.icofont-diners-club:before +{ + content: "\eccd"; +} + +.icofont-discover-alt:before +{ + content: "\ecce"; +} + +.icofont-discover:before +{ + content: "\eccf"; +} + +.icofont-eway-alt:before +{ + content: "\ecd0"; +} + +.icofont-eway:before +{ + content: "\ecd1"; +} + +.icofont-google-wallet-alt-1:before +{ + content: "\ecd2"; +} + +.icofont-google-wallet-alt-2:before +{ + content: "\ecd3"; +} + +.icofont-google-wallet-alt-3:before +{ + content: "\ecd4"; +} + +.icofont-google-wallet:before +{ + content: "\ecd5"; +} + +.icofont-jcb-alt:before +{ + content: "\ecd6"; +} + +.icofont-jcb:before +{ + content: "\ecd7"; +} + +.icofont-maestro-alt:before +{ + content: "\ecd8"; +} + +.icofont-maestro:before +{ + content: "\ecd9"; +} + +.icofont-mastercard-alt:before +{ + content: "\ecda"; +} + +.icofont-mastercard:before +{ + content: "\ecdb"; +} + +.icofont-payoneer-alt:before +{ + content: "\ecdc"; +} + +.icofont-payoneer:before +{ + content: "\ecdd"; +} + +.icofont-paypal-alt:before +{ + content: "\ecde"; +} + +.icofont-paypal:before +{ + content: "\ecdf"; +} + +.icofont-sage-alt:before +{ + content: "\ece0"; +} + +.icofont-sage:before +{ + content: "\ece1"; +} + +.icofont-skrill-alt:before +{ + content: "\ece2"; +} + +.icofont-skrill:before +{ + content: "\ece3"; +} + +.icofont-stripe-alt:before +{ + content: "\ece4"; +} + +.icofont-stripe:before +{ + content: "\ece5"; +} + +.icofont-visa-alt:before +{ + content: "\ece6"; +} + +.icofont-visa-electron:before +{ + content: "\ece7"; +} + +.icofont-visa:before +{ + content: "\ece8"; +} + +.icofont-western-union-alt:before +{ + content: "\ece9"; +} + +.icofont-western-union:before +{ + content: "\ecea"; +} + +.icofont-boy:before +{ + content: "\eceb"; +} + +.icofont-business-man-alt-1:before +{ + content: "\ecec"; +} + +.icofont-business-man-alt-2:before +{ + content: "\eced"; +} + +.icofont-business-man-alt-3:before +{ + content: "\ecee"; +} + +.icofont-business-man:before +{ + content: "\ecef"; +} + +.icofont-female:before +{ + content: "\ecf0"; +} + +.icofont-funky-man:before +{ + content: "\ecf1"; +} + +.icofont-girl-alt:before +{ + content: "\ecf2"; +} + +.icofont-girl:before +{ + content: "\ecf3"; +} + +.icofont-group:before +{ + content: "\ecf4"; +} + +.icofont-hotel-boy-alt:before +{ + content: "\ecf5"; +} + +.icofont-hotel-boy:before +{ + content: "\ecf6"; +} + +.icofont-kid:before +{ + content: "\ecf7"; +} + +.icofont-man-in-glasses:before +{ + content: "\ecf8"; +} + +.icofont-people:before +{ + content: "\ecf9"; +} + +.icofont-support:before +{ + content: "\ecfa"; +} + +.icofont-user-alt-1:before +{ + content: "\ecfb"; +} + +.icofont-user-alt-2:before +{ + content: "\ecfc"; +} + +.icofont-user-alt-3:before +{ + content: "\ecfd"; +} + +.icofont-user-alt-4:before +{ + content: "\ecfe"; +} + +.icofont-user-alt-5:before +{ + content: "\ecff"; +} + +.icofont-user-alt-6:before +{ + content: "\ed00"; +} + +.icofont-user-alt-7:before +{ + content: "\ed01"; +} + +.icofont-user-female:before +{ + content: "\ed02"; +} + +.icofont-user-male:before +{ + content: "\ed03"; +} + +.icofont-user-suited:before +{ + content: "\ed04"; +} + +.icofont-user:before +{ + content: "\ed05"; +} + +.icofont-users-alt-1:before +{ + content: "\ed06"; +} + +.icofont-users-alt-2:before +{ + content: "\ed07"; +} + +.icofont-users-alt-3:before +{ + content: "\ed08"; +} + +.icofont-users-alt-4:before +{ + content: "\ed09"; +} + +.icofont-users-alt-5:before +{ + content: "\ed0a"; +} + +.icofont-users-alt-6:before +{ + content: "\ed0b"; +} + +.icofont-users-social:before +{ + content: "\ed0c"; +} + +.icofont-users:before +{ + content: "\ed0d"; +} + +.icofont-waiter-alt:before +{ + content: "\ed0e"; +} + +.icofont-waiter:before +{ + content: "\ed0f"; +} + +.icofont-woman-in-glasses:before +{ + content: "\ed10"; +} + +.icofont-search-1:before +{ + content: "\ed11"; +} + +.icofont-search-2:before +{ + content: "\ed12"; +} + +.icofont-search-document:before +{ + content: "\ed13"; +} + +.icofont-search-folder:before +{ + content: "\ed14"; +} + +.icofont-search-job:before +{ + content: "\ed15"; +} + +.icofont-search-map:before +{ + content: "\ed16"; +} + +.icofont-search-property:before +{ + content: "\ed17"; +} + +.icofont-search-restaurant:before +{ + content: "\ed18"; +} + +.icofont-search-stock:before +{ + content: "\ed19"; +} + +.icofont-search-user:before +{ + content: "\ed1a"; +} + +.icofont-search:before +{ + content: "\ed1b"; +} + +.icofont-500px:before +{ + content: "\ed1c"; +} + +.icofont-aim:before +{ + content: "\ed1d"; +} + +.icofont-badoo:before +{ + content: "\ed1e"; +} + +.icofont-baidu-tieba:before +{ + content: "\ed1f"; +} + +.icofont-bbm-messenger:before +{ + content: "\ed20"; +} + +.icofont-bebo:before +{ + content: "\ed21"; +} + +.icofont-behance:before +{ + content: "\ed22"; +} + +.icofont-blogger:before +{ + content: "\ed23"; +} + +.icofont-bootstrap:before +{ + content: "\ed24"; +} + +.icofont-brightkite:before +{ + content: "\ed25"; +} + +.icofont-cloudapp:before +{ + content: "\ed26"; +} + +.icofont-concrete5:before +{ + content: "\ed27"; +} + +.icofont-delicious:before +{ + content: "\ed28"; +} + +.icofont-designbump:before +{ + content: "\ed29"; +} + +.icofont-designfloat:before +{ + content: "\ed2a"; +} + +.icofont-deviantart:before +{ + content: "\ed2b"; +} + +.icofont-digg:before +{ + content: "\ed2c"; +} + +.icofont-dotcms:before +{ + content: "\ed2d"; +} + +.icofont-dribbble:before +{ + content: "\ed2e"; +} + +.icofont-dribble:before +{ + content: "\ed2f"; +} + +.icofont-dropbox:before +{ + content: "\ed30"; +} + +.icofont-ebuddy:before +{ + content: "\ed31"; +} + +.icofont-ello:before +{ + content: "\ed32"; +} + +.icofont-ember:before +{ + content: "\ed33"; +} + +.icofont-envato:before +{ + content: "\ed34"; +} + +.icofont-evernote:before +{ + content: "\ed35"; +} + +.icofont-facebook-messenger:before +{ + content: "\ed36"; +} + +.icofont-facebook:before +{ + content: "\ed37"; +} + +.icofont-feedburner:before +{ + content: "\ed38"; +} + +.icofont-flikr:before +{ + content: "\ed39"; +} + +.icofont-folkd:before +{ + content: "\ed3a"; +} + +.icofont-foursquare:before +{ + content: "\ed3b"; +} + +.icofont-friendfeed:before +{ + content: "\ed3c"; +} + +.icofont-ghost:before +{ + content: "\ed3d"; +} + +.icofont-github:before +{ + content: "\ed3e"; +} + +.icofont-gnome:before +{ + content: "\ed3f"; +} + +.icofont-google-buzz:before +{ + content: "\ed40"; +} + +.icofont-google-hangouts:before +{ + content: "\ed41"; +} + +.icofont-google-map:before +{ + content: "\ed42"; +} + +.icofont-google-plus:before +{ + content: "\ed43"; +} + +.icofont-google-talk:before +{ + content: "\ed44"; +} + +.icofont-hype-machine:before +{ + content: "\ed45"; +} + +.icofont-instagram:before +{ + content: "\ed46"; +} + +.icofont-kakaotalk:before +{ + content: "\ed47"; +} + +.icofont-kickstarter:before +{ + content: "\ed48"; +} + +.icofont-kik:before +{ + content: "\ed49"; +} + +.icofont-kiwibox:before +{ + content: "\ed4a"; +} + +.icofont-line-messenger:before +{ + content: "\ed4b"; +} + +.icofont-line:before +{ + content: "\ed4c"; +} + +.icofont-linkedin:before +{ + content: "\ed4d"; +} + +.icofont-linux-mint:before +{ + content: "\ed4e"; +} + +.icofont-live-messenger:before +{ + content: "\ed4f"; +} + +.icofont-livejournal:before +{ + content: "\ed50"; +} + +.icofont-magento:before +{ + content: "\ed51"; +} + +.icofont-meetme:before +{ + content: "\ed52"; +} + +.icofont-meetup:before +{ + content: "\ed53"; +} + +.icofont-mixx:before +{ + content: "\ed54"; +} + +.icofont-newsvine:before +{ + content: "\ed55"; +} + +.icofont-nimbuss:before +{ + content: "\ed56"; +} + +.icofont-odnoklassniki:before +{ + content: "\ed57"; +} + +.icofont-opencart:before +{ + content: "\ed58"; +} + +.icofont-oscommerce:before +{ + content: "\ed59"; +} + +.icofont-pandora:before +{ + content: "\ed5a"; +} + +.icofont-photobucket:before +{ + content: "\ed5b"; +} + +.icofont-picasa:before +{ + content: "\ed5c"; +} + +.icofont-pinterest:before +{ + content: "\ed5d"; +} + +.icofont-prestashop:before +{ + content: "\ed5e"; +} + +.icofont-qik:before +{ + content: "\ed5f"; +} + +.icofont-qq:before +{ + content: "\ed60"; +} + +.icofont-readernaut:before +{ + content: "\ed61"; +} + +.icofont-reddit:before +{ + content: "\ed62"; +} + +.icofont-renren:before +{ + content: "\ed63"; +} + +.icofont-rss:before +{ + content: "\ed64"; +} + +.icofont-shopify:before +{ + content: "\ed65"; +} + +.icofont-silverstripe:before +{ + content: "\ed66"; +} + +.icofont-skype:before +{ + content: "\ed67"; +} + +.icofont-slack:before +{ + content: "\ed68"; +} + +.icofont-slashdot:before +{ + content: "\ed69"; +} + +.icofont-slidshare:before +{ + content: "\ed6a"; +} + +.icofont-smugmug:before +{ + content: "\ed6b"; +} + +.icofont-snapchat:before +{ + content: "\ed6c"; +} + +.icofont-soundcloud:before +{ + content: "\ed6d"; +} + +.icofont-spotify:before +{ + content: "\ed6e"; +} + +.icofont-stack-exchange:before +{ + content: "\ed6f"; +} + +.icofont-stack-overflow:before +{ + content: "\ed70"; +} + +.icofont-steam:before +{ + content: "\ed71"; +} + +.icofont-stumbleupon:before +{ + content: "\ed72"; +} + +.icofont-tagged:before +{ + content: "\ed73"; +} + +.icofont-technorati:before +{ + content: "\ed74"; +} + +.icofont-telegram:before +{ + content: "\ed75"; +} + +.icofont-tinder:before +{ + content: "\ed76"; +} + +.icofont-trello:before +{ + content: "\ed77"; +} + +.icofont-tumblr:before +{ + content: "\ed78"; +} + +.icofont-twitch:before +{ + content: "\ed79"; +} + +.icofont-twitter:before +{ + content: "\ed7a"; +} + +.icofont-typo3:before +{ + content: "\ed7b"; +} + +.icofont-ubercart:before +{ + content: "\ed7c"; +} + +.icofont-viber:before +{ + content: "\ed7d"; +} + +.icofont-viddler:before +{ + content: "\ed7e"; +} + +.icofont-vimeo:before +{ + content: "\ed7f"; +} + +.icofont-vine:before +{ + content: "\ed80"; +} + +.icofont-virb:before +{ + content: "\ed81"; +} + +.icofont-virtuemart:before +{ + content: "\ed82"; +} + +.icofont-vk:before +{ + content: "\ed83"; +} + +.icofont-wechat:before +{ + content: "\ed84"; +} + +.icofont-weibo:before +{ + content: "\ed85"; +} + +.icofont-whatsapp:before +{ + content: "\ed86"; +} + +.icofont-xing:before +{ + content: "\ed87"; +} + +.icofont-yahoo:before +{ + content: "\ed88"; +} + +.icofont-yelp:before +{ + content: "\ed89"; +} + +.icofont-youku:before +{ + content: "\ed8a"; +} + +.icofont-youtube:before +{ + content: "\ed8b"; +} + +.icofont-zencart:before +{ + content: "\ed8c"; +} + +.icofont-badminton-birdie:before +{ + content: "\ed8d"; +} + +.icofont-baseball:before +{ + content: "\ed8e"; +} + +.icofont-baseballer:before +{ + content: "\ed8f"; +} + +.icofont-basketball-hoop:before +{ + content: "\ed90"; +} + +.icofont-basketball:before +{ + content: "\ed91"; +} + +.icofont-billiard-ball:before +{ + content: "\ed92"; +} + +.icofont-boot-alt-1:before +{ + content: "\ed93"; +} + +.icofont-boot-alt-2:before +{ + content: "\ed94"; +} + +.icofont-boot:before +{ + content: "\ed95"; +} + +.icofont-bowling-alt:before +{ + content: "\ed96"; +} + +.icofont-bowling:before +{ + content: "\ed97"; +} + +.icofont-canoe:before +{ + content: "\ed98"; +} + +.icofont-cheer-leader:before +{ + content: "\ed99"; +} + +.icofont-climbing:before +{ + content: "\ed9a"; +} + +.icofont-corner:before +{ + content: "\ed9b"; +} + +.icofont-field-alt:before +{ + content: "\ed9c"; +} + +.icofont-field:before +{ + content: "\ed9d"; +} + +.icofont-football-alt:before +{ + content: "\ed9e"; +} + +.icofont-football-american:before +{ + content: "\ed9f"; +} + +.icofont-football:before +{ + content: "\eda0"; +} + +.icofont-foul:before +{ + content: "\eda1"; +} + +.icofont-goal-keeper:before +{ + content: "\eda2"; +} + +.icofont-goal:before +{ + content: "\eda3"; +} + +.icofont-golf-alt:before +{ + content: "\eda4"; +} + +.icofont-golf-bag:before +{ + content: "\eda5"; +} + +.icofont-golf-cart:before +{ + content: "\eda6"; +} + +.icofont-golf-field:before +{ + content: "\eda7"; +} + +.icofont-golf:before +{ + content: "\eda8"; +} + +.icofont-golfer:before +{ + content: "\eda9"; +} + +.icofont-helmet:before +{ + content: "\edaa"; +} + +.icofont-hockey-alt:before +{ + content: "\edab"; +} + +.icofont-hockey:before +{ + content: "\edac"; +} + +.icofont-ice-skate:before +{ + content: "\edad"; +} + +.icofont-jersey-alt:before +{ + content: "\edae"; +} + +.icofont-jersey:before +{ + content: "\edaf"; +} + +.icofont-jumping:before +{ + content: "\edb0"; +} + +.icofont-kick:before +{ + content: "\edb1"; +} + +.icofont-leg:before +{ + content: "\edb2"; +} + +.icofont-match-review:before +{ + content: "\edb3"; +} + +.icofont-medal-sport:before +{ + content: "\edb4"; +} + +.icofont-offside:before +{ + content: "\edb5"; +} + +.icofont-olympic-logo:before +{ + content: "\edb6"; +} + +.icofont-olympic:before +{ + content: "\edb7"; +} + +.icofont-padding:before +{ + content: "\edb8"; +} + +.icofont-penalty-card:before +{ + content: "\edb9"; +} + +.icofont-racer:before +{ + content: "\edba"; +} + +.icofont-racing-car:before +{ + content: "\edbb"; +} + +.icofont-racing-flag-alt:before +{ + content: "\edbc"; +} + +.icofont-racing-flag:before +{ + content: "\edbd"; +} + +.icofont-racings-wheel:before +{ + content: "\edbe"; +} + +.icofont-referee:before +{ + content: "\edbf"; +} + +.icofont-refree-jersey:before +{ + content: "\edc0"; +} + +.icofont-result-sport:before +{ + content: "\edc1"; +} + +.icofont-rugby-ball:before +{ + content: "\edc2"; +} + +.icofont-rugby-player:before +{ + content: "\edc3"; +} + +.icofont-rugby:before +{ + content: "\edc4"; +} + +.icofont-runner-alt-1:before +{ + content: "\edc5"; +} + +.icofont-runner-alt-2:before +{ + content: "\edc6"; +} + +.icofont-runner:before +{ + content: "\edc7"; +} + +.icofont-score-board:before +{ + content: "\edc8"; +} + +.icofont-skiing-man:before +{ + content: "\edc9"; +} + +.icofont-skydiving-goggles:before +{ + content: "\edca"; +} + +.icofont-snow-mobile:before +{ + content: "\edcb"; +} + +.icofont-steering:before +{ + content: "\edcc"; +} + +.icofont-stopwatch:before +{ + content: "\edcd"; +} + +.icofont-substitute:before +{ + content: "\edce"; +} + +.icofont-swimmer:before +{ + content: "\edcf"; +} + +.icofont-table-tennis:before +{ + content: "\edd0"; +} + +.icofont-team-alt:before +{ + content: "\edd1"; +} + +.icofont-team:before +{ + content: "\edd2"; +} + +.icofont-tennis-player:before +{ + content: "\edd3"; +} + +.icofont-tennis:before +{ + content: "\edd4"; +} + +.icofont-tracking:before +{ + content: "\edd5"; +} + +.icofont-trophy-alt:before +{ + content: "\edd6"; +} + +.icofont-trophy:before +{ + content: "\edd7"; +} + +.icofont-volleyball-alt:before +{ + content: "\edd8"; +} + +.icofont-volleyball-fire:before +{ + content: "\edd9"; +} + +.icofont-volleyball:before +{ + content: "\edda"; +} + +.icofont-water-bottle:before +{ + content: "\eddb"; +} + +.icofont-whistle-alt:before +{ + content: "\eddc"; +} + +.icofont-whistle:before +{ + content: "\eddd"; +} + +.icofont-win-trophy:before +{ + content: "\edde"; +} + +.icofont-align-center:before +{ + content: "\eddf"; +} + +.icofont-align-left:before +{ + content: "\ede0"; +} + +.icofont-align-right:before +{ + content: "\ede1"; +} + +.icofont-all-caps:before +{ + content: "\ede2"; +} + +.icofont-bold:before +{ + content: "\ede3"; +} + +.icofont-brush:before +{ + content: "\ede4"; +} + +.icofont-clip-board:before +{ + content: "\ede5"; +} + +.icofont-code-alt:before +{ + content: "\ede6"; +} + +.icofont-color-bucket:before +{ + content: "\ede7"; +} + +.icofont-color-picker:before +{ + content: "\ede8"; +} + +.icofont-copy-invert:before +{ + content: "\ede9"; +} + +.icofont-copy:before +{ + content: "\edea"; +} + +.icofont-cut:before +{ + content: "\edeb"; +} + +.icofont-delete-alt:before +{ + content: "\edec"; +} + +.icofont-edit-alt:before +{ + content: "\eded"; +} + +.icofont-eraser-alt:before +{ + content: "\edee"; +} + +.icofont-font:before +{ + content: "\edef"; +} + +.icofont-heading:before +{ + content: "\edf0"; +} + +.icofont-indent:before +{ + content: "\edf1"; +} + +.icofont-italic-alt:before +{ + content: "\edf2"; +} + +.icofont-italic:before +{ + content: "\edf3"; +} + +.icofont-justify-all:before +{ + content: "\edf4"; +} + +.icofont-justify-center:before +{ + content: "\edf5"; +} + +.icofont-justify-left:before +{ + content: "\edf6"; +} + +.icofont-justify-right:before +{ + content: "\edf7"; +} + +.icofont-link-broken:before +{ + content: "\edf8"; +} + +.icofont-outdent:before +{ + content: "\edf9"; +} + +.icofont-paper-clip:before +{ + content: "\edfa"; +} + +.icofont-paragraph:before +{ + content: "\edfb"; +} + +.icofont-pin:before +{ + content: "\edfc"; +} + +.icofont-printer:before +{ + content: "\edfd"; +} + +.icofont-redo:before +{ + content: "\edfe"; +} + +.icofont-rotation:before +{ + content: "\edff"; +} + +.icofont-save:before +{ + content: "\ee00"; +} + +.icofont-small-cap:before +{ + content: "\ee01"; +} + +.icofont-strike-through:before +{ + content: "\ee02"; +} + +.icofont-sub-listing:before +{ + content: "\ee03"; +} + +.icofont-subscript:before +{ + content: "\ee04"; +} + +.icofont-superscript:before +{ + content: "\ee05"; +} + +.icofont-table:before +{ + content: "\ee06"; +} + +.icofont-text-height:before +{ + content: "\ee07"; +} + +.icofont-text-width:before +{ + content: "\ee08"; +} + +.icofont-trash:before +{ + content: "\ee09"; +} + +.icofont-underline:before +{ + content: "\ee0a"; +} + +.icofont-undo:before +{ + content: "\ee0b"; +} + +.icofont-air-balloon:before +{ + content: "\ee0c"; +} + +.icofont-airplane-alt:before +{ + content: "\ee0d"; +} + +.icofont-airplane:before +{ + content: "\ee0e"; +} + +.icofont-articulated-truck:before +{ + content: "\ee0f"; +} + +.icofont-auto-mobile:before +{ + content: "\ee10"; +} + +.icofont-auto-rickshaw:before +{ + content: "\ee11"; +} + +.icofont-bicycle-alt-1:before +{ + content: "\ee12"; +} + +.icofont-bicycle-alt-2:before +{ + content: "\ee13"; +} + +.icofont-bicycle:before +{ + content: "\ee14"; +} + +.icofont-bus-alt-1:before +{ + content: "\ee15"; +} + +.icofont-bus-alt-2:before +{ + content: "\ee16"; +} + +.icofont-bus-alt-3:before +{ + content: "\ee17"; +} + +.icofont-bus:before +{ + content: "\ee18"; +} + +.icofont-cab:before +{ + content: "\ee19"; +} + +.icofont-cable-car:before +{ + content: "\ee1a"; +} + +.icofont-car-alt-1:before +{ + content: "\ee1b"; +} + +.icofont-car-alt-2:before +{ + content: "\ee1c"; +} + +.icofont-car-alt-3:before +{ + content: "\ee1d"; +} + +.icofont-car-alt-4:before +{ + content: "\ee1e"; +} + +.icofont-car:before +{ + content: "\ee1f"; +} + +.icofont-delivery-time:before +{ + content: "\ee20"; +} + +.icofont-fast-delivery:before +{ + content: "\ee21"; +} + +.icofont-fire-truck-alt:before +{ + content: "\ee22"; +} + +.icofont-fire-truck:before +{ + content: "\ee23"; +} + +.icofont-free-delivery:before +{ + content: "\ee24"; +} + +.icofont-helicopter:before +{ + content: "\ee25"; +} + +.icofont-motor-bike-alt:before +{ + content: "\ee26"; +} + +.icofont-motor-bike:before +{ + content: "\ee27"; +} + +.icofont-motor-biker:before +{ + content: "\ee28"; +} + +.icofont-oil-truck:before +{ + content: "\ee29"; +} + +.icofont-rickshaw:before +{ + content: "\ee2a"; +} + +.icofont-rocket-alt-1:before +{ + content: "\ee2b"; +} + +.icofont-rocket-alt-2:before +{ + content: "\ee2c"; +} + +.icofont-rocket:before +{ + content: "\ee2d"; +} + +.icofont-sail-boat-alt-1:before +{ + content: "\ee2e"; +} + +.icofont-sail-boat-alt-2:before +{ + content: "\ee2f"; +} + +.icofont-sail-boat:before +{ + content: "\ee30"; +} + +.icofont-scooter:before +{ + content: "\ee31"; +} + +.icofont-sea-plane:before +{ + content: "\ee32"; +} + +.icofont-ship-alt:before +{ + content: "\ee33"; +} + +.icofont-ship:before +{ + content: "\ee34"; +} + +.icofont-speed-boat:before +{ + content: "\ee35"; +} + +.icofont-taxi:before +{ + content: "\ee36"; +} + +.icofont-tractor:before +{ + content: "\ee37"; +} + +.icofont-train-line:before +{ + content: "\ee38"; +} + +.icofont-train-steam:before +{ + content: "\ee39"; +} + +.icofont-tram:before +{ + content: "\ee3a"; +} + +.icofont-truck-alt:before +{ + content: "\ee3b"; +} + +.icofont-truck-loaded:before +{ + content: "\ee3c"; +} + +.icofont-truck:before +{ + content: "\ee3d"; +} + +.icofont-van-alt:before +{ + content: "\ee3e"; +} + +.icofont-van:before +{ + content: "\ee3f"; +} + +.icofont-yacht:before +{ + content: "\ee40"; +} + +.icofont-5-star-hotel:before +{ + content: "\ee41"; +} + +.icofont-air-ticket:before +{ + content: "\ee42"; +} + +.icofont-beach-bed:before +{ + content: "\ee43"; +} + +.icofont-beach:before +{ + content: "\ee44"; +} + +.icofont-camping-vest:before +{ + content: "\ee45"; +} + +.icofont-direction-sign:before +{ + content: "\ee46"; +} + +.icofont-hill-side:before +{ + content: "\ee47"; +} + +.icofont-hill:before +{ + content: "\ee48"; +} + +.icofont-hotel:before +{ + content: "\ee49"; +} + +.icofont-island-alt:before +{ + content: "\ee4a"; +} + +.icofont-island:before +{ + content: "\ee4b"; +} + +.icofont-sandals-female:before +{ + content: "\ee4c"; +} + +.icofont-sandals-male:before +{ + content: "\ee4d"; +} + +.icofont-travelling:before +{ + content: "\ee4e"; +} + +.icofont-breakdown:before +{ + content: "\ee4f"; +} + +.icofont-celsius:before +{ + content: "\ee50"; +} + +.icofont-clouds:before +{ + content: "\ee51"; +} + +.icofont-cloudy:before +{ + content: "\ee52"; +} + +.icofont-dust:before +{ + content: "\ee53"; +} + +.icofont-eclipse:before +{ + content: "\ee54"; +} + +.icofont-fahrenheit:before +{ + content: "\ee55"; +} + +.icofont-forest-fire:before +{ + content: "\ee56"; +} + +.icofont-full-night:before +{ + content: "\ee57"; +} + +.icofont-full-sunny:before +{ + content: "\ee58"; +} + +.icofont-hail-night:before +{ + content: "\ee59"; +} + +.icofont-hail-rainy-night:before +{ + content: "\ee5a"; +} + +.icofont-hail-rainy-sunny:before +{ + content: "\ee5b"; +} + +.icofont-hail-rainy:before +{ + content: "\ee5c"; +} + +.icofont-hail-sunny:before +{ + content: "\ee5d"; +} + +.icofont-hail-thunder-night:before +{ + content: "\ee5e"; +} + +.icofont-hail-thunder-sunny:before +{ + content: "\ee5f"; +} + +.icofont-hail-thunder:before +{ + content: "\ee60"; +} + +.icofont-hail:before +{ + content: "\ee61"; +} + +.icofont-hill-night:before +{ + content: "\ee62"; +} + +.icofont-hill-sunny:before +{ + content: "\ee63"; +} + +.icofont-hurricane:before +{ + content: "\ee64"; +} + +.icofont-meteor:before +{ + content: "\ee65"; +} + +.icofont-night:before +{ + content: "\ee66"; +} + +.icofont-rainy-night:before +{ + content: "\ee67"; +} + +.icofont-rainy-sunny:before +{ + content: "\ee68"; +} + +.icofont-rainy-thunder:before +{ + content: "\ee69"; +} + +.icofont-rainy:before +{ + content: "\ee6a"; +} + +.icofont-snow-alt:before +{ + content: "\ee6b"; +} + +.icofont-snow-flake:before +{ + content: "\ee6c"; +} + +.icofont-snow-temp:before +{ + content: "\ee6d"; +} + +.icofont-snow:before +{ + content: "\ee6e"; +} + +.icofont-snowy-hail:before +{ + content: "\ee6f"; +} + +.icofont-snowy-night-hail:before +{ + content: "\ee70"; +} + +.icofont-snowy-night-rainy:before +{ + content: "\ee71"; +} + +.icofont-snowy-night:before +{ + content: "\ee72"; +} + +.icofont-snowy-rainy:before +{ + content: "\ee73"; +} + +.icofont-snowy-sunny-hail:before +{ + content: "\ee74"; +} + +.icofont-snowy-sunny-rainy:before +{ + content: "\ee75"; +} + +.icofont-snowy-sunny:before +{ + content: "\ee76"; +} + +.icofont-snowy-thunder-night:before +{ + content: "\ee77"; +} + +.icofont-snowy-thunder-sunny:before +{ + content: "\ee78"; +} + +.icofont-snowy-thunder:before +{ + content: "\ee79"; +} + +.icofont-snowy-windy-night:before +{ + content: "\ee7a"; +} + +.icofont-snowy-windy-sunny:before +{ + content: "\ee7b"; +} + +.icofont-snowy-windy:before +{ + content: "\ee7c"; +} + +.icofont-snowy:before +{ + content: "\ee7d"; +} + +.icofont-sun-alt:before +{ + content: "\ee7e"; +} + +.icofont-sun-rise:before +{ + content: "\ee7f"; +} + +.icofont-sun-set:before +{ + content: "\ee80"; +} + +.icofont-sun:before +{ + content: "\ee81"; +} + +.icofont-sunny-day-temp:before +{ + content: "\ee82"; +} + +.icofont-sunny:before +{ + content: "\ee83"; +} + +.icofont-thunder-light:before +{ + content: "\ee84"; +} + +.icofont-tornado:before +{ + content: "\ee85"; +} + +.icofont-umbrella-alt:before +{ + content: "\ee86"; +} + +.icofont-umbrella:before +{ + content: "\ee87"; +} + +.icofont-volcano:before +{ + content: "\ee88"; +} + +.icofont-wave:before +{ + content: "\ee89"; +} + +.icofont-wind-scale-0:before +{ + content: "\ee8a"; +} + +.icofont-wind-scale-1:before +{ + content: "\ee8b"; +} + +.icofont-wind-scale-10:before +{ + content: "\ee8c"; +} + +.icofont-wind-scale-11:before +{ + content: "\ee8d"; +} + +.icofont-wind-scale-12:before +{ + content: "\ee8e"; +} + +.icofont-wind-scale-2:before +{ + content: "\ee8f"; +} + +.icofont-wind-scale-3:before +{ + content: "\ee90"; +} + +.icofont-wind-scale-4:before +{ + content: "\ee91"; +} + +.icofont-wind-scale-5:before +{ + content: "\ee92"; +} + +.icofont-wind-scale-6:before +{ + content: "\ee93"; +} + +.icofont-wind-scale-7:before +{ + content: "\ee94"; +} + +.icofont-wind-scale-8:before +{ + content: "\ee95"; +} + +.icofont-wind-scale-9:before +{ + content: "\ee96"; +} + +.icofont-wind-waves:before +{ + content: "\ee97"; +} + +.icofont-wind:before +{ + content: "\ee98"; +} + +.icofont-windy-hail:before +{ + content: "\ee99"; +} + +.icofont-windy-night:before +{ + content: "\ee9a"; +} + +.icofont-windy-raining:before +{ + content: "\ee9b"; +} + +.icofont-windy-sunny:before +{ + content: "\ee9c"; +} + +.icofont-windy-thunder-raining:before +{ + content: "\ee9d"; +} + +.icofont-windy-thunder:before +{ + content: "\ee9e"; +} + +.icofont-windy:before +{ + content: "\ee9f"; +} + +.icofont-addons:before +{ + content: "\eea0"; +} + +.icofont-address-book:before +{ + content: "\eea1"; +} + +.icofont-adjust:before +{ + content: "\eea2"; +} + +.icofont-alarm:before +{ + content: "\eea3"; +} + +.icofont-anchor:before +{ + content: "\eea4"; +} + +.icofont-archive:before +{ + content: "\eea5"; +} + +.icofont-at:before +{ + content: "\eea6"; +} + +.icofont-attachment:before +{ + content: "\eea7"; +} + +.icofont-audio:before +{ + content: "\eea8"; +} + +.icofont-automation:before +{ + content: "\eea9"; +} + +.icofont-badge:before +{ + content: "\eeaa"; +} + +.icofont-bag-alt:before +{ + content: "\eeab"; +} + +.icofont-bag:before +{ + content: "\eeac"; +} + +.icofont-ban:before +{ + content: "\eead"; +} + +.icofont-bar-code:before +{ + content: "\eeae"; +} + +.icofont-bars:before +{ + content: "\eeaf"; +} + +.icofont-basket:before +{ + content: "\eeb0"; +} + +.icofont-battery-empty:before +{ + content: "\eeb1"; +} + +.icofont-battery-full:before +{ + content: "\eeb2"; +} + +.icofont-battery-half:before +{ + content: "\eeb3"; +} + +.icofont-battery-low:before +{ + content: "\eeb4"; +} + +.icofont-beaker:before +{ + content: "\eeb5"; +} + +.icofont-beard:before +{ + content: "\eeb6"; +} + +.icofont-bed:before +{ + content: "\eeb7"; +} + +.icofont-bell:before +{ + content: "\eeb8"; +} + +.icofont-beverage:before +{ + content: "\eeb9"; +} + +.icofont-bill:before +{ + content: "\eeba"; +} + +.icofont-bin:before +{ + content: "\eebb"; +} + +.icofont-binary:before +{ + content: "\eebc"; +} + +.icofont-binoculars:before +{ + content: "\eebd"; +} + +.icofont-bluetooth:before +{ + content: "\eebe"; +} + +.icofont-bomb:before +{ + content: "\eebf"; +} + +.icofont-book-mark:before +{ + content: "\eec0"; +} + +.icofont-box:before +{ + content: "\eec1"; +} + +.icofont-briefcase:before +{ + content: "\eec2"; +} + +.icofont-broken:before +{ + content: "\eec3"; +} + +.icofont-bucket:before +{ + content: "\eec4"; +} + +.icofont-bucket1:before +{ + content: "\eec5"; +} + +.icofont-bucket2:before +{ + content: "\eec6"; +} + +.icofont-bug:before +{ + content: "\eec7"; +} + +.icofont-building:before +{ + content: "\eec8"; +} + +.icofont-bulb-alt:before +{ + content: "\eec9"; +} + +.icofont-bullet:before +{ + content: "\eeca"; +} + +.icofont-bullhorn:before +{ + content: "\eecb"; +} + +.icofont-bullseye:before +{ + content: "\eecc"; +} + +.icofont-calendar:before +{ + content: "\eecd"; +} + +.icofont-camera-alt:before +{ + content: "\eece"; +} + +.icofont-camera:before +{ + content: "\eecf"; +} + +.icofont-card:before +{ + content: "\eed0"; +} + +.icofont-cart-alt:before +{ + content: "\eed1"; +} + +.icofont-cart:before +{ + content: "\eed2"; +} + +.icofont-cc:before +{ + content: "\eed3"; +} + +.icofont-charging:before +{ + content: "\eed4"; +} + +.icofont-chat:before +{ + content: "\eed5"; +} + +.icofont-check-alt:before +{ + content: "\eed6"; +} + +.icofont-check-circled:before +{ + content: "\eed7"; +} + +.icofont-check:before +{ + content: "\eed8"; +} + +.icofont-checked:before +{ + content: "\eed9"; +} + +.icofont-children-care:before +{ + content: "\eeda"; +} + +.icofont-clip:before +{ + content: "\eedb"; +} + +.icofont-clock-time:before +{ + content: "\eedc"; +} + +.icofont-close-circled:before +{ + content: "\eedd"; +} + +.icofont-close-line-circled:before +{ + content: "\eede"; +} + +.icofont-close-line-squared-alt:before +{ + content: "\eedf"; +} + +.icofont-close-line-squared:before +{ + content: "\eee0"; +} + +.icofont-close-line:before +{ + content: "\eee1"; +} + +.icofont-close-squared-alt:before +{ + content: "\eee2"; +} + +.icofont-close-squared:before +{ + content: "\eee3"; +} + +.icofont-close:before +{ + content: "\eee4"; +} + +.icofont-cloud-download:before +{ + content: "\eee5"; +} + +.icofont-cloud-refresh:before +{ + content: "\eee6"; +} + +.icofont-cloud-upload:before +{ + content: "\eee7"; +} + +.icofont-cloud:before +{ + content: "\eee8"; +} + +.icofont-code-not-allowed:before +{ + content: "\eee9"; +} + +.icofont-code:before +{ + content: "\eeea"; +} + +.icofont-comment:before +{ + content: "\eeeb"; +} + +.icofont-compass-alt:before +{ + content: "\eeec"; +} + +.icofont-compass:before +{ + content: "\eeed"; +} + +.icofont-computer:before +{ + content: "\eeee"; +} + +.icofont-connection:before +{ + content: "\eeef"; +} + +.icofont-console:before +{ + content: "\eef0"; +} + +.icofont-contacts:before +{ + content: "\eef1"; +} + +.icofont-contrast:before +{ + content: "\eef2"; +} + +.icofont-copyright:before +{ + content: "\eef3"; +} + +.icofont-credit-card:before +{ + content: "\eef4"; +} + +.icofont-crop:before +{ + content: "\eef5"; +} + +.icofont-crown:before +{ + content: "\eef6"; +} + +.icofont-cube:before +{ + content: "\eef7"; +} + +.icofont-cubes:before +{ + content: "\eef8"; +} + +.icofont-dashboard-web:before +{ + content: "\eef9"; +} + +.icofont-dashboard:before +{ + content: "\eefa"; +} + +.icofont-data:before +{ + content: "\eefb"; +} + +.icofont-database-add:before +{ + content: "\eefc"; +} + +.icofont-database-locked:before +{ + content: "\eefd"; +} + +.icofont-database-remove:before +{ + content: "\eefe"; +} + +.icofont-database:before +{ + content: "\eeff"; +} + +.icofont-delete:before +{ + content: "\ef00"; +} + +.icofont-diamond:before +{ + content: "\ef01"; +} + +.icofont-dice-multiple:before +{ + content: "\ef02"; +} + +.icofont-dice:before +{ + content: "\ef03"; +} + +.icofont-disc:before +{ + content: "\ef04"; +} + +.icofont-diskette:before +{ + content: "\ef05"; +} + +.icofont-document-folder:before +{ + content: "\ef06"; +} + +.icofont-download-alt:before +{ + content: "\ef07"; +} + +.icofont-download:before +{ + content: "\ef08"; +} + +.icofont-downloaded:before +{ + content: "\ef09"; +} + +.icofont-drag:before +{ + content: "\ef0a"; +} + +.icofont-drag1:before +{ + content: "\ef0b"; +} + +.icofont-drag2:before +{ + content: "\ef0c"; +} + +.icofont-drag3:before +{ + content: "\ef0d"; +} + +.icofont-earth:before +{ + content: "\ef0e"; +} + +.icofont-ebook:before +{ + content: "\ef0f"; +} + +.icofont-edit:before +{ + content: "\ef10"; +} + +.icofont-eject:before +{ + content: "\ef11"; +} + +.icofont-email:before +{ + content: "\ef12"; +} + +.icofont-envelope-open:before +{ + content: "\ef13"; +} + +.icofont-envelope:before +{ + content: "\ef14"; +} + +.icofont-eraser:before +{ + content: "\ef15"; +} + +.icofont-error:before +{ + content: "\ef16"; +} + +.icofont-excavator:before +{ + content: "\ef17"; +} + +.icofont-exchange:before +{ + content: "\ef18"; +} + +.icofont-exclamation-circle:before +{ + content: "\ef19"; +} + +.icofont-exclamation-square:before +{ + content: "\ef1a"; +} + +.icofont-exclamation-tringle:before +{ + content: "\ef1b"; +} + +.icofont-exclamation:before +{ + content: "\ef1c"; +} + +.icofont-exit:before +{ + content: "\ef1d"; +} + +.icofont-expand:before +{ + content: "\ef1e"; +} + +.icofont-external-link:before +{ + content: "\ef1f"; +} + +.icofont-external:before +{ + content: "\ef20"; +} + +.icofont-eye-alt:before +{ + content: "\ef21"; +} + +.icofont-eye-blocked:before +{ + content: "\ef22"; +} + +.icofont-eye-dropper:before +{ + content: "\ef23"; +} + +.icofont-eye:before +{ + content: "\ef24"; +} + +.icofont-favourite:before +{ + content: "\ef25"; +} + +.icofont-fax:before +{ + content: "\ef26"; +} + +.icofont-file-fill:before +{ + content: "\ef27"; +} + +.icofont-film:before +{ + content: "\ef28"; +} + +.icofont-filter:before +{ + content: "\ef29"; +} + +.icofont-fire-alt:before +{ + content: "\ef2a"; +} + +.icofont-fire-burn:before +{ + content: "\ef2b"; +} + +.icofont-fire:before +{ + content: "\ef2c"; +} + +.icofont-flag-alt-1:before +{ + content: "\ef2d"; +} + +.icofont-flag-alt-2:before +{ + content: "\ef2e"; +} + +.icofont-flag:before +{ + content: "\ef2f"; +} + +.icofont-flame-torch:before +{ + content: "\ef30"; +} + +.icofont-flash-light:before +{ + content: "\ef31"; +} + +.icofont-flash:before +{ + content: "\ef32"; +} + +.icofont-flask:before +{ + content: "\ef33"; +} + +.icofont-focus:before +{ + content: "\ef34"; +} + +.icofont-folder-open:before +{ + content: "\ef35"; +} + +.icofont-folder:before +{ + content: "\ef36"; +} + +.icofont-foot-print:before +{ + content: "\ef37"; +} + +.icofont-garbage:before +{ + content: "\ef38"; +} + +.icofont-gear-alt:before +{ + content: "\ef39"; +} + +.icofont-gear:before +{ + content: "\ef3a"; +} + +.icofont-gears:before +{ + content: "\ef3b"; +} + +.icofont-gift:before +{ + content: "\ef3c"; +} + +.icofont-glass:before +{ + content: "\ef3d"; +} + +.icofont-globe:before +{ + content: "\ef3e"; +} + +.icofont-graffiti:before +{ + content: "\ef3f"; +} + +.icofont-grocery:before +{ + content: "\ef40"; +} + +.icofont-hand:before +{ + content: "\ef41"; +} + +.icofont-hanger:before +{ + content: "\ef42"; +} + +.icofont-hard-disk:before +{ + content: "\ef43"; +} + +.icofont-heart-alt:before +{ + content: "\ef44"; +} + +.icofont-heart:before +{ + content: "\ef45"; +} + +.icofont-history:before +{ + content: "\ef46"; +} + +.icofont-home:before +{ + content: "\ef47"; +} + +.icofont-horn:before +{ + content: "\ef48"; +} + +.icofont-hour-glass:before +{ + content: "\ef49"; +} + +.icofont-id:before +{ + content: "\ef4a"; +} + +.icofont-image:before +{ + content: "\ef4b"; +} + +.icofont-inbox:before +{ + content: "\ef4c"; +} + +.icofont-infinite:before +{ + content: "\ef4d"; +} + +.icofont-info-circle:before +{ + content: "\ef4e"; +} + +.icofont-info-square:before +{ + content: "\ef4f"; +} + +.icofont-info:before +{ + content: "\ef50"; +} + +.icofont-institution:before +{ + content: "\ef51"; +} + +.icofont-interface:before +{ + content: "\ef52"; +} + +.icofont-invisible:before +{ + content: "\ef53"; +} + +.icofont-jacket:before +{ + content: "\ef54"; +} + +.icofont-jar:before +{ + content: "\ef55"; +} + +.icofont-jewlery:before +{ + content: "\ef56"; +} + +.icofont-karate:before +{ + content: "\ef57"; +} + +.icofont-key-hole:before +{ + content: "\ef58"; +} + +.icofont-key:before +{ + content: "\ef59"; +} + +.icofont-label:before +{ + content: "\ef5a"; +} + +.icofont-lamp:before +{ + content: "\ef5b"; +} + +.icofont-layers:before +{ + content: "\ef5c"; +} + +.icofont-layout:before +{ + content: "\ef5d"; +} + +.icofont-leaf:before +{ + content: "\ef5e"; +} + +.icofont-leaflet:before +{ + content: "\ef5f"; +} + +.icofont-learn:before +{ + content: "\ef60"; +} + +.icofont-lego:before +{ + content: "\ef61"; +} + +.icofont-lens:before +{ + content: "\ef62"; +} + +.icofont-letter:before +{ + content: "\ef63"; +} + +.icofont-letterbox:before +{ + content: "\ef64"; +} + +.icofont-library:before +{ + content: "\ef65"; +} + +.icofont-license:before +{ + content: "\ef66"; +} + +.icofont-life-bouy:before +{ + content: "\ef67"; +} + +.icofont-life-buoy:before +{ + content: "\ef68"; +} + +.icofont-life-jacket:before +{ + content: "\ef69"; +} + +.icofont-life-ring:before +{ + content: "\ef6a"; +} + +.icofont-light-bulb:before +{ + content: "\ef6b"; +} + +.icofont-lighter:before +{ + content: "\ef6c"; +} + +.icofont-lightning-ray:before +{ + content: "\ef6d"; +} + +.icofont-like:before +{ + content: "\ef6e"; +} + +.icofont-line-height:before +{ + content: "\ef6f"; +} + +.icofont-link-alt:before +{ + content: "\ef70"; +} + +.icofont-link:before +{ + content: "\ef71"; +} + +.icofont-list:before +{ + content: "\ef72"; +} + +.icofont-listening:before +{ + content: "\ef73"; +} + +.icofont-listine-dots:before +{ + content: "\ef74"; +} + +.icofont-listing-box:before +{ + content: "\ef75"; +} + +.icofont-listing-number:before +{ + content: "\ef76"; +} + +.icofont-live-support:before +{ + content: "\ef77"; +} + +.icofont-location-arrow:before +{ + content: "\ef78"; +} + +.icofont-location-pin:before +{ + content: "\ef79"; +} + +.icofont-lock:before +{ + content: "\ef7a"; +} + +.icofont-login:before +{ + content: "\ef7b"; +} + +.icofont-logout:before +{ + content: "\ef7c"; +} + +.icofont-lollipop:before +{ + content: "\ef7d"; +} + +.icofont-long-drive:before +{ + content: "\ef7e"; +} + +.icofont-look:before +{ + content: "\ef7f"; +} + +.icofont-loop:before +{ + content: "\ef80"; +} + +.icofont-luggage:before +{ + content: "\ef81"; +} + +.icofont-lunch:before +{ + content: "\ef82"; +} + +.icofont-lungs:before +{ + content: "\ef83"; +} + +.icofont-magic-alt:before +{ + content: "\ef84"; +} + +.icofont-magic:before +{ + content: "\ef85"; +} + +.icofont-magnet:before +{ + content: "\ef86"; +} + +.icofont-mail-box:before +{ + content: "\ef87"; +} + +.icofont-mail:before +{ + content: "\ef88"; +} + +.icofont-male:before +{ + content: "\ef89"; +} + +.icofont-map-pins:before +{ + content: "\ef8a"; +} + +.icofont-map:before +{ + content: "\ef8b"; +} + +.icofont-maximize:before +{ + content: "\ef8c"; +} + +.icofont-measure:before +{ + content: "\ef8d"; +} + +.icofont-medicine:before +{ + content: "\ef8e"; +} + +.icofont-mega-phone:before +{ + content: "\ef8f"; +} + +.icofont-megaphone-alt:before +{ + content: "\ef90"; +} + +.icofont-megaphone:before +{ + content: "\ef91"; +} + +.icofont-memorial:before +{ + content: "\ef92"; +} + +.icofont-memory-card:before +{ + content: "\ef93"; +} + +.icofont-mic-mute:before +{ + content: "\ef94"; +} + +.icofont-mic:before +{ + content: "\ef95"; +} + +.icofont-military:before +{ + content: "\ef96"; +} + +.icofont-mill:before +{ + content: "\ef97"; +} + +.icofont-minus-circle:before +{ + content: "\ef98"; +} + +.icofont-minus-square:before +{ + content: "\ef99"; +} + +.icofont-minus:before +{ + content: "\ef9a"; +} + +.icofont-mobile-phone:before +{ + content: "\ef9b"; +} + +.icofont-molecule:before +{ + content: "\ef9c"; +} + +.icofont-money:before +{ + content: "\ef9d"; +} + +.icofont-moon:before +{ + content: "\ef9e"; +} + +.icofont-mop:before +{ + content: "\ef9f"; +} + +.icofont-muffin:before +{ + content: "\efa0"; +} + +.icofont-mustache:before +{ + content: "\efa1"; +} + +.icofont-navigation-menu:before +{ + content: "\efa2"; +} + +.icofont-navigation:before +{ + content: "\efa3"; +} + +.icofont-network-tower:before +{ + content: "\efa4"; +} + +.icofont-network:before +{ + content: "\efa5"; +} + +.icofont-news:before +{ + content: "\efa6"; +} + +.icofont-newspaper:before +{ + content: "\efa7"; +} + +.icofont-no-smoking:before +{ + content: "\efa8"; +} + +.icofont-not-allowed:before +{ + content: "\efa9"; +} + +.icofont-notebook:before +{ + content: "\efaa"; +} + +.icofont-notepad:before +{ + content: "\efab"; +} + +.icofont-notification:before +{ + content: "\efac"; +} + +.icofont-numbered:before +{ + content: "\efad"; +} + +.icofont-opposite:before +{ + content: "\efae"; +} + +.icofont-optic:before +{ + content: "\efaf"; +} + +.icofont-options:before +{ + content: "\efb0"; +} + +.icofont-package:before +{ + content: "\efb1"; +} + +.icofont-page:before +{ + content: "\efb2"; +} + +.icofont-paint:before +{ + content: "\efb3"; +} + +.icofont-paper-plane:before +{ + content: "\efb4"; +} + +.icofont-paperclip:before +{ + content: "\efb5"; +} + +.icofont-papers:before +{ + content: "\efb6"; +} + +.icofont-pay:before +{ + content: "\efb7"; +} + +.icofont-penguin-linux:before +{ + content: "\efb8"; +} + +.icofont-pestle:before +{ + content: "\efb9"; +} + +.icofont-phone-circle:before +{ + content: "\efba"; +} + +.icofont-phone:before +{ + content: "\efbb"; +} + +.icofont-picture:before +{ + content: "\efbc"; +} + +.icofont-pine:before +{ + content: "\efbd"; +} + +.icofont-pixels:before +{ + content: "\efbe"; +} + +.icofont-plugin:before +{ + content: "\efbf"; +} + +.icofont-plus-circle:before +{ + content: "\efc0"; +} + +.icofont-plus-square:before +{ + content: "\efc1"; +} + +.icofont-plus:before +{ + content: "\efc2"; +} + +.icofont-polygonal:before +{ + content: "\efc3"; +} + +.icofont-power:before +{ + content: "\efc4"; +} + +.icofont-price:before +{ + content: "\efc5"; +} + +.icofont-print:before +{ + content: "\efc6"; +} + +.icofont-puzzle:before +{ + content: "\efc7"; +} + +.icofont-qr-code:before +{ + content: "\efc8"; +} + +.icofont-queen:before +{ + content: "\efc9"; +} + +.icofont-question-circle:before +{ + content: "\efca"; +} + +.icofont-question-square:before +{ + content: "\efcb"; +} + +.icofont-question:before +{ + content: "\efcc"; +} + +.icofont-quote-left:before +{ + content: "\efcd"; +} + +.icofont-quote-right:before +{ + content: "\efce"; +} + +.icofont-random:before +{ + content: "\efcf"; +} + +.icofont-recycle:before +{ + content: "\efd0"; +} + +.icofont-refresh:before +{ + content: "\efd1"; +} + +.icofont-repair:before +{ + content: "\efd2"; +} + +.icofont-reply-all:before +{ + content: "\efd3"; +} + +.icofont-reply:before +{ + content: "\efd4"; +} + +.icofont-resize:before +{ + content: "\efd5"; +} + +.icofont-responsive:before +{ + content: "\efd6"; +} + +.icofont-retweet:before +{ + content: "\efd7"; +} + +.icofont-road:before +{ + content: "\efd8"; +} + +.icofont-robot:before +{ + content: "\efd9"; +} + +.icofont-royal:before +{ + content: "\efda"; +} + +.icofont-rss-feed:before +{ + content: "\efdb"; +} + +.icofont-safety:before +{ + content: "\efdc"; +} + +.icofont-sale-discount:before +{ + content: "\efdd"; +} + +.icofont-satellite:before +{ + content: "\efde"; +} + +.icofont-send-mail:before +{ + content: "\efdf"; +} + +.icofont-server:before +{ + content: "\efe0"; +} + +.icofont-settings-alt:before +{ + content: "\efe1"; +} + +.icofont-settings:before +{ + content: "\efe2"; +} + +.icofont-share-alt:before +{ + content: "\efe3"; +} + +.icofont-share-boxed:before +{ + content: "\efe4"; +} + +.icofont-share:before +{ + content: "\efe5"; +} + +.icofont-shield:before +{ + content: "\efe6"; +} + +.icofont-shopping-cart:before +{ + content: "\efe7"; +} + +.icofont-sign-in:before +{ + content: "\efe8"; +} + +.icofont-sign-out:before +{ + content: "\efe9"; +} + +.icofont-signal:before +{ + content: "\efea"; +} + +.icofont-site-map:before +{ + content: "\efeb"; +} + +.icofont-smart-phone:before +{ + content: "\efec"; +} + +.icofont-soccer:before +{ + content: "\efed"; +} + +.icofont-sort-alt:before +{ + content: "\efee"; +} + +.icofont-sort:before +{ + content: "\efef"; +} + +.icofont-space:before +{ + content: "\eff0"; +} + +.icofont-spanner:before +{ + content: "\eff1"; +} + +.icofont-speech-comments:before +{ + content: "\eff2"; +} + +.icofont-speed-meter:before +{ + content: "\eff3"; +} + +.icofont-spinner-alt-1:before +{ + content: "\eff4"; +} + +.icofont-spinner-alt-2:before +{ + content: "\eff5"; +} + +.icofont-spinner-alt-3:before +{ + content: "\eff6"; +} + +.icofont-spinner-alt-4:before +{ + content: "\eff7"; +} + +.icofont-spinner-alt-5:before +{ + content: "\eff8"; +} + +.icofont-spinner-alt-6:before +{ + content: "\eff9"; +} + +.icofont-spinner:before +{ + content: "\effa"; +} + +.icofont-spreadsheet:before +{ + content: "\effb"; +} + +.icofont-square:before +{ + content: "\effc"; +} + +.icofont-ssl-security:before +{ + content: "\effd"; +} + +.icofont-star-alt-1:before +{ + content: "\effe"; +} + +.icofont-star-alt-2:before +{ + content: "\efff"; +} + +.icofont-star:before +{ + content: "\f000"; +} + +.icofont-street-view:before +{ + content: "\f001"; +} + +.icofont-support-faq:before +{ + content: "\f002"; +} + +.icofont-tack-pin:before +{ + content: "\f003"; +} + +.icofont-tag:before +{ + content: "\f004"; +} + +.icofont-tags:before +{ + content: "\f005"; +} + +.icofont-tasks-alt:before +{ + content: "\f006"; +} + +.icofont-tasks:before +{ + content: "\f007"; +} + +.icofont-telephone:before +{ + content: "\f008"; +} + +.icofont-telescope:before +{ + content: "\f009"; +} + +.icofont-terminal:before +{ + content: "\f00a"; +} + +.icofont-thumbs-down:before +{ + content: "\f00b"; +} + +.icofont-thumbs-up:before +{ + content: "\f00c"; +} + +.icofont-tick-boxed:before +{ + content: "\f00d"; +} + +.icofont-tick-mark:before +{ + content: "\f00e"; +} + +.icofont-ticket:before +{ + content: "\f00f"; +} + +.icofont-tie:before +{ + content: "\f010"; +} + +.icofont-toggle-off:before +{ + content: "\f011"; +} + +.icofont-toggle-on:before +{ + content: "\f012"; +} + +.icofont-tools-alt-2:before +{ + content: "\f013"; +} + +.icofont-tools:before +{ + content: "\f014"; +} + +.icofont-touch:before +{ + content: "\f015"; +} + +.icofont-traffic-light:before +{ + content: "\f016"; +} + +.icofont-transparent:before +{ + content: "\f017"; +} + +.icofont-tree:before +{ + content: "\f018"; +} + +.icofont-unique-idea:before +{ + content: "\f019"; +} + +.icofont-unlock:before +{ + content: "\f01a"; +} + +.icofont-unlocked:before +{ + content: "\f01b"; +} + +.icofont-upload-alt:before +{ + content: "\f01c"; +} + +.icofont-upload:before +{ + content: "\f01d"; +} + +.icofont-usb-drive:before +{ + content: "\f01e"; +} + +.icofont-usb:before +{ + content: "\f01f"; +} + +.icofont-vector-path:before +{ + content: "\f020"; +} + +.icofont-verification-check:before +{ + content: "\f021"; +} + +.icofont-wall-clock:before +{ + content: "\f022"; +} + +.icofont-wall:before +{ + content: "\f023"; +} + +.icofont-wallet:before +{ + content: "\f024"; +} + +.icofont-warning-alt:before +{ + content: "\f025"; +} + +.icofont-warning:before +{ + content: "\f026"; +} + +.icofont-water-drop:before +{ + content: "\f027"; +} + +.icofont-web:before +{ + content: "\f028"; +} + +.icofont-wheelchair:before +{ + content: "\f029"; +} + +.icofont-wifi-alt:before +{ + content: "\f02a"; +} + +.icofont-wifi:before +{ + content: "\f02b"; +} + +.icofont-world:before +{ + content: "\f02c"; +} + +.icofont-zigzag:before +{ + content: "\f02d"; +} + +.icofont-zipped:before +{ + content: "\f02e"; +} + +.icofont-xs +{ + font-size: .5em; +} + +.icofont-sm +{ + font-size: .75em; +} + +.icofont-md +{ + font-size: 1.25em; +} + +.icofont-lg +{ + font-size: 1.5em; +} + +.icofont-1x +{ + font-size: 1em; +} + +.icofont-2x +{ + font-size: 2em; +} + +.icofont-3x +{ + font-size: 3em; +} + +.icofont-4x +{ + font-size: 4em; +} + +.icofont-5x +{ + font-size: 5em; +} + +.icofont-6x +{ + font-size: 6em; +} + +.icofont-7x +{ + font-size: 7em; +} + +.icofont-8x +{ + font-size: 8em; +} + +.icofont-9x +{ + font-size: 9em; +} + +.icofont-10x +{ + font-size: 10em; +} + +.icofont-fw +{ + text-align: center; + width: 1.25em; +} + +.icofont-ul +{ + list-style-type: none; + padding-left: 0; + margin-left: 0; +} + +.icofont-ul > li +{ + position: relative; + line-height: 2em; +} + +.icofont-ul > li .icofont +{ + display: inline-block; + vertical-align: middle; +} + +.icofont-border +{ + border: solid 0.08em #f1f1f1; + border-radius: .1em; + padding: .2em .25em .15em; +} + +.icofont-pull-left +{ + float: left; +} + +.icofont-pull-right +{ + float: right; +} + +.icofont.icofont-pull-left +{ + margin-right: .3em; +} + +.icofont.icofont-pull-right +{ + margin-left: .3em; +} + +.icofont-spin +{ + -webkit-animation: icofont-spin 2s infinite linear; + animation: icofont-spin 2s infinite linear; + display: inline-block; +} + +.icofont-pulse +{ + -webkit-animation: icofont-spin 1s infinite steps(8); + animation: icofont-spin 1s infinite steps(8); + display: inline-block; +} + +@-webkit-keyframes icofont-spin +{ + 0% + { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% + { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes icofont-spin +{ + 0% + { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% + { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.icofont-rotate-90 +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +.icofont-rotate-180 +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} + +.icofont-rotate-270 +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); +} + +.icofont-flip-horizontal +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +.icofont-flip-vertical +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); +} + +.icofont-flip-horizontal.icofont-flip-vertical +{ + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); +} + +:root .icofont-rotate-90, + :root .icofont-rotate-180, + :root .icofont-rotate-270, + :root .icofont-flip-horizontal, + :root .icofont-flip-vertical +{ + -webkit-filter: none; + filter: none; + display: inline-block; +} + +.icofont-inverse +{ + color: #fff; +} + +.sr-only +{ + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.sr-only-focusable:active, + .sr-only-focusable:focus +{ + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; +} + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/css/icofont.min.css b/web/html/theme/FT_WEB20/css/icofont.min.css new file mode 100644 index 0000000..f3b38e6 --- /dev/null +++ b/web/html/theme/FT_WEB20/css/icofont.min.css @@ -0,0 +1,7 @@ +/*! +* @package IcoFont +* @version 1.0.1 +* @author IcoFont https://icofont.com +* @copyright Copyright (c) 2015 - 2018 IcoFont +* @license - https://icofont.com/license/ +*/@font-face{font-family:IcoFont;font-weight:400;font-style:Regular;src:url(fonts/icofont.woff2) format("woff2"),url(fonts/icofont.woff) format("woff")}[class*=" icofont-"],[class^=icofont-]{font-family:IcoFont!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;line-height:1;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.icofont-angry-monster:before{content:"\e800"}.icofont-bathtub:before{content:"\e801"}.icofont-bird-wings:before{content:"\e802"}.icofont-bow:before{content:"\e803"}.icofont-castle:before{content:"\e804"}.icofont-circuit:before{content:"\e805"}.icofont-crown-king:before{content:"\e806"}.icofont-crown-queen:before{content:"\e807"}.icofont-dart:before{content:"\e808"}.icofont-disability-race:before{content:"\e809"}.icofont-diving-goggle:before{content:"\e80a"}.icofont-eye-open:before{content:"\e80b"}.icofont-flora-flower:before{content:"\e80c"}.icofont-flora:before{content:"\e80d"}.icofont-gift-box:before{content:"\e80e"}.icofont-halloween-pumpkin:before{content:"\e80f"}.icofont-hand-power:before{content:"\e810"}.icofont-hand-thunder:before{content:"\e811"}.icofont-king-monster:before{content:"\e812"}.icofont-love:before{content:"\e813"}.icofont-magician-hat:before{content:"\e814"}.icofont-native-american:before{content:"\e815"}.icofont-owl-look:before{content:"\e816"}.icofont-phoenix:before{content:"\e817"}.icofont-robot-face:before{content:"\e818"}.icofont-sand-clock:before{content:"\e819"}.icofont-shield-alt:before{content:"\e81a"}.icofont-ship-wheel:before{content:"\e81b"}.icofont-skull-danger:before{content:"\e81c"}.icofont-skull-face:before{content:"\e81d"}.icofont-snowmobile:before{content:"\e81e"}.icofont-space-shuttle:before{content:"\e81f"}.icofont-star-shape:before{content:"\e820"}.icofont-swirl:before{content:"\e821"}.icofont-tattoo-wing:before{content:"\e822"}.icofont-throne:before{content:"\e823"}.icofont-tree-alt:before{content:"\e824"}.icofont-triangle:before{content:"\e825"}.icofont-unity-hand:before{content:"\e826"}.icofont-weed:before{content:"\e827"}.icofont-woman-bird:before{content:"\e828"}.icofont-bat:before{content:"\e829"}.icofont-bear-face:before{content:"\e82a"}.icofont-bear-tracks:before{content:"\e82b"}.icofont-bear:before{content:"\e82c"}.icofont-bird-alt:before{content:"\e82d"}.icofont-bird-flying:before{content:"\e82e"}.icofont-bird:before{content:"\e82f"}.icofont-birds:before{content:"\e830"}.icofont-bone:before{content:"\e831"}.icofont-bull:before{content:"\e832"}.icofont-butterfly-alt:before{content:"\e833"}.icofont-butterfly:before{content:"\e834"}.icofont-camel-alt:before{content:"\e835"}.icofont-camel-head:before{content:"\e836"}.icofont-camel:before{content:"\e837"}.icofont-cat-alt-1:before{content:"\e838"}.icofont-cat-alt-2:before{content:"\e839"}.icofont-cat-alt-3:before{content:"\e83a"}.icofont-cat-dog:before{content:"\e83b"}.icofont-cat-face:before{content:"\e83c"}.icofont-cat:before{content:"\e83d"}.icofont-cow-head:before{content:"\e83e"}.icofont-cow:before{content:"\e83f"}.icofont-crab:before{content:"\e840"}.icofont-crocodile:before{content:"\e841"}.icofont-deer-head:before{content:"\e842"}.icofont-dog-alt:before{content:"\e843"}.icofont-dog-barking:before{content:"\e844"}.icofont-dog:before{content:"\e845"}.icofont-dolphin:before{content:"\e846"}.icofont-duck-tracks:before{content:"\e847"}.icofont-eagle-head:before{content:"\e848"}.icofont-eaten-fish:before{content:"\e849"}.icofont-elephant-alt:before{content:"\e84a"}.icofont-elephant-head-alt:before{content:"\e84b"}.icofont-elephant-head:before{content:"\e84c"}.icofont-elephant:before{content:"\e84d"}.icofont-elk:before{content:"\e84e"}.icofont-fish-1:before{content:"\e84f"}.icofont-fish-2:before{content:"\e850"}.icofont-fish-3:before{content:"\e851"}.icofont-fish-4:before{content:"\e852"}.icofont-fish-5:before{content:"\e853"}.icofont-fish:before{content:"\e854"}.icofont-fox-alt:before{content:"\e855"}.icofont-fox:before{content:"\e856"}.icofont-frog-tracks:before{content:"\e857"}.icofont-frog:before{content:"\e858"}.icofont-froggy:before{content:"\e859"}.icofont-giraffe-head-1:before{content:"\e85a"}.icofont-giraffe-head-2:before{content:"\e85b"}.icofont-giraffe-head:before{content:"\e85c"}.icofont-giraffe:before{content:"\e85d"}.icofont-goat-head:before{content:"\e85e"}.icofont-gorilla:before{content:"\e85f"}.icofont-hen-tracks:before{content:"\e860"}.icofont-horse-head-1:before{content:"\e861"}.icofont-horse-head-2:before{content:"\e862"}.icofont-horse-head:before{content:"\e863"}.icofont-horse-tracks:before{content:"\e864"}.icofont-jellyfish:before{content:"\e865"}.icofont-kangaroo:before{content:"\e866"}.icofont-lemur:before{content:"\e867"}.icofont-lion-head-1:before{content:"\e868"}.icofont-lion-head-2:before{content:"\e869"}.icofont-lion-head:before{content:"\e86a"}.icofont-lion:before{content:"\e86b"}.icofont-monkey-2:before{content:"\e86c"}.icofont-monkey-3:before{content:"\e86d"}.icofont-monkey-face:before{content:"\e86e"}.icofont-monkey:before{content:"\e86f"}.icofont-octopus-alt:before{content:"\e870"}.icofont-octopus:before{content:"\e871"}.icofont-owl:before{content:"\e872"}.icofont-panda-face:before{content:"\e873"}.icofont-panda:before{content:"\e874"}.icofont-panther:before{content:"\e875"}.icofont-parrot-lip:before{content:"\e876"}.icofont-parrot:before{content:"\e877"}.icofont-paw:before{content:"\e878"}.icofont-pelican:before{content:"\e879"}.icofont-penguin:before{content:"\e87a"}.icofont-pig-face:before{content:"\e87b"}.icofont-pig:before{content:"\e87c"}.icofont-pigeon-1:before{content:"\e87d"}.icofont-pigeon-2:before{content:"\e87e"}.icofont-pigeon:before{content:"\e87f"}.icofont-rabbit:before{content:"\e880"}.icofont-rat:before{content:"\e881"}.icofont-rhino-head:before{content:"\e882"}.icofont-rhino:before{content:"\e883"}.icofont-rooster:before{content:"\e884"}.icofont-seahorse:before{content:"\e885"}.icofont-seal:before{content:"\e886"}.icofont-shrimp-alt:before{content:"\e887"}.icofont-shrimp:before{content:"\e888"}.icofont-snail-1:before{content:"\e889"}.icofont-snail-2:before{content:"\e88a"}.icofont-snail-3:before{content:"\e88b"}.icofont-snail:before{content:"\e88c"}.icofont-snake:before{content:"\e88d"}.icofont-squid:before{content:"\e88e"}.icofont-squirrel:before{content:"\e88f"}.icofont-tiger-face:before{content:"\e890"}.icofont-tiger:before{content:"\e891"}.icofont-turtle:before{content:"\e892"}.icofont-whale:before{content:"\e893"}.icofont-woodpecker:before{content:"\e894"}.icofont-zebra:before{content:"\e895"}.icofont-brand-acer:before{content:"\e896"}.icofont-brand-adidas:before{content:"\e897"}.icofont-brand-adobe:before{content:"\e898"}.icofont-brand-air-new-zealand:before{content:"\e899"}.icofont-brand-airbnb:before{content:"\e89a"}.icofont-brand-aircell:before{content:"\e89b"}.icofont-brand-airtel:before{content:"\e89c"}.icofont-brand-alcatel:before{content:"\e89d"}.icofont-brand-alibaba:before{content:"\e89e"}.icofont-brand-aliexpress:before{content:"\e89f"}.icofont-brand-alipay:before{content:"\e8a0"}.icofont-brand-amazon:before{content:"\e8a1"}.icofont-brand-amd:before{content:"\e8a2"}.icofont-brand-american-airlines:before{content:"\e8a3"}.icofont-brand-android-robot:before{content:"\e8a4"}.icofont-brand-android:before{content:"\e8a5"}.icofont-brand-aol:before{content:"\e8a6"}.icofont-brand-apple:before{content:"\e8a7"}.icofont-brand-appstore:before{content:"\e8a8"}.icofont-brand-asus:before{content:"\e8a9"}.icofont-brand-ati:before{content:"\e8aa"}.icofont-brand-att:before{content:"\e8ab"}.icofont-brand-audi:before{content:"\e8ac"}.icofont-brand-axiata:before{content:"\e8ad"}.icofont-brand-bada:before{content:"\e8ae"}.icofont-brand-bbc:before{content:"\e8af"}.icofont-brand-bing:before{content:"\e8b0"}.icofont-brand-blackberry:before{content:"\e8b1"}.icofont-brand-bmw:before{content:"\e8b2"}.icofont-brand-box:before{content:"\e8b3"}.icofont-brand-burger-king:before{content:"\e8b4"}.icofont-brand-business-insider:before{content:"\e8b5"}.icofont-brand-buzzfeed:before{content:"\e8b6"}.icofont-brand-cannon:before{content:"\e8b7"}.icofont-brand-casio:before{content:"\e8b8"}.icofont-brand-china-mobile:before{content:"\e8b9"}.icofont-brand-china-telecom:before{content:"\e8ba"}.icofont-brand-china-unicom:before{content:"\e8bb"}.icofont-brand-cisco:before{content:"\e8bc"}.icofont-brand-citibank:before{content:"\e8bd"}.icofont-brand-cnet:before{content:"\e8be"}.icofont-brand-cnn:before{content:"\e8bf"}.icofont-brand-cocal-cola:before{content:"\e8c0"}.icofont-brand-compaq:before{content:"\e8c1"}.icofont-brand-debian:before{content:"\e8c2"}.icofont-brand-delicious:before{content:"\e8c3"}.icofont-brand-dell:before{content:"\e8c4"}.icofont-brand-designbump:before{content:"\e8c5"}.icofont-brand-designfloat:before{content:"\e8c6"}.icofont-brand-disney:before{content:"\e8c7"}.icofont-brand-dodge:before{content:"\e8c8"}.icofont-brand-dove:before{content:"\e8c9"}.icofont-brand-drupal:before{content:"\e8ca"}.icofont-brand-ebay:before{content:"\e8cb"}.icofont-brand-eleven:before{content:"\e8cc"}.icofont-brand-emirates:before{content:"\e8cd"}.icofont-brand-espn:before{content:"\e8ce"}.icofont-brand-etihad-airways:before{content:"\e8cf"}.icofont-brand-etisalat:before{content:"\e8d0"}.icofont-brand-etsy:before{content:"\e8d1"}.icofont-brand-fastrack:before{content:"\e8d2"}.icofont-brand-fedex:before{content:"\e8d3"}.icofont-brand-ferrari:before{content:"\e8d4"}.icofont-brand-fitbit:before{content:"\e8d5"}.icofont-brand-flikr:before{content:"\e8d6"}.icofont-brand-forbes:before{content:"\e8d7"}.icofont-brand-foursquare:before{content:"\e8d8"}.icofont-brand-foxconn:before{content:"\e8d9"}.icofont-brand-fujitsu:before{content:"\e8da"}.icofont-brand-general-electric:before{content:"\e8db"}.icofont-brand-gillette:before{content:"\e8dc"}.icofont-brand-gizmodo:before{content:"\e8dd"}.icofont-brand-gnome:before{content:"\e8de"}.icofont-brand-google:before{content:"\e8df"}.icofont-brand-gopro:before{content:"\e8e0"}.icofont-brand-gucci:before{content:"\e8e1"}.icofont-brand-hallmark:before{content:"\e8e2"}.icofont-brand-hi5:before{content:"\e8e3"}.icofont-brand-honda:before{content:"\e8e4"}.icofont-brand-hp:before{content:"\e8e5"}.icofont-brand-hsbc:before{content:"\e8e6"}.icofont-brand-htc:before{content:"\e8e7"}.icofont-brand-huawei:before{content:"\e8e8"}.icofont-brand-hulu:before{content:"\e8e9"}.icofont-brand-hyundai:before{content:"\e8ea"}.icofont-brand-ibm:before{content:"\e8eb"}.icofont-brand-icofont:before{content:"\e8ec"}.icofont-brand-icq:before{content:"\e8ed"}.icofont-brand-ikea:before{content:"\e8ee"}.icofont-brand-imdb:before{content:"\e8ef"}.icofont-brand-indiegogo:before{content:"\e8f0"}.icofont-brand-intel:before{content:"\e8f1"}.icofont-brand-ipair:before{content:"\e8f2"}.icofont-brand-jaguar:before{content:"\e8f3"}.icofont-brand-java:before{content:"\e8f4"}.icofont-brand-joomla:before{content:"\e8f5"}.icofont-brand-kickstarter:before{content:"\e8f6"}.icofont-brand-kik:before{content:"\e8f7"}.icofont-brand-lastfm:before{content:"\e8f8"}.icofont-brand-lego:before{content:"\e8f9"}.icofont-brand-lenovo:before{content:"\e8fa"}.icofont-brand-levis:before{content:"\e8fb"}.icofont-brand-lexus:before{content:"\e8fc"}.icofont-brand-lg:before{content:"\e8fd"}.icofont-brand-life-hacker:before{content:"\e8fe"}.icofont-brand-linux-mint:before{content:"\e8ff"}.icofont-brand-linux:before{content:"\e900"}.icofont-brand-lionix:before{content:"\e901"}.icofont-brand-loreal:before{content:"\e902"}.icofont-brand-louis-vuitton:before{content:"\e903"}.icofont-brand-mac-os:before{content:"\e904"}.icofont-brand-marvel-app:before{content:"\e905"}.icofont-brand-mashable:before{content:"\e906"}.icofont-brand-mazda:before{content:"\e907"}.icofont-brand-mcdonals:before{content:"\e908"}.icofont-brand-mercedes:before{content:"\e909"}.icofont-brand-micromax:before{content:"\e90a"}.icofont-brand-microsoft:before{content:"\e90b"}.icofont-brand-mobileme:before{content:"\e90c"}.icofont-brand-mobily:before{content:"\e90d"}.icofont-brand-motorola:before{content:"\e90e"}.icofont-brand-msi:before{content:"\e90f"}.icofont-brand-mts:before{content:"\e910"}.icofont-brand-myspace:before{content:"\e911"}.icofont-brand-mytv:before{content:"\e912"}.icofont-brand-nasa:before{content:"\e913"}.icofont-brand-natgeo:before{content:"\e914"}.icofont-brand-nbc:before{content:"\e915"}.icofont-brand-nescafe:before{content:"\e916"}.icofont-brand-nestle:before{content:"\e917"}.icofont-brand-netflix:before{content:"\e918"}.icofont-brand-nexus:before{content:"\e919"}.icofont-brand-nike:before{content:"\e91a"}.icofont-brand-nokia:before{content:"\e91b"}.icofont-brand-nvidia:before{content:"\e91c"}.icofont-brand-omega:before{content:"\e91d"}.icofont-brand-opensuse:before{content:"\e91e"}.icofont-brand-oracle:before{content:"\e91f"}.icofont-brand-panasonic:before{content:"\e920"}.icofont-brand-paypal:before{content:"\e921"}.icofont-brand-pepsi:before{content:"\e922"}.icofont-brand-philips:before{content:"\e923"}.icofont-brand-pizza-hut:before{content:"\e924"}.icofont-brand-playstation:before{content:"\e925"}.icofont-brand-puma:before{content:"\e926"}.icofont-brand-qatar-air:before{content:"\e927"}.icofont-brand-qvc:before{content:"\e928"}.icofont-brand-readernaut:before{content:"\e929"}.icofont-brand-redbull:before{content:"\e92a"}.icofont-brand-reebok:before{content:"\e92b"}.icofont-brand-reuters:before{content:"\e92c"}.icofont-brand-samsung:before{content:"\e92d"}.icofont-brand-sap:before{content:"\e92e"}.icofont-brand-saudia-airlines:before{content:"\e92f"}.icofont-brand-scribd:before{content:"\e930"}.icofont-brand-shell:before{content:"\e931"}.icofont-brand-siemens:before{content:"\e932"}.icofont-brand-sk-telecom:before{content:"\e933"}.icofont-brand-slideshare:before{content:"\e934"}.icofont-brand-smashing-magazine:before{content:"\e935"}.icofont-brand-snapchat:before{content:"\e936"}.icofont-brand-sony-ericsson:before{content:"\e937"}.icofont-brand-sony:before{content:"\e938"}.icofont-brand-soundcloud:before{content:"\e939"}.icofont-brand-sprint:before{content:"\e93a"}.icofont-brand-squidoo:before{content:"\e93b"}.icofont-brand-starbucks:before{content:"\e93c"}.icofont-brand-stc:before{content:"\e93d"}.icofont-brand-steam:before{content:"\e93e"}.icofont-brand-suzuki:before{content:"\e93f"}.icofont-brand-symbian:before{content:"\e940"}.icofont-brand-t-mobile:before{content:"\e941"}.icofont-brand-tango:before{content:"\e942"}.icofont-brand-target:before{content:"\e943"}.icofont-brand-tata-indicom:before{content:"\e944"}.icofont-brand-techcrunch:before{content:"\e945"}.icofont-brand-telenor:before{content:"\e946"}.icofont-brand-teliasonera:before{content:"\e947"}.icofont-brand-tesla:before{content:"\e948"}.icofont-brand-the-verge:before{content:"\e949"}.icofont-brand-thenextweb:before{content:"\e94a"}.icofont-brand-toshiba:before{content:"\e94b"}.icofont-brand-toyota:before{content:"\e94c"}.icofont-brand-tribenet:before{content:"\e94d"}.icofont-brand-ubuntu:before{content:"\e94e"}.icofont-brand-unilever:before{content:"\e94f"}.icofont-brand-vaio:before{content:"\e950"}.icofont-brand-verizon:before{content:"\e951"}.icofont-brand-viber:before{content:"\e952"}.icofont-brand-vodafone:before{content:"\e953"}.icofont-brand-volkswagen:before{content:"\e954"}.icofont-brand-walmart:before{content:"\e955"}.icofont-brand-warnerbros:before{content:"\e956"}.icofont-brand-whatsapp:before{content:"\e957"}.icofont-brand-wikipedia:before{content:"\e958"}.icofont-brand-windows:before{content:"\e959"}.icofont-brand-wire:before{content:"\e95a"}.icofont-brand-wordpress:before{content:"\e95b"}.icofont-brand-xiaomi:before{content:"\e95c"}.icofont-brand-yahoobuzz:before{content:"\e95d"}.icofont-brand-yamaha:before{content:"\e95e"}.icofont-brand-youtube:before{content:"\e95f"}.icofont-brand-zain:before{content:"\e960"}.icofont-bank-alt:before{content:"\e961"}.icofont-bank:before{content:"\e962"}.icofont-barcode:before{content:"\e963"}.icofont-bill-alt:before{content:"\e964"}.icofont-billboard:before{content:"\e965"}.icofont-briefcase-1:before{content:"\e966"}.icofont-briefcase-2:before{content:"\e967"}.icofont-businessman:before{content:"\e968"}.icofont-businesswoman:before{content:"\e969"}.icofont-chair:before{content:"\e96a"}.icofont-coins:before{content:"\e96b"}.icofont-company:before{content:"\e96c"}.icofont-contact-add:before{content:"\e96d"}.icofont-files-stack:before{content:"\e96e"}.icofont-handshake-deal:before{content:"\e96f"}.icofont-id-card:before{content:"\e970"}.icofont-meeting-add:before{content:"\e971"}.icofont-money-bag:before{content:"\e972"}.icofont-pie-chart:before{content:"\e973"}.icofont-presentation-alt:before{content:"\e974"}.icofont-presentation:before{content:"\e975"}.icofont-stamp:before{content:"\e976"}.icofont-stock-mobile:before{content:"\e977"}.icofont-chart-arrows-axis:before{content:"\e978"}.icofont-chart-bar-graph:before{content:"\e979"}.icofont-chart-flow-1:before{content:"\e97a"}.icofont-chart-flow-2:before{content:"\e97b"}.icofont-chart-flow:before{content:"\e97c"}.icofont-chart-growth:before{content:"\e97d"}.icofont-chart-histogram-alt:before{content:"\e97e"}.icofont-chart-histogram:before{content:"\e97f"}.icofont-chart-line-alt:before{content:"\e980"}.icofont-chart-line:before{content:"\e981"}.icofont-chart-pie-alt:before{content:"\e982"}.icofont-chart-pie:before{content:"\e983"}.icofont-chart-radar-graph:before{content:"\e984"}.icofont-architecture-alt:before{content:"\e985"}.icofont-architecture:before{content:"\e986"}.icofont-barricade:before{content:"\e987"}.icofont-bolt:before{content:"\e988"}.icofont-bricks:before{content:"\e989"}.icofont-building-alt:before{content:"\e98a"}.icofont-bull-dozer:before{content:"\e98b"}.icofont-calculations:before{content:"\e98c"}.icofont-cement-mix:before{content:"\e98d"}.icofont-cement-mixer:before{content:"\e98e"}.icofont-concrete-mixer:before{content:"\e98f"}.icofont-danger-zone:before{content:"\e990"}.icofont-drill:before{content:"\e991"}.icofont-eco-energy:before{content:"\e992"}.icofont-eco-environmen:before{content:"\e993"}.icofont-energy-air:before{content:"\e994"}.icofont-energy-oil:before{content:"\e995"}.icofont-energy-savings:before{content:"\e996"}.icofont-energy-solar:before{content:"\e997"}.icofont-energy-water:before{content:"\e998"}.icofont-engineer:before{content:"\e999"}.icofont-fire-extinguisher-alt:before{content:"\e99a"}.icofont-fire-extinguisher:before{content:"\e99b"}.icofont-fix-tools:before{content:"\e99c"}.icofont-fork-lift:before{content:"\e99d"}.icofont-glue-oil:before{content:"\e99e"}.icofont-hammer-alt:before{content:"\e99f"}.icofont-hammer:before{content:"\e9a0"}.icofont-help-robot:before{content:"\e9a1"}.icofont-industries-1:before{content:"\e9a2"}.icofont-industries-2:before{content:"\e9a3"}.icofont-industries-3:before{content:"\e9a4"}.icofont-industries-4:before{content:"\e9a5"}.icofont-industries-5:before{content:"\e9a6"}.icofont-industries:before{content:"\e9a7"}.icofont-labour:before{content:"\e9a8"}.icofont-mining:before{content:"\e9a9"}.icofont-paint-brush:before{content:"\e9aa"}.icofont-pollution:before{content:"\e9ab"}.icofont-power-zone:before{content:"\e9ac"}.icofont-radio-active:before{content:"\e9ad"}.icofont-recycle-alt:before{content:"\e9ae"}.icofont-recycling-man:before{content:"\e9af"}.icofont-safety-hat-light:before{content:"\e9b0"}.icofont-safety-hat:before{content:"\e9b1"}.icofont-saw:before{content:"\e9b2"}.icofont-screw-driver:before{content:"\e9b3"}.icofont-tools-1:before{content:"\e9b4"}.icofont-tools-bag:before{content:"\e9b5"}.icofont-tow-truck:before{content:"\e9b6"}.icofont-trolley:before{content:"\e9b7"}.icofont-trowel:before{content:"\e9b8"}.icofont-under-construction-alt:before{content:"\e9b9"}.icofont-under-construction:before{content:"\e9ba"}.icofont-vehicle-cement:before{content:"\e9bb"}.icofont-vehicle-crane:before{content:"\e9bc"}.icofont-vehicle-delivery-van:before{content:"\e9bd"}.icofont-vehicle-dozer:before{content:"\e9be"}.icofont-vehicle-excavator:before{content:"\e9bf"}.icofont-vehicle-trucktor:before{content:"\e9c0"}.icofont-vehicle-wrecking:before{content:"\e9c1"}.icofont-worker:before{content:"\e9c2"}.icofont-workers-group:before{content:"\e9c3"}.icofont-wrench:before{content:"\e9c4"}.icofont-afghani-false:before{content:"\e9c5"}.icofont-afghani-minus:before{content:"\e9c6"}.icofont-afghani-plus:before{content:"\e9c7"}.icofont-afghani-true:before{content:"\e9c8"}.icofont-afghani:before{content:"\e9c9"}.icofont-baht-false:before{content:"\e9ca"}.icofont-baht-minus:before{content:"\e9cb"}.icofont-baht-plus:before{content:"\e9cc"}.icofont-baht-true:before{content:"\e9cd"}.icofont-baht:before{content:"\e9ce"}.icofont-bitcoin-false:before{content:"\e9cf"}.icofont-bitcoin-minus:before{content:"\e9d0"}.icofont-bitcoin-plus:before{content:"\e9d1"}.icofont-bitcoin-true:before{content:"\e9d2"}.icofont-bitcoin:before{content:"\e9d3"}.icofont-dollar-flase:before{content:"\e9d4"}.icofont-dollar-minus:before{content:"\e9d5"}.icofont-dollar-plus:before{content:"\e9d6"}.icofont-dollar-true:before{content:"\e9d7"}.icofont-dollar:before{content:"\e9d8"}.icofont-dong-false:before{content:"\e9d9"}.icofont-dong-minus:before{content:"\e9da"}.icofont-dong-plus:before{content:"\e9db"}.icofont-dong-true:before{content:"\e9dc"}.icofont-dong:before{content:"\e9dd"}.icofont-euro-false:before{content:"\e9de"}.icofont-euro-minus:before{content:"\e9df"}.icofont-euro-plus:before{content:"\e9e0"}.icofont-euro-true:before{content:"\e9e1"}.icofont-euro:before{content:"\e9e2"}.icofont-frank-false:before{content:"\e9e3"}.icofont-frank-minus:before{content:"\e9e4"}.icofont-frank-plus:before{content:"\e9e5"}.icofont-frank-true:before{content:"\e9e6"}.icofont-frank:before{content:"\e9e7"}.icofont-hryvnia-false:before{content:"\e9e8"}.icofont-hryvnia-minus:before{content:"\e9e9"}.icofont-hryvnia-plus:before{content:"\e9ea"}.icofont-hryvnia-true:before{content:"\e9eb"}.icofont-hryvnia:before{content:"\e9ec"}.icofont-lira-false:before{content:"\e9ed"}.icofont-lira-minus:before{content:"\e9ee"}.icofont-lira-plus:before{content:"\e9ef"}.icofont-lira-true:before{content:"\e9f0"}.icofont-lira:before{content:"\e9f1"}.icofont-peseta-false:before{content:"\e9f2"}.icofont-peseta-minus:before{content:"\e9f3"}.icofont-peseta-plus:before{content:"\e9f4"}.icofont-peseta-true:before{content:"\e9f5"}.icofont-peseta:before{content:"\e9f6"}.icofont-peso-false:before{content:"\e9f7"}.icofont-peso-minus:before{content:"\e9f8"}.icofont-peso-plus:before{content:"\e9f9"}.icofont-peso-true:before{content:"\e9fa"}.icofont-peso:before{content:"\e9fb"}.icofont-pound-false:before{content:"\e9fc"}.icofont-pound-minus:before{content:"\e9fd"}.icofont-pound-plus:before{content:"\e9fe"}.icofont-pound-true:before{content:"\e9ff"}.icofont-pound:before{content:"\ea00"}.icofont-renminbi-false:before{content:"\ea01"}.icofont-renminbi-minus:before{content:"\ea02"}.icofont-renminbi-plus:before{content:"\ea03"}.icofont-renminbi-true:before{content:"\ea04"}.icofont-renminbi:before{content:"\ea05"}.icofont-riyal-false:before{content:"\ea06"}.icofont-riyal-minus:before{content:"\ea07"}.icofont-riyal-plus:before{content:"\ea08"}.icofont-riyal-true:before{content:"\ea09"}.icofont-riyal:before{content:"\ea0a"}.icofont-rouble-false:before{content:"\ea0b"}.icofont-rouble-minus:before{content:"\ea0c"}.icofont-rouble-plus:before{content:"\ea0d"}.icofont-rouble-true:before{content:"\ea0e"}.icofont-rouble:before{content:"\ea0f"}.icofont-rupee-false:before{content:"\ea10"}.icofont-rupee-minus:before{content:"\ea11"}.icofont-rupee-plus:before{content:"\ea12"}.icofont-rupee-true:before{content:"\ea13"}.icofont-rupee:before{content:"\ea14"}.icofont-taka-false:before{content:"\ea15"}.icofont-taka-minus:before{content:"\ea16"}.icofont-taka-plus:before{content:"\ea17"}.icofont-taka-true:before{content:"\ea18"}.icofont-taka:before{content:"\ea19"}.icofont-turkish-lira-false:before{content:"\ea1a"}.icofont-turkish-lira-minus:before{content:"\ea1b"}.icofont-turkish-lira-plus:before{content:"\ea1c"}.icofont-turkish-lira-true:before{content:"\ea1d"}.icofont-turkish-lira:before{content:"\ea1e"}.icofont-won-false:before{content:"\ea1f"}.icofont-won-minus:before{content:"\ea20"}.icofont-won-plus:before{content:"\ea21"}.icofont-won-true:before{content:"\ea22"}.icofont-won:before{content:"\ea23"}.icofont-yen-false:before{content:"\ea24"}.icofont-yen-minus:before{content:"\ea25"}.icofont-yen-plus:before{content:"\ea26"}.icofont-yen-true:before{content:"\ea27"}.icofont-yen:before{content:"\ea28"}.icofont-android-nexus:before{content:"\ea29"}.icofont-android-tablet:before{content:"\ea2a"}.icofont-apple-watch:before{content:"\ea2b"}.icofont-drawing-tablet:before{content:"\ea2c"}.icofont-earphone:before{content:"\ea2d"}.icofont-flash-drive:before{content:"\ea2e"}.icofont-game-console:before{content:"\ea2f"}.icofont-game-controller:before{content:"\ea30"}.icofont-game-pad:before{content:"\ea31"}.icofont-game:before{content:"\ea32"}.icofont-headphone-alt-1:before{content:"\ea33"}.icofont-headphone-alt-2:before{content:"\ea34"}.icofont-headphone-alt-3:before{content:"\ea35"}.icofont-headphone-alt:before{content:"\ea36"}.icofont-headphone:before{content:"\ea37"}.icofont-htc-one:before{content:"\ea38"}.icofont-imac:before{content:"\ea39"}.icofont-ipad:before{content:"\ea3a"}.icofont-iphone:before{content:"\ea3b"}.icofont-ipod-nano:before{content:"\ea3c"}.icofont-ipod-touch:before{content:"\ea3d"}.icofont-keyboard-alt:before{content:"\ea3e"}.icofont-keyboard-wireless:before{content:"\ea3f"}.icofont-keyboard:before{content:"\ea40"}.icofont-laptop-alt:before{content:"\ea41"}.icofont-laptop:before{content:"\ea42"}.icofont-macbook:before{content:"\ea43"}.icofont-magic-mouse:before{content:"\ea44"}.icofont-micro-chip:before{content:"\ea45"}.icofont-microphone-alt:before{content:"\ea46"}.icofont-microphone:before{content:"\ea47"}.icofont-monitor:before{content:"\ea48"}.icofont-mouse:before{content:"\ea49"}.icofont-mp3-player:before{content:"\ea4a"}.icofont-nintendo:before{content:"\ea4b"}.icofont-playstation-alt:before{content:"\ea4c"}.icofont-psvita:before{content:"\ea4d"}.icofont-radio-mic:before{content:"\ea4e"}.icofont-radio:before{content:"\ea4f"}.icofont-refrigerator:before{content:"\ea50"}.icofont-samsung-galaxy:before{content:"\ea51"}.icofont-surface-tablet:before{content:"\ea52"}.icofont-ui-head-phone:before{content:"\ea53"}.icofont-ui-keyboard:before{content:"\ea54"}.icofont-washing-machine:before{content:"\ea55"}.icofont-wifi-router:before{content:"\ea56"}.icofont-wii-u:before{content:"\ea57"}.icofont-windows-lumia:before{content:"\ea58"}.icofont-wireless-mouse:before{content:"\ea59"}.icofont-xbox-360:before{content:"\ea5a"}.icofont-arrow-down:before{content:"\ea5b"}.icofont-arrow-left:before{content:"\ea5c"}.icofont-arrow-right:before{content:"\ea5d"}.icofont-arrow-up:before{content:"\ea5e"}.icofont-block-down:before{content:"\ea5f"}.icofont-block-left:before{content:"\ea60"}.icofont-block-right:before{content:"\ea61"}.icofont-block-up:before{content:"\ea62"}.icofont-bubble-down:before{content:"\ea63"}.icofont-bubble-left:before{content:"\ea64"}.icofont-bubble-right:before{content:"\ea65"}.icofont-bubble-up:before{content:"\ea66"}.icofont-caret-down:before{content:"\ea67"}.icofont-caret-left:before{content:"\ea68"}.icofont-caret-right:before{content:"\ea69"}.icofont-caret-up:before{content:"\ea6a"}.icofont-circled-down:before{content:"\ea6b"}.icofont-circled-left:before{content:"\ea6c"}.icofont-circled-right:before{content:"\ea6d"}.icofont-circled-up:before{content:"\ea6e"}.icofont-collapse:before{content:"\ea6f"}.icofont-cursor-drag:before{content:"\ea70"}.icofont-curved-double-left:before{content:"\ea71"}.icofont-curved-double-right:before{content:"\ea72"}.icofont-curved-down:before{content:"\ea73"}.icofont-curved-left:before{content:"\ea74"}.icofont-curved-right:before{content:"\ea75"}.icofont-curved-up:before{content:"\ea76"}.icofont-dotted-down:before{content:"\ea77"}.icofont-dotted-left:before{content:"\ea78"}.icofont-dotted-right:before{content:"\ea79"}.icofont-dotted-up:before{content:"\ea7a"}.icofont-double-left:before{content:"\ea7b"}.icofont-double-right:before{content:"\ea7c"}.icofont-expand-alt:before{content:"\ea7d"}.icofont-hand-down:before{content:"\ea7e"}.icofont-hand-drag:before{content:"\ea7f"}.icofont-hand-drag1:before{content:"\ea80"}.icofont-hand-drag2:before{content:"\ea81"}.icofont-hand-drawn-alt-down:before{content:"\ea82"}.icofont-hand-drawn-alt-left:before{content:"\ea83"}.icofont-hand-drawn-alt-right:before{content:"\ea84"}.icofont-hand-drawn-alt-up:before{content:"\ea85"}.icofont-hand-drawn-down:before{content:"\ea86"}.icofont-hand-drawn-left:before{content:"\ea87"}.icofont-hand-drawn-right:before{content:"\ea88"}.icofont-hand-drawn-up:before{content:"\ea89"}.icofont-hand-grippers:before{content:"\ea8a"}.icofont-hand-left:before{content:"\ea8b"}.icofont-hand-right:before{content:"\ea8c"}.icofont-hand-up:before{content:"\ea8d"}.icofont-line-block-down:before{content:"\ea8e"}.icofont-line-block-left:before{content:"\ea8f"}.icofont-line-block-right:before{content:"\ea90"}.icofont-line-block-up:before{content:"\ea91"}.icofont-long-arrow-down:before{content:"\ea92"}.icofont-long-arrow-left:before{content:"\ea93"}.icofont-long-arrow-right:before{content:"\ea94"}.icofont-long-arrow-up:before{content:"\ea95"}.icofont-rounded-collapse:before{content:"\ea96"}.icofont-rounded-double-left:before{content:"\ea97"}.icofont-rounded-double-right:before{content:"\ea98"}.icofont-rounded-down:before{content:"\ea99"}.icofont-rounded-expand:before{content:"\ea9a"}.icofont-rounded-left-down:before{content:"\ea9b"}.icofont-rounded-left-up:before{content:"\ea9c"}.icofont-rounded-left:before{content:"\ea9d"}.icofont-rounded-right-down:before{content:"\ea9e"}.icofont-rounded-right-up:before{content:"\ea9f"}.icofont-rounded-right:before{content:"\eaa0"}.icofont-rounded-up:before{content:"\eaa1"}.icofont-scroll-bubble-down:before{content:"\eaa2"}.icofont-scroll-bubble-left:before{content:"\eaa3"}.icofont-scroll-bubble-right:before{content:"\eaa4"}.icofont-scroll-bubble-up:before{content:"\eaa5"}.icofont-scroll-double-down:before{content:"\eaa6"}.icofont-scroll-double-left:before{content:"\eaa7"}.icofont-scroll-double-right:before{content:"\eaa8"}.icofont-scroll-double-up:before{content:"\eaa9"}.icofont-scroll-down:before{content:"\eaaa"}.icofont-scroll-left:before{content:"\eaab"}.icofont-scroll-long-down:before{content:"\eaac"}.icofont-scroll-long-left:before{content:"\eaad"}.icofont-scroll-long-right:before{content:"\eaae"}.icofont-scroll-long-up:before{content:"\eaaf"}.icofont-scroll-right:before{content:"\eab0"}.icofont-scroll-up:before{content:"\eab1"}.icofont-simple-down:before{content:"\eab2"}.icofont-simple-left-down:before{content:"\eab3"}.icofont-simple-left-up:before{content:"\eab4"}.icofont-simple-left:before{content:"\eab5"}.icofont-simple-right-down:before{content:"\eab6"}.icofont-simple-right-up:before{content:"\eab7"}.icofont-simple-right:before{content:"\eab8"}.icofont-simple-up:before{content:"\eab9"}.icofont-square-down:before{content:"\eaba"}.icofont-square-left:before{content:"\eabb"}.icofont-square-right:before{content:"\eabc"}.icofont-square-up:before{content:"\eabd"}.icofont-stylish-down:before{content:"\eabe"}.icofont-stylish-left:before{content:"\eabf"}.icofont-stylish-right:before{content:"\eac0"}.icofont-stylish-up:before{content:"\eac1"}.icofont-swoosh-down:before{content:"\eac2"}.icofont-swoosh-left:before{content:"\eac3"}.icofont-swoosh-right:before{content:"\eac4"}.icofont-swoosh-up:before{content:"\eac5"}.icofont-thin-double-left:before{content:"\eac6"}.icofont-thin-double-right:before{content:"\eac7"}.icofont-thin-down:before{content:"\eac8"}.icofont-thin-left:before{content:"\eac9"}.icofont-thin-right:before{content:"\eaca"}.icofont-thin-up:before{content:"\eacb"}.icofont-abc:before{content:"\eacc"}.icofont-atom:before{content:"\eacd"}.icofont-award:before{content:"\eace"}.icofont-bell-alt:before{content:"\eacf"}.icofont-black-board:before{content:"\ead0"}.icofont-book-alt:before{content:"\ead1"}.icofont-book:before{content:"\ead2"}.icofont-brainstorming:before{content:"\ead3"}.icofont-certificate-alt-1:before{content:"\ead4"}.icofont-certificate-alt-2:before{content:"\ead5"}.icofont-certificate:before{content:"\ead6"}.icofont-education:before{content:"\ead7"}.icofont-electron:before{content:"\ead8"}.icofont-fountain-pen:before{content:"\ead9"}.icofont-globe-alt:before{content:"\eada"}.icofont-graduate-alt:before{content:"\eadb"}.icofont-graduate:before{content:"\eadc"}.icofont-group-students:before{content:"\eadd"}.icofont-hat-alt:before{content:"\eade"}.icofont-hat:before{content:"\eadf"}.icofont-instrument:before{content:"\eae0"}.icofont-lamp-light:before{content:"\eae1"}.icofont-medal:before{content:"\eae2"}.icofont-microscope-alt:before{content:"\eae3"}.icofont-microscope:before{content:"\eae4"}.icofont-paper:before{content:"\eae5"}.icofont-pen-alt-4:before{content:"\eae6"}.icofont-pen-nib:before{content:"\eae7"}.icofont-pencil-alt-5:before{content:"\eae8"}.icofont-quill-pen:before{content:"\eae9"}.icofont-read-book-alt:before{content:"\eaea"}.icofont-read-book:before{content:"\eaeb"}.icofont-school-bag:before{content:"\eaec"}.icofont-school-bus:before{content:"\eaed"}.icofont-student-alt:before{content:"\eaee"}.icofont-student:before{content:"\eaef"}.icofont-teacher:before{content:"\eaf0"}.icofont-test-bulb:before{content:"\eaf1"}.icofont-test-tube-alt:before{content:"\eaf2"}.icofont-university:before{content:"\eaf3"}.icofont-angry:before{content:"\eaf4"}.icofont-astonished:before{content:"\eaf5"}.icofont-confounded:before{content:"\eaf6"}.icofont-confused:before{content:"\eaf7"}.icofont-crying:before{content:"\eaf8"}.icofont-dizzy:before{content:"\eaf9"}.icofont-expressionless:before{content:"\eafa"}.icofont-heart-eyes:before{content:"\eafb"}.icofont-laughing:before{content:"\eafc"}.icofont-nerd-smile:before{content:"\eafd"}.icofont-open-mouth:before{content:"\eafe"}.icofont-rage:before{content:"\eaff"}.icofont-rolling-eyes:before{content:"\eb00"}.icofont-sad:before{content:"\eb01"}.icofont-simple-smile:before{content:"\eb02"}.icofont-slightly-smile:before{content:"\eb03"}.icofont-smirk:before{content:"\eb04"}.icofont-stuck-out-tongue:before{content:"\eb05"}.icofont-wink-smile:before{content:"\eb06"}.icofont-worried:before{content:"\eb07"}.icofont-file-alt:before{content:"\eb08"}.icofont-file-audio:before{content:"\eb09"}.icofont-file-avi-mp4:before{content:"\eb0a"}.icofont-file-bmp:before{content:"\eb0b"}.icofont-file-code:before{content:"\eb0c"}.icofont-file-css:before{content:"\eb0d"}.icofont-file-document:before{content:"\eb0e"}.icofont-file-eps:before{content:"\eb0f"}.icofont-file-excel:before{content:"\eb10"}.icofont-file-exe:before{content:"\eb11"}.icofont-file-file:before{content:"\eb12"}.icofont-file-flv:before{content:"\eb13"}.icofont-file-gif:before{content:"\eb14"}.icofont-file-html5:before{content:"\eb15"}.icofont-file-image:before{content:"\eb16"}.icofont-file-iso:before{content:"\eb17"}.icofont-file-java:before{content:"\eb18"}.icofont-file-javascript:before{content:"\eb19"}.icofont-file-jpg:before{content:"\eb1a"}.icofont-file-midi:before{content:"\eb1b"}.icofont-file-mov:before{content:"\eb1c"}.icofont-file-mp3:before{content:"\eb1d"}.icofont-file-pdf:before{content:"\eb1e"}.icofont-file-php:before{content:"\eb1f"}.icofont-file-png:before{content:"\eb20"}.icofont-file-powerpoint:before{content:"\eb21"}.icofont-file-presentation:before{content:"\eb22"}.icofont-file-psb:before{content:"\eb23"}.icofont-file-psd:before{content:"\eb24"}.icofont-file-python:before{content:"\eb25"}.icofont-file-ruby:before{content:"\eb26"}.icofont-file-spreadsheet:before{content:"\eb27"}.icofont-file-sql:before{content:"\eb28"}.icofont-file-svg:before{content:"\eb29"}.icofont-file-text:before{content:"\eb2a"}.icofont-file-tiff:before{content:"\eb2b"}.icofont-file-video:before{content:"\eb2c"}.icofont-file-wave:before{content:"\eb2d"}.icofont-file-wmv:before{content:"\eb2e"}.icofont-file-word:before{content:"\eb2f"}.icofont-file-zip:before{content:"\eb30"}.icofont-cycling-alt:before{content:"\eb31"}.icofont-cycling:before{content:"\eb32"}.icofont-dumbbell:before{content:"\eb33"}.icofont-dumbbells:before{content:"\eb34"}.icofont-gym-alt-1:before{content:"\eb35"}.icofont-gym-alt-2:before{content:"\eb36"}.icofont-gym-alt-3:before{content:"\eb37"}.icofont-gym:before{content:"\eb38"}.icofont-muscle-weight:before{content:"\eb39"}.icofont-muscle:before{content:"\eb3a"}.icofont-apple:before{content:"\eb3b"}.icofont-arabian-coffee:before{content:"\eb3c"}.icofont-artichoke:before{content:"\eb3d"}.icofont-asparagus:before{content:"\eb3e"}.icofont-avocado:before{content:"\eb3f"}.icofont-baby-food:before{content:"\eb40"}.icofont-banana:before{content:"\eb41"}.icofont-bbq:before{content:"\eb42"}.icofont-beans:before{content:"\eb43"}.icofont-beer:before{content:"\eb44"}.icofont-bell-pepper-capsicum:before{content:"\eb45"}.icofont-birthday-cake:before{content:"\eb46"}.icofont-bread:before{content:"\eb47"}.icofont-broccoli:before{content:"\eb48"}.icofont-burger:before{content:"\eb49"}.icofont-cabbage:before{content:"\eb4a"}.icofont-carrot:before{content:"\eb4b"}.icofont-cauli-flower:before{content:"\eb4c"}.icofont-cheese:before{content:"\eb4d"}.icofont-chef:before{content:"\eb4e"}.icofont-cherry:before{content:"\eb4f"}.icofont-chicken-fry:before{content:"\eb50"}.icofont-chicken:before{content:"\eb51"}.icofont-cocktail:before{content:"\eb52"}.icofont-coconut-water:before{content:"\eb53"}.icofont-coconut:before{content:"\eb54"}.icofont-coffee-alt:before{content:"\eb55"}.icofont-coffee-cup:before{content:"\eb56"}.icofont-coffee-mug:before{content:"\eb57"}.icofont-coffee-pot:before{content:"\eb58"}.icofont-cola:before{content:"\eb59"}.icofont-corn:before{content:"\eb5a"}.icofont-croissant:before{content:"\eb5b"}.icofont-crop-plant:before{content:"\eb5c"}.icofont-cucumber:before{content:"\eb5d"}.icofont-culinary:before{content:"\eb5e"}.icofont-cup-cake:before{content:"\eb5f"}.icofont-dining-table:before{content:"\eb60"}.icofont-donut:before{content:"\eb61"}.icofont-egg-plant:before{content:"\eb62"}.icofont-egg-poached:before{content:"\eb63"}.icofont-farmer-alt:before{content:"\eb64"}.icofont-farmer:before{content:"\eb65"}.icofont-fast-food:before{content:"\eb66"}.icofont-food-basket:before{content:"\eb67"}.icofont-food-cart:before{content:"\eb68"}.icofont-fork-and-knife:before{content:"\eb69"}.icofont-french-fries:before{content:"\eb6a"}.icofont-fruits:before{content:"\eb6b"}.icofont-grapes:before{content:"\eb6c"}.icofont-honey:before{content:"\eb6d"}.icofont-hot-dog:before{content:"\eb6e"}.icofont-ice-cream-alt:before{content:"\eb6f"}.icofont-ice-cream:before{content:"\eb70"}.icofont-juice:before{content:"\eb71"}.icofont-ketchup:before{content:"\eb72"}.icofont-kiwi:before{content:"\eb73"}.icofont-layered-cake:before{content:"\eb74"}.icofont-lemon-alt:before{content:"\eb75"}.icofont-lemon:before{content:"\eb76"}.icofont-lobster:before{content:"\eb77"}.icofont-mango:before{content:"\eb78"}.icofont-milk:before{content:"\eb79"}.icofont-mushroom:before{content:"\eb7a"}.icofont-noodles:before{content:"\eb7b"}.icofont-onion:before{content:"\eb7c"}.icofont-orange:before{content:"\eb7d"}.icofont-pear:before{content:"\eb7e"}.icofont-peas:before{content:"\eb7f"}.icofont-pepper:before{content:"\eb80"}.icofont-pie-alt:before{content:"\eb81"}.icofont-pie:before{content:"\eb82"}.icofont-pineapple:before{content:"\eb83"}.icofont-pizza-slice:before{content:"\eb84"}.icofont-pizza:before{content:"\eb85"}.icofont-plant:before{content:"\eb86"}.icofont-popcorn:before{content:"\eb87"}.icofont-potato:before{content:"\eb88"}.icofont-pumpkin:before{content:"\eb89"}.icofont-raddish:before{content:"\eb8a"}.icofont-restaurant-menu:before{content:"\eb8b"}.icofont-restaurant:before{content:"\eb8c"}.icofont-salt-and-pepper:before{content:"\eb8d"}.icofont-sandwich:before{content:"\eb8e"}.icofont-sausage:before{content:"\eb8f"}.icofont-soft-drinks:before{content:"\eb90"}.icofont-soup-bowl:before{content:"\eb91"}.icofont-spoon-and-fork:before{content:"\eb92"}.icofont-steak:before{content:"\eb93"}.icofont-strawberry:before{content:"\eb94"}.icofont-sub-sandwich:before{content:"\eb95"}.icofont-sushi:before{content:"\eb96"}.icofont-taco:before{content:"\eb97"}.icofont-tea-pot:before{content:"\eb98"}.icofont-tea:before{content:"\eb99"}.icofont-tomato:before{content:"\eb9a"}.icofont-watermelon:before{content:"\eb9b"}.icofont-wheat:before{content:"\eb9c"}.icofont-baby-backpack:before{content:"\eb9d"}.icofont-baby-cloth:before{content:"\eb9e"}.icofont-baby-milk-bottle:before{content:"\eb9f"}.icofont-baby-trolley:before{content:"\eba0"}.icofont-baby:before{content:"\eba1"}.icofont-candy:before{content:"\eba2"}.icofont-holding-hands:before{content:"\eba3"}.icofont-infant-nipple:before{content:"\eba4"}.icofont-kids-scooter:before{content:"\eba5"}.icofont-safety-pin:before{content:"\eba6"}.icofont-teddy-bear:before{content:"\eba7"}.icofont-toy-ball:before{content:"\eba8"}.icofont-toy-cat:before{content:"\eba9"}.icofont-toy-duck:before{content:"\ebaa"}.icofont-toy-elephant:before{content:"\ebab"}.icofont-toy-hand:before{content:"\ebac"}.icofont-toy-horse:before{content:"\ebad"}.icofont-toy-lattu:before{content:"\ebae"}.icofont-toy-train:before{content:"\ebaf"}.icofont-burglar:before{content:"\ebb0"}.icofont-cannon-firing:before{content:"\ebb1"}.icofont-cc-camera:before{content:"\ebb2"}.icofont-cop-badge:before{content:"\ebb3"}.icofont-cop:before{content:"\ebb4"}.icofont-court-hammer:before{content:"\ebb5"}.icofont-court:before{content:"\ebb6"}.icofont-finger-print:before{content:"\ebb7"}.icofont-gavel:before{content:"\ebb8"}.icofont-handcuff-alt:before{content:"\ebb9"}.icofont-handcuff:before{content:"\ebba"}.icofont-investigation:before{content:"\ebbb"}.icofont-investigator:before{content:"\ebbc"}.icofont-jail:before{content:"\ebbd"}.icofont-judge:before{content:"\ebbe"}.icofont-law-alt-1:before{content:"\ebbf"}.icofont-law-alt-2:before{content:"\ebc0"}.icofont-law-alt-3:before{content:"\ebc1"}.icofont-law-book:before{content:"\ebc2"}.icofont-law-document:before{content:"\ebc3"}.icofont-law-order:before{content:"\ebc4"}.icofont-law-protect:before{content:"\ebc5"}.icofont-law-scales:before{content:"\ebc6"}.icofont-law:before{content:"\ebc7"}.icofont-lawyer-alt-1:before{content:"\ebc8"}.icofont-lawyer-alt-2:before{content:"\ebc9"}.icofont-lawyer:before{content:"\ebca"}.icofont-legal:before{content:"\ebcb"}.icofont-pistol:before{content:"\ebcc"}.icofont-police-badge:before{content:"\ebcd"}.icofont-police-cap:before{content:"\ebce"}.icofont-police-car-alt-1:before{content:"\ebcf"}.icofont-police-car-alt-2:before{content:"\ebd0"}.icofont-police-car:before{content:"\ebd1"}.icofont-police-hat:before{content:"\ebd2"}.icofont-police-van:before{content:"\ebd3"}.icofont-police:before{content:"\ebd4"}.icofont-thief-alt:before{content:"\ebd5"}.icofont-thief:before{content:"\ebd6"}.icofont-abacus-alt:before{content:"\ebd7"}.icofont-abacus:before{content:"\ebd8"}.icofont-angle-180:before{content:"\ebd9"}.icofont-angle-45:before{content:"\ebda"}.icofont-angle-90:before{content:"\ebdb"}.icofont-angle:before{content:"\ebdc"}.icofont-calculator-alt-1:before{content:"\ebdd"}.icofont-calculator-alt-2:before{content:"\ebde"}.icofont-calculator:before{content:"\ebdf"}.icofont-circle-ruler-alt:before{content:"\ebe0"}.icofont-circle-ruler:before{content:"\ebe1"}.icofont-compass-alt-1:before{content:"\ebe2"}.icofont-compass-alt-2:before{content:"\ebe3"}.icofont-compass-alt-3:before{content:"\ebe4"}.icofont-compass-alt-4:before{content:"\ebe5"}.icofont-golden-ratio:before{content:"\ebe6"}.icofont-marker-alt-1:before{content:"\ebe7"}.icofont-marker-alt-2:before{content:"\ebe8"}.icofont-marker-alt-3:before{content:"\ebe9"}.icofont-marker:before{content:"\ebea"}.icofont-math:before{content:"\ebeb"}.icofont-mathematical-alt-1:before{content:"\ebec"}.icofont-mathematical-alt-2:before{content:"\ebed"}.icofont-mathematical:before{content:"\ebee"}.icofont-pen-alt-1:before{content:"\ebef"}.icofont-pen-alt-2:before{content:"\ebf0"}.icofont-pen-alt-3:before{content:"\ebf1"}.icofont-pen-holder-alt-1:before{content:"\ebf2"}.icofont-pen-holder:before{content:"\ebf3"}.icofont-pen:before{content:"\ebf4"}.icofont-pencil-alt-1:before{content:"\ebf5"}.icofont-pencil-alt-2:before{content:"\ebf6"}.icofont-pencil-alt-3:before{content:"\ebf7"}.icofont-pencil-alt-4:before{content:"\ebf8"}.icofont-pencil:before{content:"\ebf9"}.icofont-ruler-alt-1:before{content:"\ebfa"}.icofont-ruler-alt-2:before{content:"\ebfb"}.icofont-ruler-compass-alt:before{content:"\ebfc"}.icofont-ruler-compass:before{content:"\ebfd"}.icofont-ruler-pencil-alt-1:before{content:"\ebfe"}.icofont-ruler-pencil-alt-2:before{content:"\ebff"}.icofont-ruler-pencil:before{content:"\ec00"}.icofont-ruler:before{content:"\ec01"}.icofont-rulers-alt:before{content:"\ec02"}.icofont-rulers:before{content:"\ec03"}.icofont-square-root:before{content:"\ec04"}.icofont-ui-calculator:before{content:"\ec05"}.icofont-aids:before{content:"\ec06"}.icofont-ambulance-crescent:before{content:"\ec07"}.icofont-ambulance-cross:before{content:"\ec08"}.icofont-ambulance:before{content:"\ec09"}.icofont-autism:before{content:"\ec0a"}.icofont-bandage:before{content:"\ec0b"}.icofont-blind:before{content:"\ec0c"}.icofont-blood-drop:before{content:"\ec0d"}.icofont-blood-test:before{content:"\ec0e"}.icofont-blood:before{content:"\ec0f"}.icofont-brain-alt:before{content:"\ec10"}.icofont-brain:before{content:"\ec11"}.icofont-capsule:before{content:"\ec12"}.icofont-crutch:before{content:"\ec13"}.icofont-disabled:before{content:"\ec14"}.icofont-dna-alt-1:before{content:"\ec15"}.icofont-dna-alt-2:before{content:"\ec16"}.icofont-dna:before{content:"\ec17"}.icofont-doctor-alt:before{content:"\ec18"}.icofont-doctor:before{content:"\ec19"}.icofont-drug-pack:before{content:"\ec1a"}.icofont-drug:before{content:"\ec1b"}.icofont-first-aid-alt:before{content:"\ec1c"}.icofont-first-aid:before{content:"\ec1d"}.icofont-heart-beat-alt:before{content:"\ec1e"}.icofont-heart-beat:before{content:"\ec1f"}.icofont-heartbeat:before{content:"\ec20"}.icofont-herbal:before{content:"\ec21"}.icofont-hospital:before{content:"\ec22"}.icofont-icu:before{content:"\ec23"}.icofont-injection-syringe:before{content:"\ec24"}.icofont-laboratory:before{content:"\ec25"}.icofont-medical-sign-alt:before{content:"\ec26"}.icofont-medical-sign:before{content:"\ec27"}.icofont-nurse-alt:before{content:"\ec28"}.icofont-nurse:before{content:"\ec29"}.icofont-nursing-home:before{content:"\ec2a"}.icofont-operation-theater:before{content:"\ec2b"}.icofont-paralysis-disability:before{content:"\ec2c"}.icofont-patient-bed:before{content:"\ec2d"}.icofont-patient-file:before{content:"\ec2e"}.icofont-pills:before{content:"\ec2f"}.icofont-prescription:before{content:"\ec30"}.icofont-pulse:before{content:"\ec31"}.icofont-stethoscope-alt:before{content:"\ec32"}.icofont-stethoscope:before{content:"\ec33"}.icofont-stretcher:before{content:"\ec34"}.icofont-surgeon-alt:before{content:"\ec35"}.icofont-surgeon:before{content:"\ec36"}.icofont-tablets:before{content:"\ec37"}.icofont-test-bottle:before{content:"\ec38"}.icofont-test-tube:before{content:"\ec39"}.icofont-thermometer-alt:before{content:"\ec3a"}.icofont-thermometer:before{content:"\ec3b"}.icofont-tooth:before{content:"\ec3c"}.icofont-xray:before{content:"\ec3d"}.icofont-ui-add:before{content:"\ec3e"}.icofont-ui-alarm:before{content:"\ec3f"}.icofont-ui-battery:before{content:"\ec40"}.icofont-ui-block:before{content:"\ec41"}.icofont-ui-bluetooth:before{content:"\ec42"}.icofont-ui-brightness:before{content:"\ec43"}.icofont-ui-browser:before{content:"\ec44"}.icofont-ui-calendar:before{content:"\ec45"}.icofont-ui-call:before{content:"\ec46"}.icofont-ui-camera:before{content:"\ec47"}.icofont-ui-cart:before{content:"\ec48"}.icofont-ui-cell-phone:before{content:"\ec49"}.icofont-ui-chat:before{content:"\ec4a"}.icofont-ui-check:before{content:"\ec4b"}.icofont-ui-clip-board:before{content:"\ec4c"}.icofont-ui-clip:before{content:"\ec4d"}.icofont-ui-clock:before{content:"\ec4e"}.icofont-ui-close:before{content:"\ec4f"}.icofont-ui-contact-list:before{content:"\ec50"}.icofont-ui-copy:before{content:"\ec51"}.icofont-ui-cut:before{content:"\ec52"}.icofont-ui-delete:before{content:"\ec53"}.icofont-ui-dial-phone:before{content:"\ec54"}.icofont-ui-edit:before{content:"\ec55"}.icofont-ui-email:before{content:"\ec56"}.icofont-ui-file:before{content:"\ec57"}.icofont-ui-fire-wall:before{content:"\ec58"}.icofont-ui-flash-light:before{content:"\ec59"}.icofont-ui-flight:before{content:"\ec5a"}.icofont-ui-folder:before{content:"\ec5b"}.icofont-ui-game:before{content:"\ec5c"}.icofont-ui-handicapped:before{content:"\ec5d"}.icofont-ui-home:before{content:"\ec5e"}.icofont-ui-image:before{content:"\ec5f"}.icofont-ui-laoding:before{content:"\ec60"}.icofont-ui-lock:before{content:"\ec61"}.icofont-ui-love-add:before{content:"\ec62"}.icofont-ui-love-broken:before{content:"\ec63"}.icofont-ui-love-remove:before{content:"\ec64"}.icofont-ui-love:before{content:"\ec65"}.icofont-ui-map:before{content:"\ec66"}.icofont-ui-message:before{content:"\ec67"}.icofont-ui-messaging:before{content:"\ec68"}.icofont-ui-movie:before{content:"\ec69"}.icofont-ui-music-player:before{content:"\ec6a"}.icofont-ui-music:before{content:"\ec6b"}.icofont-ui-mute:before{content:"\ec6c"}.icofont-ui-network:before{content:"\ec6d"}.icofont-ui-next:before{content:"\ec6e"}.icofont-ui-note:before{content:"\ec6f"}.icofont-ui-office:before{content:"\ec70"}.icofont-ui-password:before{content:"\ec71"}.icofont-ui-pause:before{content:"\ec72"}.icofont-ui-play-stop:before{content:"\ec73"}.icofont-ui-play:before{content:"\ec74"}.icofont-ui-pointer:before{content:"\ec75"}.icofont-ui-power:before{content:"\ec76"}.icofont-ui-press:before{content:"\ec77"}.icofont-ui-previous:before{content:"\ec78"}.icofont-ui-rate-add:before{content:"\ec79"}.icofont-ui-rate-blank:before{content:"\ec7a"}.icofont-ui-rate-remove:before{content:"\ec7b"}.icofont-ui-rating:before{content:"\ec7c"}.icofont-ui-record:before{content:"\ec7d"}.icofont-ui-remove:before{content:"\ec7e"}.icofont-ui-reply:before{content:"\ec7f"}.icofont-ui-rotation:before{content:"\ec80"}.icofont-ui-rss:before{content:"\ec81"}.icofont-ui-search:before{content:"\ec82"}.icofont-ui-settings:before{content:"\ec83"}.icofont-ui-social-link:before{content:"\ec84"}.icofont-ui-tag:before{content:"\ec85"}.icofont-ui-text-chat:before{content:"\ec86"}.icofont-ui-text-loading:before{content:"\ec87"}.icofont-ui-theme:before{content:"\ec88"}.icofont-ui-timer:before{content:"\ec89"}.icofont-ui-touch-phone:before{content:"\ec8a"}.icofont-ui-travel:before{content:"\ec8b"}.icofont-ui-unlock:before{content:"\ec8c"}.icofont-ui-user-group:before{content:"\ec8d"}.icofont-ui-user:before{content:"\ec8e"}.icofont-ui-v-card:before{content:"\ec8f"}.icofont-ui-video-chat:before{content:"\ec90"}.icofont-ui-video-message:before{content:"\ec91"}.icofont-ui-video-play:before{content:"\ec92"}.icofont-ui-video:before{content:"\ec93"}.icofont-ui-volume:before{content:"\ec94"}.icofont-ui-weather:before{content:"\ec95"}.icofont-ui-wifi:before{content:"\ec96"}.icofont-ui-zoom-in:before{content:"\ec97"}.icofont-ui-zoom-out:before{content:"\ec98"}.icofont-cassette-player:before{content:"\ec99"}.icofont-cassette:before{content:"\ec9a"}.icofont-forward:before{content:"\ec9b"}.icofont-guiter:before{content:"\ec9c"}.icofont-movie:before{content:"\ec9d"}.icofont-multimedia:before{content:"\ec9e"}.icofont-music-alt:before{content:"\ec9f"}.icofont-music-disk:before{content:"\eca0"}.icofont-music-note:before{content:"\eca1"}.icofont-music-notes:before{content:"\eca2"}.icofont-music:before{content:"\eca3"}.icofont-mute-volume:before{content:"\eca4"}.icofont-pause:before{content:"\eca5"}.icofont-play-alt-1:before{content:"\eca6"}.icofont-play-alt-2:before{content:"\eca7"}.icofont-play-alt-3:before{content:"\eca8"}.icofont-play-pause:before{content:"\eca9"}.icofont-play:before{content:"\ecaa"}.icofont-record:before{content:"\ecab"}.icofont-retro-music-disk:before{content:"\ecac"}.icofont-rewind:before{content:"\ecad"}.icofont-song-notes:before{content:"\ecae"}.icofont-sound-wave-alt:before{content:"\ecaf"}.icofont-sound-wave:before{content:"\ecb0"}.icofont-stop:before{content:"\ecb1"}.icofont-video-alt:before{content:"\ecb2"}.icofont-video-cam:before{content:"\ecb3"}.icofont-video-clapper:before{content:"\ecb4"}.icofont-video:before{content:"\ecb5"}.icofont-volume-bar:before{content:"\ecb6"}.icofont-volume-down:before{content:"\ecb7"}.icofont-volume-mute:before{content:"\ecb8"}.icofont-volume-off:before{content:"\ecb9"}.icofont-volume-up:before{content:"\ecba"}.icofont-youtube-play:before{content:"\ecbb"}.icofont-2checkout-alt:before{content:"\ecbc"}.icofont-2checkout:before{content:"\ecbd"}.icofont-amazon-alt:before{content:"\ecbe"}.icofont-amazon:before{content:"\ecbf"}.icofont-american-express-alt:before{content:"\ecc0"}.icofont-american-express:before{content:"\ecc1"}.icofont-apple-pay-alt:before{content:"\ecc2"}.icofont-apple-pay:before{content:"\ecc3"}.icofont-bank-transfer-alt:before{content:"\ecc4"}.icofont-bank-transfer:before{content:"\ecc5"}.icofont-braintree-alt:before{content:"\ecc6"}.icofont-braintree:before{content:"\ecc7"}.icofont-cash-on-delivery-alt:before{content:"\ecc8"}.icofont-cash-on-delivery:before{content:"\ecc9"}.icofont-diners-club-alt-1:before{content:"\ecca"}.icofont-diners-club-alt-2:before{content:"\eccb"}.icofont-diners-club-alt-3:before{content:"\eccc"}.icofont-diners-club:before{content:"\eccd"}.icofont-discover-alt:before{content:"\ecce"}.icofont-discover:before{content:"\eccf"}.icofont-eway-alt:before{content:"\ecd0"}.icofont-eway:before{content:"\ecd1"}.icofont-google-wallet-alt-1:before{content:"\ecd2"}.icofont-google-wallet-alt-2:before{content:"\ecd3"}.icofont-google-wallet-alt-3:before{content:"\ecd4"}.icofont-google-wallet:before{content:"\ecd5"}.icofont-jcb-alt:before{content:"\ecd6"}.icofont-jcb:before{content:"\ecd7"}.icofont-maestro-alt:before{content:"\ecd8"}.icofont-maestro:before{content:"\ecd9"}.icofont-mastercard-alt:before{content:"\ecda"}.icofont-mastercard:before{content:"\ecdb"}.icofont-payoneer-alt:before{content:"\ecdc"}.icofont-payoneer:before{content:"\ecdd"}.icofont-paypal-alt:before{content:"\ecde"}.icofont-paypal:before{content:"\ecdf"}.icofont-sage-alt:before{content:"\ece0"}.icofont-sage:before{content:"\ece1"}.icofont-skrill-alt:before{content:"\ece2"}.icofont-skrill:before{content:"\ece3"}.icofont-stripe-alt:before{content:"\ece4"}.icofont-stripe:before{content:"\ece5"}.icofont-visa-alt:before{content:"\ece6"}.icofont-visa-electron:before{content:"\ece7"}.icofont-visa:before{content:"\ece8"}.icofont-western-union-alt:before{content:"\ece9"}.icofont-western-union:before{content:"\ecea"}.icofont-boy:before{content:"\eceb"}.icofont-business-man-alt-1:before{content:"\ecec"}.icofont-business-man-alt-2:before{content:"\eced"}.icofont-business-man-alt-3:before{content:"\ecee"}.icofont-business-man:before{content:"\ecef"}.icofont-female:before{content:"\ecf0"}.icofont-funky-man:before{content:"\ecf1"}.icofont-girl-alt:before{content:"\ecf2"}.icofont-girl:before{content:"\ecf3"}.icofont-group:before{content:"\ecf4"}.icofont-hotel-boy-alt:before{content:"\ecf5"}.icofont-hotel-boy:before{content:"\ecf6"}.icofont-kid:before{content:"\ecf7"}.icofont-man-in-glasses:before{content:"\ecf8"}.icofont-people:before{content:"\ecf9"}.icofont-support:before{content:"\ecfa"}.icofont-user-alt-1:before{content:"\ecfb"}.icofont-user-alt-2:before{content:"\ecfc"}.icofont-user-alt-3:before{content:"\ecfd"}.icofont-user-alt-4:before{content:"\ecfe"}.icofont-user-alt-5:before{content:"\ecff"}.icofont-user-alt-6:before{content:"\ed00"}.icofont-user-alt-7:before{content:"\ed01"}.icofont-user-female:before{content:"\ed02"}.icofont-user-male:before{content:"\ed03"}.icofont-user-suited:before{content:"\ed04"}.icofont-user:before{content:"\ed05"}.icofont-users-alt-1:before{content:"\ed06"}.icofont-users-alt-2:before{content:"\ed07"}.icofont-users-alt-3:before{content:"\ed08"}.icofont-users-alt-4:before{content:"\ed09"}.icofont-users-alt-5:before{content:"\ed0a"}.icofont-users-alt-6:before{content:"\ed0b"}.icofont-users-social:before{content:"\ed0c"}.icofont-users:before{content:"\ed0d"}.icofont-waiter-alt:before{content:"\ed0e"}.icofont-waiter:before{content:"\ed0f"}.icofont-woman-in-glasses:before{content:"\ed10"}.icofont-search-1:before{content:"\ed11"}.icofont-search-2:before{content:"\ed12"}.icofont-search-document:before{content:"\ed13"}.icofont-search-folder:before{content:"\ed14"}.icofont-search-job:before{content:"\ed15"}.icofont-search-map:before{content:"\ed16"}.icofont-search-property:before{content:"\ed17"}.icofont-search-restaurant:before{content:"\ed18"}.icofont-search-stock:before{content:"\ed19"}.icofont-search-user:before{content:"\ed1a"}.icofont-search:before{content:"\ed1b"}.icofont-500px:before{content:"\ed1c"}.icofont-aim:before{content:"\ed1d"}.icofont-badoo:before{content:"\ed1e"}.icofont-baidu-tieba:before{content:"\ed1f"}.icofont-bbm-messenger:before{content:"\ed20"}.icofont-bebo:before{content:"\ed21"}.icofont-behance:before{content:"\ed22"}.icofont-blogger:before{content:"\ed23"}.icofont-bootstrap:before{content:"\ed24"}.icofont-brightkite:before{content:"\ed25"}.icofont-cloudapp:before{content:"\ed26"}.icofont-concrete5:before{content:"\ed27"}.icofont-delicious:before{content:"\ed28"}.icofont-designbump:before{content:"\ed29"}.icofont-designfloat:before{content:"\ed2a"}.icofont-deviantart:before{content:"\ed2b"}.icofont-digg:before{content:"\ed2c"}.icofont-dotcms:before{content:"\ed2d"}.icofont-dribbble:before{content:"\ed2e"}.icofont-dribble:before{content:"\ed2f"}.icofont-dropbox:before{content:"\ed30"}.icofont-ebuddy:before{content:"\ed31"}.icofont-ello:before{content:"\ed32"}.icofont-ember:before{content:"\ed33"}.icofont-envato:before{content:"\ed34"}.icofont-evernote:before{content:"\ed35"}.icofont-facebook-messenger:before{content:"\ed36"}.icofont-facebook:before{content:"\ed37"}.icofont-feedburner:before{content:"\ed38"}.icofont-flikr:before{content:"\ed39"}.icofont-folkd:before{content:"\ed3a"}.icofont-foursquare:before{content:"\ed3b"}.icofont-friendfeed:before{content:"\ed3c"}.icofont-ghost:before{content:"\ed3d"}.icofont-github:before{content:"\ed3e"}.icofont-gnome:before{content:"\ed3f"}.icofont-google-buzz:before{content:"\ed40"}.icofont-google-hangouts:before{content:"\ed41"}.icofont-google-map:before{content:"\ed42"}.icofont-google-plus:before{content:"\ed43"}.icofont-google-talk:before{content:"\ed44"}.icofont-hype-machine:before{content:"\ed45"}.icofont-instagram:before{content:"\ed46"}.icofont-kakaotalk:before{content:"\ed47"}.icofont-kickstarter:before{content:"\ed48"}.icofont-kik:before{content:"\ed49"}.icofont-kiwibox:before{content:"\ed4a"}.icofont-line-messenger:before{content:"\ed4b"}.icofont-line:before{content:"\ed4c"}.icofont-linkedin:before{content:"\ed4d"}.icofont-linux-mint:before{content:"\ed4e"}.icofont-live-messenger:before{content:"\ed4f"}.icofont-livejournal:before{content:"\ed50"}.icofont-magento:before{content:"\ed51"}.icofont-meetme:before{content:"\ed52"}.icofont-meetup:before{content:"\ed53"}.icofont-mixx:before{content:"\ed54"}.icofont-newsvine:before{content:"\ed55"}.icofont-nimbuss:before{content:"\ed56"}.icofont-odnoklassniki:before{content:"\ed57"}.icofont-opencart:before{content:"\ed58"}.icofont-oscommerce:before{content:"\ed59"}.icofont-pandora:before{content:"\ed5a"}.icofont-photobucket:before{content:"\ed5b"}.icofont-picasa:before{content:"\ed5c"}.icofont-pinterest:before{content:"\ed5d"}.icofont-prestashop:before{content:"\ed5e"}.icofont-qik:before{content:"\ed5f"}.icofont-qq:before{content:"\ed60"}.icofont-readernaut:before{content:"\ed61"}.icofont-reddit:before{content:"\ed62"}.icofont-renren:before{content:"\ed63"}.icofont-rss:before{content:"\ed64"}.icofont-shopify:before{content:"\ed65"}.icofont-silverstripe:before{content:"\ed66"}.icofont-skype:before{content:"\ed67"}.icofont-slack:before{content:"\ed68"}.icofont-slashdot:before{content:"\ed69"}.icofont-slidshare:before{content:"\ed6a"}.icofont-smugmug:before{content:"\ed6b"}.icofont-snapchat:before{content:"\ed6c"}.icofont-soundcloud:before{content:"\ed6d"}.icofont-spotify:before{content:"\ed6e"}.icofont-stack-exchange:before{content:"\ed6f"}.icofont-stack-overflow:before{content:"\ed70"}.icofont-steam:before{content:"\ed71"}.icofont-stumbleupon:before{content:"\ed72"}.icofont-tagged:before{content:"\ed73"}.icofont-technorati:before{content:"\ed74"}.icofont-telegram:before{content:"\ed75"}.icofont-tinder:before{content:"\ed76"}.icofont-trello:before{content:"\ed77"}.icofont-tumblr:before{content:"\ed78"}.icofont-twitch:before{content:"\ed79"}.icofont-twitter:before{content:"\ed7a"}.icofont-typo3:before{content:"\ed7b"}.icofont-ubercart:before{content:"\ed7c"}.icofont-viber:before{content:"\ed7d"}.icofont-viddler:before{content:"\ed7e"}.icofont-vimeo:before{content:"\ed7f"}.icofont-vine:before{content:"\ed80"}.icofont-virb:before{content:"\ed81"}.icofont-virtuemart:before{content:"\ed82"}.icofont-vk:before{content:"\ed83"}.icofont-wechat:before{content:"\ed84"}.icofont-weibo:before{content:"\ed85"}.icofont-whatsapp:before{content:"\ed86"}.icofont-xing:before{content:"\ed87"}.icofont-yahoo:before{content:"\ed88"}.icofont-yelp:before{content:"\ed89"}.icofont-youku:before{content:"\ed8a"}.icofont-youtube:before{content:"\ed8b"}.icofont-zencart:before{content:"\ed8c"}.icofont-badminton-birdie:before{content:"\ed8d"}.icofont-baseball:before{content:"\ed8e"}.icofont-baseballer:before{content:"\ed8f"}.icofont-basketball-hoop:before{content:"\ed90"}.icofont-basketball:before{content:"\ed91"}.icofont-billiard-ball:before{content:"\ed92"}.icofont-boot-alt-1:before{content:"\ed93"}.icofont-boot-alt-2:before{content:"\ed94"}.icofont-boot:before{content:"\ed95"}.icofont-bowling-alt:before{content:"\ed96"}.icofont-bowling:before{content:"\ed97"}.icofont-canoe:before{content:"\ed98"}.icofont-cheer-leader:before{content:"\ed99"}.icofont-climbing:before{content:"\ed9a"}.icofont-corner:before{content:"\ed9b"}.icofont-field-alt:before{content:"\ed9c"}.icofont-field:before{content:"\ed9d"}.icofont-football-alt:before{content:"\ed9e"}.icofont-football-american:before{content:"\ed9f"}.icofont-football:before{content:"\eda0"}.icofont-foul:before{content:"\eda1"}.icofont-goal-keeper:before{content:"\eda2"}.icofont-goal:before{content:"\eda3"}.icofont-golf-alt:before{content:"\eda4"}.icofont-golf-bag:before{content:"\eda5"}.icofont-golf-cart:before{content:"\eda6"}.icofont-golf-field:before{content:"\eda7"}.icofont-golf:before{content:"\eda8"}.icofont-golfer:before{content:"\eda9"}.icofont-helmet:before{content:"\edaa"}.icofont-hockey-alt:before{content:"\edab"}.icofont-hockey:before{content:"\edac"}.icofont-ice-skate:before{content:"\edad"}.icofont-jersey-alt:before{content:"\edae"}.icofont-jersey:before{content:"\edaf"}.icofont-jumping:before{content:"\edb0"}.icofont-kick:before{content:"\edb1"}.icofont-leg:before{content:"\edb2"}.icofont-match-review:before{content:"\edb3"}.icofont-medal-sport:before{content:"\edb4"}.icofont-offside:before{content:"\edb5"}.icofont-olympic-logo:before{content:"\edb6"}.icofont-olympic:before{content:"\edb7"}.icofont-padding:before{content:"\edb8"}.icofont-penalty-card:before{content:"\edb9"}.icofont-racer:before{content:"\edba"}.icofont-racing-car:before{content:"\edbb"}.icofont-racing-flag-alt:before{content:"\edbc"}.icofont-racing-flag:before{content:"\edbd"}.icofont-racings-wheel:before{content:"\edbe"}.icofont-referee:before{content:"\edbf"}.icofont-refree-jersey:before{content:"\edc0"}.icofont-result-sport:before{content:"\edc1"}.icofont-rugby-ball:before{content:"\edc2"}.icofont-rugby-player:before{content:"\edc3"}.icofont-rugby:before{content:"\edc4"}.icofont-runner-alt-1:before{content:"\edc5"}.icofont-runner-alt-2:before{content:"\edc6"}.icofont-runner:before{content:"\edc7"}.icofont-score-board:before{content:"\edc8"}.icofont-skiing-man:before{content:"\edc9"}.icofont-skydiving-goggles:before{content:"\edca"}.icofont-snow-mobile:before{content:"\edcb"}.icofont-steering:before{content:"\edcc"}.icofont-stopwatch:before{content:"\edcd"}.icofont-substitute:before{content:"\edce"}.icofont-swimmer:before{content:"\edcf"}.icofont-table-tennis:before{content:"\edd0"}.icofont-team-alt:before{content:"\edd1"}.icofont-team:before{content:"\edd2"}.icofont-tennis-player:before{content:"\edd3"}.icofont-tennis:before{content:"\edd4"}.icofont-tracking:before{content:"\edd5"}.icofont-trophy-alt:before{content:"\edd6"}.icofont-trophy:before{content:"\edd7"}.icofont-volleyball-alt:before{content:"\edd8"}.icofont-volleyball-fire:before{content:"\edd9"}.icofont-volleyball:before{content:"\edda"}.icofont-water-bottle:before{content:"\eddb"}.icofont-whistle-alt:before{content:"\eddc"}.icofont-whistle:before{content:"\eddd"}.icofont-win-trophy:before{content:"\edde"}.icofont-align-center:before{content:"\eddf"}.icofont-align-left:before{content:"\ede0"}.icofont-align-right:before{content:"\ede1"}.icofont-all-caps:before{content:"\ede2"}.icofont-bold:before{content:"\ede3"}.icofont-brush:before{content:"\ede4"}.icofont-clip-board:before{content:"\ede5"}.icofont-code-alt:before{content:"\ede6"}.icofont-color-bucket:before{content:"\ede7"}.icofont-color-picker:before{content:"\ede8"}.icofont-copy-invert:before{content:"\ede9"}.icofont-copy:before{content:"\edea"}.icofont-cut:before{content:"\edeb"}.icofont-delete-alt:before{content:"\edec"}.icofont-edit-alt:before{content:"\eded"}.icofont-eraser-alt:before{content:"\edee"}.icofont-font:before{content:"\edef"}.icofont-heading:before{content:"\edf0"}.icofont-indent:before{content:"\edf1"}.icofont-italic-alt:before{content:"\edf2"}.icofont-italic:before{content:"\edf3"}.icofont-justify-all:before{content:"\edf4"}.icofont-justify-center:before{content:"\edf5"}.icofont-justify-left:before{content:"\edf6"}.icofont-justify-right:before{content:"\edf7"}.icofont-link-broken:before{content:"\edf8"}.icofont-outdent:before{content:"\edf9"}.icofont-paper-clip:before{content:"\edfa"}.icofont-paragraph:before{content:"\edfb"}.icofont-pin:before{content:"\edfc"}.icofont-printer:before{content:"\edfd"}.icofont-redo:before{content:"\edfe"}.icofont-rotation:before{content:"\edff"}.icofont-save:before{content:"\ee00"}.icofont-small-cap:before{content:"\ee01"}.icofont-strike-through:before{content:"\ee02"}.icofont-sub-listing:before{content:"\ee03"}.icofont-subscript:before{content:"\ee04"}.icofont-superscript:before{content:"\ee05"}.icofont-table:before{content:"\ee06"}.icofont-text-height:before{content:"\ee07"}.icofont-text-width:before{content:"\ee08"}.icofont-trash:before{content:"\ee09"}.icofont-underline:before{content:"\ee0a"}.icofont-undo:before{content:"\ee0b"}.icofont-air-balloon:before{content:"\ee0c"}.icofont-airplane-alt:before{content:"\ee0d"}.icofont-airplane:before{content:"\ee0e"}.icofont-articulated-truck:before{content:"\ee0f"}.icofont-auto-mobile:before{content:"\ee10"}.icofont-auto-rickshaw:before{content:"\ee11"}.icofont-bicycle-alt-1:before{content:"\ee12"}.icofont-bicycle-alt-2:before{content:"\ee13"}.icofont-bicycle:before{content:"\ee14"}.icofont-bus-alt-1:before{content:"\ee15"}.icofont-bus-alt-2:before{content:"\ee16"}.icofont-bus-alt-3:before{content:"\ee17"}.icofont-bus:before{content:"\ee18"}.icofont-cab:before{content:"\ee19"}.icofont-cable-car:before{content:"\ee1a"}.icofont-car-alt-1:before{content:"\ee1b"}.icofont-car-alt-2:before{content:"\ee1c"}.icofont-car-alt-3:before{content:"\ee1d"}.icofont-car-alt-4:before{content:"\ee1e"}.icofont-car:before{content:"\ee1f"}.icofont-delivery-time:before{content:"\ee20"}.icofont-fast-delivery:before{content:"\ee21"}.icofont-fire-truck-alt:before{content:"\ee22"}.icofont-fire-truck:before{content:"\ee23"}.icofont-free-delivery:before{content:"\ee24"}.icofont-helicopter:before{content:"\ee25"}.icofont-motor-bike-alt:before{content:"\ee26"}.icofont-motor-bike:before{content:"\ee27"}.icofont-motor-biker:before{content:"\ee28"}.icofont-oil-truck:before{content:"\ee29"}.icofont-rickshaw:before{content:"\ee2a"}.icofont-rocket-alt-1:before{content:"\ee2b"}.icofont-rocket-alt-2:before{content:"\ee2c"}.icofont-rocket:before{content:"\ee2d"}.icofont-sail-boat-alt-1:before{content:"\ee2e"}.icofont-sail-boat-alt-2:before{content:"\ee2f"}.icofont-sail-boat:before{content:"\ee30"}.icofont-scooter:before{content:"\ee31"}.icofont-sea-plane:before{content:"\ee32"}.icofont-ship-alt:before{content:"\ee33"}.icofont-ship:before{content:"\ee34"}.icofont-speed-boat:before{content:"\ee35"}.icofont-taxi:before{content:"\ee36"}.icofont-tractor:before{content:"\ee37"}.icofont-train-line:before{content:"\ee38"}.icofont-train-steam:before{content:"\ee39"}.icofont-tram:before{content:"\ee3a"}.icofont-truck-alt:before{content:"\ee3b"}.icofont-truck-loaded:before{content:"\ee3c"}.icofont-truck:before{content:"\ee3d"}.icofont-van-alt:before{content:"\ee3e"}.icofont-van:before{content:"\ee3f"}.icofont-yacht:before{content:"\ee40"}.icofont-5-star-hotel:before{content:"\ee41"}.icofont-air-ticket:before{content:"\ee42"}.icofont-beach-bed:before{content:"\ee43"}.icofont-beach:before{content:"\ee44"}.icofont-camping-vest:before{content:"\ee45"}.icofont-direction-sign:before{content:"\ee46"}.icofont-hill-side:before{content:"\ee47"}.icofont-hill:before{content:"\ee48"}.icofont-hotel:before{content:"\ee49"}.icofont-island-alt:before{content:"\ee4a"}.icofont-island:before{content:"\ee4b"}.icofont-sandals-female:before{content:"\ee4c"}.icofont-sandals-male:before{content:"\ee4d"}.icofont-travelling:before{content:"\ee4e"}.icofont-breakdown:before{content:"\ee4f"}.icofont-celsius:before{content:"\ee50"}.icofont-clouds:before{content:"\ee51"}.icofont-cloudy:before{content:"\ee52"}.icofont-dust:before{content:"\ee53"}.icofont-eclipse:before{content:"\ee54"}.icofont-fahrenheit:before{content:"\ee55"}.icofont-forest-fire:before{content:"\ee56"}.icofont-full-night:before{content:"\ee57"}.icofont-full-sunny:before{content:"\ee58"}.icofont-hail-night:before{content:"\ee59"}.icofont-hail-rainy-night:before{content:"\ee5a"}.icofont-hail-rainy-sunny:before{content:"\ee5b"}.icofont-hail-rainy:before{content:"\ee5c"}.icofont-hail-sunny:before{content:"\ee5d"}.icofont-hail-thunder-night:before{content:"\ee5e"}.icofont-hail-thunder-sunny:before{content:"\ee5f"}.icofont-hail-thunder:before{content:"\ee60"}.icofont-hail:before{content:"\ee61"}.icofont-hill-night:before{content:"\ee62"}.icofont-hill-sunny:before{content:"\ee63"}.icofont-hurricane:before{content:"\ee64"}.icofont-meteor:before{content:"\ee65"}.icofont-night:before{content:"\ee66"}.icofont-rainy-night:before{content:"\ee67"}.icofont-rainy-sunny:before{content:"\ee68"}.icofont-rainy-thunder:before{content:"\ee69"}.icofont-rainy:before{content:"\ee6a"}.icofont-snow-alt:before{content:"\ee6b"}.icofont-snow-flake:before{content:"\ee6c"}.icofont-snow-temp:before{content:"\ee6d"}.icofont-snow:before{content:"\ee6e"}.icofont-snowy-hail:before{content:"\ee6f"}.icofont-snowy-night-hail:before{content:"\ee70"}.icofont-snowy-night-rainy:before{content:"\ee71"}.icofont-snowy-night:before{content:"\ee72"}.icofont-snowy-rainy:before{content:"\ee73"}.icofont-snowy-sunny-hail:before{content:"\ee74"}.icofont-snowy-sunny-rainy:before{content:"\ee75"}.icofont-snowy-sunny:before{content:"\ee76"}.icofont-snowy-thunder-night:before{content:"\ee77"}.icofont-snowy-thunder-sunny:before{content:"\ee78"}.icofont-snowy-thunder:before{content:"\ee79"}.icofont-snowy-windy-night:before{content:"\ee7a"}.icofont-snowy-windy-sunny:before{content:"\ee7b"}.icofont-snowy-windy:before{content:"\ee7c"}.icofont-snowy:before{content:"\ee7d"}.icofont-sun-alt:before{content:"\ee7e"}.icofont-sun-rise:before{content:"\ee7f"}.icofont-sun-set:before{content:"\ee80"}.icofont-sun:before{content:"\ee81"}.icofont-sunny-day-temp:before{content:"\ee82"}.icofont-sunny:before{content:"\ee83"}.icofont-thunder-light:before{content:"\ee84"}.icofont-tornado:before{content:"\ee85"}.icofont-umbrella-alt:before{content:"\ee86"}.icofont-umbrella:before{content:"\ee87"}.icofont-volcano:before{content:"\ee88"}.icofont-wave:before{content:"\ee89"}.icofont-wind-scale-0:before{content:"\ee8a"}.icofont-wind-scale-1:before{content:"\ee8b"}.icofont-wind-scale-10:before{content:"\ee8c"}.icofont-wind-scale-11:before{content:"\ee8d"}.icofont-wind-scale-12:before{content:"\ee8e"}.icofont-wind-scale-2:before{content:"\ee8f"}.icofont-wind-scale-3:before{content:"\ee90"}.icofont-wind-scale-4:before{content:"\ee91"}.icofont-wind-scale-5:before{content:"\ee92"}.icofont-wind-scale-6:before{content:"\ee93"}.icofont-wind-scale-7:before{content:"\ee94"}.icofont-wind-scale-8:before{content:"\ee95"}.icofont-wind-scale-9:before{content:"\ee96"}.icofont-wind-waves:before{content:"\ee97"}.icofont-wind:before{content:"\ee98"}.icofont-windy-hail:before{content:"\ee99"}.icofont-windy-night:before{content:"\ee9a"}.icofont-windy-raining:before{content:"\ee9b"}.icofont-windy-sunny:before{content:"\ee9c"}.icofont-windy-thunder-raining:before{content:"\ee9d"}.icofont-windy-thunder:before{content:"\ee9e"}.icofont-windy:before{content:"\ee9f"}.icofont-addons:before{content:"\eea0"}.icofont-address-book:before{content:"\eea1"}.icofont-adjust:before{content:"\eea2"}.icofont-alarm:before{content:"\eea3"}.icofont-anchor:before{content:"\eea4"}.icofont-archive:before{content:"\eea5"}.icofont-at:before{content:"\eea6"}.icofont-attachment:before{content:"\eea7"}.icofont-audio:before{content:"\eea8"}.icofont-automation:before{content:"\eea9"}.icofont-badge:before{content:"\eeaa"}.icofont-bag-alt:before{content:"\eeab"}.icofont-bag:before{content:"\eeac"}.icofont-ban:before{content:"\eead"}.icofont-bar-code:before{content:"\eeae"}.icofont-bars:before{content:"\eeaf"}.icofont-basket:before{content:"\eeb0"}.icofont-battery-empty:before{content:"\eeb1"}.icofont-battery-full:before{content:"\eeb2"}.icofont-battery-half:before{content:"\eeb3"}.icofont-battery-low:before{content:"\eeb4"}.icofont-beaker:before{content:"\eeb5"}.icofont-beard:before{content:"\eeb6"}.icofont-bed:before{content:"\eeb7"}.icofont-bell:before{content:"\eeb8"}.icofont-beverage:before{content:"\eeb9"}.icofont-bill:before{content:"\eeba"}.icofont-bin:before{content:"\eebb"}.icofont-binary:before{content:"\eebc"}.icofont-binoculars:before{content:"\eebd"}.icofont-bluetooth:before{content:"\eebe"}.icofont-bomb:before{content:"\eebf"}.icofont-book-mark:before{content:"\eec0"}.icofont-box:before{content:"\eec1"}.icofont-briefcase:before{content:"\eec2"}.icofont-broken:before{content:"\eec3"}.icofont-bucket:before{content:"\eec4"}.icofont-bucket1:before{content:"\eec5"}.icofont-bucket2:before{content:"\eec6"}.icofont-bug:before{content:"\eec7"}.icofont-building:before{content:"\eec8"}.icofont-bulb-alt:before{content:"\eec9"}.icofont-bullet:before{content:"\eeca"}.icofont-bullhorn:before{content:"\eecb"}.icofont-bullseye:before{content:"\eecc"}.icofont-calendar:before{content:"\eecd"}.icofont-camera-alt:before{content:"\eece"}.icofont-camera:before{content:"\eecf"}.icofont-card:before{content:"\eed0"}.icofont-cart-alt:before{content:"\eed1"}.icofont-cart:before{content:"\eed2"}.icofont-cc:before{content:"\eed3"}.icofont-charging:before{content:"\eed4"}.icofont-chat:before{content:"\eed5"}.icofont-check-alt:before{content:"\eed6"}.icofont-check-circled:before{content:"\eed7"}.icofont-check:before{content:"\eed8"}.icofont-checked:before{content:"\eed9"}.icofont-children-care:before{content:"\eeda"}.icofont-clip:before{content:"\eedb"}.icofont-clock-time:before{content:"\eedc"}.icofont-close-circled:before{content:"\eedd"}.icofont-close-line-circled:before{content:"\eede"}.icofont-close-line-squared-alt:before{content:"\eedf"}.icofont-close-line-squared:before{content:"\eee0"}.icofont-close-line:before{content:"\eee1"}.icofont-close-squared-alt:before{content:"\eee2"}.icofont-close-squared:before{content:"\eee3"}.icofont-close:before{content:"\eee4"}.icofont-cloud-download:before{content:"\eee5"}.icofont-cloud-refresh:before{content:"\eee6"}.icofont-cloud-upload:before{content:"\eee7"}.icofont-cloud:before{content:"\eee8"}.icofont-code-not-allowed:before{content:"\eee9"}.icofont-code:before{content:"\eeea"}.icofont-comment:before{content:"\eeeb"}.icofont-compass-alt:before{content:"\eeec"}.icofont-compass:before{content:"\eeed"}.icofont-computer:before{content:"\eeee"}.icofont-connection:before{content:"\eeef"}.icofont-console:before{content:"\eef0"}.icofont-contacts:before{content:"\eef1"}.icofont-contrast:before{content:"\eef2"}.icofont-copyright:before{content:"\eef3"}.icofont-credit-card:before{content:"\eef4"}.icofont-crop:before{content:"\eef5"}.icofont-crown:before{content:"\eef6"}.icofont-cube:before{content:"\eef7"}.icofont-cubes:before{content:"\eef8"}.icofont-dashboard-web:before{content:"\eef9"}.icofont-dashboard:before{content:"\eefa"}.icofont-data:before{content:"\eefb"}.icofont-database-add:before{content:"\eefc"}.icofont-database-locked:before{content:"\eefd"}.icofont-database-remove:before{content:"\eefe"}.icofont-database:before{content:"\eeff"}.icofont-delete:before{content:"\ef00"}.icofont-diamond:before{content:"\ef01"}.icofont-dice-multiple:before{content:"\ef02"}.icofont-dice:before{content:"\ef03"}.icofont-disc:before{content:"\ef04"}.icofont-diskette:before{content:"\ef05"}.icofont-document-folder:before{content:"\ef06"}.icofont-download-alt:before{content:"\ef07"}.icofont-download:before{content:"\ef08"}.icofont-downloaded:before{content:"\ef09"}.icofont-drag:before{content:"\ef0a"}.icofont-drag1:before{content:"\ef0b"}.icofont-drag2:before{content:"\ef0c"}.icofont-drag3:before{content:"\ef0d"}.icofont-earth:before{content:"\ef0e"}.icofont-ebook:before{content:"\ef0f"}.icofont-edit:before{content:"\ef10"}.icofont-eject:before{content:"\ef11"}.icofont-email:before{content:"\ef12"}.icofont-envelope-open:before{content:"\ef13"}.icofont-envelope:before{content:"\ef14"}.icofont-eraser:before{content:"\ef15"}.icofont-error:before{content:"\ef16"}.icofont-excavator:before{content:"\ef17"}.icofont-exchange:before{content:"\ef18"}.icofont-exclamation-circle:before{content:"\ef19"}.icofont-exclamation-square:before{content:"\ef1a"}.icofont-exclamation-tringle:before{content:"\ef1b"}.icofont-exclamation:before{content:"\ef1c"}.icofont-exit:before{content:"\ef1d"}.icofont-expand:before{content:"\ef1e"}.icofont-external-link:before{content:"\ef1f"}.icofont-external:before{content:"\ef20"}.icofont-eye-alt:before{content:"\ef21"}.icofont-eye-blocked:before{content:"\ef22"}.icofont-eye-dropper:before{content:"\ef23"}.icofont-eye:before{content:"\ef24"}.icofont-favourite:before{content:"\ef25"}.icofont-fax:before{content:"\ef26"}.icofont-file-fill:before{content:"\ef27"}.icofont-film:before{content:"\ef28"}.icofont-filter:before{content:"\ef29"}.icofont-fire-alt:before{content:"\ef2a"}.icofont-fire-burn:before{content:"\ef2b"}.icofont-fire:before{content:"\ef2c"}.icofont-flag-alt-1:before{content:"\ef2d"}.icofont-flag-alt-2:before{content:"\ef2e"}.icofont-flag:before{content:"\ef2f"}.icofont-flame-torch:before{content:"\ef30"}.icofont-flash-light:before{content:"\ef31"}.icofont-flash:before{content:"\ef32"}.icofont-flask:before{content:"\ef33"}.icofont-focus:before{content:"\ef34"}.icofont-folder-open:before{content:"\ef35"}.icofont-folder:before{content:"\ef36"}.icofont-foot-print:before{content:"\ef37"}.icofont-garbage:before{content:"\ef38"}.icofont-gear-alt:before{content:"\ef39"}.icofont-gear:before{content:"\ef3a"}.icofont-gears:before{content:"\ef3b"}.icofont-gift:before{content:"\ef3c"}.icofont-glass:before{content:"\ef3d"}.icofont-globe:before{content:"\ef3e"}.icofont-graffiti:before{content:"\ef3f"}.icofont-grocery:before{content:"\ef40"}.icofont-hand:before{content:"\ef41"}.icofont-hanger:before{content:"\ef42"}.icofont-hard-disk:before{content:"\ef43"}.icofont-heart-alt:before{content:"\ef44"}.icofont-heart:before{content:"\ef45"}.icofont-history:before{content:"\ef46"}.icofont-home:before{content:"\ef47"}.icofont-horn:before{content:"\ef48"}.icofont-hour-glass:before{content:"\ef49"}.icofont-id:before{content:"\ef4a"}.icofont-image:before{content:"\ef4b"}.icofont-inbox:before{content:"\ef4c"}.icofont-infinite:before{content:"\ef4d"}.icofont-info-circle:before{content:"\ef4e"}.icofont-info-square:before{content:"\ef4f"}.icofont-info:before{content:"\ef50"}.icofont-institution:before{content:"\ef51"}.icofont-interface:before{content:"\ef52"}.icofont-invisible:before{content:"\ef53"}.icofont-jacket:before{content:"\ef54"}.icofont-jar:before{content:"\ef55"}.icofont-jewlery:before{content:"\ef56"}.icofont-karate:before{content:"\ef57"}.icofont-key-hole:before{content:"\ef58"}.icofont-key:before{content:"\ef59"}.icofont-label:before{content:"\ef5a"}.icofont-lamp:before{content:"\ef5b"}.icofont-layers:before{content:"\ef5c"}.icofont-layout:before{content:"\ef5d"}.icofont-leaf:before{content:"\ef5e"}.icofont-leaflet:before{content:"\ef5f"}.icofont-learn:before{content:"\ef60"}.icofont-lego:before{content:"\ef61"}.icofont-lens:before{content:"\ef62"}.icofont-letter:before{content:"\ef63"}.icofont-letterbox:before{content:"\ef64"}.icofont-library:before{content:"\ef65"}.icofont-license:before{content:"\ef66"}.icofont-life-bouy:before{content:"\ef67"}.icofont-life-buoy:before{content:"\ef68"}.icofont-life-jacket:before{content:"\ef69"}.icofont-life-ring:before{content:"\ef6a"}.icofont-light-bulb:before{content:"\ef6b"}.icofont-lighter:before{content:"\ef6c"}.icofont-lightning-ray:before{content:"\ef6d"}.icofont-like:before{content:"\ef6e"}.icofont-line-height:before{content:"\ef6f"}.icofont-link-alt:before{content:"\ef70"}.icofont-link:before{content:"\ef71"}.icofont-list:before{content:"\ef72"}.icofont-listening:before{content:"\ef73"}.icofont-listine-dots:before{content:"\ef74"}.icofont-listing-box:before{content:"\ef75"}.icofont-listing-number:before{content:"\ef76"}.icofont-live-support:before{content:"\ef77"}.icofont-location-arrow:before{content:"\ef78"}.icofont-location-pin:before{content:"\ef79"}.icofont-lock:before{content:"\ef7a"}.icofont-login:before{content:"\ef7b"}.icofont-logout:before{content:"\ef7c"}.icofont-lollipop:before{content:"\ef7d"}.icofont-long-drive:before{content:"\ef7e"}.icofont-look:before{content:"\ef7f"}.icofont-loop:before{content:"\ef80"}.icofont-luggage:before{content:"\ef81"}.icofont-lunch:before{content:"\ef82"}.icofont-lungs:before{content:"\ef83"}.icofont-magic-alt:before{content:"\ef84"}.icofont-magic:before{content:"\ef85"}.icofont-magnet:before{content:"\ef86"}.icofont-mail-box:before{content:"\ef87"}.icofont-mail:before{content:"\ef88"}.icofont-male:before{content:"\ef89"}.icofont-map-pins:before{content:"\ef8a"}.icofont-map:before{content:"\ef8b"}.icofont-maximize:before{content:"\ef8c"}.icofont-measure:before{content:"\ef8d"}.icofont-medicine:before{content:"\ef8e"}.icofont-mega-phone:before{content:"\ef8f"}.icofont-megaphone-alt:before{content:"\ef90"}.icofont-megaphone:before{content:"\ef91"}.icofont-memorial:before{content:"\ef92"}.icofont-memory-card:before{content:"\ef93"}.icofont-mic-mute:before{content:"\ef94"}.icofont-mic:before{content:"\ef95"}.icofont-military:before{content:"\ef96"}.icofont-mill:before{content:"\ef97"}.icofont-minus-circle:before{content:"\ef98"}.icofont-minus-square:before{content:"\ef99"}.icofont-minus:before{content:"\ef9a"}.icofont-mobile-phone:before{content:"\ef9b"}.icofont-molecule:before{content:"\ef9c"}.icofont-money:before{content:"\ef9d"}.icofont-moon:before{content:"\ef9e"}.icofont-mop:before{content:"\ef9f"}.icofont-muffin:before{content:"\efa0"}.icofont-mustache:before{content:"\efa1"}.icofont-navigation-menu:before{content:"\efa2"}.icofont-navigation:before{content:"\efa3"}.icofont-network-tower:before{content:"\efa4"}.icofont-network:before{content:"\efa5"}.icofont-news:before{content:"\efa6"}.icofont-newspaper:before{content:"\efa7"}.icofont-no-smoking:before{content:"\efa8"}.icofont-not-allowed:before{content:"\efa9"}.icofont-notebook:before{content:"\efaa"}.icofont-notepad:before{content:"\efab"}.icofont-notification:before{content:"\efac"}.icofont-numbered:before{content:"\efad"}.icofont-opposite:before{content:"\efae"}.icofont-optic:before{content:"\efaf"}.icofont-options:before{content:"\efb0"}.icofont-package:before{content:"\efb1"}.icofont-page:before{content:"\efb2"}.icofont-paint:before{content:"\efb3"}.icofont-paper-plane:before{content:"\efb4"}.icofont-paperclip:before{content:"\efb5"}.icofont-papers:before{content:"\efb6"}.icofont-pay:before{content:"\efb7"}.icofont-penguin-linux:before{content:"\efb8"}.icofont-pestle:before{content:"\efb9"}.icofont-phone-circle:before{content:"\efba"}.icofont-phone:before{content:"\efbb"}.icofont-picture:before{content:"\efbc"}.icofont-pine:before{content:"\efbd"}.icofont-pixels:before{content:"\efbe"}.icofont-plugin:before{content:"\efbf"}.icofont-plus-circle:before{content:"\efc0"}.icofont-plus-square:before{content:"\efc1"}.icofont-plus:before{content:"\efc2"}.icofont-polygonal:before{content:"\efc3"}.icofont-power:before{content:"\efc4"}.icofont-price:before{content:"\efc5"}.icofont-print:before{content:"\efc6"}.icofont-puzzle:before{content:"\efc7"}.icofont-qr-code:before{content:"\efc8"}.icofont-queen:before{content:"\efc9"}.icofont-question-circle:before{content:"\efca"}.icofont-question-square:before{content:"\efcb"}.icofont-question:before{content:"\efcc"}.icofont-quote-left:before{content:"\efcd"}.icofont-quote-right:before{content:"\efce"}.icofont-random:before{content:"\efcf"}.icofont-recycle:before{content:"\efd0"}.icofont-refresh:before{content:"\efd1"}.icofont-repair:before{content:"\efd2"}.icofont-reply-all:before{content:"\efd3"}.icofont-reply:before{content:"\efd4"}.icofont-resize:before{content:"\efd5"}.icofont-responsive:before{content:"\efd6"}.icofont-retweet:before{content:"\efd7"}.icofont-road:before{content:"\efd8"}.icofont-robot:before{content:"\efd9"}.icofont-royal:before{content:"\efda"}.icofont-rss-feed:before{content:"\efdb"}.icofont-safety:before{content:"\efdc"}.icofont-sale-discount:before{content:"\efdd"}.icofont-satellite:before{content:"\efde"}.icofont-send-mail:before{content:"\efdf"}.icofont-server:before{content:"\efe0"}.icofont-settings-alt:before{content:"\efe1"}.icofont-settings:before{content:"\efe2"}.icofont-share-alt:before{content:"\efe3"}.icofont-share-boxed:before{content:"\efe4"}.icofont-share:before{content:"\efe5"}.icofont-shield:before{content:"\efe6"}.icofont-shopping-cart:before{content:"\efe7"}.icofont-sign-in:before{content:"\efe8"}.icofont-sign-out:before{content:"\efe9"}.icofont-signal:before{content:"\efea"}.icofont-site-map:before{content:"\efeb"}.icofont-smart-phone:before{content:"\efec"}.icofont-soccer:before{content:"\efed"}.icofont-sort-alt:before{content:"\efee"}.icofont-sort:before{content:"\efef"}.icofont-space:before{content:"\eff0"}.icofont-spanner:before{content:"\eff1"}.icofont-speech-comments:before{content:"\eff2"}.icofont-speed-meter:before{content:"\eff3"}.icofont-spinner-alt-1:before{content:"\eff4"}.icofont-spinner-alt-2:before{content:"\eff5"}.icofont-spinner-alt-3:before{content:"\eff6"}.icofont-spinner-alt-4:before{content:"\eff7"}.icofont-spinner-alt-5:before{content:"\eff8"}.icofont-spinner-alt-6:before{content:"\eff9"}.icofont-spinner:before{content:"\effa"}.icofont-spreadsheet:before{content:"\effb"}.icofont-square:before{content:"\effc"}.icofont-ssl-security:before{content:"\effd"}.icofont-star-alt-1:before{content:"\effe"}.icofont-star-alt-2:before{content:"\efff"}.icofont-star:before{content:"\f000"}.icofont-street-view:before{content:"\f001"}.icofont-support-faq:before{content:"\f002"}.icofont-tack-pin:before{content:"\f003"}.icofont-tag:before{content:"\f004"}.icofont-tags:before{content:"\f005"}.icofont-tasks-alt:before{content:"\f006"}.icofont-tasks:before{content:"\f007"}.icofont-telephone:before{content:"\f008"}.icofont-telescope:before{content:"\f009"}.icofont-terminal:before{content:"\f00a"}.icofont-thumbs-down:before{content:"\f00b"}.icofont-thumbs-up:before{content:"\f00c"}.icofont-tick-boxed:before{content:"\f00d"}.icofont-tick-mark:before{content:"\f00e"}.icofont-ticket:before{content:"\f00f"}.icofont-tie:before{content:"\f010"}.icofont-toggle-off:before{content:"\f011"}.icofont-toggle-on:before{content:"\f012"}.icofont-tools-alt-2:before{content:"\f013"}.icofont-tools:before{content:"\f014"}.icofont-touch:before{content:"\f015"}.icofont-traffic-light:before{content:"\f016"}.icofont-transparent:before{content:"\f017"}.icofont-tree:before{content:"\f018"}.icofont-unique-idea:before{content:"\f019"}.icofont-unlock:before{content:"\f01a"}.icofont-unlocked:before{content:"\f01b"}.icofont-upload-alt:before{content:"\f01c"}.icofont-upload:before{content:"\f01d"}.icofont-usb-drive:before{content:"\f01e"}.icofont-usb:before{content:"\f01f"}.icofont-vector-path:before{content:"\f020"}.icofont-verification-check:before{content:"\f021"}.icofont-wall-clock:before{content:"\f022"}.icofont-wall:before{content:"\f023"}.icofont-wallet:before{content:"\f024"}.icofont-warning-alt:before{content:"\f025"}.icofont-warning:before{content:"\f026"}.icofont-water-drop:before{content:"\f027"}.icofont-web:before{content:"\f028"}.icofont-wheelchair:before{content:"\f029"}.icofont-wifi-alt:before{content:"\f02a"}.icofont-wifi:before{content:"\f02b"}.icofont-world:before{content:"\f02c"}.icofont-zigzag:before{content:"\f02d"}.icofont-zipped:before{content:"\f02e"}.icofont-xs{font-size:.5em}.icofont-sm{font-size:.75em}.icofont-md{font-size:1.25em}.icofont-lg{font-size:1.5em}.icofont-1x{font-size:1em}.icofont-2x{font-size:2em}.icofont-3x{font-size:3em}.icofont-4x{font-size:4em}.icofont-5x{font-size:5em}.icofont-6x{font-size:6em}.icofont-7x{font-size:7em}.icofont-8x{font-size:8em}.icofont-9x{font-size:9em}.icofont-10x{font-size:10em}.icofont-fw{text-align:center;width:1.25em}.icofont-ul{list-style-type:none;padding-left:0;margin-left:0}.icofont-ul>li{position:relative;line-height:2em}.icofont-ul>li .icofont{display:inline-block;vertical-align:middle}.icofont-border{border:solid .08em #f1f1f1;border-radius:.1em;padding:.2em .25em .15em}.icofont-pull-left{float:left}.icofont-pull-right{float:right}.icofont.icofont-pull-left{margin-right:.3em}.icofont.icofont-pull-right{margin-left:.3em}.icofont-spin{-webkit-animation:icofont-spin 2s infinite linear;animation:icofont-spin 2s infinite linear;display:inline-block}.icofont-pulse{-webkit-animation:icofont-spin 1s infinite steps(8);animation:icofont-spin 1s infinite steps(8);display:inline-block}@-webkit-keyframes icofont-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icofont-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.icofont-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.icofont-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.icofont-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.icofont-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.icofont-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.icofont-flip-horizontal.icofont-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .icofont-flip-horizontal,:root .icofont-flip-vertical,:root .icofont-rotate-180,:root .icofont-rotate-270,:root .icofont-rotate-90{-webkit-filter:none;filter:none;display:inline-block}.icofont-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/css/jquery.fullPage.css b/web/html/theme/FT_WEB20/css/jquery.fullPage.css new file mode 100644 index 0000000..b9cea1c --- /dev/null +++ b/web/html/theme/FT_WEB20/css/jquery.fullPage.css @@ -0,0 +1,263 @@ +/*! + * fullPage 2.9.7 + * https://github.com/alvarotrigo/fullPage.js + * MIT licensed + * + * Copyright (C) 2013 alvarotrigo.com - A project by Alvaro Trigo + */ + html.fp-enabled, + .fp-enabled body { + margin: 0; + padding: 0; + overflow:hidden; + + /*Avoid flicker on slides transitions for mobile phones #336 */ + -webkit-tap-highlight-color: rgba(0,0,0,0); + } + .fp-section { + position: relative; + -webkit-box-sizing: border-box; /* Safari<=5 Android<=3 */ + -moz-box-sizing: border-box; /* <=28 */ + box-sizing: border-box; + } + .fp-slide { + float: left; + } + .fp-slide, .fp-slidesContainer { + height: 100%; + display: block; + } + .fp-slides { + z-index:1; + height: 100%; + overflow: hidden; + position: relative; + -webkit-transition: all 0.3s ease-out; /* Safari<=6 Android<=4.3 */ + transition: all 0.3s ease-out; + } + .fp-section.fp-table, .fp-slide.fp-table { + display: table; + table-layout:fixed; + width: 100%; + } + .fp-tableCell { + display: table-cell; + vertical-align: middle; + width: 100%; + height: 100%; + } + .fp-slidesContainer { + float: left; + position: relative; + } + .fp-controlArrow { + -webkit-user-select: none; /* webkit (safari, chrome) browsers */ + -moz-user-select: none; /* mozilla browsers */ + -khtml-user-select: none; /* webkit (konqueror) browsers */ + -ms-user-select: none; /* IE10+ */ + position: absolute; + z-index: 4; + top: 50%; + cursor: pointer; + width: 0; + height: 0; + border-style: solid; + margin-top: -38px; + -webkit-transform: translate3d(0,0,0); + -ms-transform: translate3d(0,0,0); + transform: translate3d(0,0,0); + } + .fp-controlArrow.fp-prev { + left: 15px; + width: 0; + border-width: 38.5px 34px 38.5px 0; + border-color: transparent #fff transparent transparent; + } + .fp-controlArrow.fp-next { + right: 15px; + border-width: 38.5px 0 38.5px 34px; + border-color: transparent transparent transparent #fff; + } + .fp-scrollable { + overflow: hidden; + position: relative; + } + .fp-scroller{ + overflow: hidden; + } + .iScrollIndicator{ + border: 0 !important; + } + .fp-notransition { + -webkit-transition: none !important; + transition: none !important; + } + + +/* nav custom */ + + #fp-nav { + position: fixed; + z-index: 100; + top:50%; + right:20px; + opacity: 1; + width:100px; + } + #fp-nav.last{ + right: -300px !important; + } + #fp-nav.fp-right { + right: 50px; + } + #fp-nav.fp-left { + left: 50px; + } + + #fp-nav ul { + margin: 0; + padding: 0; + } + + #fp-nav ul li{ + display: block; + width:20px; + height:20px; + margin:15px 0; + position:relative; + } + + #fp-nav ul li a { + display: block; + position: relative; + z-index: 1; + width: 100%; + height: 100%; + cursor: pointer; + text-decoration: none; + } + #fp-nav ul li a:before{ + content: ''; + display: block; + width:20px; + height:20px; + border:1px solid #fff; + border-radius: 100%; + position: absolute; + left: 52%; + top: 52%; + transform: translate(-50%,-50%) scale(0); + transition: all 0.25s ease; + } + #fp-nav.color ul li a.active::before{ + border:1px solid #333; + } + #fp-nav.color ul li a.active::before{ + border:1px solid #333; + } + #fp-nav.color ul li a span { + background:#333; + } + /* 덮이는 영역잡기 -> 클릭범위 늘리기 */ + #fp-nav ul li a:after{ + content: ''; + display: block; + height: 30px; + position: absolute; + right: 0%; + top: 0%; + } + /* 테두리원그리기 */ + #fp-nav ul li a.active:before{ + transform: translate(-50%,-50%) scale(1); +} + #fp-nav ul li a.active span, + #fp-nav ul li:hover a.active span{ + height:5px; + width:5px; + margin: -2px 0 0 -2px; + border-radius: 100%; + opacity: 1; + } + #fp-nav ul li a span{ + border-radius: 50%; + position: absolute; + z-index: 1; + height:5px; + width:5px; + border: 0; + background: #fff; + left: 50%; + top: 50%; + opacity: 0.5; + margin: -2px 0 0 -2px; + -webkit-transition: all 0.25s ease; + -moz-transition: all 0.25s ease; + -o-transition: all 0.25s ease; + transition: all 0.25s ease; + } + #fp-nav ul li:hover a span{ + width: 8px; + height: 8px; + margin: -2px 0px 0px -2px; + } + #fp-nav.black ul li a span{background-color:#555} + #fp-nav.black ul li a.active{border-color:#555} + + #fp-nav ul li .fp-tooltip { + position: absolute; + top:20%; + color: #fff; + font-size: 14px; + font-family: "Roboto","Noto Sans KR"; + white-space: nowrap; + max-width: 220px; + overflow: hidden; + display: block; + opacity: 0.5; + width: auto; + cursor: pointer; + transform:translateX(-80px); + } + #fp-nav ul li .fp-tooltip.active { + opacity:1; + } + #fp-nav ul li:hover .fp-tooltip, + #fp-nav.fp-show-active a.active + .fp-tooltip { + -webkit-transition: opacity 0.2s ease-in; + transition: opacity 0.2s ease-in; + width: auto; + opacity: 1; + } + #fp-nav ul li .fp-tooltip.fp-right { + right: 50px; + } + #fp-nav ul li .fp-tooltip.fp-left { + left: 20px; + } + .fp-auto-height.fp-section, + .fp-auto-height .fp-slide, + .fp-auto-height .fp-tableCell{ + height: auto !important; + } + + .fp-responsive .fp-auto-height-responsive.fp-section, + .fp-responsive .fp-auto-height-responsive .fp-slide, + .fp-responsive .fp-auto-height-responsive .fp-tableCell { + height: auto !important; + } + + /*Only display content to screen readers*/ + .fp-sr-only{ + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; + } + #fp-nav li:last-child{ + display: none; +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/css/main.css b/web/html/theme/FT_WEB20/css/main.css new file mode 100644 index 0000000..0ec4058 --- /dev/null +++ b/web/html/theme/FT_WEB20/css/main.css @@ -0,0 +1,1136 @@ +@import url('//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css'); +@import url('https://fonts.googleapis.com/css2?family=Play:wght@400;700&display=swap'); +* { + padding:0; + margin:0; + list-style:none; + text-decoration:none; +} +.clearfix { + display:block; + clear:both; +} +.background { + background-size:cover; + background-position:center; + background-repeat:no-repeat; +} +.site-map{ + position: fixed; + top:50%;transform: translateY(-50%); + right: 0; + z-index: 99999999; + width:180px; +} +.site-map ul{ + width:100%; + display: flex;flex-flow: row wrap; + align-content: center; + justify-content: center; +} +.site-map ul li{ + width:100%; +} +.site-map ul li:not(:nth-of-type(1)){ + margin-top:20px; +} +.site-map ul li a{ + width:100%; + font-size: 20px; + display: inline-flex; + align-items: center; + color:#ddd; + justify-content: flex-end; +} +.site-map ul .on a{ + color:#b7815a; +} +.site-map ul li i{ + opacity: 0; +} +.site-map ul .on i{ + opacity: 1; +} +.site-map .on .line{ + background-color: #b7815a; +} +.site-map .line{ + width:50px;height: 2px;background-color:#ddd; + margin-left:10px; +} +#main { + width:100%; + overflow:hidden; +} +.sec { + width:100%; + position:relative; +} +.slick-arrow{ + cursor: pointer; +} +.slick-list, +.slick-track{ + width:100%;height: 100%; +} +.slick-slide{ + position: relative; +} + + +#main .banner { + width:100%;height:950px; + position:relative; +} +#main .banner div { + width:100%;height:100%; +} +#main .banner .bn { + position:relative; + background-size:cover; + background-repeat:no-repeat; + background-position:center; +} +#main .banner .bn::before { + content:''; + position:absolute; + top:0;left:0; background-color:rgba(0, 0, 0, 0.3); + width:100%;height:100%; + z-index:1; +} +#main .banner .bn01 { + background-image:url('../img/main_slide_banner1.jpg'); +} +#main .banner .bn02 { + background-image:url('../img/main_slide_banner2.jpg'); +} +#main .banner .bn03 { + background-image:url('../img/main_slide_banner3.jpg'); +} +#main .banner .textBox { + width:80%; + height:100%; + margin:0 auto; + position:relative; + z-index:1; + display:flex; + flex-direction:column; + justify-content:center; +} +@keyframes mainActive01 { + 0% {transform:translateY(-30px);} + 100% {transform:translateY(0px);} +} +@keyframes mainActive02 { + 0% {transform:translateY(30px);} + 100% {transform:translateY(0px);} +} +#main .banner .textBox h1 { + font-family: 'Play', sans-serif; + font-size:68px; + font-weight:700; + line-height:1.1; + color:#fff; + overflow:hidden; +} +#main .banner .slick-active h1 { + animation-name:mainActive01; + animation-duration:0.6s; +} +#main .banner .textBox p { + margin:35px 0 40px 0; + font-family: 'Noto Sans KR'; + font-size:21px; + font-weight:400; + line-height:1.1; + color:#fff; + overflow:hidden; +} +#main .banner .slick-active .textBox p { + animation-name:mainActive02; + animation-duration:0.6s; +} +#main .banner .textBox a { + display:block; + width:200px; + height:50px; line-height:50px; + border:1px solid #fff; + background-color:transparent; + box-sizing:border-box; + text-align:center; + font-size:16px; + font-weight:500;color:#fff; + transition:all 0.6s; +} +#main .banner .textBox a:hover { + box-shadow: 0 80px 0 0 rgba(0, 0, 0, 0.25) inset, 0 -80px 0 0 rgba(0, 66, 191, 0.747) inset; + color: #fff; + border: 1px solid transparent; +} +#main .banner .mainArrow { + width:auto; + height: auto; + position:absolute; + top: auto; + bottom: 10%; + left:50%; transform:translateX(-50%); +} +#main .banner .arrowBox { + display:flex; + flex-direction:row; + align-items:center; + margin-bottom:10px; +} +#main .banner .arrowBox li:nth-child(1) { + margin-right:10px; +} +#main .banner .arrowBox .bnArrow{ + display: block; + width:40px; + height:40px; + border: 1px solid #fff; + border-radius: 50%; + text-align: center; + line-height:40px; + cursor: pointer; + transition:all 0.6s; +} +#main .banner .arrowBox .bnArrow:hover { + background-color:rgba(210, 105, 30, 0.5); + border:none; +} +#main .banner .arrowBox .bnArrow i { + font-size:1.2em; + color:#fff; +} +#main .banner .slides-numbers { + width:90px; + margin-top:10px; + text-align:center; + font-size:1.2em; + font-weight:400;color:#fff; + display:inline-block; +} +#main .banner .slides-numbers .total { + opacity:0.8; +} +@keyframes title{ + from{ + opacity: 0; + transform: translateY(50px); + } + to{ + opacity: 3; + transform: none; + } +} +.main-title dd{ + color:#fff; + font-size: 20px; + opacity: 0; +} +.main-controll{ + width:200px;height: 50px; + margin-top:50px; + position: absolute; + top:55%;;left:50%;transform: translate(-50%,-50%); + display: flex;align-items: center; + justify-content: space-between; +} +.main-controll .slick-arrow{ + color:#fff; + font-size: 40px;; +} +.main-dots{ + position: absolute;top:50%;left:50%;transform: translate(-50%,-50%); + display: flex; + width:65px; + align-items: center; + justify-content: space-around; +} +.main-controll button{ + border:none; + font-size: 0; + background-color: #ddd; + width:23px;height: 8px; + border-radius: 10px; +} +.main-controll .slick-active button{ + background-color: #fff; +} +.sec2{ + padding:12em 0; +} +.sec2-inner{ + width:1500px; + margin:0 auto; + display: flex; + justify-content: space-between; +} + +.sec2-tit h3{ + font-size: 32px; + line-height: 1.2; + position: relative; + font-weight: 400; + letter-spacing: -0.05em; +} +.sec2-tit p{ + font-size: 20px; + color: #b7815a; + font-weight: 500; +} + +.sec2-contents{ + width:60%; +} +.sec2-contents ul{ + width:100%; + display: flex;align-items: center; + justify-content: space-between; +} + +.sec2-con{ + width: calc(33.333% - 16px); + height: 330px; + position: relative; + background-color: #ddd; +} + +.sec2-con:nth-of-type(1){ + background-image:url("../img/연혁.jpg"); +} +.sec2-con:nth-of-type(2){ + background-image:url("../img/프로젝트.jpg"); +} +.sec2-con:nth-of-type(3){ + background-image:url("../img/고객사.jpg"); +} +.sec2-con a{ + width:100%;height: 100%; + display: inline-block; + position: relative; +} +.sec2-con a::before{ + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); +} +.sec2-con a:hover:before{ + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient(180deg, rgba(183,129,90,0.5466561624649859) 0%, rgb(255, 255, 255) 100%); +} +.sec2-con dl{ + text-align: right; + position: absolute; + right: 0; + bottom: -70px; + z-index: 3; +} +.sec2-con dt{ + font-size: 65px; + line-height: 1.1; +} +.cha-num2{ + color:#b7815a; +} +.sec2-con dd{ + font-size: 18px; + padding-top: 5px; + font-weight: 300; +} +.sec2-con p{ + font-size: 16px; + color:#fff; + opacity: 0; + z-index: 3; +} + +.sec3{ + padding-bottom: 12em; + padding-top: 4em; +} +.sec3-inner{ + width:1200px; + margin:0 auto; + display: flex; + justify-content: space-between; + align-items: center; +} +.sec3-lt{ + width:66.5%; +} +.sec3-lt img{ + width:100%; +} +.sec3-lt .slick-slide p{ + font-size: 18px; + position: absolute; + width:90%; + bottom: 40px; + left:50%;transform: translateX(-50%); + color:#464646; + word-break: keep-all; +} + +.sec3-lt>div{ + width:100%; +} +.sec3-lt .slick-slide{ + position: relative; +} +.sec3-rt{ + width:33.5%; + padding-left: 90px; +} +.sec3-rt h3{ + font-size: 32px; + line-height: 1.2; + font-weight: 500; + letter-spacing: -0.05em; +} +.sec3-rt .ss{ + font-size: 20px; + color:#b7815a; + font-weight: 500; +} +.sec3-rt ul{ + margin-top:100px +} +.sec3-rt ul li{ + font-size: 20px; + margin-top: 16px; + cursor: pointer; + position: relative; +} +.sec3-rt .slick-active .dot-button{ + color:#b7815a; + font-weight: 600; + position: relative; +} +.sec3-rt .dot-button::before{ + content:""; + width:0;height: 2px;background-color: #b7815a; + position: absolute;top:50%;transform: translateY(-50%); + transition: .5s ease; + left:-170px +} +.sec3-rt .slick-active .dot-button::before{ + width:150px; +} + +.sec3-rt .circle{ + width:80px;height: 80px; + left:-220px; + top:50%;transform: translateY(-50%); + position: absolute; + border-radius: 100%; + opacity: 0; + border: 1px dashed #ddd; + animation: bingle 6s linear infinite; +} +@keyframes bingle { + from{ + transform: translateY(-50%) rotate(-5deg); + } + to{ + transform:translateY(-50%) rotate(360deg); + } +} +.sec3-rt .slick-active .circle{ + opacity: 1; +} +.sec3-rt .circle::after{ + content:""; + width:8px;height: 8px; + position: absolute;top:-4px;left:50%;transform: translateX(-50%); + background-color: #b7815a; + border-radius: 100%; +} + + +.sec4{ + background-color: #000; + padding:10em 0; +} +.sec4-inner{ + width:72.619%; + margin:0 auto; +} +.sec4-inner h3{ + font-size: 40px; + color:#fff; +} +.sec4-inner ul{ + width:100%; + display: flex;align-items: center;justify-content: space-between; + margin-top:50px; +} +.sec4-inner ul li{ + width:calc(25% - 10px); + height: auto; +} +.sec4-inner ul li img{ + width:100%; +} +.sec4-inner dl{ + color:#fff; + text-align: center; + padding-top:25px; +} +.sec4-inner dt{ + position: relative; + font-size: 24px; + display: inline-block; + letter-spacing: -0.05em; +} +.sec4-inner dd{ + font-size: 16px; + font-weight: 400; + line-height: 1.3; + margin-top:15px; + letter-spacing: -0.05em; +} +.sec5{ + background-color: #000; +} +.sec5-inner{ + width:100%; + position: relative; +} +.mo-ani-arrow{ + display: none; +} +.sec5-inner ul{ + width:100%;display: flex;align-items: center; + justify-content: space-between; + border-top: 1px solid #303030; +} +.sec5-inner ul li{ + height: 730px; + width:33.333%; + border-right: 1px solid #303030; + background-size: cover; +} +.sec5-bg{ + width:100%;height: 100%; + position: relative; + display: flex;align-items: center; + justify-content: center; + background-color: rgba(0, 0, 0, 0.35); +} +.sec5-inner ul li:nth-of-type(1):hover{ + background-image: url("../img/sec3_con1.png"); +} +.sec5-inner ul li:nth-of-type(2):hover{ + background-image: url("../img/sec3_con2.png"); +} +.sec5-inner ul li:nth-of-type(3):hover{ + background-image: url("../img/sec3_con3.png"); +} +.sec5-inner ul li:hover .sec5-con a{ + background-color: #fff; + color:#000; + +} + +.sec5-inner ul li:nth-of-type(3){ + border-right: none; +} +.sec5-con{ + color:#fff; + z-index: 9999999; +} + +.sec5-con h3{ + color: #666; + font-size: 40px; + font-weight: 600; + line-height: 1.2; +} + +.sec5-con h4{ + font-size: 40px; + font-weight: 400; + margin-bottom: 10px; + position: relative; +} +.sec5-con dt{ + font-size: 16px; + font-weight: 500; + margin: 8px 0; +} +.sec5-con dd{ + font-size: 14px; + color:#ddd; + line-height: 1.3; +} +.sec5-con a{ + display: inline-block; + color:#fff; + z-index: 89999; + margin-top:35px; + padding:8px 35px; + border:1px solid #fff; + font-size: 18px; + border-radius: 30px; + transition: 0.5s ; +} + +.sec6{ + padding:15em 0; +} +.sec6-inner{ + width:1400px; + display: flex;align-items: flex-start; + justify-content: space-between; + margin:0 auto; +} + +.sec6-lt{ + width:48%; +} +.sec6-lt h3{ + font-size: 40px; + line-height: 1.2; + letter-spacing: -0.03em; + position: relative; +} +.sec6-lt .sec6-wrap{ + width:100%; + height: 380px; + margin-top:20px; +} + +.sec6-con{ + width:100%;height:380px; + position: relative; + display: flex;align-items: center; + justify-content: center; +} +.sec6-con p{ + font-size: 30px; + color:#fff; + transform: translateY(300%); + opacity: 0; + font-weight: 600; + width:100%;text-align: center; +} +.sec6-img{ + width:100%;height: 100%; + position: absolute; + top:0;left:0; + z-index: -1; +} +.slick-current .sec6-img{ + transform: scale(1.3); + transition: 1.5s ease; +} +.slick-current .sec6-con p{ + transform: translateY(0) scale(1.2); + opacity: 1; + transition:1s ease; +} +.sec6-rt{ + width:48%; +} +.sec6-rt ul{ + width:95%; + display: flex;flex-flow: row wrap; + align-content: center; + justify-content: center; +} +.sec6-rt li{ + width:100%; + padding:30px 0px; + border-bottom: 1px solid #ddd; +} +.sec6-rt li:nth-of-type(1){ + padding-top: 0; +} +.sec6-rt li a{ + width:100%;height: 100%; + display: flex;align-items: flex-start; +} +.sec6-rt .category{ + font-size: 16px; + color:#b7815a; + white-space: nowrap; +} +.sec6-rt .date{ + text-align: center; + margin:0px 40px;; +} +.sec6-rt .date h4{ + font-size: 60px; + line-height: 0.8; +} +.sec6-rt .date span{ + font-size: 16px; + margin-top:5px; + display: inline-block; +} +.sec6-rt dt{ + font-weight: 500; + font-size: 18px; +} +.sec6-rt dd{ + font-size: 16px; + margin-top:2px; + word-break: keep-all; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + text-overflow: ellipsis; + line-height: 1.3; + max-height: 2.6; +} +.mo_br{ + display: none; +} +@media screen and (max-width:1500px) { + .main-title{ + width:100%; + } + .sec2-inner{ + width:95%; + } + .sec3-inner{ + width:95%; + } + .sec6-inner{ + width:95%; + } + .sec2-tit h3{ + font-size: 40px; + } + .sec3-rt h3{ + font-size: 40px; + } + .sec4-inner h3{ + font-size: 40px; + } + .sec5-con h4{ + font-size: 40px; + } + .sec6-lt h3{ + font-size: 40px; + } + .sec3-rt{ + padding-left:70px; + } + .sec5-inner ul li{ + height: 560px; + } + .sec5-con dd{ + font-size: 14px; + } + .sec5-con h4::after{ + font-size: 45px; + } + .sec5-con a{ + font-size: 16px; + } + .sec6-inner{ + align-items: flex-end; + } +} +@media screen and (max-width:1240px) { + .site-map{ + display: none; + } + #main .banner { + height:600px; + } + #main .banner .bn { + padding:0 20px; + } + #main .banner .mainArrow { + width:100%; + left:0px; + transform:none; + top:70%; + } + #main .banner .arrowBox { + top:0; + left:0px; + right:0; + transform:none; + overflow: hidden; + width: 100%; + display: flex; + flex-direction: row; + justify-content: center; + align-items:center; + } + #main .banner .arrowBox li { + float:left; + } + #main .banner .arrowBox li:nth-child(1) { + margin-bottom:0; + margin-right:10px; + } + #main .banner .arrowBox li:nth-child(2) { + margin-bottom:0; + } + #main .banner .slides-numbers { + text-align:center; + margin:0 auto; + } + #main .banner .textBox { + width:100%; + align-items:center; + } + #main .banner .textBox h1 { + font-size:2.5em; + text-align:center; + } + #main .banner .textBox p { + font-size:1.2em; + } + #main .banner .arrowBox .bnArrow { + width:55px; + height:55px; + line-height:50px; + } + #main .banner .textBox a { + width:180px;height:45px; line-height:45px; + } + .sec2-tit h3{ + font-size: 30px; + } + .sec3-rt h3{ + font-size: 30px; + } + .sec4-inner h3{ + font-size: 30px; + } + .sec5-con h4{ + font-size: 30px; + } + .sec6-lt h3{ + font-size: 30px; + } + .sec2-con dt{ + font-size: 60px; + } + .sec2-con dl{ + bottom: -50px; + } + .sec2-inner{ + flex-flow: row wrap; + align-content: center; + } + .sec2-tit{ + width:100%; + } + .sec2-tit h3 br{ + display: none; + } + .sec2-tit h3 .mo_br{ + display: block; + } + .sec2-tit h3::after{ + font-size: 16px; + left: 0; + } + .sec2-contents{ + width:100%; + margin-top:30px + } + .sec3-rt{ + padding-left: 30px; + } + .sec3-rt h3::after{ + font-size: 16px; + left: 0; + } + .sec3-rt .circle{ + left:-150px; + width:60px;height: 60px; + } + .sec3-rt .dot-button::before{ + left:-120px; + } + .sec3-rt .slick-active .dot-button::before{ + width:110px + } + .sec3-rt ul{ + margin-top:60px + } + .sec3-rt ul li{ + font-size: 20px; + margin-top:15px; + color:#bdbdbd; + } + .sec4-inner dt{ + font-size: 20px; + } + .sec4-inner ul li{ + width:23.5%; + } + .sec5-con{ + padding:20px; + } + .sec5-con dl{ + word-break: keep-all; + } + .sec5-con dt{ + font-size: 14px; + margin:5px 0px; + } + .sec5-con h4::after { + font-size: 35px; + } + .sec6-rt .date{ + margin:0px 20px + } + .sec6-rt .date h4{ + font-size: 45px; + } + .sec6-rt .date span{ + white-space: nowrap; + } + .sec6-rt li{ + padding:20px 0px; + } + .sec6-lt .sec6-wrap{ + height: 330px; + } +} +@media screen and (max-width:900px) { + .main-title dt{ + font-size: 45px; + } + .sec2-tit h3{ + font-size: 25px; + } + .sec3-rt h3{ + font-size: 25px; + } + .sec4-inner h3{ + font-size: 25px; + display: flex;align-items: center; + justify-content: space-between; + } + .sec5-con h4{ + font-size: 25px; + } + .sec6-lt h3{ + font-size: 25px; + } + .sec2-con dt{ + font-size: 45px; + } + .sec2-con{ + width:31.5%; + height: 285px; + } + + .sec2-con i{ + color:#fff; + } + .sec3{ + padding-bottom: 8em; + } + .sec4{ + padding:8em 0; + } + .sec3-rt ul{ + margin-top:20px + } + .sec3-rt ul li{ + font-size: 18px; + } + .sec3-rt .circle{ + width:45px;height: 45px; + } + .sec3-rt .circle::after{ + width:6px;height: 6px; + top:-3px + } + .sec4-inner ul li{ + margin:0px 10px; + } + /* + .sec4-inner dl{ + opacity: 0; + } + .sec4-inner .slick-current dl{ + opacity: 1; + } + */ + .mo-con{ + display: flex; + } + .mo-con .slick-arrow:nth-of-type(2){ + margin-left:10px + } + .sec5-con{ + padding:15px 20px; + } + .sec5-inner ul{ + flex-wrap: wrap; + } + .sec5-inner ul li{ + min-width:100%; + } + .sec5-inner ul li { + height: 380px; + } + .sec6-inner{ + flex-flow: row wrap; + } + .sec6-lt{ + width:100%; + } + .sec6-rt{ + width:100%; + margin-top:45px; + } + .sec6-rt .date{ + margin:0px 40px + } +} + +@media screen and (max-width:600px) { + .main-title dt{ + font-size: 30px; + word-break: keep-all; + } + + .sec2-tit h3{ + font-size: 22px; + } + .sec3-rt h3{ + font-size: 22px; + } + .sec4-inner h3{ + width: 80%; + margin: 0 auto; + font-size: 26px; + display: flex;align-items: center; + justify-content: space-between; + } + .sec6-lt h3{ + font-size: 22px; + } + .sec2-con dt{ + font-size: 45px; + } + + .sec2-inner{ + width:90%; + } + .sec2-contents ul{ + flex-flow: row wrap; + } + .sec2-con{ + height: 245px; + width:48%; + background-image: inherit; + } + .sec2-con i{ + color:#000; + } + .sec2-con:nth-of-type(1):hover{ + background-image:inherit + } + .sec2-con:nth-of-type(2):hover{ + background-image:inherit + } + .sec2-con:nth-of-type(3):hover{ + background-image:inherit + } + .sec2-con:hover i{ + color:inherit + } + .sec2-contents ul li:nth-of-type(3){ + width:100%; + margin-top:75px; + background-position: top; + } + .sec2-con dl{ + bottom: -50px; + } + + .sec3-inner{ + flex-flow: row wrap-reverse; + width:90%; + } + .sec3-lt{ + width:100%; + margin-top:30px; + } + .sec3-lt .slick-slide p{ + font-size: 16px; + } + .sec3-rt{ + width:100%; + padding-left: 0; + } + .sec3-rt h3 br{ + display: none; + } + .sec3-rt ul li{ + font-size: 16px; + margin-top:10px + } + .sec3-rt>ul{ + padding-left:20px; + } + .sec4-inner{ + width: 100%; + } + .sec5-inner ul li{ + min-width:100%; + } + .sec5-inner ul li:nth-of-type(1):hover{ + background-image:inherit; + } + .sec5-inner ul li:nth-of-type(2):hover{ + background-image: inherit + } + .sec5-inner ul li:nth-of-type(3):hover{ + background-image:inherit + } + .sec6{ + padding:10em 0; + } + .sec6-inner{ + width:90%; + } + .slick-current .sec6-con p{ + transform: translateY(0); + } + .sec6-rt li a{ + flex-flow: row wrap; + justify-content: space-between; + } + + .sec6-rt .date{ + margin:0; + } + + .sec6-rt dl{ + width:100%; + } + .sec2{ + padding: 60px 0; + } +} +@media (max-width:320px) { + .sec2-tit h3{ + font-size: 20px; + } +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/css/mobile.css b/web/html/theme/FT_WEB20/css/mobile.css new file mode 100644 index 0000000..aeadbd2 --- /dev/null +++ b/web/html/theme/FT_WEB20/css/mobile.css @@ -0,0 +1,357 @@ +@charset "utf-8"; + +/* 초기화 */ +html {overflow-y:scroll;height:100%;min-width:320px} +body {margin:0;padding:0;font-size:0.75em;background:#f8f8f8;height:100%;font-family:'Malgun Gothic', dotum, sans-serif} +html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0} +h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif} +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block} +legend {position:absolute;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +label, input, button, select, img {vertical-align:middle} +input, button {margin:0;padding:0;font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif} +button {cursor:pointer} +input[type=text], input[type=password], input[type=submit], input[type=image], button {font-size:1em;-webkit-appearance:none} +textarea, select {font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif} +textarea {border-radius:0;-webkit-appearance:none;font-family:'Malgun Gothic', dotum, sans-serif} +select {margin:0;background:none;font-family:'Malgun Gothic', dotum, sans-serif} +p {margin:0;padding:0;word-break:break-all} +hr {display:none} +pre {overflow-x:scroll;font-size:1.1em} +a {color:#000;text-decoration:none} +ul,li,dl,dt,dd {padding:0;margin:0} +ul {list-style:none} + +*,:after,:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; +} + +/* 팝업레이어 */ +#hd_pop {z-index:1000;position:relative;margin:0 auto;width:100%;height:0} +#hd_pop h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff} +.hd_pops img {max-width:100%;height:auto} +.hd_pops_con {} +.hd_pops_footer {padding:10px 0;background:#000;color:#fff;text-align:right} +.hd_pops_footer button {margin-right:5px;padding:5px 10px;border:0;background:#393939;color:#fff} + +/* 상단 레이아웃 */ +#hd {position:relative;background:#212020} +#hd:after {display:block;visibility:hidden;clear:both;content:""} +#hd_h1 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} + +#logo {padding:10px 10px;height:60px;text-align:center} +#logo img {vertical-align:middle;margin-top:5px;max-height:100%;width:auto} +#gnb_open {position:absolute;top:10px;left:10px;padding:0 10px;height:40px;width:40px;border:0;background-size:70%;color:#fff;background:none;font-size:2em} +#gnb {display:none;background:#efefef;position:fixed;top:0;left:0;z-index:99999;width:100%;max-width:400px;height:100%;overflow-y:auto; +-webkit-box-shadow:0 0 5px rgba(55,55,5,0.4); +-moz-box-shadow:0 0 5px rgba(55,55,5,0.4); +box-shadow:0 0 5px rgba(55,55,5,0.4)} + +#gnb_1dul {background:#fff} +#gnb_1dul a {display:block;color:#000} +.gnb_1dli {position:relative;line-height:40px} +.gnb_1dli button {position:absolute;top:5px;right:0;width:40px;height:40px;overflow:hidden;border:0;font-size:1.2em;background:#fff;background:url(../img/mobile/gnb_bg2.png) no-repeat 50% 50%;text-indent:-9999px} +.gnb_1dli button.btn_gnb_cl {background:url(../img/mobile/gnb_bg.png) no-repeat 50% 50%} +.gnb_1da {padding:5px 20px;border-bottom:1px solid #eee;font-weight:bold;font-size:1.2em;} +.gnb_2dul {display:none;background:#fafafa} +.gnb_2da {padding-left:30px} +#gnb_close {display:block;position:absolute;right:8px;top:10px;z-index:99;font-weight:bold;margin:0;height:40px;width:40px;border:0;color:#bfb8b2;font-size:2em;background:transparent} + +#gnb_empty {padding:20px 0;color:#fff;text-align:center;line-height:2em} +#gnb_empty a {display:inline;text-decoration:underline} + +#hd_sch {text-align:center;padding:12px 55px 12px 15px;background:#212020} +#hd_sch h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#hd_sch form {position:relative;padding-right:40px} +#hd_sch #sch_stx {width:100%;height:38px;margin-left:40px;background:#464646;border:0;color:#fff} +#hd_sch #sch_submit {position:absolute;top:0;left:0;width:40px;height:38px;border:0;border-radius:3px;cursor:pointer;color:#a6a5a5;background:#464646;font-size:1.25em} + +#user_btn {position:absolute;top:10px;right:10px;padding:0 10px;height:40px;width:40px;border:0;color:#fff;font-size:1.8em;background:none;letter-spacing:-0.1em} +#user_menu {display:none;position:fixed;top:0;right:0;width:100%;height:100%;overflow-y:auto;z-index:9999;background:#efefef;text-align:center} +#user_close {display:block;position:absolute;right:8px;top:10px;z-index:99;font-weight:bold;margin:0;height:40px;width:40px;border:0;color:#bfb8b2;font-size:1.8em;background:transparent} + +#snb_cnt span {display:inline-block;float:right;padding:0 7px;height:18px;margin-top:3px;line-height:18px;font-size:12px;background:#da22f5;border-radius:20px;color:#fff} + +#hd_nb {background:#fff;margin-top:10px;border-bottom:1px solid #e1e1e1} +#hd_nb:after {display:block;visibility:hidden;clear:both;content:""} +#hd_nb li {width:50%;float:left;text-align:center;line-height:25px;font-size:1.083em;font-weight:bold} +#hd_nb li a {display:block;color:#717171;text-align:left;padding:10px 15px} +#hd_nb li i {font-size:14px;margin-right:10px;color:#a5a8ac} +#hd_nb .hd_nb1 {border-right:1px solid #efefef;border-bottom:1px solid #efefef} +#hd_nb .hd_nb2 {border-bottom:1px solid #efefef} +#hd_nb .hd_nb3 {border-right:1px solid #efefef} + +/* 텍스트 크기 조절 */ +#text_size {margin:10px 0;text-align:center;display:inline-block;padding:7px 20px;background:#e6e7e9;border-radius:25px;height:48px} +#text_size button {margin:0 5px;border:0;background:none;height:35px;width:35px;border-radius:50%} +#text_size button.select {background:#fff;border-bottom:1px solid #bbb; +-webkit-box-shadow:0 0 5px rgba(100,80,100,0.2); +-moz-box-shadow:0 0 5px rgba(100,100,100,0.2); +box-shadow:0 0 5px rgba(100,100,100,0.2)} +.ts_up {font-size:1.167em !important} +.ts_up2 {font-size:1.3em !important} + +/* 중간 레이아웃 */ +#wrapper {} +#wrapper:after {display:block;visibility:hidden;clear:both;content:""} +#container {position:relative;min-height:300px} +#container:after {display:block;visibility:hidden;clear:both;content:""} +#container_title {font-size:1.2em;font-weight:bold;height:50px;padding:10px 15px;line-height:30px;background:#fff;color:#333; +-webkit-box-shadow:0 0 10px rgba(181, 181, 181, 0.4); +-moz-box-shadow:0 0 10px rgba(181, 181, 181, 0.4); +box-shadow:0 0 10px rgba(181, 181, 181, 0.4); +} +#container_title a {display:inline-block;margin-right:5px} +.top {position:relative} +.btn_top {position:absolute;top:0px;right:10px;z-index:999;padding:8px 0} +.btn_top li {display:inline-block} +.btn_top a,.btn_top button,.btn_top .btn_submit {} +.btn_top .btn_cancel,.btn_top .btn_b01 {border:1px solid #aaa;background:none;color:#666;line-height:28px;background:#fff} +.fixed {position:fixed;top:0;right:0;z-index:999} +.fixed.btn_bo_user {right:10px} +#container_title.fixed {width:100%} + +/* 하단 레이아웃 */ +#ft {background:#222;padding:0px 20px 20px} +#ft h1 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} +#ft p {margin:0;padding:10px 0;line-height:1.8em} + +#ft_copy {padding:10px;line-height:2em;text-align:center;color:#777} +#ft_copy #ft_company {text-align:center} +#ft_copy #ft_company a {display:inline-block;padding:0 10px;line-height:1em;border-left:1px solid #333;color:#fff} +#ft_copy #ft_company a:first-child {border:0} +.ft_cnt {font-weight:normal;color:#e3e3e3;line-height:2em;text-align:center} +.ft_cnt h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} +#ft_copy b {color:inherit} +#ft_copy a {color:inherit;text-decoration:none} + +#top_btn {position:fixed;bottom:10px;right:15px;width:50px;height:50px;line-height:36px;border:2px solid #d2d2d2;border-radius:50%;background:#fff;color:#d2d2d2;text-align:center;font-size:15px;z-index:99; +-webkit-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4); +-moz-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4); +box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4)} +#top_btn i {font-size:1.4em} +#top_btn:hover {background:#3b8afb;border-color:#3b8afb;color:#fff} +#device_change {display:block;line-height:40px;border-radius:5px;background:#302e2e;color:#777;font-size:1em;text-decoration:none;text-align:center} + +/* 게시물 선택복사 선택이동 */ +#copymove {} +.copymove_current {float:right;color:#ff3061} +.copymove_currentbg {background:#f4f4f4} +#copymove .tbl_head01 {margin-top:10px} +#copymove td {background:#fff} +#copymove .win_btn {margin:10px} + +/* 화면낭독기 사용자용 */ +#hd_login_msg {position:absolute;top:0;left:0;width:0;height:0;overflow:hidden} +.msg_sound_only, .sound_only {display:inline-block;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;width:1px !important;height:1px !important;font-size:0 !important;line-height:0 !important;overflow:hidden} + +/* 본문 바로가기 */ +.to_content a {z-index:100000;position:absolute;top:0;left:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden} + +/* 이미지 등비율 리사이징 */ +.img_fix {width:100%;height:auto} + +/* 캡챠 자동등록(입력)방지 기본 -pc */ +#captcha {position:relative} +#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0} +#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;width:40px;height:40px;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px} +#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px} +#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:0;vertical-align:top} +#captcha #captcha_info {display:block;margin:3px 0 5px;font-size:0.95em;letter-spacing:-0.1em} + +/* 캡챠 자동등록(입력)방지 기본 - mobile */ +#captcha.m_captcha audio {display:block;margin:0 0 5px} + +/* 구글리캡챠 크기 조정 scale */ +#captcha.recaptcha {width:213px;height:55px;overflow:hidden} +#rc-imageselect, .g-recaptcha {transform:scale(0.7);-webkit-transform:scale(0.7);transform-origin:0 0;-webkit-transform-origin:0 0} + +/* ckeditor 태그 기본값 */ +#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px} +#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px} +#bo_v_con li {display:list-item} + +/*단축키일람 */ +.cke_sc {text-align:right} +.btn_cke_sc {background:#333;color:#fff;padding:5px;border:none} +.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center} +.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1} +.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""} +.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9} +.cke_sc_def dt {width:50%;font-weight:bold} +.cke_sc_def dd {width:50%} +.btn_cke_sc_close {background:#333;padding:5px;border:none;color:#fff} + +/* 버튼 */ +.btn {display:inline-block;padding:0 5px;height:30px;line-height:30px;border-radius:3px} +a.btn01 {display:inline-block;background:#ddd;color:#444;text-decoration:none;vertical-align:middle} +a.btn01:focus, a.btn01:hover {text-decoration:none} +button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none} +a.btn02 {display:inline-block;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle} +a.btn02:focus, .btn02:hover {text-decoration:none} +button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none} + +.btn_confirm {text-align:center} /* 서식단계 진행 */ + +.btn_submit {border:0;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px} +.btn_submit:hover {background:#2375eb} +.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff} +a.btn_close {text-align:center;line-height:50px} + +a.btn_cancel {display:inline-block;background:#ddd;color:#444;text-decoration:none;vertical-align:middle} +button.btn_cancel {display:inline-block;border:1px solid #ccc;background:#fafafa;color:#000;vertical-align:top;text-decoration:none} +a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 5px;border:0;background:#fff;border:1px solid #3a8afd;color:#3a8afd;letter-spacing:-0.1em;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */ +button.btn_frmline {font-size:1em} + +/* 게시판용 버튼 */ +a.btn_b01,.btn_b01 {display:inline-block;background:#3a8afd;color:#fff;border-radius:3px;padding:10px;border:0;text-decoration:none;vertical-align:middle} +.btn_b01:hover, .btn_b01:hover {} +a.btn_b02, .btn_b02 {display:inline-block;background:transparent;color:#fff;border:0;border-radius:3px;padding:10px;text-decoration:none;vertical-align:middle} +a.btn_b02:hover, .btn_b02:hover {} +a.btn_b03, .btn_b03 {display:inline-block;line-height:28px;border:0;background:transparent;color:#bababa;text-decoration:none;vertical-align:middle} +a.btn_b03:hover, .btn_b03:hover {} +a.btn_admin {display:inline-block;color:#d13f4a;font-size:1.4em;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */ +a.btn_admin:focus, a.btn_admin:hover {} +.fix_btn {position:fixed;z-index:99;bottom:65px;right:15px;background:#3a8afd;width:50px;height:50px;color:#fff;text-align:center;border-radius:50% !important;font-size:1.8em;line-height:50px !important;-webkit-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4); +-moz-box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4); +box-shadow:1px 2px 5px rgba(191, 191, 191, 0.4)} +a.btn,.btn {line-height:35px;width:30px;height:35px;padding:0 5px;text-align:center;font-weight:bold;border:0;font-size:1.4em; +-webkit-transition:background-color 0.3s ease-out; +-moz-transition:background-color 0.3s ease-out; +-o-transition:background-color 0.3s ease-out; +transition:background-color 0.3s ease-out} + + +/* 기본테이블 */ +.tbl_wrap {margin:0 10px 10px} +.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0} +.tbl_wrap caption {padding:10px 0;color:#4b8b99;font-weight:bold;text-align:left} + +.tbl_head01 {} +.tbl_head01 caption {padding:0 0 10px;color:#777;text-align:left} +.tbl_head01 thead th {padding:12px 0;border:1px solid #d8dbdf;background:#f7f7f9;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +.tbl_head01 thead a {color:#383838} +.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head01 tfoot th {border-top:1px solid #666;border-bottom:1px solid #666;background:#484848;color:#fff} +.tbl_head01 tfoot td {border-color:#e3e3e5;background:#484848;color:#fff;font-weight:bold;text-align:center} +.tbl_head01 tbody {text-align:left} +.tbl_head01 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.tbl_head01 td {padding:5px;border:1px solid #e7e9ec;border-top:0;line-height:1.5em;word-break:break-all} + +.tbl_head02 {} +.tbl_head02 caption {padding:0 0 10px;color:#777;text-align:left} +.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +.tbl_head02 thead a {color:#383838} +.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head02 tfoot th {border-top:1px solid #666;border-bottom:1px solid #666;background:#484848;color:#fff} +.tbl_head02 tfoot td {background:#484848;color:#fff;font-weight:bold;text-align:center} +.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;line-height:1.4em;word-break:break-all} + +/* 기본리스트 */ +.list_01 ul {} +.list_01 li {border-bottom:1px solid #e5ecee;padding:15px} +.list_01 li:after {display:block;visibility:hidden;clear:both;content:""} +.all_chk {padding:15px;border-bottom:1px solid #e8eaee;background:#fff} + +/* 기본폼 */ +.form_01 .write_div {margin-bottom:10px;position:relative} +.form_01 li {margin:0 0 10px;position:relative;list-style:none} +.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;padding:5px;border-radius:0;box-shadow:none} +.form_01 textarea {width:100%;height:100px} +.frm_input {height:45px} +.full_input {width:100%} +.form_01 .frm_file {display:block;margin-bottom:5px;width:100%} +.form_01 select {height:40px;background-color:#fff} +.form_01 .frm_info {font-size:0.92em;color:#3a8afd;text-align:left;margin:3px 0 10px;display:block;line-height:1.3em} + +/* 자료 없는 목록 */ +.empty_table {padding:100px 0 !important;color:#777;text-align:center} +.empty_list {padding:20px 0 !important;text-align:center} + +/* 필수입력 */ +.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important} + +/* 테이블 항목별 정의 */ +.td_board {width:120px;text-align:center} +.td_category {width:80px;text-align:center} +.td_chk {width:30px;text-align:center} +.td_date {width:60px;text-align:center} +.td_datetime {width:150px;text-align:center} +.td_group {width:100px;text-align:center} +.td_mb_id {width:100px;text-align:center} +.td_mng {width:80px;text-align:center} +.td_name {width:100px;text-align:left} +.td_nick {width:100px;text-align:center} +.td_num {width:50px;text-align:center} +.td_numbig {width:80px;text-align:center} +.td_stat {width:60px;text-align:center} + +.txt_active {color:#5d910b} +.txt_done {color:#e8180c} +.txt_expired {color:#999} +.txt_rdy {color:#8abc2a} + +/* 새창 기본 스타일 */ +.new_win {position:relative;background:#fff} +.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1); +-moz-box-shadow:0 1px 10px rgba(0,0,0,.1); +box-shadow:0 1px 10px rgba(0,0,0,.1)} +.new_win #win_title .sv {font-size:0.75em;line-height:1.2em} +.new_win_con {} + +.new_win .win_ul {margin-bottom:15px;padding:0 20px} +.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""} +.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px} +.new_win .win_ul li:first-child {margin-left:0} +.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3} +.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5} +.new_win .win_ul .selected a {color:#fff;font-weight:bold} +.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px} +.new_win .win_desc i {font-size:1.2em;vertical-align:baseline} +.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px} + +.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px} +.new_win .new_win_con {padding:20px} +.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""} +.new_win .new_win_con2 {margin:20px 0} + +.new_win .win_btn {clear:both;padding:10px 0 30px;text-align:center} +.new_win .win_btn a {display:inline-block;height:45px;line-height:40px;font-weight:bold} +.new_win .btn_close {width:60px;height:45px;overflow:hidden;cursor:pointer} +.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em} + +/* 검색결과 색상 */ +.sch_word {color:#fff;background:#ff005a;padding:2px 4px;margin:0 2px} + +/* 사이드뷰 */ +.sv_wrap {display:inline-block;position:relative;font-weight:normal;line-height:20px} +.sv_wrap .sv {z-index:1000;width:100px;display:none;margin:5px 0 0;font-size:0.92em;background:#333;text-align:left; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent} +.sv_wrap .sv a {display:inline-block;width:100px;margin:0;padding:0 10px;line-height:30px;font-weight:normal;color:#bbb} +.sv_wrap .sv a:hover {background:#000;color:#fff} +.sv_member {color:#333;font-weight:bold} +.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto} +.sv_nojs .sv {display:block} + +/* 페이징 */ +.pg_wrap {clear:both;display:block;padding:10px 0;text-align:center} +.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} +.pg {text-align:center} +.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee} +.pg a:focus, .pg a:hover {text-decoration:none} +.pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px} +.pg_page:hover {background-color:#fafafa} +.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa} + +.pg_current {display:inline-block;background:#3a8afd;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px} diff --git a/web/html/theme/FT_WEB20/css/mobile_shop.css b/web/html/theme/FT_WEB20/css/mobile_shop.css new file mode 100644 index 0000000..41164ba --- /dev/null +++ b/web/html/theme/FT_WEB20/css/mobile_shop.css @@ -0,0 +1,1030 @@ +@charset "utf-8"; + +/* 초기화 */ +body {margin:0;padding:0;font-size:0.813em;height:100%;font-family:HelveticaNeue-Light,AppleSDGothicNeo-Light,'Malgun Gothic','맑은 고딕',sans-serif;;background:#f8f8f8;min-width:320px;-webkit-text-size-adjust: none; } +body.is_hidden{overflow:hidden} +html, h1, h2, h3, h4, h5, h6, form, fieldset {margin:0;padding:0;border:0} +h1, h2, h3, h4, h5, h6 {font-size:1em} +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block} +header ul, nav ul, footer ul {margin:0;padding:0;list-style:none} +legend {position:absolute;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +label, input, button, select {vertical-align:middle} +input, button {margin:0;padding:0;font-size:1em} +button,input[type=submit] {cursor:pointer;font-family:HelveticaNeue-Light,AppleSDGothicNeo-Light,'Malgun Gothic','맑은 고딕',sans-serif} +input[type=text], input[type=password], input[type=submit], input[type=image], button {-webkit-appearance:none} +textarea, select {font-size:1em;font-family:HelveticaNeue-Light,AppleSDGothicNeo-Light,'Malgun Gothic','맑은 고딕',sans-serif} +textarea {border-radius:0;-webkit-appearance:none} +select{background:#fff} +p {margin:0;padding:0;word-break:break-all} +hr {display:none} +pre {overflow-x:scroll;font-size:1.1em} +a:link, a:visited {color:#000;text-decoration:none} +ul,li,dl,dt,dd {padding:0;margin:0} +ul {list-style:none} + +*, :after, :before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; +} + +input[type=text],input[type=password], textarea { + -webkit-transition:all 0.30s ease-in-out; + -moz-transition:all 0.30s ease-in-out; + -ms-transition:all 0.30s ease-in-out; + -o-transition:all 0.30s ease-in-out; + outline:none; +} + +input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus { + -webkit-box-shadow:0 0 5px #9ed4ff; + -moz-box-shadow:0 0 5px #9ed4ff; + box-shadow:0 0 5px #9ed4ff; + border:1px solid #558ab7 !important; +} + +/*safari*/ +input, textarea { + -webkit-appearance: none; + -webkit-border-radius: 0; +} + +/* 팝업레이어 */ +#hd_pop {z-index:1000;position:relative;margin:0 auto;width:100%;height:0px} +#hd_pop h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff} +.hd_pops_con {} +.hd_pops img {max-width:100%;height:auto} +.hd_pops_footer {padding:10px 0;background:#000;color:#fff;text-align:right} +.hd_pops_footer button {margin-right:5px;padding:5px 10px;border:0;background:#393939;color:#fff} + +/* 상단 레이아웃 */ +#hd {position:relative;background:#212020} +#hd h1 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} + +#hd #logo a{display:block;text-align:center;padding:15px;height:55px;vertical-align:top} +#hd #logo img {max-height:100%;width:auto;vertical-align:top} + +#btn_hdcate {height:55px;width:40px;border:0;background:0;font-size:18px;vertical-align:top;position:absolute;top:0;left:5px;color:#fff;} +#btn_hdsch {position:absolute;top:0;left:45px;color:#fff;font-size:18px;border:0;background:none;height:55px;width:40px} +#btn_hdcart {position:absolute;top:0px;right:5px;color:#fff;font-size:18px;display:block;width:40px;line-height:55px;text-align:center} +#btn_hduser {position:absolute;top:0px;right:45px;color:#fff;font-size:18px;display:block;width:40px;line-height:55px;text-align:center;background:none;border:0} +#hd_btn .cart-count {position:absolute;top:20%;right:0px;display:block;height:16px;line-height:16px;border-radius:8px;background:#ff4444;font-size:10px;color:#fff;padding:0 5px} + +#hd_sch {display:none;position:absolute;top:0;left:0;text-align:center;padding:0 0 10px;width:100%;background:#212020;padding:10px 50px 10px 10px} +#hd_sch h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#hd_sch .sch_inner {position:relative} +#hd_sch #sch_str {width:100%;height:35px;background:#3a3838;border:0;padding:0 10px 0 40px;color:#000;color:#fff} +#hd_sch .sch_submit {position:absolute;top:0;left:0;width:40px;height:35px;border:0;border-radius:0 3px 3px 0;cursor:pointer;background:none;font-size:15px;color:#878786} +#hd_sch .btn_close {position:absolute;top:10px;right:0px;width:50px;height:35px;border:0;background:none;color:#c2bbb5;font-size:18px} + + +/*카테고리*/ +.menu {display:none;position:fixed;top:0;height:100%;z-index:99999;-webkit-backface-visibility:hidden;width:100%;background:#efefef} +.menu .menu_wr{;width:100%;height:100%;overflow-y:auto;background:#eee;position:relative;z-index:199919; + -webkit-box-shadow: 0 0 5px rgba(55,55,5,0.4)); + -moz-box-shadow: 0 0 5px rgba(55,55,5,0.4)); + box-shadow: 0 0 5px rgba(55,55,5,0.4);} +.menu .menu_close {position:absolute;top:50%;right:0px;width:40px;height:40px;background:none;color:#fff;font-size:20px;margin-top:-20px;border:0;z-index:199999} + +.cate {background:#fff;border-bottom:1px solid #e1e1e1} +.cate a {display:block;color:#333;padding:0 10px;border-bottom:1px solid #efefef} +.cate li {position:relative;line-height:40px} +.cate li button {position:absolute;top:0;right:0;background:url;border:0;width:30px;height:40px;overflow:hidden;border:0;background:url(../img/mobile/gnb_bg.png) no-repeat 50% 50%;text-indent:-9999px} +.cate li button.ct_cl {background:url(../img/mobile/gnb_bg2.png) no-repeat 50% 50%} + +.sub_cate {display:none} +.sub_cate a {border-bottom:1px solid #efefef;background:url(../img/btn_next.gif) no-repeat 21px 17px;padding-left:30px} +.sub_cate2 a {padding-left:40px;background-position:31px 17px} +.sub_cate3 a {padding-left:50px;background-position:41px 17px} +.sub_cate4 a {padding-left:60px;background-position:51px 17px} + +#cate_tnb {background:#fff;border-bottom:1px solid #e1e1e1;margin:10px 0} +#cate_tnb:after {display:block;visibility:hidden;clear:both;content:""} +#cate_tnb li {border-bottom:1px solid #efefef;float:left;width:50%;line-height:43px;padding:0 10px 0 50px;position:relative} +#cate_tnb li:nth-child(2n+1) {clear:both;border-right:1px solid #efefef} +#cate_tnb li i {position:absolute;top:0;left:0;width:50px;text-align:center;color:#a5a8ac;line-height:42px;font-size:16px} + +/* 중간 레이아웃 */ +#container {padding:0 0 10px} +#container_title {margin:0;font-size:1.5em;text-align:left;font-weight:bold;border-bottom:1px solid #e7e7e7;background:#fff;padding:15px;font-size:1.25em;line-height:20px;text-overflow: ellipsis;overflow: hidden;white-space: nowrap; +-webkit-box-shadow: 0 0 5px #eee; +-moz-box-shadow: 0 0 5px #eee; +box-shadow:0 0 5px #eee} +.fixed #container_title{position:fixed;top:0;left:0;width:100%;z-index:999} +#container.fixed {padding-top:60px;} +#container.idx-container {padding:0px;} + +/* 내용관리 */ +#ctt {margin:10px 0;padding:10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.ctt_admin {margin:0 5px;text-align:right} +#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ctt_con {padding:10px 0} +.ctt_img {text-align:center} + +/* 하단 레이아웃 */ +#ft {background:#212020;padding:20px;text-align:left} +#ft h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#ft p {margin:0;padding:10px 0;line-height:1.8em;color:#e3e3e3;font-size:0.92em} +#ft_logo {padding:20px 0 0} +#ft_company {} +#ft_company a {display:inline-block;padding-right:10px;line-height:1em;color:#fff} +#ft_company a:first-child {border:0} +#device_change {background:#302e2e;display:block;text-align:center;padding:10px;color:#afafaf;border-radius:5px} + +/* 목록 바로가기 */ +.sanchor {margin:0 0 5px;padding:0} +.sanchor:after {display:block;visibility:hidden;clear:both;content:""} +.sanchor li {float:left;list-style:none;width:25%;border-top:2px solid #000;text-align:center; overflow:hidden; white-space:nowrap;letter-spacing:0.2em;font-size:0.93em} +.sanchor a {display:block;padding:10px;border-left:1px solid #ededed;border-bottom:1px solid #ededed;background:#fcfcfc;text-decoration:none;color:#484848} +.sanchor a:focus, .sanchor a:hover {background:#eee;text-decoration:none} +.sanchor a.sanchor_on {background:#fff;text-decoration:none;border-bottom:1px solid #fff} + +/* ####### 쇼핑몰 컨텐츠 ####### */ +.st_bg {display:inline-block;width:1px;height:10px;margin:0 10px;background:#e2e1e0;vertical-align:-1px} + +/* 장바구니 주문서 공통 */ +#sod_chk {margin:10px} +.sod_list {margin:10px 0} +.sod_list .sod_li {background:#fff;border-bottom:1px solid #e5e5e5;margin:10px 0} +.sod_list .li_name {font-size:1.083em} +.sod_list .li_op_wr {position:relative;padding:10px 10px 0 110px;min-height:90px} +.sod_list .li_op_wr .chk_box {position:absolute;top:10px;left:10px} +.sod_list .total_img {position:absolute;top:10px;left:35px} +.sod_list .mod_options {padding:0 7px;border:1px solid #d4d6db;border-radius:3px;color:#606060;background:#fff;line-height:24px;margin:5px 0 0;font-size:0.923em} +.sod_list .li_prqty {padding:10px ;border-top:1px solid #f8f8f8} +.sod_list .li_prqty:after {display:block;visibility:hidden;clear:both;content:''} +.sod_list .li_prqty_sp {float:left;width:50%;display:block;line-height:20px;padding:0 5px;text-align :right} +.sod_list .li_prqty_sp span {float:left;color:#696969} +.sod_list .prqty_sc,.sod_list .prqty_price {border-right:1px solid #e5e5e5} +.sod_list .total_price {background:#f2f7ff;display:block;clear:both;margin:0 10px 10px;text-align:right;padding:5px 10px;line-height:20px} +.sod_list .total_price span {float:left} +.sod_list .total_price strong {font-size:1.25em;color:#3a8afd} +.sod_opt {padding:5px 10px 5px 35px} +.sod_opt li {color:#777;margin:3px 0;line-height:1.3em} +.sod_opt li:before {content:"옵션";display:inline-block;margin:1px 5px 2px 0;font-size:11px;padding:0 5px;border-radius:3px;background:#e2eaf6;line-height:20px;color:#3a8afd} +.sod_opt .opt_name:before {content:"옵션";display:inline-block;margin:1px 5px 2px 0;font-size:11px;padding:0 5px;border-radius:3px;background:#e2eaf6;line-height:20px;color:#3a8afd} + +#sit_opt_added {margin:0;padding:0;border-bottom:0;background:#fff;list-style:none} +#sit_opt_added li {padding:10px 15px;margin:5px 0;border:1px solid #e6e9ed;background:#f9f9f9;position:relative} +#sit_opt_added li .opt_name {line-height:18px;padding:0 30px 5px 0;display:block} +#sit_opt_added li .opt_count {} +#sit_opt_added li .opt_count:after {display:block;visibility:hidden;clear:both;content:""} +#sit_opt_added button {float:left;width:30px;height:30px;border:1px solid #c1cdde;background:#fff;color:#666;font-size:0.92em} +#sit_opt_added button:hover {color:#000} +#sit_opt_added .num_input {float:left;border:0;height:30px;width:40px;border-top:1px solid #dee3eb;border-bottom:1px solid #dee3eb;text-align:center} +#sit_opt_added .sit_opt_del {border:0;font-size:15px;background:#fff;margin-left:3px;position:absolute;top:0;right:0;border-left:1px solid #e6e9ed;border-bottom:1px solid #e6e9ed} +#sit_opt_added .sit_opt_del:hover {color:#be334a} +#sit_opt_added .sit_opt_prc {float:right;display:block;padding:0 3px;text-align:right;line-height:30px;font-size:1.183em;font-weight:bold} + +/* 장바구니 */ +#mod_option_frm {z-index:10000;position:fixed;top:10%;left:5%;width:90%;height:auto !important;height:80%;max-height:80%;border:1px solid #dde7e9;border-radius:3px;background:#fff;overflow-y:auto;overflow-x:none} +#mod_option_frm h2 {border-bottom: 1px solid #e8e8e8;padding: 0 20px;line-height: 50px;font-size: 1.25em;} +#sod_bsk_list .mod_option_bg {content:"";position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0.1);display:block;z-index:9999} +#mod_option_frm #sit_sel_option{margin:15px } +#mod_option_frm #sit_tot_price{margin:15px } +#mod_option_frm h3{margin: 0 0 10px;color:#5772d5;} +#mod_option_frm .option_wr {margin:15px ; } +#mod_option_frm .option_wr label{margin: 0 0 5px;display:block} +#mod_option_frm .option_wr select{width:100%; height: 30px;border: 1px solid #d9d9d9;margin: 0 0 5px;} +#mod_option_frm .btn_confirm{margin:15px ; } +#mod_option_frm .btn_confirm .btn_submit{height:40px;font-size:1.167em;font-weight:bold;width:100%;} +#mod_option_frm .btn_confirm .btn_close{position: absolute; top: 0; right: 0;width: 50px;height: 50px;border: 0;background: none;font-size: 1.25em;border-radius: 0;} + +#sod_bsk .btn_del_wr{margin:10px } +#sod_bsk .go_shopping{margin: 10px} +#sod_bsk .go_shopping .btn01{height:45px;line-height:43px;font-size:1.167em;font-weight:bold;width:100%;text-align:center} +#m_sod_bsk_tot{background:#4a505a;color:#fff;} +#m_sod_bsk_tot:after{display:block;visibility:hidden;clear:both;content:""} +#m_sod_bsk_tot dt{float:left;width:40%;padding:10px ;line-height:20px;clear:both} +#m_sod_bsk_tot dd{float:left;width:60%;padding:10px;text-align:right;line-height:20px} +#m_sod_bsk_tot .sod_bsk_cnt{font-weight:bold;margin-top:5px;line-height:25px;background:#212a37} +#m_sod_bsk_tot .sod_bsk_cnt strong{color:#3a8afd;font-size:1.25em} +#sod_bsk_act {position:fixed;bottom:0;left:0;width:100%;background:#fff;z-index:90;border-top:1px solid #000; padding:10px 10px 10px 50%; +-webkit-box-shadow: 0 0 9px rgba(0,0,0,0.2); +-moz-box-shadow: 0 0 9px rgba(0,0,0,0.2); +box-shadow: 0 0 6px rgba(0,0,0,0.2);} +#sod_bsk_act .btn_submit{height:45px;font-size:1.167em;font-weight:bold;width:100%;border-radius:3px} +#sod_bsk_act .total{position:absolute;top:0;left:0;width:50%;padding:10px;text-align:left;color:#717171;line-height:20px;} +#sod_bsk_act .total strong{display:block;color:#000;font-size:1.154em;line-height:25px} +.naverpay-cart{text-align:center;padding:10px} + +/* 주문서 작성 */ +#sod_frm .sod_list .li_op_wr{padding-left:100px} +#sod_frm .sod_list .total_img {left:10px} +#sod_frm .sod_opt {padding-left:10px} + +#m_sod_frm_paysel {margin:10px 0;} +#m_sod_frm_paysel h3{background:#fff;padding:15px 10px ;border:1px solid #e3e5e8;border-bottom:0} +#m_sod_frm_paysel ul {margin:0 0 ;background:#fff;padding:10px;border:1px solid #e3e5e8} +#m_sod_frm_paysel ul:after {display:block;visibility:hidden;clear:both;content:""} +#m_sod_frm_paysel li {float:left;padding:5px ;width:46%;height:25px} +#m_sod_frm_paysel .KPAY{background:url('../../../img/kpay.png') no-repeat;width:37px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%} +#m_sod_frm_paysel .PAYNOW{background:url('../../../img/paynow.png') no-repeat;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;} +#m_sod_frm_paysel .PAYCO{background:url('../../../img/payco.png') no-repeat 1px;width:46px;height:15px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;} +#m_sod_frm_paysel .inicis_lpay{background:url('../../../img/lpay_logo.png') no-repeat;width:35px;height:12px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:100%;} +#m_sod_frm_paysel .inicis_kakaopay{background:url('../../../img/kakao.png') no-repeat 50% 50% #ffeb00;border-radius:30px;height:22px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} +#m_sod_frm_paysel .kakaopay_icon{background:url('../../../img/ico-mobile-kakaopay.png') no-repeat #fff;height:15px;width:43px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} +#m_sod_frm_paysel .naverpay_icon{background:url('../../../img/ico-mobile-naverpay.png') no-repeat #fff;height:15px;width:40px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} +#m_sod_frm_paysel .samsung_pay{margin-left:-23px;background:url('../../../img/samsungpay.png') no-repeat 24px 3px;height:25px;width:106px;display:inline-block;overflow:hidden;text-indent:-999px} + +#sod_frm_pay{padding:10px;;border-top:1px solid #f3f3f3} +#sod_frm_pay h2{margin:10px 0;font-size:1.25em} +#sod_frm_pay .cp_btn1,#sod_frm_pay .cp_cancel1{margin-top:0} +.odf_tbl{position:relative} +.odf_tbl table{background:#fff;width:100%;border-collapse:collapse;border-bottom:1px solid #ccc} +.odf_tbl table th{border-top:1px solid #eceff4;padding: 10px;text-align:left;width:120px;font-weight:normal} +.odf_tbl table td{border-top:1px solid #eceff4;padding:7px 10px;text-align:right} + +#sod_frm_pt_alert{margin:10px 0 10px;text-align:left;color:#fff;line-height: 18px;background: #f2838f;padding: 10px 10px 10px 13px;border-radius: 5px;position:relative} +#sod_frm_pt_alert::before {content: ""; position: absolute;top: 0;left: 0;width: 5px; height: 50px; border-radius: 5px 0 0 5px;background: #da4453;height:100%} + +.sod_frm_point {padding:10px 0;;clear:both} +.sod_frm_point div{background:#fff;border:1px solid #e3e5e8;padding:10px;text-align:right} +.sod_frm_point div:after {display:block;visibility:hidden;clear:both;content:''} +.sod_frm_point div label {float:left;line-height:30px} +.sod_frm_point div span {display:block;margin:5px 0} +.sod_frm_point div span:after {display:block;visibility:hidden;clear:both;content:''} +.sod_frm_point .max_point_box em{font-style:normal !important} +.sod_frm_point div strong{float:left;color:#666;font-weight:normal} +.sod_frm_point #od_temp_point{height:30px;border:1px solid #d0d3db;text-align:right;background:#fff;border-radius:3px; +-webkit-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1); +-moz-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1); +box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1);} + +#settle_bank{background:#fff;border:1px solid #e3e5e8;padding:10px;clear:both;line-height:30px} +#settle_bank:after {display:block;visibility:hidden;clear:both;content:''} +#settle_bank select{height:30px;margin:0 0 5px;width:100%;border:1px solid #d0d3db} +#settle_bank #od_deposit_name{height:30px;border:1px solid #d0d3db;text-align:center; border-radius:3px;float:right; +-webkit-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1); +-moz-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1); +box-shadow:inset 1px 1px 5px rgba(0,0,0,0.1);} +#settle_bank label{float:left;line-height:30px} +#sod_frm_pt_info{border-top:0} +.od_coupon{position:absolute;top:0;left:0;background:#fff;width:100%;z-index:99;border-radius:0 0 3px 3px; +-webkit-box-shadow:1px 1px 5px rgba(0,0,0,0.4); +-moz-box-shadow: 1px 1px 5px rgba(0,0,0,0.4); +box-shadow: 1px 1px 5px rgba(0,0,0,0.4);} +.od_coupon h3{height:45px;line-height:45px;font-size:1.167em;background:#333;color:#fff;padding:0 15px;text-align:left} +.od_coupon .tbl_head02{} +.od_coupon .tbl_head02 .btn_frmline {background:#3b67c2;color:#fff;border:0;padding:0 5px;line-height:25px } +.od_coupon .tbl_head02 td{text-align:left} +.od_coupon .tbl_head02 th{width:auto !important} +.od_coupon .tbl_head02 .td_mngsmall{width:60px;text-align:center} +.od_coupon .tbl_head02 .td_numbig{width:80px;text-align:right} +.od_coupon .btn_confirm{margin:20px ; } +.od_coupon .btn_confirm .btn_submit{height:40px;font-size:1.167em;font-weight:bold;width:100%;} +.od_coupon .btn_confirm .btn_close{position:absolute;top:0;right:0;width:45px;height:45px;border:0;background:none;color:#fff;font-size:1.25em} + +.cp_btn ,.cp_btn1{padding: 0 7px; border: 1px solid #d4d6db;border-radius: 3px;color: #3a8afd;background: #fff; line-height: 24px; margin: 5px 0 0; font-size: 0.923em; } +.cp_apply{padding: 0 5px;border: 1px solid #3a8afd; color: #3a8afd;background: #fff;height: 23px; line-height: 21px;} +.cp_cancel,.cp_cancel1 {padding: 0 7px;border: 1px solid #d4d6db;border-radius: 3px; color: #aaa;background: #fff;line-height: 24px;margin: 5px 0 0 2px;font-size: 0.923em;} + +#sod_frm_escrow{margin:10px;} +#sod_frm_escrow h2{font-size:1.25em} +#od_pay_sl h3{font-size:1.25em} + +.sod_frm_mobile .sod_list .li_name{border-bottom:1px solid #dcdcdc;line-height:1.3em;padding:10px 10px;font-size:1.083em} +#sod_frm.sod_frm_mobile .odf_list .frm_input{width:100% !important} +#sod_frm.sod_frm_mobile input[type="radio"],#sod_frm.sod_frm_mobile input[type="checkbox"]{width:auto;-webkit-appearance:radio;-webkit-border-radius:initial} +#sod_frm.sod_frm_mobile #od_memo{min-height:50px} +#sod_frm .od_prd_list{margin:10px;background:#fff;padding:15px} +.od_prd_list .td_chk{border-left:0;} +.od_prd_list .td_prd{border-left:0;position:relative;padding-left:90px;min-height:100px} +.od_prd_list .td_prd .sod_img{position:absolute;top:15px;left:0} +.od_prd_list .td_prd .sod_name{min-height:80px} +.od_prd_list .td_prd .prd_name{font-size:1.167em} +.od_prd_list .total_prc{color:#ff006c;font-weight:bold;font-size:1.167em} + +#sod_frm_orderer{padding:10px;;border-bottom:1px solid #d6d3d3} +#sod_frm_taker{padding:10px;border-bottom:1px solid #d6d3d3;border-top:1px solid #f3f3f3} +#sod_frm_taker h2,#sod_frm_orderer h2{margin:10px 0;font-size:1.25em} +.odf_list li{} +.odf_list label,.odf_list strong{display:block;margin:7px 0 5px;color:#444;font-weight:normal} +.odf_list .frm_input{width:100%;margin:0 0 5px} +.odf_list .dlv_slt {background:#edf3fc;position:relative;border:1px solid #d1ddee;margin:5px 0;padding:10px} +.odf_list .dlv_slt strong{margin:0 ;font-weight:bold;line-height:30px} +.odf_list .dlv_slt div label{display:inline-block;margin:3px 0;color:#000} +.sod_frm_mobile #order_address{display:block;position:absolute;top:5px;right:5px;text-align:center;border: 1px solid #d4d6db;background:#fff;border-radius:3px;color:#606060;;height:30px;line-height:28px;margin:5px 0 0;padding:0 5px} +.odf_list .ad_default{display:inline-block;margin:0} +.odf_list .btn_addsch{position:absolute;top:5px;right:5px;border-radius:3px;height:30px;} +.odf_list .add_num{position:relative;display:block;} +.odf_list textarea{border: 1px solid #ccc;background: #fff;color: #000;vertical-align: middle;border-radius: 3px;padding: 5px;width:100%;height:70px; +-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} + +#sod_frm .sod_ta_wr{background: #fff} +#sod_frm .btn_confirm{;margin:0 10px 10px} +#sod_frm .btn_submit{width:100%;height:45px;font-size: 1.167em;font-weight: bold;margin:5px 0;border-radius:4px} +#sod_frm .btn_cancel,#sod_frm .btn01{width:100%;height:45px;line-height:43px;font-size:1.167em;font-weight: bold;padding:0;border-radius:4px} + +#sod_frm_escrow{margin:10px;} +#sod_frm_escrow h2{font-size:1.25em} +#od_pay_sl h3{font-size:1.25em} +.sod_frm_mobile #od_tot_price{background:none;font-weight:bold} + +/* 쿠폰 */ +#scp_list {text-align:center;background:#fff} +#scp_list .li_pd {position:relative;padding:10px} #scp_list h1 {text-align:left} +#scp_list .li_title {font-weight:bold;font-size:1.167em} +#scp_list ul:after {display:block;visibility:hidden;clear:both;content:""} +#scp_list .pd_price {position:absolute;top:10px;right:10px} +#scp_list li {padding:15px;border-bottom:1px solid #ececec;text-align:left} +#scp_list .pd_price strong {color:#ff006c;font-size:1.5em} +#scp_list .cou_top {margin-bottom:10px;position:relative} +#scp_list .li_target {color:#666;margin:5px 0 0;background:#f3f3f3;border-top:1px dotted #ccc;padding:5px 10px} #scp_list .cou_tit {font-size:1.25em;font-weight:bold} +#scp_list .pd_date {float:right;color:#777} #scp_list .cou_pri {font-size:1.25em;color:#3a8afd;font-weight:bold;position:absolute;top:0;right:0;} +#scp_list .cou_target {color:#8cc152;background:#edfbde;padding:5px;line-height:20px;font-size:0.92em;border-radius:5px} +#scp_list .cou_date {float:right;color:#888d92} +#scp_list .btn_close {margin:20px auto} + +/* 배송지 목록 */ +#sod_addr {} +#sod_addr ul {margin:0;padding:0;list-style:none} +#sod_addr li {position:relative;padding:0;border-bottom:1px solid #e9e9e9} +#sod_addr .addr_title {border-bottom:1px solid #ddd;padding:10px} +#sod_addr .ad_subject {height:30px;border:1px solid #bbb;padding:0 10px} +#sod_addr .ad_chk {position:absolute;top:17px;left:10px} +#sod_addr .addr_info {padding:15px} +#sod_addr .addr_name {margin:0 0 10px;font-weight:bold;font-size:1.083em} +#sod_addr .addr_addr {line-height:1.5em;margin:5px 0} +#sod_addr .addr_tel {margin:5px 0;color:#666} +#sod_addr .fa-mobile {font-size:14px} +#sod_addr .addr_btn {border-radius:0 0 3px 3px;padding:10px} +#sod_addr .addr_btn:after {display:block;visibility:hidden;clear:both;content:""} +#sod_addr .sel_address {width:32%;float:left;margin-right:1%;height:30px;background:none;border:1px solid #333;color:#333;padding:0 5px} +#sod_addr .del_address {display:block;width:32%;text-align:center;float:left;margin-right:1%;border:1px solid #aaa;background:none;color:#888;padding:0 5px;height:30px;line-height:28px;vertical-align:middle} +#sod_addr input[type="radio"] {position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left:0;z-index:-1px} +#sod_addr .add_lb {display:inline-block;float:left;width:32%;text-align:center;border:1px solid #4162ff;color:#4162ff;height:30px;line-height:28px} +#sod_addr input[type="radio"]:checked+.add_lb {z-index:3;background:#4162ff;color:#fff} + +/* 주문내역 */ +#sod_v {} +#sod_v .td_stat {width:100px} +#sod_v_info {position:relative;text-align:left;color:#fff;line-height:18px;font-size:1.1em;background:#f2838f;margin:10px;padding:10px 20px;border-radius:5px;font-weight:bold} +#sod_v_info:before {content:"";position:absolute;top:0;left:0;width:5px;height:100%;border-radius:5px 0 0 5px;background:#da4453} +#sod_v_info i {font-size:1.2em;vertical-align:middle} + +/* 주문상세내역 */ +#sod_list_inq {} +#sod_list_inq .li_op_wr {padding-left:85px} +#sod_list_inq .total_img {left:10px} +#sod_list_inq .sod_opt {padding-left:10px} + +.sod_fin_list h2 {position:absolute;border:0;font-size:0;line-height:0;content:""} +.sod_fin_list .prqty_stat {display:inline-block;background: #edfbde; color: #8cc152;line-height: 24px;border-radius: 5px; border-radius: 5px;padding: 0 5px; font-weight: normal;font-size: 0.85em;margin:5px 0} +.sod_fin_list .li_opt {color:#777;margin:3px 0;line-height:1.3em;padding-right:50px} +#sod_sts_wrap {margin:10px} +#sod_sts_wrap .btn_wr {border-top:1px solid #bbb;text-align:center} +#sod_sts_explan_open {padding:0 10px;height:30px;border:1px solid #bbb;border-top:1px solid #e6e6e6;margin-top:-1px;color:#333;background:none} +#sod_sts_explan {display:none} +#sod_fin_legend {background:#edf3fc;border:1px solid #d6e2f4;border-radius:3px;margin:0 0 10px;padding:10px;line-height:20px;color:#3967ac} +#sod_fin_legend:after {display:block;visibility:hidden;clear:both;content:""} +#sod_fin_legend dt {float:left;width:20%} +#sod_fin_legend dd {float:left;width:80%} + +#sod_fin_pay,#sod_fin_orderer,#sod_fin_receiver,#sod_fin_receiver,#sod_fin_dvr{margin:10px;background:#fff;border:1px solid #e3e5e8} +#sod_fin_view h2 {position:absolute;border:0;font-size:0;line-height:0;content:""} +#sod_fin_view h3 {font-size:1.167em;padding:10px;border-bottom:1px solid #e3e5e8;line-height:1.5em} +#sod_fin_view .odf_tbl {padding:5px} +#sod_fin_view .odf_tbl .dvr_link{display:inline-block;line-height: 30px;color: #3a8afd;background: #fff;border: 1px solid #d4d6db;font-size: 0.93em;border-radius: 3px;padding:0 10px;} +#sod_fin_view table {background:#fff;width:100%;border-collapse:collapse;padding:10px 0;border:0} +#sod_fin_view table th {border:0;padding: 10px 0 10px 10px;text-align:left;width:100px;font-weight:normal} +#sod_fin_view table td {border:0;padding: 10px;text-align:left} + +#sod_fin_no {margin:10px;border:2px solid #d6e2f4;background:#edf3fc;color:#5a81bd;border-radius:3px;padding:10px 15px} +#sod_fin_no strong {font-size:1.167em} + +#sod_fin_tot {margin:10px} +#sod_fin_tot h2 {font-size:1.167em;margin:20px 0 10px} +#sod_fin_tot ul {background:#fff;border:1px solid #3a8afd;color:#000} +#sod_fin_tot li {padding:10px;line-height:25px;zoom:1} +#sod_fin_tot li:after {display:block;visibility:hidden;clear:both;content:""} +#sod_fin_tot #alrdy {background:#e5f0ff;font-weight:bold;border-top:1px solid #c6d7ef} +#sod_fin_tot #alrdy .right {margin-top:10px;text-align:right;font-weight:normal;font-size:0.9em} +#sod_fin_tot #alrdy .right p {position:relative;color:#333;margin:5px 0} +#sod_fin_tot #alrdy .right .title {position:absolute;left:0;padding-left:8px} +#sod_fin_tot strong {float:right} + +#sod_fin_cancel {margin:10px} +#sod_fin_cancel h2 {position:absolute;border:0;font-size:0;line-height:0;content:""} +#sod_fin_cancel h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sod_fin_cancel button {height:40px;border:1px solid #ddd;font-weight:bold;width:100%;background:none;color:#282828;font-weight:normal} +#sod_fin_cancel p {text-align:center;background:#ffe0e0;border:2px solid #d50c0c;padding:15px;color:#d50c0c;font-size:1.167em;font-weight:bold} +#sod_fin_cancelfrm {display:none;position:relative;margin:10px 0 0;text-align:center;background:#fff;padding:15px 75px 15px 15px} +#sod_fin_cancelfrm .frm_input {background:#fff;margin:0 0 5px;width:100%} +#sod_fin_cancelfrm .btn_frmline {background:#5e6b6f;color:#fff;border:0;padding:10px;width:55px;cursor:pointer;position:absolute;top:15px;right:15px;height:40px} +#sod_fin_test {padding:10px} + +/* 마이페이지 */ +#smb_my_ov {position:relative;background:#fff;margin-right:20px} +#smb_my_ov h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#smb_my_ov .my_name {display:block;background:#fff;border-bottom:1px solid #efefef;padding:15px 10px 15px 80px;font-size:1.167em} +#smb_my_ov .profile_img {display:inline-block;position:absolute;top:15px;left:15px} +#smb_my_ov .my_info_modi {position:absolute;bottom:0;right:-5px;text-align:center;background:#212020;width:20px;height:20px;line-height:20px;color:#fff;font-size:13px;border-radius:50%} +#smb_my_ov .my_name>strong {display:block} +#smb_my_ov .win_point {color:#c7d4e6;font-size:0.92em} +#smb_my_ov .win_point strong {color:#3a8afd} + +#smb_my_ov .my_name img {width:45px;border-radius:50%} +#smb_my_ov .my_name .my_ov_name {display:inline-block;margin-bottom:10px;line-height:28px} +#smb_my_ov .my_name a.smb_info {color:#3a8afd} +#smb_my_ov .smb_my_act {position:absolute;right:15px;top:20px;display:inline-block} +#smb_my_ov .smb_my_act li {display:inline-block;font-size:0.92em} +#smb_my_ov .smb_my_act li a {line-height:28px;height:30px;vertical-align:middle;padding:0 5px;margin:0;border-radius:3px} +#smb_my_ov .smb_my_act li a.btn_logout {display:inline-block;border:1px solid #4f93fd;color:#4f93fd} + +#smb_my {} +#smb_my .btn_more {display:block;height:43px;margin:15px;background:#eee;font-size:1.167em;color:#7f7e7e;line-height:43px;text-align:center;border-radius:3px} +#smb_my_ov {margin:0 0 20px} + +#smb_my_ov .my_pocou {background:#fff} +#smb_my_ov .my_pocou:after {display:block;visibility:hidden;clear:both;content:''} +#smb_my_ov .my_pocou li {width:50%;float:left;padding:15px;border-right:1px solid #efefef} +#smb_my_ov .my_pocou li:last-child {border-right:0} +#smb_my_ov .my_pocou li a{display:block;position:relative;line-height:20px} +#smb_my_ov .my_pocou li a span{display:inline-block;float:right;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:clip;padding:0 5px;line-height:20px;border-radius:35px;font-weight:normal;font-size:0.846em} +#smb_my_ov .my_pocou li.my_cou a span{background:#a352c1} +#smb_my_ov .my_pocou li.my_memo a span{background:#ff8b77} +#smb_my_ov .my_pocou li i {color:#8c9eb0;font-size:16px} + +#smb_my_ov .my_info {display:none;clear:both;width:100%;margin-top:-1px;background:#fff;padding:5px 20px 20px;border-bottom:1px solid #e6e6e6} +#smb_my_ov .my_info:after {display:block;visibility:hidden;clear:both;content:''} +#smb_my_ov .my_info_wr {float:left;width:50%;line-height:20px;padding-bottom:10px;margin:5px 0;border-bottom:1px dashed #e5e5e5} +#smb_my_ov .my_info_wr strong {display:block;vertical-align:top;padding:3px 0px;color:#8c9eb0} +#smb_my_ov .my_info_wr span {display:block;text-align:left} +#smb_my_ov .ov_addr {border-bottom:0} +#smb_my_ov .ov_addr a {color:#c7c7c7} + +#smb_my_ov .my_ov_btn {border-top:1px solid #efefef} +#smb_my_ov .my_ov_btn button {display:block;width:100%;border:0;border-bottom:1px solid #dde7e9;background:#fff;padding:15px;text-align:left;font-size:1.125em;font-weight:bold} +#smb_my_ov .my_ov_btn button i {display:inline-block;float:right} + +#smb_my_od h2 {font-size:1.167em;margin:10px} +#smb_my_wish h2 {font-size:1.167em;margin:30px 10px 10px} +.wishlist ul {margin:10px 10px 0} +.wishlist ul:after {display:block;visibility:hidden;clear:both;content:''} +.wishlist li {float:left;padding:5px;width:33.333%;text-align:center} +.wishlist li img {width:100%;height:auto;max-width:250px} +.wishlist li .info_link {display:block;font-weight:bold;margin:5px 0 2px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap} +.wishlist li .info_date {font-size:0.92em;color:#666} + +@media (max-width:970px) { + #smb_my_ov .my_info_wr {width:100%} +} + +/* 위시리스트 */ +#sod_ws {margin:10px 0} +#sod_ws li {position:relative;background:#fff;border-bottom:1px solid #e8e8e8;border-radius:3px} +#sod_ws .wish_img {position:absolute;top:50%;left:25px;z-index:10;width:70px;height:70px;margin-top:-35px;overflow:hidden;z-index:4} +#sod_ws .info_price {font-weight:bold;line-height:28px} +#sod_ws .wish_info {padding:10px 15px 10px 100px;min-height:90px} +#sod_ws .wish_chk {position:absolute;top:5px;left:5px;z-index:9} +#sod_ws .info_date {display:block;color:#777;font-size:0.92em} +#sod_ws .wish_prd {display:block;font-weight:bold;font-size:1.083em} +#sod_ws .wish_del {position:absolute;bottom:30px;right:10px} +#sod_ws .wish_del a {display:block;width:30px;height:30px;line-height:30px;background:transparent;border-radius:3px;color:#b2b2b2;text-align:center;font-size:1.25em} +#sod_ws .sold_out {display:inline-block;padding:3px 5px;background:#ff0000;color:#fff;border-radius:3px} + +#sod_ws_act {text-align:center;margin:10px} +#sod_ws_act:after {display:block;visibility:hidden;clear:both;content:''} +#sod_ws_act .btn01 {float:left;width:49%;height:50px;background:#fff;font-weight:bold;color:#000;border-radius:5px;border-radius:1px solid #98a3b3;font-weight:bold;font-size:1.25em} +#sod_ws_act .btn02 {float:right;width:49%;height:50px;border:1px solid #1c70e9;color:#fff;border-radius:5px;font-weight:bold;background:#3a8afd;font-weight:bold;font-size:1.25em} + +/* 주문내역 include */ +#sod_inquiry{border-bottom:1px solid #dde7e9} +#sod_inquiry li {background:#fff;border-top:1px solid #ececec;padding:15px;position:relative} +#sod_inquiry li:after {display:block;visibility:hidden;clear:both;content:''} +#sod_inquiry li .idtime_link {font-weight:bold;font-size:1.167em} +#sod_inquiry li .idtime_time {color:#999} +#sod_inquiry li .inq_wr:after {display:block;visibility:hidden;clear:both;content:''} +#sod_inquiry li .inquiry_name {margin:10px 0;} +#sod_inquiry li .inquiry_price {font-size:1.25em;font-weight:bold;color:#3a8afd;float:left} +#sod_inquiry li .inv_status {display:inline-block;float:right;margin: 0;font-weight:bold} +#sod_inquiry li .inv_inv {margin: 10px 0 0;display: block;border: 1px solid #e5ecf2;border-radius:3px;color:#4963b8;background:#f9fdff;padding:10px;} +#sod_inquiry li .inv_inv i {margin-right:5px} +#sod_inquiry .li_cancel{background:#fcf1f1} + +.status_01 {display:block;background:#edfbde;color:#8cc152;line-height:24px;border-radius:5px;border-radius:5px;padding:0 5px;font-weight:normal;font-size:0.85em} +.status_02 {display:block;background:#84c93a;color:#fff;line-height:24px;border-radius:5px;border-radius:5px;padding:0 5px;font-weight:normal;font-size:0.85em} +.status_03 {display:block;background:#5bd085;color:#16b494;line-height:24px;border-radius:5px;border-radius:5px;padding:0 5px;font-weight:normal;font-size:0.85em} +.status_04 {display:block;background:#e2eaf6;color:#3a8afd;line-height:24px;border-radius:5px;border-radius:5px;padding:0 5px;font-weight:normal;font-size:0.85em} +.status_05 {display:block;background:#3a8afd;color:#fff;line-height:24px;border-radius:5px;border-radius:5px;padding:0 5px;font-weight:normal;font-size:0.85em} +.status_06 {display:block;background:#fff;color:red;line-height:24px;border-radius:5px;border-radius:5px;padding:0 5px;font-weight:normal;font-size:0.85em} + +/* 주문상세내역 중 현금영수증 발급 */ +#scash {} +#scash section {padding:10px 0} +#scash h2 {margin:0 0 10px;text-align:center} +#scash .tbl_head01 th {padding:0 10px;border-top:1px solid #eee;border-bottom:1px solid #eee;background:#f2f5f9;text-align:left} +#scash_apply {padding:10px 0 15px;text-align:center} +#scash_apply button {padding:10px;border:0;background:#565e60;color:#fff} +#scash_copy {text-align:center} + +/* 화면낭독기 사용자용 */ +#hd_login_msg {position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden} +.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;width:1px !important;height:1px !important;font-size:0;text-indent:-9999em;line-height:0;border:0 !important;overflow:hidden !important} + +/* 본문 바로가기 */ +#skip_to_container a {z-index:100000;position:absolute;font-size:0;line-height:0;overflow:hidden;left:0} +#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:1.5em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em} + +/* 이미지 등비율 리사이징 */ +.img_fix {width:100%;height:auto} + +/* 캡챠 자동등록(입력)방지 기본 -pc */ +#captcha {position:relative} +#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0} +#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;width:40px;height:40px;background:url('../../../img/captcha.png') no-repeat;text-indent:-999px;border-radius:3px} +#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px} +#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top} +#captcha #captcha_info {display:block;margin:3px 0 5px;font-size:0.95em;letter-spacing:-0.1em} + +/* ckeditor 태그 기본값 */ +#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px} +#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px} +#bo_v_con li {display:list-item} + +/* 캡챠 자동등록(입력)방지 기본 - mobile */ +#captcha.m_captcha audio {display:block;margin:0 0 5px} + +/* Mobile화면으로 */ +#mobile_cng {display:block;margin:5px;padding:5px 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center} + +/* ckeditor 단축키 */ +.cke_sc {margin:0 0 5px;text-align:right} +.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:1.9em;vertical-align:middle} +.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f2f5f9;text-align:center} +.cke_sc_def dl {margin:0 0 5px;text-align:left} +.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""} +.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9} +.cke_sc_def dt {width:20%;font-weight:bold} +.cke_sc_def dd {width:30%} + +/* 콘텐츠별 스타일 */ +.cnt_cmt {display:inline-block;margin:0 0 0 5px;font-weight:bold} + +/* 버튼 */ +.btn {display:inline-block;padding:0 5px;height:45px;line-height:43px;border-radius:3px} +a.btn01 {display:inline-block;padding:0 7px;border:1px solid #ccc;border-bottom:1px solid #aaa;background:#fff;color:#333;text-decoration:none;vertical-align:middle} +a.btn01:focus, a.btn01:hover {text-decoration:none} +button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fff;color:#666;text-decoration:none} +a.btn02 {display:inline-block;padding:8px 7px 7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle} +a.btn02:focus, .btn02:hover {text-decoration:none} +button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none} +.btn_confirm {text-align:center} /* 서식단계 진행 */ +.btn_submit {padding:0 5px;border:0;background:#3a8afd;border:1px solid #1c70e9;color:#fff;letter-spacing:-0.1em;border-radius:3px}} +fieldset .btn_submit {padding:0 7px;height:24px;line-height:1em} +a.btn_cancel {display:inline-block;padding:8px 7px 7px;border:1px solid #ccc;background:#fff;color:#000;text-decoration:none;vertical-align:middle} +button.btn_cancel {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;vertical-align:top;text-decoration:none} +a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 5px;height:1.9em;border:0;background:#fff;color:#3a8afd;border:1px solid #3a8afd;letter-spacing:-0.1em;text-decoration:none;vertical-align:top;line-height:1.9em} +.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff} +a.btn_close {text-align:center;line-height:50px} + +/* 우편번호검색버튼 등 */ +button.btn_frmline {font-size:1em} +.btn_top {margin:10px;text-align:right} +.btn_top li {display:inline-block} +.btn_top a,.btn_top .btn_submit {line-height:30px;padding:0 10px;border-radius:3px} +.btn_top .btn_cancel,.btn_top .btn_b01 {border:1px solid #aaa;background:none;color:#666;line-height:28px;background:#fff} + +/* 게시판용 버튼 */ +a.btn_b01,.btn_b01 {display:inline-block;background:#4c4f6f;color:#fff;text-decoration:none;vertical-align:middle} +.btn_b01:hover, .btn_b01:hover {} +a.btn_b02 ,.btn_b02 {display:inline-block;background:#ff506a;color:#fff;text-decoration:none;vertical-align:middle;border:0} +a.btn_b02:hover, .btn_b02:hover {} +a.btn_b03, .btn_b03 {display:inline-block;line-height:28px;border:1px solid #ed6478;color:#ed6478;background:none;text-decoration:none;vertical-align:middle} +a.btn_b03:hover, .btn_b03:hover {} +a.btn_admin {display:inline-block;background:#e8180c;color:#fff;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */ +a.btn_admin:focus, a.btn_admin:hover {} + +.is_community .btn_top {position:relative;height:50px;margin:0;padding:10px 15px;line-height:30px;background:#fff;color:#333;text-align:right; +-webkit-box-shadow:0 0 10px rgba(181, 181, 181, 0.4); +-moz-box-shadow:0 0 10px rgba(181, 181, 181, 0.4); +box-shadow:0 0 10px rgba(181, 181, 181, 0.4); +} +.is_community a.btn_admin {display:inline-block;color:#d13f4a;font-size:1.4em;background:transparent;text-decoration:none;vertical-align:middle} +.is_community .btn_bo_user > li {display:inline-block;float:none;text-align:center;margin-left:5px} +.is_community .all_chk.chk_box input[type="checkbox"] + label span{top:2px;left:0} +.is_community a.btn,.is_community .btn {line-height:35px;width:30px;height:35px;padding:0 5px;text-align:center;font-weight:bold;border:0;font-size:1.4em} +.is_community .more_opt{right:40px} +.is_community .chk_box input[type="checkbox"] + label {padding-left:20px;color:#676e70} +.is_community .all_chk {padding:10px 15px;} + +/* 기본테이블 */ +.tbl_wrap {margin:0 0 10px} +.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0} +.tbl_wrap caption {padding:10px 0;color:#4b8b99;font-weight:bold;text-align:left} + +.tbl_head01 {margin:0 0 10px} +.tbl_head01 table {border-bottom:1px solid #d3d3d3} +.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden} +.tbl_head01 thead th {padding:12px 0;border-top:2px solid #000;border-bottom:1px solid #d3d3d3;background:#fff;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +.tbl_head01 thead a {color:#383838} +.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center} +.tbl_head01 tbody th {padding:10px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.tbl_head01 td {padding:15px 5px;border-top:1px solid #f3f3f3;border-left:1px solid #f3f3f3;line-height:1.5em;word-break:break-all} +.tbl_head01 td:first-child {border-left:0} +.tbl_head01 a {} + +.tbl_head02 {margin:15px} +.tbl_head02 caption {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +.tbl_head02 thead th {padding:7px 0;border-top:1px solid #333;border-bottom:1px solid #ddd;background:#f3f3f3;color:#333;font-size:0.95em;text-align:center} +.tbl_head02 thead a {color:#383838} +.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head02 tfoot th {border-top:1px solid #666;border-bottom:1px solid #666;background:#484848;color:#fff} +.tbl_head02 tfoot td {background:#484848;color:#fff;font-weight:bold;text-align:center} +.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.tbl_head02 td {padding:5px 3px;border-bottom:1px solid #e9e9e9;line-height:1.4em;word-break:break-all} + +.tbl_head03 {margin:0 0 10px} +.tbl_head03 table {border-bottom:1px solid #d3d3d3} +.tbl_head03 caption {padding:0;font-size:0;line-height:0;overflow:hidden} +.tbl_head03 thead th {padding:12px 0;border-top:2px solid #000;border-bottom:1px solid #d3d3d3;;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em} +.tbl_head03 thead a {color:#383838} +.tbl_head03 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.tbl_head03 tfoot th, .tbl_head03 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center} +.tbl_head03 tbody th {padding:10px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.tbl_head03 td {padding:15px 5px;border-top:1px solid #f3f3f3;border-left:1px solid #f3f3f3;background:#fff;line-height:1.5em;word-break:break-all} +.tbl_head03 td:first-child {border-left:0} +.tbl_head03 a {} + +/* 폼 테이블 */ +.tbl_frm01 {} +.tbl_frm01 th {padding:10px 0;width:90px;border:1px solid #e9e9e9;border-left:0;text-align:left} +.tbl_frm01 td {padding:10px 5px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent} +.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;padding:5px;font-size:1.083em;max-width:100%;} +.frm_input {height:40px;} + +.tbl_frm01 a {text-decoration:none} +.tbl_frm01 .frm_address {margin-top:5px;width:100%} +.tbl_frm01 .frm_file {display:block;margin-bottom:5px;width:100%} +.tbl_frm01 .frm_info {display:block;padding:5px 0 0;color:#666;line-height:1.3em} + +/* 기본리스트 */ +.list_01 {padding:0 10px} +.list_01 li {background:#fff;border-radius:3px;margin:10px 0;padding:10px 15px; +-webkit-box-shadow: 0 1px 4px #cbd1df; +-moz-box-shadow: 0 1px 4px #cbd1df; +box-shadow:0 1px 4px #cbd1df;} + +/* 기본폼 */ +.form_01{margin:10px} +.form_01 div{margin:5px 0;position:relative} +.form_01 li{margin:5px 0;position:relative} +.form_01 textarea {width:100%;height:100px} +.frm_input {height:40px} +.full_input {width:100%} +.form_01 .frm_file {display:block;margin-bottom:5px;width:100%} +.form_01 select {height:40px;border-radius:3px} +.form_01 .frm_info {font-size:0.92em;color:#4162ff;text-align:left;margin:3px 0 10px;display:block;line-height:1.3em} + +/* 자료 없는 목록 */ +.empty_table {padding:50px 0 !important;text-align:center !important;color:#666 !important} +.empty_list {padding:50px 0 !important;text-align:center !important;color:#666 !important} + +/* 필수입력 */ +.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important} + +/* 테이블 그리드 padding 0 5px 고려한 넓이 */ +.grid_1 {width:40px} +.grid_2 {width:100px} +.grid_3 {width:120px} +.grid_4 {width:190px} +.grid_5 {width:240px} +.grid_6 {width:290px} +.grid_7 {width:340px} +.grid_8 {width:390px} +.grid_9 {width:440px} +.grid_10 {width:490px} +.grid_11 {width:540px} +.grid_12 {width:590px} +.grid_13 {width:640px} +.grid_14 {width:690px} +.grid_15 {width:740px} +.grid_16 {width:790px} +.grid_17 {width:840px} +.grid_18 {width:890px} + +/* 테이블 항목별 정의 */ +.td_chk {width:50px;text-align:center} +.td_group {width:100px;text-align:center} +.td_board {width:120px;text-align:center} +.td_statsmall {width:50px;text-align:center} +.td_num {width:50px;text-align:center} +.td_numbig {width:100px;text-align:center} +.td_mb_id {width:100px;text-align:center} +.td_nick {width:100px;text-align:center} +.td_name {width:100px;text-align:left} +.td_namesmall {width:100px;text-align:left} +.td_date {width:50px;text-align:center} +.td_datetime {width:170px;text-align:center} +.td_mngsmall {width:50px;text-align:center} +.td_mng {width:80px;text-align:center} +.td_stat {text-align:center} +.td_dvr {text-align:center} + +/* 새창 기본 스타일 */ +.new_win {} +.new_win #win_title {font-size:1.3em;min-height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1); +-moz-box-shadow:0 1px 10px rgba(0,0,0,.1); +box-shadow:0 1px 10px rgba(0,0,0,.1)} +.new_win #win_title .sv {font-size:0.75em;line-height:1.2em} +.new_win_con {margin:10px} + +.new_win .win_ul {margin:10px} +.new_win .win_ul li {display:inline-block} +.new_win .win_ul li a {display:block;line-height:24px;padding:0 10px} +.new_win .win_ul li .selected {background:#4162ff;color:#fff;border-radius:13px; +-webkit-box-shadow:0 0 5px rgba(65,98,255,0.8); +-moz-box-shadow:0 0 5px rgba(65,98,255,0.8); +box-shadow:0 0 8px rgba(65,98,255,0.8)} + +.new_win .win_desc {margin:5px 0;font-size:0.92em;color:#4162ff} +.new_win .win_btn {clear:both;margin:10px;text-align:center} +.new_win .win_btn a {display:inline-block;height:45px;line-height:45px;font-weight:bold} +.new_win .btn_close {height:45px;width:60px;overflow:hidden;cursor:pointer} +.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em;vertical-align:top} + +/* 자바스크립트 alert 대안 */ +#validation_check {margin:100px auto;width:500px} +#validation_check h1 {margin-bottom:20px;font-size:1.3em} +#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff} + +/* 사이드뷰*/ +.sv_wrap {display:inline-block;position:relative;font-weight:normal} +.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;border:1px solid #283646;background:#111} +.sv_wrap .sv a {display:inline-block !important;margin:0 !important;padding:5px !important;width:94px;border-bottom:1px solid #283646;color:#fff !important} +.sv_wrap a:focus, .sv_wrap a:hover, .sv_wrap a:active {text-decoration:none !important} +.sv_on {display:block !important;position:absolute;top:10px;left:20px;width:auto;height:auto !important} +.sv_nojs .sv {display:block} + +/* 페이징 */ +.pg_wrap {clear:both;display:block;padding:10px 0;text-align:center} +.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} +.pg {text-align:center} +.pg_page, .pg_current, .qa_page {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee} +.pg a:focus, .pg a:hover {text-decoration:none} +.pg_page,.qa_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px} +.pg_page:hover,.qa_page:hover {background-color:#fafafa} +.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee} +.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa} + +.pg_current {display:inline-block;background:#3a8afd;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px} + +/* 상품상세 메뉴 floating */ +#info_top_layer {display:none;position:absolute;top:0;left:0;width:100%;background-color:#eee} +#form_btn_layer {display:none;position:absolute;top:0;left:0;width:100%;height:60px;background-color:#eee} + +/*현금영수증*/ +#kcp_req_rx .tbl_head01 tbody th {text-align:left} + +/*배송지목록*/ +#sod_addr .win_desc {padding:10px 20px} + +/*쇼핑몰레이아웃*/ +#mb_login .btn_submit {} +#bo_list,#bo_cate {margin-top:10px !important} +#fregisterform {} +#bo_w .btn_submit, #bo_w a.btn_cancel {padding:8px 7px} +#bo_w {padding:10px} +#fqalist {padding:0 10px} + +/*이벤트*/ +#sev_hhtml,#sev_thtml {padding:10px} +#sev_hhtml img,#sev_thtml img {width:100%} + +/*네이버페이*/ +.naverpay-item {padding-top:15px;clear:both} +#sod_bsk_act .naverpay-cart {margin-top:15px;clear:both;position:static} + +/*PC 주문서*/ + +#sod_frm .tbl_head03{padding:0;background:none} +#sod_frm .tbl_head03 .sod_opt {padding:5px 0} +#sod_frm_orderer .odpw_info{display:block;margin:0 0 7px;color:#3a8afd} +#sod_frm_orderer .tbl_frm01,#sod_frm_taker .tbl_frm01{background:#fff;padding:10px 0;margin:0} +#sod_frm_taker .choice_place{background:#edf3fc;margin:10px;padding:10px;border:1px solid #d1ddee} +#sod_frm_taker .choice_tit{display:block;font-weight:bold;margin:0 0 5px} +#sod_frm_orderer table th,#sod_frm_taker table th{border:0;padding:10px 5px;text-align:right;vertical-align:top} +#sod_frm_orderer table td,#sod_frm_taker table td{border:0;padding:5px 10px;vertical-align:middle} +.sod_right #sod_bsk_tot{margin:10px} +#sod_frm_taker textarea{width:100%;height:80px} + +#od_pay_sl input[type="radio"] {position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left:0;z-index:-1px} +#od_pay_sl .lb_icon {display:inline-block;float:left;width:150px;background:#fff;border:1px solid #eceff4;margin:-1px 0 0 -1px;cursor:pointer;height:60px;position:relative;padding-left:65px;padding-top:20px;z-index:1} +#od_pay_sl input[type="radio"]:checked+.lb_icon {border:1px solid #ff006c;z-index:3} + +#sod_frm_paysel {} +#sod_frm_paysel legend {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#sod_frm_paysel .KPAY{background:url('../../../img/kpay.png') no-repeat 0 3px;width:67px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:35px auto} +#sod_frm_paysel .PAYNOW{background:url('../../../img/paynow.png') no-repeat 0 3px;width:74px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:45px auto;} +#sod_frm_paysel .PAYCO{background:url('../../../img/payco.png') no-repeat 0 3px;width:74px;;overflow:hidden;text-indent:-999px;display:inline-block;background-size:45px auto;} +#sod_frm_paysel .inicis_lpay{background:url('../../../img/lpay_logo.png') no-repeat 0 3px;width:65px;overflow:hidden;text-indent:-999px;display:inline-block;background-size:35px auto;} +#sod_frm_paysel .kakaopay_icon{background:url('../../../img/kakao.png') no-repeat 0 3px;width:74px;display:inline-block;overflow:hidden;text-indent:-999px;background-size:35px auto} +#sod_frm_paysel .samsung_pay{background:url('../../../img/samsungpay.png') no-repeat 0 3px;width:106px;display:inline-block;overflow:hidden;text-indent:-999px} + +#sod_bsk_tot:after {display:block;visibility:hidden;clear:both;content:""} +.sod_info li {position:relative;float:left;background:#fff;width:33.333%;height:70px;text-align:center;border-bottom:1px solid #e7ebf1;padding:15px 0} +.sod_info li:after {display:block;visibility:hidden;clear:both;content:""} +.sod_info li span {display:block;color:#777;margin-bottom:5px;font-weight:bold;color:#000} +.sod_info .sod_bsk_sell, .sod_info .sod_bsk_coupon {border-right:1px solid #e7ebf1} +.sod_info .sod_bsk_coupon:before {display:block;content:"-";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:#fff;color:#9da6c9;border-radius:50%;border:1px solid #e7ebf1;font-weight:bold;font-size:16px;line-height:14px} +.sod_info .sod_bsk_dvr:before {display:block;content:"+";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:#fff;color:#9da6c9;border-radius:50%;border:1px solid #e7ebf1;font-weight:bold;font-size:16px;line-height:14px} +.sod_info .sod_bsk_cnt strong {font-size:1.25em} + +.sod_info_bt {clear:both;padding:10px 15px;background:#fff} +.sod_info_bt:after {display:block;visibility:hidden;clear:both;content:""} +.sod_info_bt li {} +.sod_info_bt li:after {display:block;visibility:hidden;clear:both;content:""} +.sod_info_bt li span {display:inline-block;float:left;width:50%;line-height:28px;text-align:left;font-weight:bold;color:#000} +.sod_info_bt li strong {display:inline-block;float:left;width:50%;line-height:28px;text-align:right} + +.sod_info_option {clear:both;border-top:1px solid #e7ebf1} +.sod_info_option h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.sod_info_option ul {padding:10px 15px;background:#fff} +.sod_info_option li {margin-bottom:5px} +.sod_info_option li:after {display:block;visibility:hidden;clear:both;content:""} +.sod_info_option .sod_ifop_tit {display:inline-block;float:left;width:50%;line-height:28px;text-align:left;font-weight:bold} +.sod_info_option .sod_ifop_tit .btn_frmline {width:auto;height:30px;color:#3a8afd;background:#fff;border:1px solid #d4d6db;font-size:0.93em;border-radius:3px} +.sod_info_option .sod_ifop_tit .cp_cancel {width:auto;height:30px;border:1px solid #d4d6db;padding:0 5px;margin-left:5px;color:#b1b1b1;vertical-align:baseline} +.sod_info_option .sod_ifop_tit .od_coupon>td {text-align:left} +.sod_info_option>td, .sod_info_option .sod_ifop_t {display:inline-block;float:left;width:50%;line-height:28px;text-align:right} +.sod_info_option>td {text-align:right;padding:10px;height:30px} +.sod_info_option>td .cp_cancel {margin:0 0 0 2px} +.sod_info_option>td .btn_frmline {padding:0 7px;border:1px solid #38b2b9;color:#38b2b9;background:#fff;height:23px;line-height:21px;margin:0} + +.btn_address{background:#70aff2;border:1px solid #3476be;height:40px;color:#fff;padding:0 10px;font-size:1.083em;font-weight:bold} + +/* 5.4.1.3 버전이후 추가 css */ +#sod_frm div.tbl_frm01, #sod_frm_taker div.tbl_frm01{padding:0px 10px !important} +#sod_frm .tbl_frm01 th, #sod_frm .tbl_frm01 td{padding:10px;line-height:45px} +#sod_frm .tbl_frm01 th{width:94px} +#sod_frm #od_name,#sod_frm #od_tel,#sod_frm #od_hp,#sod_frm #od_pwd,#sod_frm #od_b_name,#sod_frm #od_b_tel,#sod_frm #od_b_hp,#sod_frm #ad_subject,#sod_frm #od_hope_date{width:50%} +#sod_frm #od_zip,#sod_frm #od_b_zip{width:90px} +#sod_frm .tbl_frm01 td .btn_address {background:#434a54;color:#fff;width:128px;height:45px;border:0;border-radius:3px} +#sod_frm #od_memo{min-height:100px} +#sod_frm_taker .order_choice_place{position:relative;background:#edf3fc;border:1px solid #d1ddee;padding:10px} +#sod_frm_taker .order_choice_place{line-height:23px} +#sod_frm_taker .tbl_frm01 #order_address{display:block;;text-align:center;border: 1px solid #3476be;color: #3476be;;height:30px;line-height:28px;margin:5px 0 0;background:none} +#sod_frm #sod_bsk_tot:after {display:block;visibility:hidden;clear:both;content:""} +#sod_frm #sod_bsk_tot li{position:relative;float:left;background:#fff;width:33.333%;height:70px;text-align:center;border-bottom:1px solid #e7ebf1;padding:15px 0} +#sod_frm #sod_bsk_tot li:after {display:block;visibility:hidden;clear:both;content:""} +#sod_frm #sod_bsk_tot li span{display:block;color:#777;margin-bottom:5px;font-weight:bold} +#sod_frm #sod_bsk_tot .sod_bsk_sell,#sod_frm #sod_bsk_tot .sod_bsk_coupon{border-right:1px solid #e7ebf1} +#sod_frm #sod_bsk_tot .sod_bsk_point,#sod_frm #sod_bsk_tot .sod_bsk_cnt{width:100%;clear:both;height:40px;padding:0 15px;line-height:40px;text-align:right} +#sod_frm #sod_bsk_tot li:last-child {border-bottom:0 none} +#sod_frm #sod_bsk_tot .sod_bsk_point span,#sod_frm #sod_bsk_tot .sod_bsk_cnt span {float:left;margin:0} +#sod_frm #sod_bsk_tot .sod_bsk_coupon:before{display:block;content:"-";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:#fff;color:#ff006c;border-radius:50%;border:1px solid #e7ebf1;font-weight:bold;font-size: 16px;line-height: 14px;} +#sod_frm #sod_bsk_tot .sod_bsk_dvr:before{display:block;content:"+";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:#fff;color:#ff006c;border-radius:50%;border:1px solid #e7ebf1;font-weight:bold;font-size: 16px;line-height: 14px;} +#sod_frm #sod_bsk_tot .sod_bsk_cnt strong{color:#ff006c;font-size:1.25em} +#sod_frm_pay {position:relative;margin:10px 0} +#sod_frm #sod_frm_pay h2 {position:absolute;border:0;font-size:0;line-height:0;content:""} +#sod_frm_pay .pay_tbl table{width:100%;border-collapse:collapse} +#sod_frm_pay .pay_tbl th{text-align:left;padding:10px;width:80px;border-bottom:1px solid #e7ebf1;background:#fff;font-weight:bold;color:#777} +#sod_frm_pay .pay_tbl td{text-align:right;padding: 10px;height:30px;border-bottom:1px solid #e7ebf1;background:#fff} +#sod_frm_pay .pay_tbl td .cp_cancel{margin:0 0 0 2px} +#sod_frm_pay .pay_tbl td .btn_frmline{padding: 0 7px;border: 1px solid #38b2b9;color: #38b2b9;background: #fff;height: 23px;line-height: 21px;margin: 0;} +#od_tot_price{margin:10px 0;background:#fff;line-height:40px;text-align:right;padding:0 10px} +#od_tot_price span{float:left;font-weight:bold} +#od_tot_price strong{font-size:1.5em;color:#ff006c} +#od_pay_sl h3{font-size:1.167em;margin:20px 0 5px} +#od_pay_sl input[type="radio"]{position:absolute;width:0;height:0;overflow:hidden;visibility:hidden;text-indent:-999px;left: 0;z-index: -1px;} +#od_pay_sl .lb_icon {display: inline-block;float:left;width:50%;background:#fff;border:1px solid #eceff4;margin:-1px 0 0 -1px;cursor: pointer;height:60px;position:relative;padding-left:65px;padding-top:20px;z-index:1} +#od_pay_sl input[type="radio"]:checked+.lb_icon {border:1px solid #ff006c;z-index:3} +#sod_frm_paysel {} +#sod_frm_paysel legend {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sod_frm_paysel .KPAY{background:url('../../../img/kpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .PAYNOW{background:url('../../../img/paynow.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .PAYCO{background:url('../../../img/payco.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .inicis_lpay{background:url('../../../img/lpay_logo.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .inicis_kakaopay{background:url('../../../img/kakao.png') no-repeat 50% 50% #f4dc34;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .kakaopay_icon{background:url('../../../img/kakao.png') no-repeat 50% 50% #f4dc34;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .naverpay_icon{background:url('../../../img/ico-default-naverpay.png') no-repeat 50% 50% #fff;overflow:hidden;text-indent:-999px} +#sod_frm_paysel .bank_icon{background:url('../../../img/pay_icon1.png') no-repeat 15px 50% #fff} +#sod_frm_paysel .vbank_icon{background:url('../../../img/pay_icon2.png') no-repeat 15px 50% #fff} +#sod_frm_paysel .iche_icon{background:url('../../../img/pay_icon2.png') no-repeat 15px 50% #fff} +#sod_frm_paysel .hp_icon{background:url('../../../img/pay_icon3.png') no-repeat 24px 50% #fff} +#sod_frm_paysel .card_icon{background:url('../../../img/pay_icon4.png') no-repeat 17px 50% #fff} +#forderform .sod_right #sod_bsk_tot {border:1px solid #e3e5e8} +#forderform .od_pay_buttons_el{margin-top:20px;border:1px solid #e3e5e8;background:#fff;padding:10px} +#forderform .od_pay_buttons_el h3{font-size:1.167em;margin:0px 0 5px} +#forderform #sod_frm_pt{border-top:1px solid #e3e5e8} +#sod_frm_taker td input[type="radio"], #sod_frm_taker td input[type="checkbox"]{width:auto;-webkit-appearance:radio;-webkit-border-radius:initial} +#sod_frm_taker label {display:inline-block;font-weight:normal;margin-right:1em} + +#sod_frm #sod_bsk_tot{margin:10px;} +#sod_frm #sod_bsk_tot:after {display:block;visibility:hidden;clear:both;content:""} +#sod_frm #sod_bsk_tot li{position:relative;float:left;background:#fff;width:33.333%;height:70px;text-align:center;border-bottom:1px solid #e7ebf1;padding:15px 0} +#sod_frm #sod_bsk_tot li:after {display:block;visibility:hidden;clear:both;content:""} +#sod_frm #sod_bsk_tot li span{display:block;color:#777;margin-bottom:5px;font-weight:bold} +#sod_frm #sod_bsk_tot .sod_bsk_sell,#sod_frm #sod_bsk_tot .sod_bsk_coupon{border-right:1px solid #e7ebf1} +#sod_frm #sod_bsk_tot .sod_bsk_point,#sod_frm #sod_bsk_tot .sod_bsk_cnt{width:100%;clear:both;height:40px;padding:0 15px;line-height:40px;text-align:right} +#sod_frm #sod_bsk_tot .sod_bsk_point span,#sod_frm #sod_bsk_tot .sod_bsk_cnt span {float:left;margin:0} +#sod_frm #sod_bsk_tot .sod_bsk_coupon:before{display:block;content:"-";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:#fff;color:#ff006c;border-radius:50%;border:1px solid #e7ebf1;font-weight:bold;font-size: 16px;line-height: 14px;} +#sod_frm #sod_bsk_tot .sod_bsk_dvr:before{display:block;content:"+";position:absolute;top:25px;left:-10px;width:20px;height:20px;background:#fff;color:#ff006c;border-radius:50%;border:1px solid #e7ebf1;font-weight:bold;font-size: 16px;line-height: 14px;} +#sod_frm #sod_bsk_tot .sod_bsk_cnt strong{color:#ff006c;font-size:1.25em} +#sod_frm_pay .pay_tbl table{width:100%;border-collapse:collapse} +#sod_frm_pay .pay_tbl th{text-align:left;padding:10px;width:90px;border-bottom:1px solid #e7ebf1;background:#fff;font-weight:bold;color:#777} +#sod_frm_pay .pay_tbl td{text-align:right;padding: 10px;height:30px;border-bottom:1px solid #e7ebf1;background:#fff} +#sod_frm_pay .pay_tbl td .cp_cancel{margin:0 0 0 2px} +#sod_frm_pay .pay_tbl td .btn_frmline{padding: 0 7px;border: 1px solid #38b2b9;color: #38b2b9;background: #fff;height: 23px;line-height: 21px;margin: 0;} +#od_tot_price{margin:10px 0;background:#fff;line-height:40px;text-align:right;padding:0 10px} +#od_tot_price span{float:left;font-weight:bold} +#od_tot_price strong{font-size:1.5em;color:#ff006c} + +#od_tot_price {background:#e5f0ff;line-height:20px;text-align:right;padding:15px} +#od_tot_price span {float:left;font-weight:bold} +#od_tot_price strong {font-size:1.5em;color:#ff006c} +#sod_frm_pay_info {margin:0 0 10px} + +#sod_point {clear:both;background:#fff;margin:10px;border:1px solid #e3e5e8} +#sod_point h2 {font-size:1.167em;padding:15px;border-bottom:1px solid #e3e5e8} +#sod_point h2:after {display:block;visibility:hidden;clear:both;content:''} + +#sod_point .point_tit {vertical-align:baseline;float:left;line-height:28px} +#sod_point .point_tit label {vertical-align:baseline} +#sod_point .point_ipt {float:right;display:inline-block;margin-left:35px;text-align:left;text-align:right;font-weight:normal} +#sod_point .point_ipt:after {display:block;visibility:hidden;clear:both;content:''} +#sod_point .point_ipt #od_temp_point {width:100px;height:30px;text-align:right;padding:0 5px;border:1px solid #d0d3db;border-radius:3px} + +#sod_frm_pt .max_point_box em {font-style:normal !important} + +.sod_frm_pc #sod_frm_pay {position:relative;margin:10px;padding:0} +.sod_frm_pc #sod_frm_pay h2 {font-size:1.167em;padding:15px;margin:0;border-bottom:1px solid #e3e5e8} +.sod_frm_pc #sod_frm_pay .tooltip_txt {height:auto;line-height:18px;font-weight:normal;font-size:1em;padding:10px 20px;margin:10px} +.sod_frm_pc #sod_frm_pay .tooltip_txt:before {height:100%} +.sod_frm_pc #sod_frm_pay input[type="radio"] {} +.sod_frm_pc #sod_frm_pay .lb_icon {display:inline-block;position:relative;cursor:pointer;z-index:1} +.sod_frm_pc #sod_frm_pay input[type="radio"]:checked+.lb_icon {color:#3a8afd;z-index:3} +.sod_frm_pc #sod_frm_pay input[type="radio"] + label span {top:0px} +.sod_frm_pc .pay_way {padding:0 10px 10px} +.sod_frm_pc .pay_way li{margin:0 0 5px} +.sod_frm_pc #settle_bank {border:0;border-top:1px solid #e3e5e8;text-align:right;padding:0} +.sod_frm_pc #sod_frm_paysel {padding:0;} +.sod_frm_pc #settle_bank {padding:10px;} + +.sod_frm_pc #sod_frm_orderer .tbl_frm01 th{text-align:left} +.sod_frm_pc #sod_frm_taker .tbl_frm01 th{text-align:left} +.sod_frm_pc td .frm_input{width:100%} +.sod_frm_pc td #od_zip ,.sod_frm_pc td #od_b_zip{width:auto} +/* 팁 */ +.tooltip_icon {display:inline-block;vertical-align:middle;color:#b3b5b8;border:0;font-size:1.4em;background:transparent;cursor:pointer} +.tooltip_icon:hover {color:#448bf5} +.tooltip {position:relative;width:auto;color:#fff;background:#000;padding:10px;font-size:small;line-height:18px;display:none;position:absolute;z-index:9;font-weight:normal;margin-left:15px;margin-top:20px} +.tooltip:before {content:"";position:absolute;top:0;left:-10px;width:0;height:0;border-style:solid;border-top:0px solid transparent;border-bottom:10px solid transparent;border-left:0;border-right:10px solid #000} + +.tooltip_txt {position:relative;text-align:left;color:#fff;height:50px;line-height:50px;font-size:1.1em;background:#f2838f;margin:0 0 10px;padding:0 20px;border-radius:5px;font-weight:bold} +.tooltip_txt:before {content:"";position:absolute;top:0;left:0;width:5px;height:50px;border-radius:5px 0 0 5px;background:#da4453} +.tooltip_txt i {font-size:1.2em;vertical-align:middle} + +/*-- 개인결제 --*/ +/*모바일*/ +#m_sod_frm_orderer {margin:10px 0;border-top:1px solid #e7ebf1} +#m_sod_frm_orderer h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#m_sod_frm_orderer ul {background:#fff;margin:15px 0;border-bottom:1px solid #ccc;padding:10px 15px} +#m_sod_frm_orderer li {line-height:20px} +#m_sod_frm_orderer th {display:block;width:100% !important;font-weight:bold;border:0} +#m_sod_frm_orderer td {display:block;width:100% !important;text-align:left;padding:5px 10px;border:0;margin-bottom:10px} +#m_sod_frm_orderer td .frm_input {width:100%} +#m_pv_sod_frm .btn_confirm {margin:10px} +#m_pv_sod_frm .btn_confirm .btn_submit {width:100%;height:45px;font-size:1.167em;font-weight:bold;margin:0 0 3px} +#m_pv_sod_frm .btn_confirm .btn_cancel {width:100%;height:45px;line-height:43px;font-size:1.167em;font-weight:bold;padding:0} +#m_pv_sod_frm .pay_way {border-top:1px solid #e7ebf1} +#m_pv_sod_frm .pay_way li {padding:5px 0} + +/*피씨에서 모바일*/ +.pesonal {background:#fff;border-top:1px solid #e7ebf1;border-bottom:1px solid #e3e5e8;margin:10px 0} +.pesonal h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +.pesonal .tbl_frm01 {padding:10px;margin:0} +.pesonal tr {display:inline-block;width:100%;padding:0 5px;margin-bottom:20px} +.pesonal th {display:block;width:auto;text-align:left;padding:10px 0;font-weight:bold;border:0} +.pesonal td {display:block;padding:0;border:0} +.pesonal td input {width:100%} +.pesonal .half_tr {width:50%} +.sod_right .btn_confirm {margin:10px} +.sod_right .btn_submit, .sod_right .btn01 {width:100%;height:45px;font-size:1.167em;font-weight:bold;margin:5px 0;border-radius:4px;line-height:45px} + +/* input, radio */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;padding-left:20px;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url('../img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + +.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70} +.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#fff;border:1px solid #cdd6df;border-radius:50%} +.chk_box input[type="radio"]:checked + label {color:#305af9} +.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:#305af9;content:'';position:absolute;top:3px;left:3px;border-radius:50%} + diff --git a/web/html/theme/FT_WEB20/css/navigation.css b/web/html/theme/FT_WEB20/css/navigation.css new file mode 100644 index 0000000..44a3231 --- /dev/null +++ b/web/html/theme/FT_WEB20/css/navigation.css @@ -0,0 +1,16 @@ +/* sub tab */ +.sub_tab { + width:100%; + height:60px; + background-color:#f6f6f6; + box-shadow:5px 8px 15px rgba(0,0,0,0.2); + border-bottom:1px solid #eaeaea; + box-sizing:border-box; + z-index:9999999; + position:relative; + overflow: hidden; +} +.sub_tab .inner { + width:1240px; + padding:0 20px; +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/css/responsive.css b/web/html/theme/FT_WEB20/css/responsive.css new file mode 100644 index 0000000..7120c13 --- /dev/null +++ b/web/html/theme/FT_WEB20/css/responsive.css @@ -0,0 +1,117 @@ + #theme_popup { + position:fixed; + left:0; + bottom:0; + z-index:999999; + width:100%; + background-color:rgba(0,0,0,0.5); + } + #theme_popup.on { + display:none; + } + #theme_popup ul { + display:flex; + flex-direction:row; + justify-content:center; + align-items:center; + padding:20px 0; + } + #theme_popup ul li { + width:120px; + height:20px; + line-height:20px; + text-align:center; + position:relative; + } + #theme_popup ul li svg { + position:relative; + top:50%; + transform:translateY(-50%); + } + #theme_popup ul li.active { + + } + #theme_popup ul li i { + margin-right:4px; + } + #theme_popup ul li a { + font-size:14px; + color:#fff; + } + #theme_popup .pop_close { + position:absolute; + top:50%; transform:translateY(-50%); + left:55px; + } + #theme_popup .pop_close i { + font-size:1.3em; + color:#fff; + cursor: pointer; + } + + #theme_link { + position:fixed; + left:40px; + bottom:70px; + z-index:9999; + } + #theme_link.active { + bottom:20px; + } + #theme_link a { + display:block; + width:50px; + height:50px; + border-radius:50%; + background-color:#000; + text-align:center; + overflow: hidden; + position:relative; + } + #theme_link a:nth-child(2) { + margin-top:5px; + } + #theme_link a.on{ + width:170px; + height:50px; + border-radius:50px; + background-color:#e34039; + transition:all 0.3s; + } + #theme_link a.on span { + opacity:1; + transition-delay:0.3s; + } + #theme_link a span { + opacity:0; + line-height:50px; + font-size:16px; + font-weight:500; + color:#fff; + } + #theme_link a.on img{ + display:none; + } + #theme_link a img{ + position:absolute; + top:50%;left:50%;transform:translate(-50%,-50%); + color:#fff; + } + #theme_link i { + font-size:1em; + margin-left:5px; + } + .popup_open { + display:none !important; + } + .popup_open.active { + display:block !important; + } + @media screen and (max-width:1200px) { + #theme_link { + opacity:0; + } + #theme_popup { + opacity:0; + } + } \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/css/slick.css b/web/html/theme/FT_WEB20/css/slick.css new file mode 100644 index 0000000..c342be8 --- /dev/null +++ b/web/html/theme/FT_WEB20/css/slick.css @@ -0,0 +1,124 @@ +/* Slider */ +.slick-slider +{ + position: relative; + + display: block; + box-sizing: border-box; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + -webkit-touch-callout: none; + -khtml-user-select: none; + -ms-touch-action: pan-y; + touch-action: pan-y; + -webkit-tap-highlight-color: transparent; +} + +.slick-list +{ + position: relative; + + display: block; + overflow: hidden; + + margin: 0; + padding: 0; +} +.slick-list:focus +{ + outline: none; +} +.slick-list.dragging +{ + cursor: pointer; + cursor: hand; +} + +.slick-slider .slick-track, +.slick-slider .slick-list +{ + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.slick-track +{ + position: relative; + top: 0; + left: 0; + + display: block; + margin-left: auto; + margin-right: auto; +} +.slick-track:before, +.slick-track:after +{ + display: table; + + content: ''; +} +.slick-track:after +{ + clear: both; +} +.slick-loading .slick-track +{ + visibility: hidden; +} + +.slick-slide +{ + display: none; + float: left; + + height: 100%; + min-height: 1px; +} +[dir='rtl'] .slick-slide +{ + float: right; +} +.slick-slide img +{ + display: block; +} +.slick-slide.slick-loading img +{ + display: none; +} +.slick-slide.dragging img +{ + pointer-events: none; +} +.slick-initialized .slick-slide +{ + display: block; +} + +.box-wrap .slick-initialized .slick-slide{ + display: flex; +} + +.slick-loading .slick-slide +{ + visibility: hidden; +} +.slick-vertical .slick-slide +{ + display: block; + + height: auto; + + border: 1px solid transparent; +} +.slick-arrow.slick-hidden { + display: none; +} diff --git a/web/html/theme/FT_WEB20/css/sub.css b/web/html/theme/FT_WEB20/css/sub.css new file mode 100644 index 0000000..20bfb42 --- /dev/null +++ b/web/html/theme/FT_WEB20/css/sub.css @@ -0,0 +1,2704 @@ + +/* start : sub_visual*/ +.clearfix { + display:block; + clear:both; +} +.mo_br { + display:block; +} +p { + letter-spacing:-0.6px; + word-break: keep-all; +} +span { + letter-spacing:-0.6px; +} +.sub .visual { + width:100%; + height:350px; + position:relative; + background-size:cover; + background-position:center; + background-repeat:no-repeat; +} +.sub .visual::after { + content:''; + position:absolute; + top:0; + left:0; + width:100%; + height:100%; + background-color:rgba(0,0,0,0.3); +} +.sub .visual { + background-image:url(../img/sub_visual_01.jpg); +} +.sub02 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +.sub03 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +.sub04 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +#product01 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +#product03 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +#board_list01 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +#board_list02 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +#board_webzine01 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +#board_webzine02 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +#board_gallery01 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +#board_gallery02 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +#board_gallery03 .visual { + background-image:url(../img/sub_visual_01.jpg); +} +.visual .text_box { + position:absolute; + top:60%; + left:50%; + transform:translate(-50%, -50%); + text-align:center; + z-index:9; +} +.visual .text_box h2 { + font-size:3em; + font-weight:bold; + color:#333; + color:#fff; +} +.visual .text_box p { + font-size:1em; + font-weight:400; + color:#333; + padding-top:5%; + color:#f6f6f6; +} +/*end:sub_visual*/ +.sec { + width:100%; +} +.sec .inner { + width:1240px; + padding:0 20px; + margin:0 auto; + position:relative; +} +.sub .title { + font-size:3em; + font-weight:bold; + color:#333; + text-align:center; + padding:5% 0; +} +/* sec01 : start */ +#company .sec {width:100%} + +#company .sec01 {border-bottom:1px solid #eee;} +#company .sec01 article { + margin:0 auto; + padding:100px 0 0 0; +} +#company .sec01 .wrap {} +#company .sec01 .txt_box {text-align:center;} +#company .sec01 .txt_box p {font-size:14px;color: rgb(158, 131, 90);font-weight:400;} +#company .sec01 .txt_box h2 {padding-top:10px;font-size:32px;} +#company .sec01 .txt_box h2 .mo_br {display:block;} +#company .sec01 .txt_box strong { + padding:20px 0 50px 0; + display:block; + font-size:14px; + color:#6f6f6f; + font-weight:400; + word-break: keep-all; +} +#company .sec01 .txt_box .mo_br {display:block;} +#company .sec01 .img_box {text-align:center; width:100%;} +#company .sec01 .img_box img {max-width:100%; padding: 5px; margin-bottom: 50px;} +/* sec01 : end */ + +/* sec02 : start */ +#company .sec02 {} +#company .sec02 .wrap {padding:100px 0 350px 0;width:1200px;margin:0 auto;} +#company .sec02 .wrap .txt_box {text-align:center;} +#company .sec02 .wrap .txt_box p {font-size:14px;color: rgb(158, 131, 90);font-weight:400;} +#company .sec02 .wrap .txt_box h2 {padding-top:10px;font-size:32px;word-break: keep-all;} +#company .sec02 .wrap .icon_box {padding-top:77px;} +#company .sec02 .wrap .icon_box ul { + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} +#company .sec02 .wrap .icon_box ul>li { + width: calc(33.333% - 10px ); + display:block; + position:relative; + height:160px; +} +#company .sec02 .wrap .icon_box i {font-size:54px;position:absolute;top:0;left:0;color:#444444f2;} +#company .sec02 .wrap .icon_txt {padding-left:75px;} +#company .sec02 .wrap .icon_box strong {font-size:15px;color:#000;font-weight:600;} +#company .sec02 .wrap .icon_box p { + word-break: keep-all; + padding-top:7px;font-size:15px;color:#6f6f6f;font-weight:400;line-height:25px;} +#company .sec02 .wrap .icon_box .mo_br {display:block;} +/* sec02 : end */ + +/* sec03 : start */ +#company .sec03 {} +#company .sec03 article {width:1240px;margin:0 auto;padding:100px 0;} +#company .sec03 .content3_wrap { + width:100%; + overflow:hidden; + display: flex; + justify-content: space-between; + flex-wrap: wrap; +} +#company .sec03 .content3_wrap .img_box {width:50%;} +#company .sec03 .content3_wrap .img_box img {width:100%;height:100%;} +#company .sec03 .content3_wrap .txt_box {position:relative;;width:50%;padding-left:100px;} +#company .sec03 .content3_wrap .txt_box h2 {font-size:32px;font-weight:600;margin-bottom:30px;padding-top:40px;line-height:40px;} +#company .sec03 .content3_wrap .txt_box i {font-size:25px;padding-right:10px;} +#company .sec03 .content3_wrap .txt_box ul {} +#company .sec03 .content3_wrap .txt_box ul li {font-size:14px;position: relative;padding:0 0 10px 0;margin: 0 0 10px 0; border-bottom: 1px + solid rgba(0, 0, 0, 0.1);line-height:24px;color:#6f6f6f;font-weight:400;} + +#company .sec03 a{display:inline-block;border:1px solid #000;margin-top:25px;border-radius:5px;padding:5px 25px 5px 20px;font-size:11px;letter-spacing:1px;background:#000;color:#fff;font-weight:300;vertical-align:middle;transition:0.6s;transition-timing-function: ease-in-out;} +#company .sec03 a:before {content:"\ea3f";;display:inline-block;font-family: xeicon;font-size:25px;vertical-align:middle;padding-right:10px;} + +#company .sec03 a:hover {background:#fff;color:#000} +/* sec03 : end */ + +/* sec04 : start */ +/* #company .sec04 {padding:0 150px 0;} +#company .sec04 article {width:1300px;margin:0 auto;} +#company .sec04 ul { + width: 100%; + color: #fff; + text-align: center; + margin-top: 0; + } +#company .sec04 li { + float: left; + width: 25%; + list-style: none; + color:#000; + position:relative; + } + +#company .sec04 .counter_txt {} +#company .sec04 h2 {font-size:32px;position:relative;} +#company .sec04 p {display:block;} +#company .sec04 .icon {font-size:52px;display:inline;position:absolute;top:5px;left:50px;color:#939393} */ +/* sec04 : end */ + +/* sec04 : start */ +#company .sec04 {overflow:hidden;} +#company .sec04 article {} +#company .sec04 .wrap { + display: flex; + +} +#company .sec04 .tab_wrap {background-color:#eee} + +#company .sec04 .left {float:left;width:50%;} +#company .sec04 .tab_inner {padding:120px 60px;height:700px;} +#company .sec04 .tab_inner .tab_txt {} +#company .sec04 .tab_inner .tab_txt h2{font-size:38px;font-weight:200;} +#company .sec04 .tab_inner .tab_txt .mo_br{display:block;} +#company .sec04 .tab_inner .tab_txt strong {display:block;padding-bottom:30px;} + +#company .answer { + display: none; + font-size:16px; + font-weight:500; + color:#333; + padding-bottom: 30px; + word-break: keep-all; +} +#company .answer.on { + display:block; +} +#company #faq-title { + font-size: 25px; +} +#company .faq-content { + border-bottom: 1px solid #e0e0e0; +} +#company .question { + font-size: 19px; + padding: 30px 0; + cursor: pointer; + border: none; + outline: none; + background: none; + width: 100%; + text-align: left; +} +#company .question:hover { + color: rgb(158, 131, 90); +} +[id$="-toggle"] { + margin-right: 15px; +} + +#company .sec04 .right {width: 70%;} +#company .sec04 .right img {width:100%;height: 100%;} +/* sec04 : end */ + + +/* sec05 : start */ +#company .sec05 {background-color:#fff;padding:100px 0 500px 0;} +#company .sec05 article {text-align:center;width:1200px;margin:0 auto;} +#company .sec05 article h2 {font-size:35px;font-weight:800;} +#company .sec05 article p {padding-top:20px;font-size:15px;font-weight:200;} +#company .sec05 article .mo_br {display:block;} +#company .sec05 .wrap {} +#company .sec05 .box_wrap {padding-top:100px;} +#company .sec05 .box_wrap .row {} +#company .sec05 .box_wrap ul {} +#company .sec05 .box_wrap ul>li {display:block;float:left;width:23%;margin:0 10px;cursor:pointer;} +#company .sec05 .icon_wrap {background-color:#f6f6f6;height: 100% !important;position:relative;padding:18% 0; } +#company .sec05 .box_wrap i {font-size:50px;border:1px solid #333;background-color:#333;border-radius:50%;padding:20px;color:#fff;} +#company .sec05 .box_wrap .txt_box {padding-top:30px;} +#company .sec05 .box_wrap .txt_box strong {font-size:15px;} +#company .sec05 .box_wrap .txt_box p {color:#6f6f6f;line-height:24px;font-size:14px;font-weight:200;} + +#company .sec05 .deep {bottom:0;left:0;right:0;width:100%;height:30px;position:absolute;transition:0.3s;background-color:#333;} +#company .sec05 .deep p {padding-top:5px;color:#fff;} +#company .sec05 .deep strong {opacity:0;padding-top:5px;color:#fff;} +#company .sec05 .box_wrap ul>li:hover .deep p, +#company .sec05 .box_wrap ul>li:hover .deep strong {padding-top:150px;} +#company .sec05 .box_wrap ul>li:hover .deep strong {opacity:1;transition:0.3s;} +#company .sec05 .box_wrap ul>li:hover .deep {height:100%;color:#fff;z-index:999999;} +/* sec05 : end */ + + +/* sec06 : start */ + +.sec06 {padding:0;width:1800px;margin:0 auto;} +.sec06 .content7_wrap{width:100%;text-align:left;} +.sec06 .content7_wrap .ul_box {} +.sec06 .content7_wrap .ul_box ul { + display: grid; + grid-template-columns: repeat(3,1fr); +} +.sec06 .content7_wrap .ul_box ul li { + width:auto; + padding:70px 50px; + height:423px; +} +.sec06 .content7_wrap .ul_box ul li:nth-child(1), +.sec06 .content7_wrap .ul_box ul li:nth-child(3) { + background-color:#000; + color:#6f6f6f; +} +.sec06 .content7_wrap .ul_box ul li:nth-child(2) {background-color:#333;} +.sec06 .content7_wrap img {width:100%;height:100%;} + +.sec06 .content7_wrap .ul_box ul li span {line-height:40px;color:#939393;} +.sec06 .content7_wrap .ul_box ul li h2 {font-size:22px;color:#d6d5d5;line-height:30px;} +.sec06 .content7_wrap .ul_box ul li p {padding-top:10px;color:#939393;} +.sec06 .content7_wrap a {color:#fff;font-size:14px;border:2px solid #fff;border-radius:5px;padding:8px 20px;display: inline-block;margin-top:20px;transition:0.6s;transition-timing-function: ease-in-out;} +.sec06.content7_wrap i {padding-right:5px;} +.sec06 .content7_wrap a:hover {background-color:#fff;color:#000;} + +/* sec06 : end */ + + +/* sec07 : start */ +#company .sec07 {padding:100px 0 100px 0;border-top:1px solid #888;} +#company .sec07 article {text-align:center;} +#company .sec07 .pj {} +#company .sec07 h2 {font-size:32px;font-weight:800;} +#company .sec07 p {padding-top:5px;font-size:14px;font-weight:400;color:#464646} +#company .sec07 a {display:inline-block;border:2px solid #464646;padding:10px 15px;margin-top:30px;font-size:13px;transition:0.4s;border-radius:5px} +#company .sec07 a:hover {color:#fff;background:#464646;} +/* sec07 : end */ +@media (max-width:1200px) { + #company .sec02 .wrap{ + width: 90%; + margin: 0 auto; + } + #company .sec04 .tab_inner{ + padding: 150px 50px; + } + #company .sec04 .tab_inner .tab_txt h2{ + font-size: 32px; + } + #company .sec02 .wrap .icon_box ul{ + width: 80%; + margin: 0 auto; + } + #company .sec02 .wrap .icon_box ul>li{ + width: calc(50% - 10px); + } +} +@media (max-width:1080px) { + #company .sec02 .wrap{ + padding: 120px 0; + } + #company .sec03 .content3_wrap .img_box {width:55%;} + #company .sec03 .content3_wrap .txt_box {width:100%;padding:0 40px;} + .sec06 .content7_wrap .ul_box ul li{ + padding: 50px 20px; + } + #company .sec04 .tab_inner .tab_txt h2{ + font-size: 28px; + } + .sec06 .content7_wrap .ul_box ul li h2{ + font-size: 20px; + } +} +/* [media 900px] */ +@media screen and (max-width:900px) { + /* sec01 : start */ + #company .sec01 article {width:100%;padding:100px 0 0;} + #company .sec01 .txt_box {padding:0 35px;} + #company .sec01 .txt_box p {font-size:12px;color:#ddd;font-weight:400;} + #company .sec01 .txt_box h2 {padding-top:10px;font-size:20px;} + #company .sec01 .txt_box strong {font-size:12px;} + #company .sec01 .txt_box .mo_br {display:inline;} + #company .sec01 .img_box {width:100%;} + #company .sec01 .img_box img {width:100%;} + /* sec01 : end */ + + + /* sec02 : start */ + #company .sec02 .wrap {width:100%;padding:50px 0;} + #company .sec02 .wrap .txt_box p {font-size:11px;color:#ddd;} + #company .sec02 .wrap .txt_box h2 {padding-top:10px;font-size:20px;} + #company .sec02 .wrap .icon_box {padding-top:60px;} + #company .sec02 .wrap .icon_box i {position:relative;width:100%;margin:0 auto;text-align:center;padding-bottom:20px;} + #company .sec02 .wrap .icon_txt {text-align:center;padding-left:0;} + #company .sec02 .wrap .icon_box strong {font-size:12px;} + #company .sec02 .wrap .icon_box p {font-size:12px;} + /* sec02 : end */ + + /* sec03 : start */ + #company .sec03 {} + #company .sec03 article {width:100%;padding:50px 0;} + #company .sec03 .content3_wrap .txt_box h2 {font-size:20px;line-height:30px;} + #company .sec03 .content3_wrap .txt_box ul li {font-size:13px} + #company .sec03 a {font-size:10px;padding:5px 12px 5px 10px;margin-top:15px;} + /* sec03 : end */ + + + /* sec04 : start */ + #company .sec04 article {width:100%;} + #company .sec04 ul {width:100%} + #company .sec04 li {float:none;width:100%;padding:40px 0;position:relative;} + #company .sec04 li:after {content:"";display:block;width:1px;margin:0 auto;height:30px;background:#333;margin-top:10px;} + + #company .sec04 .icon {position:static;} + #company .sec04 h2 {font-size:30px;} + /* sec04 : end */ + + + /* sec04 : start */ + #company .sec04 {} + #company .sec04 .left {float:none;width:100%;} + #company .sec04 .tab_inner {padding:50px 50px;height: auto;} + #company .sec04 .tab_inner .tab_txt h2{font-size:25px;font-weight:200;} + #company .question {font-size:14px;padding:23px 0;} + #company .sec04 .right {float:none;width:100%;margin:0 auto;display:block;} + + /* sec04 : end */ + + /* sec05 : start */ + #company .sec05 {padding:100px 0;} + #company .sec05 article {width:100%;} + #company .sec05 .box_wrap {padding-top:20px;} + #company .sec05 article h2 {font-size:30px;} + #company .sec05 article p {font-size:12px;} + #company .sec05 .box_wrap ul>li {float:none;width:75%;margin:0 auto;padding-top:50px;} + #company .sec05 .box_wrap .txt_box strong {font-size:15px;} + #company .sec05 .box_wrap .txt_box p {font-size:12px;line-height:20px;} + #company .sec05 .icon_wrap {padding:13% 26px;} + #company .sec05 .box_wrap i {font-size:30px;padding:15px;} + /* sec05 : end */ + + /* sec06 : start */ + #company .sec06 {padding:0;width:100%;margin:0 auto;} + #company .sec06 .content7_wrap{width:100%;text-align:center;} + #company .sec06 .content7_wrap .ul_box {} + #company .sec06 .content7_wrap .ul_box ul {} + #company .sec06 .content7_wrap .ul_box ul li {width:100%;height:auto;overflow:hidden;} + + #company .sec06 .content7_wrap .ul_box ul li span {line-height:40px;font-size:12px;} + #company .sec06.content7_wrap .ul_box ul li h2 {font-size:17px;line-height:23px;} + #company .sec06 .content7_wrap .ul_box ul li p {padding-top:10px;font-size:10px;} + #company .sec06 .content7_wrap a {font-size:14px;border:2px solid #fff;border-radius:5px;padding:8px 20px;display: inline-block;margin-top:20px;transition:0.6s;transition-timing-function: ease-in-out;} + #company .sec06 .content7_wrap i {padding-right:5px;} + + /* sec06 : end */ + + /* sec07 : start */ + #company .sec07 h2 {font-size:25px;} + /* sec07 : end */ + #company .sec04 .wrap{ + flex-wrap: wrap; + } +} +@media screen and (max-width:768px) { + #company .sec06 .content7_wrap .ul_box ul{ + grid-template-columns: repeat(1,1fr); + } +} +@media screen and (max-width:500px) { + #company .sec03 .content3_wrap .img_box { + width: 100%; + } + #company .sec02 .wrap .icon_box ul{ + width: 90%; + row-gap: 20px; + } + #company .sec02 .wrap .icon_box ul > li{ + margin-bottom: 10px; + } + #company .sec01 .txt_box h2{ + font-size: 18px; + } + #company .sec02 .wrap .icon_box strong { + font-size: 16px; + word-break: keep-all; + } +} +@media screen and (max-width:375px) { + #company .sec01 .txt_box{ + padding: 0 20px; + } +} +@media screen and (max-width:350px) { + #company .sec02 .wrap .icon_box ul{ + width: 100%; + row-gap: 50px; + } +} +@media screen and (max-width:320px) { + #company .sec01 .txt_box h2{ + font-size: 16px; + } +} +/* */ + +#history .sec { + height: auto; +} + +#history .sec .sec1 { + position: relative; +} + +#history .sec1 .inner { + width:1240px; + margin:0 auto; + padding:8% 20px; + position: relative; +} + +/* */ +.sec .sec1 .history_wrap { + width: 100%; + height: auto; + padding:0px; +} + +.sec1 .historyBox { + width: 100%; + height: auto; + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + padding-bottom: 190px; +} + +.history_wrap .historyBox .history_left { + width:50%; + height: auto; +} + +.history_wrap .historyBox .history_left .desc { + display: block; + margin: 5px 0 10px; + font-size: 13px; + color: grey; + font-weight: 300; +} + +.history_wrap .historyBox .history_left>p { + font-size: 20px; + font-weight: 600; + color: #8c8c8c; + margin:5px 0 10px; +} +.history_wrap .historyBox .history_left img { + width:100%; +} +.history_wrap .historyBox .history_left>h3 { + font-size:56px; + font-weight: 900 +} + +.history_wrap .historyBox .history_right { + width:46%; + height: auto; + padding-left:4%; +} + +.history_wrap .historyBox .history_right .list { + width: 100%; + height: auto; + position: relative; +} + +.history_wrap .historyBox .history_right .list .history_00 { + width: 100%; + height: auto; + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbx; + display: flex; +} + +.history_wrap .historyBox .history_right .list .history_css { + padding-bottom: 0; +} + +.history_wrap .historyBox .history_right .history_00 .year { + width: 20%; + height: auto; + line-height: 32px; + position: relative; +} + +.history_wrap .historyBox .history_right .history_00 .year::after { + content: ""; + position: absolute; + right: 27.5%; + top:10px; + width: 10px; + height: 10px; + border-radius: 50%; + background-color: #e3dee3; + display: block; + -webkit-transition: all 0.4s ease-in-out; + -o-transition: all 0.4s ease-in-out; + transition: all 0.4s ease-in-out; +} + +.history_wrap .historyBox .history_right .history_00.on .year:after { + background-color:#c71526; +} + +.history_wrap .historyBox .history_right .history_00 .year>span { + font-size: 20px; + font-weight: 600; +} + +.history_wrap .historyBox .history_right .history_00 .info { + font-size: 20px; + font-weight: 300; + width: 80%; + height: auto; +} + +.history_wrap .historyBox .history_right .history_00 .info>p { + font-size: 18px; + font-weight: 200; + color: #686868; + line-height: 30px; + letter-spacing: -0.05em; + padding-bottom: 46px; +} + +.history_wrap .historyBox .history_right .line { + overflow: hidden; + position: absolute; + left: 14.5%; + top: 0; + z-index: 1; + margin-left: -6px; + margin-top: 10px; + width: 2px; + height: 95%; + background-color: #e3dee3; +} + +.history_wrap .historyBox .history_right .line .bar { + display: block; + width: 2px; + height: 0; + background-color:#c71526; + -webkit-transition: all 0.1s ease-in-out; + -o-transition: all 0.1s ease-in-out; + transition: all 0.1s ease-in-out; +} + +.history_wrap .history_03 .history_right .line { + height: 88%; +} + +.history_wrap .history_05 { + padding: 0 !important; +} + +/*history : end */ + +/* s:vision */ +#vision .sec1 { + background-color:#f6f6f6; +} +#vision .sec1 .inner{ + width:1240px; + padding:3% 20px; + margin:0 auto; + position:relative; +} +#vision .sec1 .visionBox { + height:600px; + position:relative; + background-color:#fff; +} + +#vision .sec1 .circle { + width:270px; + height:270px; + border-radius:50%; + background-color:rgba(237,27,35,0.5); + position:absolute; + top:50%; + left:50%; + transform:translate(-50%,-65%); +} +#vision .sec1 .text_box:hover .list1 { + left:10%; + transition:all 0.6s; + } +#vision .sec1 .text_box:hover .list2 { + right:10%; + transition:all 0.6s; +} +#vision .sec1 .text_box:hover .list3 { + bottom:-3%; + transition:all 0.6s; + } +@keyframes circle { + 100% { + transform: rotate(360deg); + } +} +#vision .sec1 .visionBox .circle::after { + content:''; + width:350px; + height:350px; + position:absolute; + top:-38px; + left:-40px; + background-image:url(../img/vision_img01.png); + background-size:cover; + background-position:center; + background-repeat:no-repeat; + animation:circle 6s linear infinite; + transform-origin:50% 50%; + opacity:0.5; +} +#vision .sec1 .circle p { + display:block; + width:240px; + height:240px; + border-radius:50%; + background-color:#ed1b23; + position:absolute; + top:50%; + left:50%; + transform:translate(-50%,-50%); + cursor: pointer; +} + +#vision .sec1 .circle span { + width:100%; + height:100%; + display:flex; + flex-direction:column; + justify-content:center; + justify-items:center; + align-items:center; + text-align:center; + font-size:2.2em; + font-weight:bold; + color:#fff; + position:relative; +} + +#vision .sec1 .text_box li { + position:absolute; + z-index:9; + cursor: pointer; +} +#vision .sec1 .text_box .list1 { + display:flex; + top:15%; + left:12.5%; +} +#vision .sec1 .text_box .list2 { + display:flex; + top:15%; + right:12.5%; +} +#vision .sec1 .text_box .list3 { + left:50%; + transform:translateX(-50%); + bottom:3%; +} +#vision .sec1 .list1 .txtBox { + height:130px; + display:flex; + flex-direction:column; + justify-content:center; + justify-items:center; + text-align:right; + padding-right:20px; +} +#vision .sec1 .list2 .txtBox { + height:130px; + display:flex; + flex-direction:column; + justify-content:center; + justify-items:center; + text-align:left; + padding-left:20px; +} +#vision .sec1 .list3 .txtBox { + padding-top:20px; + text-align:center; +} +#vision .sec1 .titBox div { + border:2px solid #ed1b23; + box-sizing:border-box; + width:130px; + height:130px; + border-radius:50%; + background-color:#fff; + margin:0 auto; +} +#vision .sec1 .titBox p{ + height:130px; + display:flex; + flex-direction:column; + justify-items:center; + justify-content:center; + text-align:center; +} +#vision .sec1 .titBox strong { + display:block; + font-size:18px; + font-weight:bold; + color:#f22830; +} +#vision .sec1 .titBox span { + display:block; + font-size:12px; + font-weight:400; + color:#848484; +} +#vision .sec1 .txtBox p { + font-size:16px; + font-weight:500; + color:#333; + letter-spacing:-0.6px; + line-height:1.4; +} +#vision .sec2 .tit { + font-size:2.5em; + font-weight:bold; + color:#333; + text-align:left; + padding:5% 0 2% 0; + display:block; +} +#vision .sec2 .txt { + font-size:18px; + font-weight:400; + color:#333; + text-align:left; + display:block; +} +#vision .sec2 ul { + display:flex; + justify-content:center; + justify-content: space-between; + padding:4% 0; +} +/* e:vision */ + +/* s:map */ +#map .sec1 { + width:100%; +} +#map .sec1 .inner { + width:1240px; + height:100%; + padding:5% 20px; + margin:0 auto; + position: relative; + overflow: hidden; +} +#map .sec1 .root_daum_roughmap { + width:100%; + height:400px; +} +.root_daum_roughmap .wrap_map { + height:100%; +} +.root_daum_roughmap .wrap_controllers { + display:none; +} +#map .sec1 .map_info { + width:100%; + padding:4% 2%; + background: #f5f5f5; + position: relative; + border-top: 1px solid #ccc; + word-break: keep-all; + display:flex; +} +#map .sec1 .map_info .lf_box { + height:143px; + display:flex; + flex-direction:column; + justify-content:center; + justify-items:center; + margin-right:50px; + cursor: pointer; +} +#map .sec1 .map_info .lf_box:hover span{ + background-color:#333; + border:none; +} +#map .sec1 .map_info .lf_box span { + width:100px; + height:100px; + text-align:center; + border-radius:50%; + border:2px solid #333; + box-sizing:border-box; +} +#map .sec1 .map_info .lf_box:hover i { + color:#fff; +} +#map .sec1 .map_info .lf_box i { + line-height:100px; + font-size:4em; + color:#333; +} +#map .sec1 .map_info .rt_box { + height:100%; +} +#map .sec1 .map_info strong { + font-size:1.8em; + font-weight:bold; + color:#333; + display:block; + padding-bottom:10px; +} +#map .sec1 .map_info p { + font-size:18px; + margin-bottom:8px; +} +#map .sec1 .map_info span { + display:inline-block; +} +#map .sec1 .map_info p span:nth-child(1) { + font-weight:bold; + color:#333; + width:100px; + position: relative; +} +#map .sec1 .map_info p span:nth-child(1)::after { + content:''; + position:absolute; + top:5px; + right:0; + width:1px; + height:20px; + background-color:#6a6a6a; +} +#map .sec1 .map_info p span:nth-child(2) { + font-weight:400; + color:#6a6a6a; + padding-left:10px; +} +#map .timapBox { + border:1px solid red; + position:absolute; + top:-10%; + right:10%; + z-index:1; +} +#map .topBox { + height:100%; + display:flex; + justify-content: space-between; +} +#map .topBox > div { + width:49%; +} +#map .infoBox .titBox { + padding:40px 0 20px 0; + display:flex; +} +#map .infoBox .titBox p { + display:flex; + flex-direction:column; + justify-content:center; +} +#map .infoBox .titBox i { + font-size:4em; + color:#333; +} +#map .infoBox .titBox .text { + font-size:16px; + font-weight:500; + color:#333; + padding-left:10px; +} +#map .infoBox ul { + width:100%; + height:330px; + border:1px solid #ccc; + box-sizing:border-box; + padding:20px; +} +#map .infoBox1 ul li { + display:flex; + margin-bottom:10px; +} +#map .infoBox1 ul li .line { + display:inline-block; + border-radius:50%; + width:32px; + height:32px; + text-align:center; +} +#map .infoBox1 ul li .line span { + display:inline-block; + line-height:22px; + font-size:14px; + font-weight:bold; + color:#16a381; +} +#map .infoBox1 ul li .line2 { + border:4px solid #16a381; +} +#map .infoBox1 ul li .line2 span{ + color:#16a381; +} +#map .infoBox1 ul li .line3 { + border:4px solid #f69c11; +} +#map .infoBox1 ul li .line3 span{ + color:#f69c11; +} +#map .infoBox1 ul li .line1 { + border:4px solid #1a3cea; +} +#map .infoBox1 ul li .line1 span{ + color:#1a3cea; +} +#map .infoBox1 ul li .tit { + height:32px; + line-height:32px; + font-size:14px; + font-weight:400; + color:#333; + width:120px; + padding-left:10px; +} +#map .infoBox1 ul li .txt { + height:32px; + line-height:32px; + font-size:14px; + font-weight:400; + color:#333; +} +#map .infoBox2 ul li { + padding-bottom:30px; +} +#map .infoBox2 dt { + font-size:1.3em; + font-weight:bold; + color:#333; + padding-bottom:20px; +} +#map .infoBox2 dd { + font-size:1.1em; + font-weight:400; + color:#333; + padding-bottom:5px; +} +/* e:map */ + +/* s:bussiness1 */ +#business01 { + overflow: hidden; +} +#business01 .sec1 ul{ + display:flex; + width:100%; + padding:5% 0; +} +#business01 .sec1 ul li { + width:30%; + margin-right:5%; +} +#business01 .sec1 ul li:last-child { + margin-right:0; +} +#business01 .sec1 dl { + cursor: pointer; + padding:5%; + word-break: keep-all; +} +#business01 .sec1 dl dt { + font-size:21px; + font-weight:bold; + color:#333; + padding-bottom:10px; + position: relative; +} + +#business01 .sec1 dl:hover dt::after{ + /* opacity:1; + transition:0.6s; */ +} +#business01 .sec1 dl dt::after { + content:''; + position:absolute; + left:0; + bottom:5px; + width:150px; + height:2px; + background-color:#c71526; + z-index:1; + opacity:0; +} +#business01 .sec1 dl dd { + font-size:16px; + font-weight:400; + color:#333; + line-height:1.6; + letter-spacing:-0.6px; +} +#business01 .sec2 { + background-color:#f6f6f6; + padding:5% 0; +} +#business01 .sec2 .inner { + /*min-height:500px;*/ +} +#business01 .sec2 .text_box { + padding-bottom:4%; +} +#business01 .sec2 .text_box h2 { + font-size:3em; + font-weight:bold; + color:#333; + text-align:center; + padding-bottom:5px; +} + +#business01 .sec2 .text_box p { + font-size:1.3em; + font-weight:600; + color:#333; + text-align:center; +} +#business01 .sec2 ul { + display: flex; + flex-direction:row; + justify-content: space-around; + flex-wrap: wrap; +} +#business01 .sec2 ul li { + /*float:left;*/ + width:30%; + /*margin-right:5%;*/ + /*height:120px;*/ + display:flex; + flex-direction:column; + cursor: pointer; +} +#business01 .sec2 ul li img { + width:100%; +} +/* +#business01 .sec2 ul li:hover { + margin-top:-10px; + transition:all 0.6s; +} +*/ +#business01 .sec2 ul li:nth-child(3n){ + margin-right:0; +} +/* +#business01 .sec2 ul li .icon { + width:20%; +} +#business01 .sec2 ul li .icon i { + font-size:4em; + color:#333; +} +*/ +#business01 .sec2 ul li dl { + width:80%; +} +#business01 .sec2 ul li dl dt { + font-size:18px; + font-weight:bold; + color:#333; + padding-bottom:8px; +} +#business01 .sec2 ul li dl dd { + font-size:14px; + font-weight:400; + color:#656565; + line-height:1.2; +} +#business01 .sec3 { + width:100%; + padding:50px 0; +} +#business01 .sec3 .inner { + height:100%; +} +#business01 .sec3 .text_box { + +} +#business01 .sec3 .text_box h3{ + font-size:3em; + font-weight:400; + color:#333; + text-align:center; + padding-bottom:40px; +} +#business01 .sec3 .text_box h3 strong { + font-weight:bold; + display:block; + position:relative; + z-index:2; +} +#business01 .sec3 .text_box h3 strong::after { + content:''; + position:absolute; + left:50%; + margin-left:-75px; + bottom:5px; + width:150px; + height:10px; + background-color:rgba(199,21,38,0.5); + z-index:-1; +} +#business01 .sec3 .text_box p { + font-size:16px; + font-weight:400; + color:#939393; + text-align:center; + line-height:1.3; +} +#business01 .sec3 .inner a { + width:150px; + height:40px; + line-height:40px; + border:1px solid #939393; + box-sizing:border-box; + display:block; + margin:40px auto; +} +#business01 .sec3 .inner a:hover { + border:none; + background-color:#d32f2f +} +#business01 .sec3 .inner a:hover span { + font-weight:bold; + color:#fff; +} +#business01 .sec3 .inner a span { + font-size:1.2em; + font-weight:400; + color:#939393; + text-align:center; + display:block; +} + +#business01 .sec4 { + width:100%; + height:500; + overflow: hidden; +} +#business01 .sec4 .inner { + display:flex; + padding:0 !important; +} +#business01 .sec4 .lfBox { + width:50%; + height:500px; +} +#business01 .sec4 .rtBox { + width:50%; + height:500px; + background-color:rgb(36, 36, 36); +} +#business01 .sec4 .text_box { + display:flex; + flex-direction:column; + height:100%; + justify-content:center; + justify-items:center; +} +#business01 .sec4 .inner h4 { + font-size:3em; + font-weight:bold; + color:#333; + padding-bottom:30px; + text-align:center; +} +#business01 .sec4 .inner p { + font-size:16px; + font-weight:300; + color:#939393; + text-align:center; +} +#business01 .sec4 .inner a { + width:150px; + height:40px; + line-height:40px; + border:1px solid #939393; + box-sizing:border-box; + display:block; + margin:40px auto; +} +#business01 .sec4 .inner a:hover { + border:none; + background-color:#d32f2f +} +#business01 .sec4 .inner a:hover span { + font-weight:bold; + color:#fff; +} +#business01 .sec4 .inner a span { + font-size:1.2em; + font-weight:400; + color:#939393; + text-align:center; + display:block; +} +#business01 .sec5 { + width:100%; + padding:5% 0; + background-color:#f6f6f6; +} +#business01 .sec5 .text_box { + text-align:center; + padding-bottom:50px; +} +#business01 .sec5 .text_box h5 { + font-size:3em; + font-weight:400; + color:#333; + padding-bottom:30px; +} +#business01 .sec5 .text_box h5 strong { + display:block; + font-weight:bold; + position:relative; + z-index:2; +} +#business01 .sec5 .text_box h5 strong::after { + content:''; + position:absolute; + left:50%; + margin-left:-75px; + bottom:5px; + width:150px; + height:10px; + background-color:rgba(199,21,38,0.5); + z-index:-1; +} +#business01 .sec5 .text_box p { + font-size:16px; + font-weight:400; + color:#333; + text-align:center; +} +/* li 둥근 테두리 만들고 삼각형으로 방향 만들기 */ +#business01 .sec5 ul { + display: flex; + flex-direction: row; /* 가로 정렬 */ + justify-content: center; + align-items: center; + gap: 5%; /* 요소 간 간격 (가변 %) */ + list-style: none; + padding: 0; +} + +#business01 .sec5 ul li { + position: relative; + width: 23%; /* 4개 배치 시 적당한 너비 */ + aspect-ratio: 1 / 1; /* 가로세로 1:1 유지 */ + border: 1px solid #939393; + border-radius: 50%; /* 원형 유지 */ + display: flex; + align-items: center; + justify-content: space-evenly; + flex-direction: column; + text-align: center; + padding: 35px; + box-sizing: border-box; + background: #fff; + font-size: 15px; + font-weight: 400; + word-break: keep-all; + overflow-wrap: break-word; +} +/* 아이콘 이미지 css */ +#business01 .sec5 ul li img { + max-width: 55px; + margin-bottom: 10px; +} +/* 우측 방향 삼각형 (기본) */ +#business01 .sec5 ul li:not(:last-child)::after { + content: ''; + position: absolute; + right: -15%; /* gap 공간 중앙에 배치 */ + top: 50%; + transform: translateY(-50%); + width: 0; + height: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + border-left: 15px solid #939393; +} + +/* e:bussiness1 */ + +/* s:bussiness2 */ +#business02 { + width:100%; + overflow: hidden; +} + +#business02 .sec1 .inner { + width:1240px; + padding:5% 20px 0 20px; + margin:0 auto; + position: relative; + overflow: hidden; +} +#business02 .sec1 .inner:last-child { + padding-bottom: 5%; +} +#business02 .sec1 .lf_box { + width:50%; + float:left; +} +#business02 .sec1 .lf_box h1 { + font-size:2.3em; + font-weight:bold; + color:#333; + padding-bottom:40px; +} +#business02 .sec1 .lf_box ul li { + display:flex; + padding:8px 0; +} +/* +#business02 .sec1 .lf_box ul li:hover { + background-color:#f6f6f6; + padding:8px 0 8px 20px; + transition:all 0.6s; +} +*/ +#business02 .sec1 .lf_box strong { + font-size:18px; + font-weight:bold; + color:#333; + width:120px; +} +#business02 .sec1 .lf_box p { + font-size:18px; + font-weight:400; + color:#333; + +} +#business02 .sec1 .rt_box { + width:50%; + float:right; +} +#business02 .sec2 { + width:100%; + height:600px; + background-color: #333; + background-size:cover; + background-position:center; + background-repeat:no-repeat; +} +#business02 .sec2 .inner { + width:1240px; + height:100%; + padding:0 20px; + margin:0 auto; + position: relative; + overflow: hidden; + display:flex; +} +#business02 .sec2 .text_box { + width:42%; + margin-right:8%; + flex-direction: column; + height: 100%; + display: flex; + justify-content: center; +} +#business02 .sec2 .text_box .tit { + font-size:2.2em; + font-weight:bold; + color:#fff; + padding-bottom:8%; +} +#business02 .sec2 .text_box p { + font-size:1.2em; + font-weight:400; + color:#ddd; +} +#business02 .sec2 .border { + border:3px solid #fff; + box-sizing:border-box; + padding:10% 7%; + cursor: pointer; +} +#business02 .sec2 .text_box:hover .border { + border:3px solid transparent; + background-color:rgba(0,0,0,0.3); + transition:all 0.6s; +} +#business02 .sec2 .icon_box { + width:50%; + flex-direction: column; + display:flex; + height: 100%; + justify-content: center; + padding-top:20px; +} +#business02 .sec2 .icon_box .tit { + font-size:2.2em; + font-weight:bold; + color:#fff; + padding-bottom:5%; +} +#business02 .sec2 .icon_box .tit strong { + display:inline-block; + color:#c71526; +} +#business02 .sec2 .icon_box ul { + overflow: hidden; + width:100%; +} +#business02 .sec2 .icon_box ul li { + float:left; + width:46%; + margin-right:8%; + height:160px; +} +#business02 .sec2 .icon_box ul li:nth-child(2n) { + margin-right:0; +} +#business02 .sec2 .icon_box span { + display:block; +} +#business02 .sec2 .icon_box span i { + font-size:3.5em; + color:#fff; +} +#business02 .sec2 .icon_box ul li strong { + font-size:16px; + font-weight:bold; + display:block; + padding:5px 0 10px 0; + color:#f6f6f6; +} +#business02 .sec2 .icon_box ul li p { + font-size:14px; + font-weight:400; + display:block; + color:#ddd; +} +#business02 .sec2 .img_box { + width:50%; +} +#business02 .sec3 .inner { + width:1240px; + padding:5% 20px; + margin:0 auto; + position: relative; + overflow: hidden; +} +#business02 .sec3 .tit{ + font-size:3em; + font-weight:bold; + color:#333; + padding-bottom:6%; + text-align:center; +} +#business02 .sec3 ul { + display:flex; +} +#business02 .sec3 ul li { + width:33.333%; + text-align:center; +} +#business02 .sec3 ul .icon_box { + width:200px; + height:200px; + border-radius:50%; + background-color:#f6f6f6; + position:relative; + margin:0 auto; + cursor: pointer; +} +#business02 .sec3 ul .icon_box:hover { + width:180px; + height:180px; + transition:all 0.6s; +} +#business02 .sec3 ul .icon_box span { + display:block; + position:absolute; + top:50%; + left:50%; + transform:translate(-50%,-50%); +} +#business02 .sec3 ul .icon_box span i { + font-size:5em; +} +#business02 .sec3 dl dt { + font-size:2em; + font-weight:bold; + color:#333; + padding:20px 0; +} +#business02 .sec3 dl dd { + font-size:16px; + font-weight:400; + color:#333; +} +#business02 .sec4 { + width:100%; + background-color:#f6f6f6; +} +#business02 .sec4 .inner { + width:1240px; + padding:5% 20px; + margin:0 auto; + position: relative; + overflow: hidden; +} +#business02 .sec4 .text_box { + padding-bottom:6%; +} +#business02 .sec4 .text_box .tit{ + font-size:3em; + font-weight:bold; + color:#333; + text-align:center; + padding-bottom:10px; +} +#business02 .sec4 .text_box p { + font-size:18px; + font-weight:400; + color:#333; + text-align:center; +} +#business02 .sec4 ul { + display:flex; + justify-content:center; + justify-content: space-between; +} +#business02 .sec4 ul li { + width:23%; + margin-right:2%; +} +#business02 .sec4 ul li:last-child { + margin-right:0; +} +#business02 .sec4 dl { + padding-top:20px; + cursor: pointer; +} +#business02 .sec4 dl dt { + font-size:1.8em; + font-weight:bold; + color:#333; + padding-bottom:20px; + position: relative; + z-index:2; + cursor: pointer; +} +#business02 .sec4 dl:hover dt::after { + width:100%; + transition:all 0.3s; +} +#business02 .sec4 dl dt::after { + content:''; + position:absolute; + left:0; + bottom:10px; + width:55%; + height:2px; + background-color:#c71526; + z-index:1; +} +#business02 .sec4 dl dd { + font-size:16px; + font-weight:400; + color:#333; +} +/* e:bussiness2 */ + +/* s:ceo */ +#ceo .sec1 { + position:relative; + overflow: hidden; +} +/* +ceo 페이지 하단 텍스트 출력 부분 +#ceo .sec::after { + content: "GREETINGS"; + position: absolute; + bottom: -60px; + left: -33px; + display: block; + color: #000; + font-size: 20rem; + font-weight: 700; + opacity: 0.05; + z-index:-1; +} +*/ +#ceo .sec1 .inner{ + width:1240px; + padding:8% 20px; + position:relative; + margin:0 auto; + overflow: hidden; +} +#ceo .sec1 .lf_box { + width:50%; + float:left; +} +#ceo .sec1 .lf_box img { + width:100%; +} +#ceo .sec1 .rt_box { + padding-left:2%; + width:48%; + float:right; + +} +#ceo .sec1 .text_box { + display:flex; + height:100%; + flex-direction:column; + vertical-align:middle; + justify-content:center; + justify-items:center; +} +#ceo .sec1 .rt_box .tit { + font-size:3em; + font-weight:400; + color:#000; + padding-bottom:40px; + font-family: 'Noto Sans KR', sans-serif; + letter-spacing:-0.6px; + line-height:1.5; + word-break: keep-all; +} +#ceo .sec1 .rt_box dl dt strong { + font-size:2em; + font-weight:bold; + color:#333; + font-family: 'Noto Sans KR', sans-serif; + padding-bottom:30px; + display:block; +} +#ceo .sec1 .rt_box dl .txt p{ + font-size: 18px; + font-weight: 300; + line-height: 30px; + letter-spacing:-0.6px; + line-height:1.5; + word-break: keep-all; + color:#000; + padding-bottom:20px; +} +#ceo .sec1 .rt_box dl .txt strong { + font-weight:500; +} +#ceo .sec1 .rt_box dl .sign { + height:50px; + display:flex; + margin-top:20px; +} +#ceo .sec1 .rt_box dl .sign p:nth-child(1) { + height:100%; + display:flex; + flex-direction:column; + justify-content:center; + font-size:18px; + font-weight:400; + color:#333; + padding-right:40px; +} + +/* e:ceo */ + +/* s:organizations */ +#organizations .sec1 .inner{ + width:1240px; + padding:8% 20px; + position:relative; +} +#organizations .sec1 .inner::after { + content:''; + width:1px; + height:500px; + background-color:#959595; + position:absolute; + top:20%; + left:50%; + transform:translate(-50%); + z-index:-1; +} +#organizations .sec1 .inner::before { + content:''; + width:1200px; + height:153px; + background-image:url(../img/ora_border.png); + background-size:cover; + background-position:center; + background-repeat:no-repeat; + position:absolute; + top:39.5%; + z-index:-1; +} +#organizations .sec1 .head { + width:200px; + height:200px; + border-radius:50%; + background: linear-gradient(to right bottom, #e75260, #db3c4b 40%, #c71526); + box-sizing:border-box; + margin:0 auto; +} +#organizations .sec1 .head span { + width:100%; + height:100%; + line-height:200px; + display:block; + text-align:center; + font-size:3em; + font-weight:bold; + color:#fff; +} +#organizations .sec1 .org_list { + margin-top:150px; + overflow: hidden; +} +#organizations .sec1 .org_list li { + float:left; + width:18%; + margin-right:2.5%; + box-sizing:border-box; +} +#organizations .sec1 .org_list li:last-child { + margin-right:0; +} +#organizations .sec1 .org_list li .tit { + background-color:#d32334; + color:#fff; +} +#organizations .sec1 .org_list li p { + width:100%; + font-size:18px; + padding:15px 4px; + font-weight:400; + text-align:center; + background-color:#fff; + border-bottom:1px solid #ccc; + border-left:1px solid #ccc; + border-right:1px solid #ccc; + box-sizing:border-box; +} +#organizations .sec1 .org_list li p:last-child { + border-bottom:1px solid #ccc; +} +/* e:organizations */ + +.pc_img { + display:block; +} +.mo_img { + display:none; +} +.mo_br { + display:block; +} +.visionBox { + display:block; +} +.mo_visionBox { + display:none; +} +@media screen and (max-width:1400px){ + #business01 .sec4 .inner p br{ + display:none; + } + #business01 .sec4 .text_box { + padding-left:40px; + padding-right:20px; + } +} +@media screen and (max-width:1200px){ + .sec .inner { + width:98%; + padding:8% 1%; + } + + #history .sec1 .inner { + width:98%; + padding:8% 1%; + } + .sec1 .historyBox { + padding-bottom:100px; + } + .history_wrap .historyBox .history_left>h3 { + font-size:36px; + } + .history_wrap .historyBox .history_right .line { + left:17%; + } + .history_wrap .historyBox .history_right .history_00 .year::after { + right:15%; + } + .history_wrap .historyBox .history_right .history_00 .info { + padding-left:20px; + } + + #vision .sec1 .inner { + width:980px; + padding:5% 0; + } + #vision .sec1 .circle { + transform: translate(-50%,-67%); + } + #vision .sec1 .visionBox { + height:650px; + } + #vision .sec1 .text_box .list1 { + left:70px; + } + #vision .sec1 .text_box .list2 { + right:70px; + } + #vision .sec1 .text_box .list3 { + bottom:70px; + } + #vision .sec1 .text_box:hover .list1 { + left:40px; + transition:all 0.6s; + } + #vision .sec1 .text_box:hover .list2 { + right:40px; + transition:all 0.6s; + } + #vision .sec1 .text_box:hover .list3 { + bottom:50px; + transition:all 0.6s; + } + #vision .sec1 .titBox div { + width:120px; + height:120px; + } + #vision .sec1 .titBox p { + height:120px; + } + #vision .sec1 .txtBox p { + font-size:14px; + } + #vision .sec1 .list2 .txtBox { + padding-left:7px; + } + #vision .sec1 .list1 .txtBox { + padding-right:7px; + } + #vision .sec1 .list3 .txtBox { + padding-top:7px; + } + #vision .sec2 ul { + width:100%; + } + #vision .sec2 ul li { + width:32%; + margin-right:2%; + } + #vision .sec2 ul li:last-child { + margin-right:0; + } + #vision .sec2 ul li img { + width:100%; + } + #organizations .sec1 .inner { + width:980px; + padding:8% 0; + } + #organizations .sec1 .inner::before { + width:980px; + height:120px; + left:50%; + transform:translateX(-50%); + } + #map .sec1 .title { + font-size:21px; + padding-bottom:5%; + } + #map .sec1 .inner { + width:98%; + padding:8% 1%; + } + #map .topBox { + display:block; + } + #map .topBox > div { + width:100%; + } + #map .infoBox ul { + height:auto; + } + #map .infoBox1 ul li { + display:block; + } + #map .infoBox1 ul li .tit { + width:70%; + display:inline-block; + } + #map .infoBox1 ul li .txt { + height:auto; + width:100%; + padding-top:10px; + } + #business01 .sec1 img { + width:100%; + } + #business01 .sec2 ul li { + width:28%; + margin-right:6%; + } + #business01 .sec3 .text_box { + /*width:570px;*/ + } + #business01 .sec4 .text_box { + padding-right:10%; + } + #business02 .sec1 .inner { + width:98%; + padding:8% 1%; + } + #business02 .sec1 .lf_box h1 { + padding-bottom:20px; + } + #business02 .sec1 .rt_box img { + width:100%; + } + #business02 .sec2 { + height:auto; + } + #business02 .sec2 .text_box { + width:100%; + margin-bottom:5%; + padding:0 10%; + } + #business02 .sec2 .border { + padding:5%; + } + #business02 .sec2 .inner { + width:98%; + display:block; + padding:8% 1%; + } + #business02 .sec2 .icon_box { + width:100%; + } + #business02 .sec2 .icon_box ul { + width:100%; + } + #business02 .sec2 .icon_box ul li { + width:50%; + margin-right: 0; + height: 160px; + padding: 0 10px; + text-align: center; + } + #business02 .sec2 .icon_box ul li p { + width:70%; + text-align:center; + margin:0 auto; + } + #business02 .sec2 .icon_box .tit { + text-align:center; + } + #business02 .sec3 .inner { + width:98%; + padding:8% 1%; + } + #business02 .sec3 ul li { + width:300px; + } + #business02 .sec4 ul li img { + width:auto; + } + #ceo .sec1 .inner { + width:98%; + padding:8% 1%; + } + #ceo .sec1 .rt_box { + width:50%; + padding-left:20px; + } + #ceo .sec1 .rt_box .tit { + font-size:26px; + } + #ceo .sec1 .rt_box dl dt strong { + font-size:21px; + } + #ceo .sec1 .rt_box dl .txt p { + font-size:16px; + } + +} + +@media screen and (max-width:1000px) { + #business01 .sec3 .inner a { + margin:20px auto; + } + + #business01 .sec4 { + height:auto; + } + #business01 .sec4 .inner { + display:block; + } + #business01 .sec4 .lfBox { + width:100%; + float:none; + } + #business01 .sec4 .rtBox { + width:100%; + float:none; + padding:5% 0; + text-align:center; + } + #business01 .sec4 .text_box { + padding-left:0; + padding-right:0; + text-align:center; + } + #business01 .sec4 .rt_box h4 { + text-align:center; + } + #business01 .sec4 .rtBox p { + text-align:left; + padding:0 20px; + } + #business01 .sec4 .inner a { + margin:20px auto; + } + +} + +@media screen and (max-width:980px){ + .sub .title { + padding:8% 0; + } + .pc_img { + display:none; + } + .mo_img { + display:block; + } + .mo_br { + display:inline-block; + } + .mo_br2 { + display:block; + } + .sub .title { + font-size:21px; + } + #vision .sec1 .inner { + width:98%; + padding:5% 1%; + } + #vision .sec1 .text_box .list1 { + left:5px; + } + #vision .sec1 .text_box .list2 { + right:5px; + } + #vision .sec1 .text_box .list3 { + bottom:40px; + } + #vision .sec2 .txt { + font-size:14px; + } + .visionBox { + display:block; + } + .mo_visionBox { + display:none; + } + #vision .sec2 { + width: 98%; + padding:8% 1%; + } + #vision .sec2 ul { + width: 100%; + display:block; + } + #vision .sec2 ul li { + width:100%; + margin-right:0; + margin-bottom:20px; + } + #organizations .sec1 .head { + width:150px; + height:150px; + } + #organizations .sec1 .head span { + line-height:150px; + } + #organizations .sec1 .inner { + width:750px; + padding:8% 0; + } + #organizations .sec1 .inner::after { + height:350px; + } + #organizations .sec1 .inner::before { + width:750px; + height:50px; + top:40%; + left:50%; + transform:translateX(-50%); + } + #organizations .sec1 .org_list { + margin-top:90px; + } + #organizations .sec1 .org_list li .tit { + font-size:16px; + } + #organizations .sec1 .org_list li p { + font-size:14px; + } + .sec1 .historyBox { + display:block; + } + .history_wrap .historyBox .history_left { + width: 100%; + } + .history_wrap .historyBox .history_left>h3 { + padding-bottom:20px; + } + .history_wrap .historyBox .history_right { + width:100%; + padding-left:0; + } + .history_wrap .historyBox .history_right .line { + top:-10px; + left:20%; + } + .history_wrap .historyBox .history_right .history_00 .year::after { + right:0%; + } + .history_wrap .historyBox .history_right .history_00 .year { + width:20%; + } + #map .sec1 .root_daum_roughmap { + width:100%; + height:250px; + } + #map .sec1 .map_info { + padding:4% 2%; + } + #map .sec1 .map_info .lf_box { + position: absolute; + top:-40px; + left:50%; + transform:translateX(-50%); + z-index:9; + opacity:0.2; + } + #map .sec1 .map_info .rt_box { + width:100%; + position:relative; + z-index:10; + } + #map .sec1 .map_info strong { + font-size:18px; + text-align:center; + } + #map .sec1 .map_info p { + font-size:16px; + text-align:center; + padding:20px 10px 10px 10px; + } + #map .sec1 .map_info .lf_box span { + border:none; + width:auto; + } + #map .sec1 .map_info span { + display:block; + } + #map .sec1 .map_info p span:nth-child(1) { + width:100%; + text-align:center; + padding-bottom:10px; + z-index:2; + } + #map .sec1 .map_info p span:nth-child(1)::after { + top:13px; + right: 0; + width:70px; + height:10px; + background-color: rgba(199,21,38,0.5); + left: 50%; + transform: translateX(-50%); + z-index:1; + } + #map #timap .btnBox { + width:100%; + border: 1px solid #ccc; + box-sizing: border-box; + padding: 20px; + } + #map #timap .btnBox a { + width:100%; + height:50px; + background-color:#333; + display:block; + } + #map #timap .btnBox a span { + display:block; + text-align:center; + line-height:50px; + font-size:16px; + color:#fff; + } + #business01 .sec1 ul { + display:block; + } + #business01 .sec1 ul li { + width:100%; + margin:0px auto 20px auto; + text-align:center; + padding:20px; + background-color:#f6f6f6; + box-shadow:3px 3px 8px rgba(0,0,0,0.3); + } + #business01 .sec1 ul li:last-child { + margin-right:auto; + } + /* + #business01 .sec1 dl:hover { + border:none; + padding:0; + } + */ + #business01 .sec1 dl dt { + font-size:18px; + } + #business01 .sec2 { + padding:8% 0; + } + #business01 .sec2 .text_box { + padding-bottom:6%; + } + #business01 .sec2 .text_box h2 { + font-size:21px; + } + #business01 .sec2 .text_box p { + font-size:18px; + } + #business01 .sec2 ul li { + display:block; + width:100%; + margin-right:0; + height:auto; + text-align: center; + padding:0 20px; + padding-bottom:40px; + } + /* + #business01 .sec2 ul li:hover { + margin:0; + } + */ + #business01 .sec2 ul li:nth-child(3n) { + margin-right:0; + } + #business01 .sec2 ul li .icon { + width:100%; + } + #business01 .sec2 ul li dl { + width:100%; + } + #business01 .sec2 ul li dl dt { + padding-bottom:10px; + } + #business01 .sec3 { + /*background-image:url(../img/bussiness01_img02_mo.jpg);*/ + } + #business01 .sec3 .text_box { + width:100%; + padding:0 20px; + } + #business01 .sec3 .text_box h3 { + font-size:21px; + } + #business01 .sec3 .text_box p { + font-size:16px; + } + #business01 .sec3 .text_box h3 strong::after { + bottom:2px; + width:100px; + height:8px; + margin-left:-50px; + } + #business01 .sec4 .rt_box { + padding:8% 0; + } + #business01 .sec4 .rt_box .text_box { + width:100%; + padding:0 20px; + } + #business01 .sec4 .rt_box h4 { + font-size:21px; + } + #business01 .sec4 .rt_box p { + font-size:16px; + } + #business01 .sec5 { + padding:8% 0; + } + #business01 .sec5 ul { + display: flex; + flex-direction: column; + align-items: center; /* 자식 요소들을 가로축 기준으로 중앙 정렬 */ + justify-content: center; + gap: 60px; + /*padding: 0; /* 불필요한 패딩 제거 */ + } + + #business01 .sec5 ul li { + aspect-ratio: auto; /* 1:1 고정 해제 */ + width: 80%; + /*max-width: 400px; /* 너무 퍼지지 않게 적절한 최대 너비 설정 */ + height: auto; /* 원형이 아닐 경우 높이를 유동적으로 변경 */ + min-height: 80px; /* 최소 높이 확보 */ + padding: 10px 10px 10px 10%; + border-radius: 0; + flex-direction: row; + justify-content: flex-start; + margin: 0; /* flex 정렬을 사용하므로 margin auto는 제거해도 무방 */ + position: relative; + box-sizing: border-box; + } + #business01 .sec5 ul li img { + margin-bottom: 0; + margin-right: 30px; + } + + /* 화살표 위치 및 모양 수정 */ + #business01 .sec5 ul li:not(:last-child)::after { + content: ''; + position: absolute; + top: auto !important; /* 박스 중앙 고정 해제 */ + left: 50%; /* 기준점을 50%로 설정 */ + bottom: -40px; /* 요소 아래쪽으로 배치 */ + transform: translateX(-50%); /* 자신의 너비 절반만큼 왼쪽으로 밀어 완벽한 중앙 정렬 */ + + /* 아래 방향 삼각형 */ + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 15px solid #939393; + border-bottom: 0; + + width: 0; + height: 0; + display: block; + } + + #business01 .sec5 .text_box h5 { + font-size:21px; + } + #business01 .sec5 .text_box h5 strong::after { + bottom:2px; + width:100px; + height:8px; + margin-left:-50px; + } + #business01 .sec5 .text_box p { + font-size:14px; + } + #business02 .sec1 .lf_box { + width:100%; + float:none; + padding-bottom:40px; + } + #business02 .sec1 .lf_box ul li { + padding:4px 0; + } + #business02 .sec1 .lf_box h1 { + font-size:21px; + } + #business02 .sec1 .lf_box strong { + font-size:16px; + } + #business02 .sec1 .lf_box p { + font-size:16px; + } + #business02 .sec1 .rt_box { + width:100%; + float:none; + } + #business02 .sec2 .icon_box .tit { + font-size:21px; + } + #business02 .sec2 .icon_box ul li { + width:100%; + float:none; + } + + #business02 .sec2 .text_box { + padding:0; + } + #business02 .sec2 .text_box .tit { + font-size:21px; + } + #business02 .sec2 .text_box p { + font-size:14px; + } + #business02 .sec3 ul { + display:block; + } + #business02 .sec3 ul li { + margin:0 auto; + text-align:center; + padding-bottom:40px; + } + #business02 .sec3 ul .icon_box { + width:130px; + height:130px; + } + #business02 .sec4 .inner { + width:98%; + padding:8% 1%; + } + #business02 .sec4 ul { + display:block; + } + #business02 .sec4 ul li { + width:100%; + text-align:center; + margin:0 auto; + padding-bottom:40px; + } + #business02 .sec4 dl { + width:310px; + margin:0 auto; + } + #business02 .sec4 dl dt { + font-size:18px; + } + #business02 .sec4 dl dd { + font-size:16px; + } + #business02 .sec4 dl dt::after { + display:none; + } + #business02 .sec4 .text_box .tit { + font-size:21px; + } + #business02 .sec4 .text_box p { + font-size:14px; + } + #ceo .sec1 .lf_box { + width:100%; + float:none; + } + #ceo .sec1 .rt_box { + width:100%; + float:none; + padding-top:40px; + padding-left:0; + } + #ceo .sec1 .rt_box .tit { + font-size:21px; + padding-bottom:20px; + } + #ceo .sec1 .rt_box dl dt strong { + position:relative; + } + #ceo .sec1 .rt_box dl dt strong::after { + content:''; + width:75%; + height:20px; + background-color:rgba(0,0,0,0.2); + position:absolute; + left:0; + bottom:25px; + } +} + +@media screen and (max-width:780px){ + .visionBox { + display:none; + } + .mo_visionBox { + display:block; + height:500px; + } + .mo_visionBox .circleBox { + position:relative; + } + .mo_visionBox .circleBox li{ + width:130px; + height:130px; + border-radius:50%; + } + .mo_visionBox .circleBox li:nth-child(1) { + position:absolute; + top:0; + left:0; + background-color:rgba(1,172,166,0.9); + } + .mo_visionBox .circleBox li:nth-child(2) { + position:absolute; + top:0; + left:50%; + transform:translateX(-50%); + background-color:rgba(13,153,214,0.9); + z-index:2; + } + .mo_visionBox .circleBox li:nth-child(3) { + position:absolute; + top:0; + right:0; + background-color:rgba(6,73,116,0.9); + } + .mo_visionBox .circleBox li div { + height:130px; + display:flex; + flex-direction:column; + justify-content:center; + justify-items:center; + } + .mo_visionBox .circleBox li strong { + display:block; + font-size:18px; + font-weight:bold; + text-align:center; + color:#f6f6f6; + } + .mo_visionBox .circleBox li p { + display:block; + font-size:12px; + font-weight:500; + text-align:center; + color:#ddd; + word-break: break-all; + } + .mo_visionBox .infoBox { + position:relative; + top:200px; + } + .mo_visionBox .infoBox li { + display:flex; + justify-content:center; + padding-bottom:30px; + } + .mo_visionBox .infoBox strong { + font-size:28px; + font-weight:bold; + padding-right:16px; + display:inline-block; + position:relative; + color:#333; + } + .mo_visionBox .infoBox strong::after { + content:''; + position:absolute; + left:0; + bottom:20px; + width:35px; + height:2px; + background-color:#c71526; + opacity:0.5; + } + .mo_visionBox .infoBox p { + font-size:14px; + font-weight:400; + letter-spacing:-0.6px; + line-height:1.4; + } + #organizations .sec1 .inner { + width:100%; + } + #organizations .sec1 .org_list li { + float:none; + width:96%; + margin-left:2%; + margin-right:2%; + margin-bottom:2%; + } + #organizations .sec1 .inner::after { + top:10%; + } + + #business01 .sec5 ul li { + padding-left: 5%; + padding-right: 5px; + } + #business01 .sec5 ul li img{ + margin-right: 5px; + } + +} diff --git a/web/html/theme/FT_WEB20/group.php b/web/html/theme/FT_WEB20/group.php new file mode 100644 index 0000000..d9cefaf --- /dev/null +++ b/web/html/theme/FT_WEB20/group.php @@ -0,0 +1,49 @@ + + +
                                                                        + + + 'mobile' "; +if(!$is_admin) + $sql .= " and bo_use_cert = '' "; +$sql .= " order by bo_order "; +$result = sql_query($sql); +for ($i=0; $row=sql_fetch_array($result); $i++) { + $lt_style = ""; + if ($i%3 !== 0) $lt_style = "margin-left:2%"; + else $lt_style = ""; +?> +
                                                                        + +
                                                                        + + +
                                                                        + + + + + + + + + + + + + + + diff --git a/web/html/theme/FT_WEB20/head.sub.php b/web/html/theme/FT_WEB20/head.sub.php new file mode 100644 index 0000000..d3edca6 --- /dev/null +++ b/web/html/theme/FT_WEB20/head.sub.php @@ -0,0 +1,128 @@ + + + + + + +'.PHP_EOL; + echo ''.PHP_EOL; + echo ''.PHP_EOL; +} else { + echo ''.PHP_EOL; + echo ''.PHP_EOL; +} + +if($config['cf_add_meta']) + echo $config['cf_add_meta'].PHP_EOL; +?> +<?php echo $g5_head_title; ?> +'.PHP_EOL; +?> + + +', 0); +add_javascript('', 0); +if (defined('_SHOP_')) { + if(!G5_IS_MOBILE) { + add_javascript('', 0); + } +} else { + add_javascript('', 0); +} +add_javascript('', 0); +add_javascript('', 0); +add_javascript('', 0); +add_stylesheet('', 0); + + +if(G5_IS_MOBILE) { + add_javascript('', 1); // overflow scroll 감지 +} +if(!defined('G5_IS_ADMIN')) + echo $config['cf_add_script']; +?> + + + + + + + + + + + + + + + + +> +'.$sr_admin_msg.get_text($member['mb_nick']).'님 로그인 중 '; + echo '로그아웃'; +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/img/1000x501.jpg b/web/html/theme/FT_WEB20/img/1000x501.jpg new file mode 100644 index 0000000..bfa6d52 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/1000x501.jpg differ diff --git a/web/html/theme/FT_WEB20/img/1000x501.png b/web/html/theme/FT_WEB20/img/1000x501.png new file mode 100644 index 0000000..f6dc66d Binary files /dev/null and b/web/html/theme/FT_WEB20/img/1000x501.png differ diff --git a/web/html/theme/FT_WEB20/img/1200x854.jpg b/web/html/theme/FT_WEB20/img/1200x854.jpg new file mode 100644 index 0000000..7f50828 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/1200x854.jpg differ diff --git a/web/html/theme/FT_WEB20/img/1200x854.png b/web/html/theme/FT_WEB20/img/1200x854.png new file mode 100644 index 0000000..8616cb5 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/1200x854.png differ diff --git a/web/html/theme/FT_WEB20/img/1480x1197.jpg b/web/html/theme/FT_WEB20/img/1480x1197.jpg new file mode 100644 index 0000000..0bf7a54 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/1480x1197.jpg differ diff --git a/web/html/theme/FT_WEB20/img/1480x1197.png b/web/html/theme/FT_WEB20/img/1480x1197.png new file mode 100644 index 0000000..4d60db5 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/1480x1197.png differ diff --git a/web/html/theme/FT_WEB20/img/4.jpg b/web/html/theme/FT_WEB20/img/4.jpg new file mode 100644 index 0000000..3b85560 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/4.jpg differ diff --git a/web/html/theme/FT_WEB20/img/602x408.jpg b/web/html/theme/FT_WEB20/img/602x408.jpg new file mode 100644 index 0000000..2b82bcd Binary files /dev/null and b/web/html/theme/FT_WEB20/img/602x408.jpg differ diff --git a/web/html/theme/FT_WEB20/img/602x408_2.jpg b/web/html/theme/FT_WEB20/img/602x408_2.jpg new file mode 100644 index 0000000..6365d99 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/602x408_2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/900x650.png b/web/html/theme/FT_WEB20/img/900x650.png new file mode 100644 index 0000000..a0af844 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/900x650.png differ diff --git a/web/html/theme/FT_WEB20/img/A03.jpg b/web/html/theme/FT_WEB20/img/A03.jpg new file mode 100644 index 0000000..17a0f90 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/A03.jpg differ diff --git a/web/html/theme/FT_WEB20/img/PORTFOLIO.jpg b/web/html/theme/FT_WEB20/img/PORTFOLIO.jpg new file mode 100644 index 0000000..220e656 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/PORTFOLIO.jpg differ diff --git a/web/html/theme/FT_WEB20/img/PORTFOLIO2.jpg b/web/html/theme/FT_WEB20/img/PORTFOLIO2.jpg new file mode 100644 index 0000000..9d43973 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/PORTFOLIO2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/about_img01.jpg b/web/html/theme/FT_WEB20/img/about_img01.jpg new file mode 100644 index 0000000..4acf977 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/about_img01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/arrow_next2.png b/web/html/theme/FT_WEB20/img/arrow_next2.png new file mode 100644 index 0000000..3bcb506 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/arrow_next2.png differ diff --git a/web/html/theme/FT_WEB20/img/article1.jpg b/web/html/theme/FT_WEB20/img/article1.jpg new file mode 100644 index 0000000..af59bf9 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/article1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/article2.jpg b/web/html/theme/FT_WEB20/img/article2.jpg new file mode 100644 index 0000000..0c66fe2 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/article2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/article3.jpg b/web/html/theme/FT_WEB20/img/article3.jpg new file mode 100644 index 0000000..cfa87a7 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/article3.jpg differ diff --git a/web/html/theme/FT_WEB20/img/article4.jpg b/web/html/theme/FT_WEB20/img/article4.jpg new file mode 100644 index 0000000..71ec167 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/article4.jpg differ diff --git a/web/html/theme/FT_WEB20/img/at_logo.png b/web/html/theme/FT_WEB20/img/at_logo.png new file mode 100644 index 0000000..7ca3c26 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/at_logo.png differ diff --git a/web/html/theme/FT_WEB20/img/at_logo_white.png b/web/html/theme/FT_WEB20/img/at_logo_white.png new file mode 100644 index 0000000..aac473f Binary files /dev/null and b/web/html/theme/FT_WEB20/img/at_logo_white.png differ diff --git a/web/html/theme/FT_WEB20/img/atstore1.jpg b/web/html/theme/FT_WEB20/img/atstore1.jpg new file mode 100644 index 0000000..2b48255 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/atstore1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/atstore2.jpg b/web/html/theme/FT_WEB20/img/atstore2.jpg new file mode 100644 index 0000000..4596842 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/atstore2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/atstore3.jpg b/web/html/theme/FT_WEB20/img/atstore3.jpg new file mode 100644 index 0000000..5f16fc3 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/atstore3.jpg differ diff --git a/web/html/theme/FT_WEB20/img/atstore4.jpg b/web/html/theme/FT_WEB20/img/atstore4.jpg new file mode 100644 index 0000000..20cfb39 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/atstore4.jpg differ diff --git a/web/html/theme/FT_WEB20/img/atstore5.jpg b/web/html/theme/FT_WEB20/img/atstore5.jpg new file mode 100644 index 0000000..ef9ad74 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/atstore5.jpg differ diff --git a/web/html/theme/FT_WEB20/img/back1.jpg b/web/html/theme/FT_WEB20/img/back1.jpg new file mode 100644 index 0000000..ce0b5aa Binary files /dev/null and b/web/html/theme/FT_WEB20/img/back1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/back2.jpg b/web/html/theme/FT_WEB20/img/back2.jpg new file mode 100644 index 0000000..e25c347 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/back2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/back3.jpg b/web/html/theme/FT_WEB20/img/back3.jpg new file mode 100644 index 0000000..93a0418 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/back3.jpg differ diff --git a/web/html/theme/FT_WEB20/img/background.jpg b/web/html/theme/FT_WEB20/img/background.jpg new file mode 100644 index 0000000..3a5fea1 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/background.jpg differ diff --git a/web/html/theme/FT_WEB20/img/book.jpg b/web/html/theme/FT_WEB20/img/book.jpg new file mode 100644 index 0000000..3d1807c Binary files /dev/null and b/web/html/theme/FT_WEB20/img/book.jpg differ diff --git a/web/html/theme/FT_WEB20/img/box_img.jpg b/web/html/theme/FT_WEB20/img/box_img.jpg new file mode 100644 index 0000000..d66a7fa Binary files /dev/null and b/web/html/theme/FT_WEB20/img/box_img.jpg differ diff --git a/web/html/theme/FT_WEB20/img/btn_end.gif b/web/html/theme/FT_WEB20/img/btn_end.gif new file mode 100644 index 0000000..e7d6105 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/btn_end.gif differ diff --git a/web/html/theme/FT_WEB20/img/btn_first.gif b/web/html/theme/FT_WEB20/img/btn_first.gif new file mode 100644 index 0000000..82aeea5 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/btn_first.gif differ diff --git a/web/html/theme/FT_WEB20/img/btn_idx_left.png b/web/html/theme/FT_WEB20/img/btn_idx_left.png new file mode 100644 index 0000000..20e1b49 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/btn_idx_left.png differ diff --git a/web/html/theme/FT_WEB20/img/btn_idx_right.png b/web/html/theme/FT_WEB20/img/btn_idx_right.png new file mode 100644 index 0000000..c39d664 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/btn_idx_right.png differ diff --git a/web/html/theme/FT_WEB20/img/btn_next.gif b/web/html/theme/FT_WEB20/img/btn_next.gif new file mode 100644 index 0000000..eb714a3 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/btn_next.gif differ diff --git a/web/html/theme/FT_WEB20/img/btn_next.png b/web/html/theme/FT_WEB20/img/btn_next.png new file mode 100644 index 0000000..2cfd493 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/btn_next.png differ diff --git a/web/html/theme/FT_WEB20/img/btn_prev.gif b/web/html/theme/FT_WEB20/img/btn_prev.gif new file mode 100644 index 0000000..cdc8374 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/btn_prev.gif differ diff --git a/web/html/theme/FT_WEB20/img/btn_prev.png b/web/html/theme/FT_WEB20/img/btn_prev.png new file mode 100644 index 0000000..4fdda64 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/btn_prev.png differ diff --git a/web/html/theme/FT_WEB20/img/btn_search.jpg b/web/html/theme/FT_WEB20/img/btn_search.jpg new file mode 100644 index 0000000..c8e7633 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/btn_search.jpg differ diff --git a/web/html/theme/FT_WEB20/img/btn_top.gif b/web/html/theme/FT_WEB20/img/btn_top.gif new file mode 100644 index 0000000..2b5099d Binary files /dev/null and b/web/html/theme/FT_WEB20/img/btn_top.gif differ diff --git a/web/html/theme/FT_WEB20/img/bullet.gif b/web/html/theme/FT_WEB20/img/bullet.gif new file mode 100644 index 0000000..a7cd0fc Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bullet.gif differ diff --git a/web/html/theme/FT_WEB20/img/bussiness01_img01.jpg b/web/html/theme/FT_WEB20/img/bussiness01_img01.jpg new file mode 100644 index 0000000..01be9c6 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness01_img01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/bussiness01_img01_mo.jpg b/web/html/theme/FT_WEB20/img/bussiness01_img01_mo.jpg new file mode 100644 index 0000000..f36e6ed Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness01_img01_mo.jpg differ diff --git a/web/html/theme/FT_WEB20/img/bussiness01_img02.jpg b/web/html/theme/FT_WEB20/img/bussiness01_img02.jpg new file mode 100644 index 0000000..5536e08 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness01_img02.jpg differ diff --git a/web/html/theme/FT_WEB20/img/bussiness01_img02_mo.jpg b/web/html/theme/FT_WEB20/img/bussiness01_img02_mo.jpg new file mode 100644 index 0000000..ed8182b Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness01_img02_mo.jpg differ diff --git a/web/html/theme/FT_WEB20/img/bussiness01_img03.jpg b/web/html/theme/FT_WEB20/img/bussiness01_img03.jpg new file mode 100644 index 0000000..698230d Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness01_img03.jpg differ diff --git a/web/html/theme/FT_WEB20/img/bussiness01_img03_x4.jpg b/web/html/theme/FT_WEB20/img/bussiness01_img03_x4.jpg new file mode 100644 index 0000000..3e215b4 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness01_img03_x4.jpg differ diff --git a/web/html/theme/FT_WEB20/img/bussiness01_img04.jpg b/web/html/theme/FT_WEB20/img/bussiness01_img04.jpg new file mode 100644 index 0000000..cb60226 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness01_img04.jpg differ diff --git a/web/html/theme/FT_WEB20/img/bussiness01_sec4_img01.jpg b/web/html/theme/FT_WEB20/img/bussiness01_sec4_img01.jpg new file mode 100644 index 0000000..729ea14 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness01_sec4_img01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/bussiness02_img01.jpg b/web/html/theme/FT_WEB20/img/bussiness02_img01.jpg new file mode 100644 index 0000000..1e0c28b Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness02_img01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/bussiness02_img02.jpg b/web/html/theme/FT_WEB20/img/bussiness02_img02.jpg new file mode 100644 index 0000000..a309ef3 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness02_img02.jpg differ diff --git a/web/html/theme/FT_WEB20/img/bussiness02_img03.jpg b/web/html/theme/FT_WEB20/img/bussiness02_img03.jpg new file mode 100644 index 0000000..23d3a22 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness02_img03.jpg differ diff --git a/web/html/theme/FT_WEB20/img/bussiness02_img04.jpg b/web/html/theme/FT_WEB20/img/bussiness02_img04.jpg new file mode 100644 index 0000000..4b339a2 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/bussiness02_img04.jpg differ diff --git a/web/html/theme/FT_WEB20/img/captcha.png b/web/html/theme/FT_WEB20/img/captcha.png new file mode 100644 index 0000000..fee7cec Binary files /dev/null and b/web/html/theme/FT_WEB20/img/captcha.png differ diff --git a/web/html/theme/FT_WEB20/img/captcha2.png b/web/html/theme/FT_WEB20/img/captcha2.png new file mode 100644 index 0000000..0ef482a Binary files /dev/null and b/web/html/theme/FT_WEB20/img/captcha2.png differ diff --git a/web/html/theme/FT_WEB20/img/ceo_img01.jpg b/web/html/theme/FT_WEB20/img/ceo_img01.jpg new file mode 100644 index 0000000..0568110 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/ceo_img01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/ceo_sign.jpg b/web/html/theme/FT_WEB20/img/ceo_sign.jpg new file mode 100644 index 0000000..3fb0351 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/ceo_sign.jpg differ diff --git a/web/html/theme/FT_WEB20/img/chk.png b/web/html/theme/FT_WEB20/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/img/close_btn.gif b/web/html/theme/FT_WEB20/img/close_btn.gif new file mode 100644 index 0000000..8007ef3 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/close_btn.gif differ diff --git a/web/html/theme/FT_WEB20/img/close_btn.png b/web/html/theme/FT_WEB20/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/img/company1.jpg b/web/html/theme/FT_WEB20/img/company1.jpg new file mode 100644 index 0000000..07effc2 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/company1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/company2.jpg b/web/html/theme/FT_WEB20/img/company2.jpg new file mode 100644 index 0000000..757eb6b Binary files /dev/null and b/web/html/theme/FT_WEB20/img/company2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/company231.jpg b/web/html/theme/FT_WEB20/img/company231.jpg new file mode 100644 index 0000000..c4e3e4e Binary files /dev/null and b/web/html/theme/FT_WEB20/img/company231.jpg differ diff --git a/web/html/theme/FT_WEB20/img/company3.jpg b/web/html/theme/FT_WEB20/img/company3.jpg new file mode 100644 index 0000000..4adf2af Binary files /dev/null and b/web/html/theme/FT_WEB20/img/company3.jpg differ diff --git a/web/html/theme/FT_WEB20/img/company_m_1.jpg b/web/html/theme/FT_WEB20/img/company_m_1.jpg new file mode 100644 index 0000000..ceba5b1 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/company_m_1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/face/logo_white.png b/web/html/theme/FT_WEB20/img/face/logo_white.png new file mode 100644 index 0000000..189c3c7 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/face/logo_white.png differ diff --git a/web/html/theme/FT_WEB20/img/face/text_logo_white.png b/web/html/theme/FT_WEB20/img/face/text_logo_white.png new file mode 100644 index 0000000..1dd8632 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/face/text_logo_white.png differ diff --git a/web/html/theme/FT_WEB20/img/ft.png b/web/html/theme/FT_WEB20/img/ft.png new file mode 100644 index 0000000..0259a9f Binary files /dev/null and b/web/html/theme/FT_WEB20/img/ft.png differ diff --git a/web/html/theme/FT_WEB20/img/ft_logo.png b/web/html/theme/FT_WEB20/img/ft_logo.png new file mode 100644 index 0000000..679a443 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/ft_logo.png differ diff --git a/web/html/theme/FT_WEB20/img/gnb_bg.gif b/web/html/theme/FT_WEB20/img/gnb_bg.gif new file mode 100644 index 0000000..4e1d1ae Binary files /dev/null and b/web/html/theme/FT_WEB20/img/gnb_bg.gif differ diff --git a/web/html/theme/FT_WEB20/img/gnb_bg00.gif b/web/html/theme/FT_WEB20/img/gnb_bg00.gif new file mode 100644 index 0000000..fd24f34 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/gnb_bg00.gif differ diff --git a/web/html/theme/FT_WEB20/img/gnb_bg2.gif b/web/html/theme/FT_WEB20/img/gnb_bg2.gif new file mode 100644 index 0000000..fe636b9 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/gnb_bg2.gif differ diff --git a/web/html/theme/FT_WEB20/img/history_00.png b/web/html/theme/FT_WEB20/img/history_00.png new file mode 100644 index 0000000..83f96c6 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/history_00.png differ diff --git a/web/html/theme/FT_WEB20/img/how_to_01.png b/web/html/theme/FT_WEB20/img/how_to_01.png new file mode 100644 index 0000000..b3bc44c Binary files /dev/null and b/web/html/theme/FT_WEB20/img/how_to_01.png differ diff --git a/web/html/theme/FT_WEB20/img/how_to_02.png b/web/html/theme/FT_WEB20/img/how_to_02.png new file mode 100644 index 0000000..e84a741 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/how_to_02.png differ diff --git a/web/html/theme/FT_WEB20/img/how_to_03.png b/web/html/theme/FT_WEB20/img/how_to_03.png new file mode 100644 index 0000000..94ecfb5 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/how_to_03.png differ diff --git a/web/html/theme/FT_WEB20/img/how_to_04.png b/web/html/theme/FT_WEB20/img/how_to_04.png new file mode 100644 index 0000000..c16a2cf Binary files /dev/null and b/web/html/theme/FT_WEB20/img/how_to_04.png differ diff --git a/web/html/theme/FT_WEB20/img/ico_movie.png b/web/html/theme/FT_WEB20/img/ico_movie.png new file mode 100644 index 0000000..6cbbf49 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/ico_movie.png differ diff --git a/web/html/theme/FT_WEB20/img/icon1.png b/web/html/theme/FT_WEB20/img/icon1.png new file mode 100644 index 0000000..ec3dc9b Binary files /dev/null and b/web/html/theme/FT_WEB20/img/icon1.png differ diff --git a/web/html/theme/FT_WEB20/img/icon2.png b/web/html/theme/FT_WEB20/img/icon2.png new file mode 100644 index 0000000..cde8c4a Binary files /dev/null and b/web/html/theme/FT_WEB20/img/icon2.png differ diff --git a/web/html/theme/FT_WEB20/img/icon3.png b/web/html/theme/FT_WEB20/img/icon3.png new file mode 100644 index 0000000..f4534af Binary files /dev/null and b/web/html/theme/FT_WEB20/img/icon3.png differ diff --git a/web/html/theme/FT_WEB20/img/icon4.png b/web/html/theme/FT_WEB20/img/icon4.png new file mode 100644 index 0000000..c09b61a Binary files /dev/null and b/web/html/theme/FT_WEB20/img/icon4.png differ diff --git a/web/html/theme/FT_WEB20/img/img01.jpg b/web/html/theme/FT_WEB20/img/img01.jpg new file mode 100644 index 0000000..699abbe Binary files /dev/null and b/web/html/theme/FT_WEB20/img/img01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/img02.jpg b/web/html/theme/FT_WEB20/img/img02.jpg new file mode 100644 index 0000000..eeb6a46 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/img02.jpg differ diff --git a/web/html/theme/FT_WEB20/img/img03.jpg b/web/html/theme/FT_WEB20/img/img03.jpg new file mode 100644 index 0000000..2f6e5ff Binary files /dev/null and b/web/html/theme/FT_WEB20/img/img03.jpg differ diff --git a/web/html/theme/FT_WEB20/img/img04.jpg b/web/html/theme/FT_WEB20/img/img04.jpg new file mode 100644 index 0000000..a4a5269 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/img04.jpg differ diff --git a/web/html/theme/FT_WEB20/img/img05.jpg b/web/html/theme/FT_WEB20/img/img05.jpg new file mode 100644 index 0000000..cec6dca Binary files /dev/null and b/web/html/theme/FT_WEB20/img/img05.jpg differ diff --git a/web/html/theme/FT_WEB20/img/info_img01.jpg b/web/html/theme/FT_WEB20/img/info_img01.jpg new file mode 100644 index 0000000..f025dc0 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/info_img01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/info_img01_mo.jpg b/web/html/theme/FT_WEB20/img/info_img01_mo.jpg new file mode 100644 index 0000000..5f0f8fc Binary files /dev/null and b/web/html/theme/FT_WEB20/img/info_img01_mo.jpg differ diff --git a/web/html/theme/FT_WEB20/img/left-arrow.png b/web/html/theme/FT_WEB20/img/left-arrow.png new file mode 100644 index 0000000..b392446 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/left-arrow.png differ diff --git a/web/html/theme/FT_WEB20/img/list1.jpg b/web/html/theme/FT_WEB20/img/list1.jpg new file mode 100644 index 0000000..f3dd1f3 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/list1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/list2.jpg b/web/html/theme/FT_WEB20/img/list2.jpg new file mode 100644 index 0000000..72d56e6 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/list2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/list3.jpg b/web/html/theme/FT_WEB20/img/list3.jpg new file mode 100644 index 0000000..8ced619 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/list3.jpg differ diff --git a/web/html/theme/FT_WEB20/img/logo.png b/web/html/theme/FT_WEB20/img/logo.png new file mode 100644 index 0000000..c8444b8 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo.png differ diff --git a/web/html/theme/FT_WEB20/img/logo/logo_01.png b/web/html/theme/FT_WEB20/img/logo/logo_01.png new file mode 100644 index 0000000..2114001 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo/logo_01.png differ diff --git a/web/html/theme/FT_WEB20/img/logo/logo_02.png b/web/html/theme/FT_WEB20/img/logo/logo_02.png new file mode 100644 index 0000000..6270173 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo/logo_02.png differ diff --git a/web/html/theme/FT_WEB20/img/logo/logo_wide_01.png b/web/html/theme/FT_WEB20/img/logo/logo_wide_01.png new file mode 100644 index 0000000..f6fc49c Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo/logo_wide_01.png differ diff --git a/web/html/theme/FT_WEB20/img/logo/logo_wide_02.png b/web/html/theme/FT_WEB20/img/logo/logo_wide_02.png new file mode 100644 index 0000000..9ad5113 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo/logo_wide_02.png differ diff --git a/web/html/theme/FT_WEB20/img/logo_01.png b/web/html/theme/FT_WEB20/img/logo_01.png new file mode 100644 index 0000000..2114001 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_01.png differ diff --git a/web/html/theme/FT_WEB20/img/logo_02.png b/web/html/theme/FT_WEB20/img/logo_02.png new file mode 100644 index 0000000..6270173 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_02.png differ diff --git a/web/html/theme/FT_WEB20/img/logo_black.png b/web/html/theme/FT_WEB20/img/logo_black.png new file mode 100644 index 0000000..ec2ccab Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_black.png differ diff --git a/web/html/theme/FT_WEB20/img/logo_slide.jpg b/web/html/theme/FT_WEB20/img/logo_slide.jpg new file mode 100644 index 0000000..d66a7fa Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_slide.jpg differ diff --git a/web/html/theme/FT_WEB20/img/logo_slide01.jpg b/web/html/theme/FT_WEB20/img/logo_slide01.jpg new file mode 100644 index 0000000..60a7c1d Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_slide01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/logo_slide02.jpg b/web/html/theme/FT_WEB20/img/logo_slide02.jpg new file mode 100644 index 0000000..6c46476 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_slide02.jpg differ diff --git a/web/html/theme/FT_WEB20/img/logo_slide03.jpg b/web/html/theme/FT_WEB20/img/logo_slide03.jpg new file mode 100644 index 0000000..a5aba15 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_slide03.jpg differ diff --git a/web/html/theme/FT_WEB20/img/logo_slide04.jpg b/web/html/theme/FT_WEB20/img/logo_slide04.jpg new file mode 100644 index 0000000..43def90 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_slide04.jpg differ diff --git a/web/html/theme/FT_WEB20/img/logo_slide05.jpg b/web/html/theme/FT_WEB20/img/logo_slide05.jpg new file mode 100644 index 0000000..c4a673e Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_slide05.jpg differ diff --git a/web/html/theme/FT_WEB20/img/logo_slide06.jpg b/web/html/theme/FT_WEB20/img/logo_slide06.jpg new file mode 100644 index 0000000..5e1e35b Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_slide06.jpg differ diff --git a/web/html/theme/FT_WEB20/img/logo_slide07.jpg b/web/html/theme/FT_WEB20/img/logo_slide07.jpg new file mode 100644 index 0000000..3cb9b44 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_slide07.jpg differ diff --git a/web/html/theme/FT_WEB20/img/logo_white.png b/web/html/theme/FT_WEB20/img/logo_white.png new file mode 100644 index 0000000..a43d250 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_white.png differ diff --git a/web/html/theme/FT_WEB20/img/logo_wide_01.png b/web/html/theme/FT_WEB20/img/logo_wide_01.png new file mode 100644 index 0000000..f6fc49c Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_wide_01.png differ diff --git a/web/html/theme/FT_WEB20/img/logo_wide_02.png b/web/html/theme/FT_WEB20/img/logo_wide_02.png new file mode 100644 index 0000000..9ad5113 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/logo_wide_02.png differ diff --git a/web/html/theme/FT_WEB20/img/m_logo.png b/web/html/theme/FT_WEB20/img/m_logo.png new file mode 100644 index 0000000..4556e84 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/m_logo.png differ diff --git a/web/html/theme/FT_WEB20/img/main_sec2_img01.jpg b/web/html/theme/FT_WEB20/img/main_sec2_img01.jpg new file mode 100644 index 0000000..0302ea2 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/main_sec2_img01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/main_sec2_img02.jpg b/web/html/theme/FT_WEB20/img/main_sec2_img02.jpg new file mode 100644 index 0000000..2b6bd65 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/main_sec2_img02.jpg differ diff --git a/web/html/theme/FT_WEB20/img/main_slide_banner1.jpg b/web/html/theme/FT_WEB20/img/main_slide_banner1.jpg new file mode 100644 index 0000000..0f26608 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/main_slide_banner1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/main_slide_banner2.jpg b/web/html/theme/FT_WEB20/img/main_slide_banner2.jpg new file mode 100644 index 0000000..c59b0ec Binary files /dev/null and b/web/html/theme/FT_WEB20/img/main_slide_banner2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/main_slide_banner3.jpg b/web/html/theme/FT_WEB20/img/main_slide_banner3.jpg new file mode 100644 index 0000000..c0a8cf5 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/main_slide_banner3.jpg differ diff --git a/web/html/theme/FT_WEB20/img/main_slide_img01.jpg b/web/html/theme/FT_WEB20/img/main_slide_img01.jpg new file mode 100644 index 0000000..79f0377 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/main_slide_img01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/main_visual_01.jpg b/web/html/theme/FT_WEB20/img/main_visual_01.jpg new file mode 100644 index 0000000..ca2c45f Binary files /dev/null and b/web/html/theme/FT_WEB20/img/main_visual_01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/main_visual_02.jpg b/web/html/theme/FT_WEB20/img/main_visual_02.jpg new file mode 100644 index 0000000..ca2c45f Binary files /dev/null and b/web/html/theme/FT_WEB20/img/main_visual_02.jpg differ diff --git a/web/html/theme/FT_WEB20/img/mobile/btn_close.png b/web/html/theme/FT_WEB20/img/mobile/btn_close.png new file mode 100644 index 0000000..22f13fa Binary files /dev/null and b/web/html/theme/FT_WEB20/img/mobile/btn_close.png differ diff --git a/web/html/theme/FT_WEB20/img/mobile/gnb_bg.png b/web/html/theme/FT_WEB20/img/mobile/gnb_bg.png new file mode 100644 index 0000000..1c88ea4 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/mobile/gnb_bg.png differ diff --git a/web/html/theme/FT_WEB20/img/mobile/gnb_bg2.png b/web/html/theme/FT_WEB20/img/mobile/gnb_bg2.png new file mode 100644 index 0000000..efcd812 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/mobile/gnb_bg2.png differ diff --git a/web/html/theme/FT_WEB20/img/more-btn.gif b/web/html/theme/FT_WEB20/img/more-btn.gif new file mode 100644 index 0000000..fa4c873 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/more-btn.gif differ diff --git a/web/html/theme/FT_WEB20/img/no_img.png b/web/html/theme/FT_WEB20/img/no_img.png new file mode 100644 index 0000000..96751ae Binary files /dev/null and b/web/html/theme/FT_WEB20/img/no_img.png differ diff --git a/web/html/theme/FT_WEB20/img/no_profile.gif b/web/html/theme/FT_WEB20/img/no_profile.gif new file mode 100644 index 0000000..4494757 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/no_profile.gif differ diff --git a/web/html/theme/FT_WEB20/img/ora_border.png b/web/html/theme/FT_WEB20/img/ora_border.png new file mode 100644 index 0000000..fcd23f9 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/ora_border.png differ diff --git a/web/html/theme/FT_WEB20/img/our_1.jpg b/web/html/theme/FT_WEB20/img/our_1.jpg new file mode 100644 index 0000000..11afed3 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/our_1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/our_2.jpg b/web/html/theme/FT_WEB20/img/our_2.jpg new file mode 100644 index 0000000..06d5950 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/our_2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/our_3.jpg b/web/html/theme/FT_WEB20/img/our_3.jpg new file mode 100644 index 0000000..faab3cb Binary files /dev/null and b/web/html/theme/FT_WEB20/img/our_3.jpg differ diff --git a/web/html/theme/FT_WEB20/img/our_4.jpg b/web/html/theme/FT_WEB20/img/our_4.jpg new file mode 100644 index 0000000..cd66528 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/our_4.jpg differ diff --git a/web/html/theme/FT_WEB20/img/pause-solid.svg b/web/html/theme/FT_WEB20/img/pause-solid.svg new file mode 100644 index 0000000..7cf2497 --- /dev/null +++ b/web/html/theme/FT_WEB20/img/pause-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/img/play-solid.svg b/web/html/theme/FT_WEB20/img/play-solid.svg new file mode 100644 index 0000000..bcd81f7 --- /dev/null +++ b/web/html/theme/FT_WEB20/img/play-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/img/port_left.png b/web/html/theme/FT_WEB20/img/port_left.png new file mode 100644 index 0000000..af6a23d Binary files /dev/null and b/web/html/theme/FT_WEB20/img/port_left.png differ diff --git a/web/html/theme/FT_WEB20/img/port_right.png b/web/html/theme/FT_WEB20/img/port_right.png new file mode 100644 index 0000000..8e751f2 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/port_right.png differ diff --git a/web/html/theme/FT_WEB20/img/product_img_1.png b/web/html/theme/FT_WEB20/img/product_img_1.png new file mode 100644 index 0000000..5195d72 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/product_img_1.png differ diff --git a/web/html/theme/FT_WEB20/img/product_img_2.png b/web/html/theme/FT_WEB20/img/product_img_2.png new file mode 100644 index 0000000..9c394c4 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/product_img_2.png differ diff --git a/web/html/theme/FT_WEB20/img/product_img_3.png b/web/html/theme/FT_WEB20/img/product_img_3.png new file mode 100644 index 0000000..92a943b Binary files /dev/null and b/web/html/theme/FT_WEB20/img/product_img_3.png differ diff --git a/web/html/theme/FT_WEB20/img/product_img_4.png b/web/html/theme/FT_WEB20/img/product_img_4.png new file mode 100644 index 0000000..52e7ce4 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/product_img_4.png differ diff --git a/web/html/theme/FT_WEB20/img/property_map.jpg b/web/html/theme/FT_WEB20/img/property_map.jpg new file mode 100644 index 0000000..88417fe Binary files /dev/null and b/web/html/theme/FT_WEB20/img/property_map.jpg differ diff --git a/web/html/theme/FT_WEB20/img/require.png b/web/html/theme/FT_WEB20/img/require.png new file mode 100644 index 0000000..c03e1eb Binary files /dev/null and b/web/html/theme/FT_WEB20/img/require.png differ diff --git a/web/html/theme/FT_WEB20/img/right-arrow.png b/web/html/theme/FT_WEB20/img/right-arrow.png new file mode 100644 index 0000000..e3b6f3e Binary files /dev/null and b/web/html/theme/FT_WEB20/img/right-arrow.png differ diff --git a/web/html/theme/FT_WEB20/img/safety_01.png b/web/html/theme/FT_WEB20/img/safety_01.png new file mode 100644 index 0000000..412aefd Binary files /dev/null and b/web/html/theme/FT_WEB20/img/safety_01.png differ diff --git a/web/html/theme/FT_WEB20/img/safety_02.png b/web/html/theme/FT_WEB20/img/safety_02.png new file mode 100644 index 0000000..def33fd Binary files /dev/null and b/web/html/theme/FT_WEB20/img/safety_02.png differ diff --git a/web/html/theme/FT_WEB20/img/safety_03.png b/web/html/theme/FT_WEB20/img/safety_03.png new file mode 100644 index 0000000..c010078 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/safety_03.png differ diff --git a/web/html/theme/FT_WEB20/img/sch_btn.png b/web/html/theme/FT_WEB20/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sch_btn.png differ diff --git a/web/html/theme/FT_WEB20/img/screenshot.png b/web/html/theme/FT_WEB20/img/screenshot.png new file mode 100644 index 0000000..d3c8f8c Binary files /dev/null and b/web/html/theme/FT_WEB20/img/screenshot.png differ diff --git a/web/html/theme/FT_WEB20/img/sec2_01.jpg b/web/html/theme/FT_WEB20/img/sec2_01.jpg new file mode 100644 index 0000000..1d381cc Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sec2_01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sec3_con1.png b/web/html/theme/FT_WEB20/img/sec3_con1.png new file mode 100644 index 0000000..b81b1c5 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sec3_con1.png differ diff --git a/web/html/theme/FT_WEB20/img/sec3_con2.png b/web/html/theme/FT_WEB20/img/sec3_con2.png new file mode 100644 index 0000000..a473b1f Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sec3_con2.png differ diff --git a/web/html/theme/FT_WEB20/img/sec3_con3.png b/web/html/theme/FT_WEB20/img/sec3_con3.png new file mode 100644 index 0000000..4ba9850 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sec3_con3.png differ diff --git a/web/html/theme/FT_WEB20/img/sec3_img.jpg b/web/html/theme/FT_WEB20/img/sec3_img.jpg new file mode 100644 index 0000000..2d624ea Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sec3_img.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sec4_01.jpg b/web/html/theme/FT_WEB20/img/sec4_01.jpg new file mode 100644 index 0000000..014c100 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sec4_01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sec4_1.jpg b/web/html/theme/FT_WEB20/img/sec4_1.jpg new file mode 100644 index 0000000..16bf147 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sec4_1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sec4_3.png b/web/html/theme/FT_WEB20/img/sec4_3.png new file mode 100644 index 0000000..93e463f Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sec4_3.png differ diff --git a/web/html/theme/FT_WEB20/img/size1008.jpg b/web/html/theme/FT_WEB20/img/size1008.jpg new file mode 100644 index 0000000..a374d0f Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size1008.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size130.jpg b/web/html/theme/FT_WEB20/img/size130.jpg new file mode 100644 index 0000000..17f38ae Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size130.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size279.jpg b/web/html/theme/FT_WEB20/img/size279.jpg new file mode 100644 index 0000000..4ffd774 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size279.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size290.jpg b/web/html/theme/FT_WEB20/img/size290.jpg new file mode 100644 index 0000000..79066f9 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size290.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size317.jpg b/web/html/theme/FT_WEB20/img/size317.jpg new file mode 100644 index 0000000..10e9c62 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size317.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size330.jpg b/web/html/theme/FT_WEB20/img/size330.jpg new file mode 100644 index 0000000..83d058f Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size330.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size380.jpg b/web/html/theme/FT_WEB20/img/size380.jpg new file mode 100644 index 0000000..1e933a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size380.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size415.jpg b/web/html/theme/FT_WEB20/img/size415.jpg new file mode 100644 index 0000000..ac3ab97 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size415.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size435.jpg b/web/html/theme/FT_WEB20/img/size435.jpg new file mode 100644 index 0000000..a151e20 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size435.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size450.jpg b/web/html/theme/FT_WEB20/img/size450.jpg new file mode 100644 index 0000000..0fefd23 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size450.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size460.jpg b/web/html/theme/FT_WEB20/img/size460.jpg new file mode 100644 index 0000000..bdcd574 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size460.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size560.jpg b/web/html/theme/FT_WEB20/img/size560.jpg new file mode 100644 index 0000000..fbf5fab Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size560.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size620.jpg b/web/html/theme/FT_WEB20/img/size620.jpg new file mode 100644 index 0000000..fdefb94 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size620.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size634-1.jpg b/web/html/theme/FT_WEB20/img/size634-1.jpg new file mode 100644 index 0000000..fbcca0a Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size634-1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size634-2.jpg b/web/html/theme/FT_WEB20/img/size634-2.jpg new file mode 100644 index 0000000..8b15dce Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size634-2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size634.jpg b/web/html/theme/FT_WEB20/img/size634.jpg new file mode 100644 index 0000000..291bde1 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size634.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size672_1.jpg b/web/html/theme/FT_WEB20/img/size672_1.jpg new file mode 100644 index 0000000..2df0b5f Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size672_1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size672_2.jpg b/web/html/theme/FT_WEB20/img/size672_2.jpg new file mode 100644 index 0000000..6fbd804 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size672_2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size672_3.jpg b/web/html/theme/FT_WEB20/img/size672_3.jpg new file mode 100644 index 0000000..eeadce8 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size672_3.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size720.jpg b/web/html/theme/FT_WEB20/img/size720.jpg new file mode 100644 index 0000000..8109092 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size720.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size744.jpg b/web/html/theme/FT_WEB20/img/size744.jpg new file mode 100644 index 0000000..d2ad018 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size744.jpg differ diff --git a/web/html/theme/FT_WEB20/img/size997.jpg b/web/html/theme/FT_WEB20/img/size997.jpg new file mode 100644 index 0000000..7a57977 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/size997.jpg differ diff --git a/web/html/theme/FT_WEB20/img/slide01.jpg b/web/html/theme/FT_WEB20/img/slide01.jpg new file mode 100644 index 0000000..2145215 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/slide01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/slide02.jpg b/web/html/theme/FT_WEB20/img/slide02.jpg new file mode 100644 index 0000000..3262f9e Binary files /dev/null and b/web/html/theme/FT_WEB20/img/slide02.jpg differ diff --git a/web/html/theme/FT_WEB20/img/slide03.jpg b/web/html/theme/FT_WEB20/img/slide03.jpg new file mode 100644 index 0000000..f7274af Binary files /dev/null and b/web/html/theme/FT_WEB20/img/slide03.jpg differ diff --git a/web/html/theme/FT_WEB20/img/slide04.jpg b/web/html/theme/FT_WEB20/img/slide04.jpg new file mode 100644 index 0000000..7f0eee1 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/slide04.jpg differ diff --git a/web/html/theme/FT_WEB20/img/slide05.jpg b/web/html/theme/FT_WEB20/img/slide05.jpg new file mode 100644 index 0000000..a4e02b9 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/slide05.jpg differ diff --git a/web/html/theme/FT_WEB20/img/slide1.jpg b/web/html/theme/FT_WEB20/img/slide1.jpg new file mode 100644 index 0000000..66bde45 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/slide1.jpg differ diff --git a/web/html/theme/FT_WEB20/img/slide2.jpg b/web/html/theme/FT_WEB20/img/slide2.jpg new file mode 100644 index 0000000..31160f4 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/slide2.jpg differ diff --git a/web/html/theme/FT_WEB20/img/slide3.jpg b/web/html/theme/FT_WEB20/img/slide3.jpg new file mode 100644 index 0000000..c7bb887 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/slide3.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sub_bussiness_01.jpg b/web/html/theme/FT_WEB20/img/sub_bussiness_01.jpg new file mode 100644 index 0000000..46d0d1e Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_bussiness_01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sub_company01.png b/web/html/theme/FT_WEB20/img/sub_company01.png new file mode 100644 index 0000000..bc06d6b Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_company01.png differ diff --git a/web/html/theme/FT_WEB20/img/sub_company03.png b/web/html/theme/FT_WEB20/img/sub_company03.png new file mode 100644 index 0000000..21b1ff2 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_company03.png differ diff --git a/web/html/theme/FT_WEB20/img/sub_history01.jpg b/web/html/theme/FT_WEB20/img/sub_history01.jpg new file mode 100644 index 0000000..16f0ce6 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_history01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sub_history02.jpg b/web/html/theme/FT_WEB20/img/sub_history02.jpg new file mode 100644 index 0000000..2c54be5 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_history02.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sub_history03.jpg b/web/html/theme/FT_WEB20/img/sub_history03.jpg new file mode 100644 index 0000000..e76b240 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_history03.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sub_history04.jpg b/web/html/theme/FT_WEB20/img/sub_history04.jpg new file mode 100644 index 0000000..1635179 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_history04.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sub_history05.jpg b/web/html/theme/FT_WEB20/img/sub_history05.jpg new file mode 100644 index 0000000..85d62d2 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_history05.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sub_img.png b/web/html/theme/FT_WEB20/img/sub_img.png new file mode 100644 index 0000000..09175fb Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_img.png differ diff --git a/web/html/theme/FT_WEB20/img/sub_vision01.jpg b/web/html/theme/FT_WEB20/img/sub_vision01.jpg new file mode 100644 index 0000000..8f8c554 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_vision01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sub_vision02.jpg b/web/html/theme/FT_WEB20/img/sub_vision02.jpg new file mode 100644 index 0000000..2db4530 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_vision02.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sub_vision03.jpg b/web/html/theme/FT_WEB20/img/sub_vision03.jpg new file mode 100644 index 0000000..fd45c45 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_vision03.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sub_visual.jpg b/web/html/theme/FT_WEB20/img/sub_visual.jpg new file mode 100644 index 0000000..c721f4c Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_visual.jpg differ diff --git a/web/html/theme/FT_WEB20/img/sub_visual_01.jpg b/web/html/theme/FT_WEB20/img/sub_visual_01.jpg new file mode 100644 index 0000000..b11604a Binary files /dev/null and b/web/html/theme/FT_WEB20/img/sub_visual_01.jpg differ diff --git a/web/html/theme/FT_WEB20/img/tab_arrow.png b/web/html/theme/FT_WEB20/img/tab_arrow.png new file mode 100644 index 0000000..72ae1da Binary files /dev/null and b/web/html/theme/FT_WEB20/img/tab_arrow.png differ diff --git a/web/html/theme/FT_WEB20/img/tab_home.png b/web/html/theme/FT_WEB20/img/tab_home.png new file mode 100644 index 0000000..b01f1d7 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/tab_home.png differ diff --git a/web/html/theme/FT_WEB20/img/vision_img01.png b/web/html/theme/FT_WEB20/img/vision_img01.png new file mode 100644 index 0000000..1bac80e Binary files /dev/null and b/web/html/theme/FT_WEB20/img/vision_img01.png differ diff --git a/web/html/theme/FT_WEB20/img/wrest.gif b/web/html/theme/FT_WEB20/img/wrest.gif new file mode 100644 index 0000000..a5ecfb3 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/wrest.gif differ diff --git a/web/html/theme/FT_WEB20/img/고객사.jpg b/web/html/theme/FT_WEB20/img/고객사.jpg new file mode 100644 index 0000000..a28e3f7 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/고객사.jpg differ diff --git a/web/html/theme/FT_WEB20/img/연혁.jpg b/web/html/theme/FT_WEB20/img/연혁.jpg new file mode 100644 index 0000000..e7250df Binary files /dev/null and b/web/html/theme/FT_WEB20/img/연혁.jpg differ diff --git a/web/html/theme/FT_WEB20/img/이벤트.jpg b/web/html/theme/FT_WEB20/img/이벤트.jpg new file mode 100644 index 0000000..ff9cc12 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/이벤트.jpg differ diff --git a/web/html/theme/FT_WEB20/img/프로젝트.jpg b/web/html/theme/FT_WEB20/img/프로젝트.jpg new file mode 100644 index 0000000..81fbd59 Binary files /dev/null and b/web/html/theme/FT_WEB20/img/프로젝트.jpg differ diff --git a/web/html/theme/FT_WEB20/index.php b/web/html/theme/FT_WEB20/index.php new file mode 100644 index 0000000..7bc9caa --- /dev/null +++ b/web/html/theme/FT_WEB20/index.php @@ -0,0 +1,388 @@ + + + + + + + + + +
                                                                        + + + +
                                                                        +
                                                                        +
                                                                        +
                                                                        + sec2 + +
                                                                        +
                                                                        + sec2 +
                                                                        +
                                                                        + sec2 +
                                                                        +
                                                                        + sec2 +
                                                                        +
                                                                        +
                                                                        +

                                                                        Hee-Garden Picnic

                                                                        +

                                                                        + 도심속에서 만나는 정원 피크닉 +

                                                                        +
                                                                          + +
                                                                        +
                                                                        +
                                                                        +
                                                                        + +
                                                                        +
                                                                        +
                                                                        + arrow +
                                                                        +
                                                                          +
                                                                        • +
                                                                          +
                                                                          +

                                                                          01

                                                                          +

                                                                          퍼스트가든

                                                                          +
                                                                          +
                                                                          23가지의 테마가 있는 유럽식 정원
                                                                          +
                                                                          동물 먹이주기 체험
                                                                          +
                                                                          아이노리(놀이기구)
                                                                          +
                                                                          365일 별빛축제
                                                                          +
                                                                          + More view +
                                                                          +
                                                                          +
                                                                        • +
                                                                        • +
                                                                          +
                                                                          +

                                                                          02

                                                                          +

                                                                          퍼스트가든 워터플레이

                                                                          +
                                                                          +
                                                                          4,000평 규모의 취사형 수영장
                                                                          +
                                                                          프라이빗한 카바나존
                                                                          +
                                                                          1M 규모의 안전한 수심
                                                                          +
                                                                          버블존, 바데풀 등 다양한 시설
                                                                          +
                                                                          + More view +
                                                                          +
                                                                          +
                                                                        • +
                                                                        • +
                                                                          +
                                                                          +

                                                                          03

                                                                          +

                                                                          희가든 가든피크닉

                                                                          +
                                                                          +
                                                                          공식 인스타그램
                                                                          +
                                                                           
                                                                          +
                                                                           
                                                                          +
                                                                          + More view +
                                                                          +
                                                                          +
                                                                        • +
                                                                        +
                                                                        +
                                                                        + +
                                                                        + + + + + + + + += (topcoords - (winheight * 0.5))) { + $elm.addClass('on'); + } + }); + }; // end animate_elems + + // $(window).scroll(function(){ + // if ($(window).scrollTop() >= 10) { + // $('.sub').addClass('sticky'); + // } + // else { + // $('.sub').removeClass('sticky'); + // } + // }); + +});//end diff --git a/web/html/theme/FT_WEB20/js/header.js b/web/html/theme/FT_WEB20/js/header.js new file mode 100644 index 0000000..bc9bc0a --- /dev/null +++ b/web/html/theme/FT_WEB20/js/header.js @@ -0,0 +1,111 @@ +//start:header +$(function(){ + var hide_menu = false; + var mouse_event = false; + var oldX = oldY = 0; + + $(document).mousemove(function(e) { + if(oldX == 0) { + oldX = e.pageX; + oldY = e.pageY; + } + + if(oldX != e.pageX || oldY != e.pageY) { + mouse_event = true; + } + }); + + // 주메뉴 + var $gnb = $(".gnb_1dli > a"); + $gnb.mouseover(function() { + if(mouse_event) { + $("#hd").addClass("hd_zindex"); + $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on"); + $(this).parent().addClass("gnb_1dli_over gnb_1dli_on"); + menu_rearrange($(this).parent()); + hide_menu = false; + } + }); + + $gnb.mouseout(function() { + hide_menu = true; + }); + + $(".gnb_2dli").mouseover(function() { + hide_menu = false; + }); + + $(".gnb_2dli").mouseout(function() { + hide_menu = true; + }); + + $gnb.focusin(function() { + $("#hd").addClass("hd_zindex"); + $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on"); + $(this).parent().addClass("gnb_1dli_over gnb_1dli_on"); + menu_rearrange($(this).parent()); + hide_menu = false; + }); + + $gnb.focusout(function() { + hide_menu = true; + }); + + $(".gnb_2da").focusin(function() { + $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on"); + var $gnb_li = $(this).closest(".gnb_1dli").addClass("gnb_1dli_over gnb_1dli_on"); + menu_rearrange($(this).closest(".gnb_1dli")); + hide_menu = false; + }); + + $(".gnb_2da").focusout(function() { + hide_menu = true; + }); + + $('#gnb_1dul>li').bind('mouseleave',function(){ + submenu_hide(); + }); + + $(document).bind('click focusin',function(){ + if(hide_menu) { + submenu_hide(); + } + }); +}); + +function submenu_hide() { + $("#hd").removeClass("hd_zindex"); + $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on"); +} + +function menu_rearrange(el) +{ + var width = $("#gnb_1dul").width(); + var left = w1 = w2 = 0; + var idx = $(".gnb_1dli").index(el); + var max_menu_count = 0; + var $gnb_1dli; + + for(i=0; i<=idx; i++) { + $gnb_1dli = $(".gnb_1dli:eq("+i+")"); + w1 = $gnb_1dli.outerWidth(); + + if($gnb_1dli.find(".gnb_2dul").size()) + w2 = $gnb_1dli.find(".gnb_2dli > a").outerWidth(true); + else + w2 = w1; + + if((left + w2) > width) { + if(max_menu_count == 0) + max_menu_count = i + 1; + } + + if(max_menu_count > 0 && (idx + 1) % max_menu_count == 0) { + el.removeClass("gnb_1dli_over").addClass("gnb_1dli_over2"); + left = 0; + } else { + left += w1; + } + } +} +//end:header \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/js/jquery-3.6.0.min.js b/web/html/theme/FT_WEB20/js/jquery-3.6.0.min.js new file mode 100644 index 0000000..49310b5 --- /dev/null +++ b/web/html/theme/FT_WEB20/js/jquery-3.6.0.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
                                                                        "],col:[2,"","
                                                                        "],tr:[2,"","
                                                                        "],td:[3,"","
                                                                        "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
                                                                        ",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 0) || (navigator.maxTouchPoints)); + var container = $(this); + var windowsHeight = $window.height(); + var isResizing = false; + var isWindowFocused = true; + var lastScrolledDestiny; + var lastScrolledSlide; + var canScroll = true; + var scrollings = []; + var controlPressed; + var isScrollAllowed = {}; + isScrollAllowed.m = { 'up':true, 'down':true, 'left':true, 'right':true }; + isScrollAllowed.k = $.extend(true,{}, isScrollAllowed.m); + + //timeouts + var resizeId; + var afterSectionLoadsId; + var afterSlideLoadsId; + var scrollId; + var scrollId2; + var keydownId; + var originals = $.extend(true, {}, options); //deep copy + + displayWarnings(); + + //fixing bug in iScroll with links: https://github.com/cubiq/iscroll/issues/783 + iscrollOptions.click = isTouch; // see #2035 + + //extending iScroll options with the user custom ones + iscrollOptions = $.extend(iscrollOptions, options.scrollOverflowOptions); + + //easeInOutCubic animation included in the plugin + $.extend($.easing,{ easeInOutCubic: function (x, t, b, c, d) {if ((t/=d/2) < 1) return c/2*t*t*t + b;return c/2*((t-=2)*t*t + 2) + b;}}); + + /** + * Sets the autoScroll option. + * It changes the scroll bar visibility and the history of the site as a result. + */ + function setAutoScrolling(value, type){ + setVariableState('autoScrolling', value, type); + + var element = $(SECTION_ACTIVE_SEL); + + if(options.autoScrolling && !options.scrollBar){ + $htmlBody.css({ + 'overflow' : 'hidden', + 'height' : '100%' + }); + + setRecordHistory(originals.recordHistory, 'internal'); + + //for IE touch devices + container.css({ + '-ms-touch-action': 'none', + 'touch-action': 'none' + }); + + if(element.length){ + //moving the container up + silentScroll(element.position().top); + } + + }else{ + $htmlBody.css({ + 'overflow' : 'visible', + 'height' : 'initial' + }); + + setRecordHistory(false, 'internal'); + + //for IE touch devices + container.css({ + '-ms-touch-action': '', + 'touch-action': '' + }); + + silentScroll(0); + + //scrolling the page to the section with no animation + if (element.length) { + $htmlBody.scrollTop(element.position().top); + } + } + } + + /** + * Defines wheter to record the history for each hash change in the URL. + */ + function setRecordHistory(value, type){ + setVariableState('recordHistory', value, type); + } + + /** + * Defines the scrolling speed + */ + function setScrollingSpeed(value, type){ + setVariableState('scrollingSpeed', value, type); + } + + /** + * Sets fitToSection + */ + function setFitToSection(value, type){ + setVariableState('fitToSection', value, type); + } + + /** + * Sets lockAnchors + */ + function setLockAnchors(value){ + options.lockAnchors = value; + } + + /** + * Adds or remove the possiblity of scrolling through sections by using the mouse wheel or the trackpad. + */ + function setMouseWheelScrolling(value){ + if(value){ + addMouseWheelHandler(); + addMiddleWheelHandler(); + }else{ + removeMouseWheelHandler(); + removeMiddleWheelHandler(); + } + } + + /** + * Adds or remove the possiblity of scrolling through sections by using the mouse wheel/trackpad or touch gestures. + * Optionally a second parameter can be used to specify the direction for which the action will be applied. + * + * @param directions string containing the direction or directions separated by comma. + */ + function setAllowScrolling(value, directions){ + if(typeof directions !== 'undefined'){ + directions = directions.replace(/ /g,'').split(','); + + $.each(directions, function (index, direction){ + setIsScrollAllowed(value, direction, 'm'); + }); + } + else if(value){ + setMouseWheelScrolling(true); + addTouchHandler(); + }else{ + setMouseWheelScrolling(false); + removeTouchHandler(); + } + } + + /** + * Adds or remove the possiblity of scrolling through sections by using the keyboard arrow keys + */ + function setKeyboardScrolling(value, directions){ + if(typeof directions !== 'undefined'){ + directions = directions.replace(/ /g,'').split(','); + + $.each(directions, function (index, direction){ + setIsScrollAllowed(value, direction, 'k'); + }); + }else{ + options.keyboardScrolling = value; + } + } + + /** + * Moves the page up one section. + */ + function moveSectionUp(){ + var prev = $(SECTION_ACTIVE_SEL).prev(SECTION_SEL); + + //looping to the bottom if there's no more sections above + if (!prev.length && (options.loopTop || options.continuousVertical)) { + prev = $(SECTION_SEL).last(); + } + + if (prev.length) { + scrollPage(prev, null, true); + } + } + + /** + * Moves the page down one section. + */ + function moveSectionDown(){ + var next = $(SECTION_ACTIVE_SEL).next(SECTION_SEL); + + //looping to the top if there's no more sections below + if(!next.length && + (options.loopBottom || options.continuousVertical)){ + next = $(SECTION_SEL).first(); + } + + if(next.length){ + scrollPage(next, null, false); + } + } + + /** + * Moves the page to the given section and slide with no animation. + * Anchors or index positions can be used as params. + */ + function silentMoveTo(sectionAnchor, slideAnchor){ + setScrollingSpeed (0, 'internal'); + moveTo(sectionAnchor, slideAnchor); + setScrollingSpeed (originals.scrollingSpeed, 'internal'); + } + + /** + * Moves the page to the given section and slide. + * Anchors or index positions can be used as params. + */ + function moveTo(sectionAnchor, slideAnchor){ + var destiny = getSectionByAnchor(sectionAnchor); + + if (typeof slideAnchor !== 'undefined'){ + scrollPageAndSlide(sectionAnchor, slideAnchor); + }else if(destiny.length > 0){ + scrollPage(destiny); + } + } + + /** + * Slides right the slider of the active section. + * Optional `section` param. + */ + function moveSlideRight(section){ + moveSlide('right', section); + } + + /** + * Slides left the slider of the active section. + * Optional `section` param. + */ + function moveSlideLeft(section){ + moveSlide('left', section); + } + + /** + * When resizing is finished, we adjust the slides sizes and positions + */ + function reBuild(resizing){ + if(container.hasClass(DESTROYED)){ return; } //nothing to do if the plugin was destroyed + + isResizing = true; + + windowsHeight = $window.height(); //updating global var + + $(SECTION_SEL).each(function(){ + var slidesWrap = $(this).find(SLIDES_WRAPPER_SEL); + var slides = $(this).find(SLIDE_SEL); + + //adjusting the height of the table-cell for IE and Firefox + if(options.verticalCentered){ + $(this).find(TABLE_CELL_SEL).css('height', getTableHeight($(this)) + 'px'); + } + + $(this).css('height', windowsHeight + 'px'); + + //resizing the scrolling divs + if(options.scrollOverflow){ + if(slides.length){ + slides.each(function(){ + createScrollBar($(this)); + }); + }else{ + createScrollBar($(this)); + } + } + + //adjusting the position fo the FULL WIDTH slides... + if (slides.length > 1) { + landscapeScroll(slidesWrap, slidesWrap.find(SLIDE_ACTIVE_SEL)); + } + }); + + var activeSection = $(SECTION_ACTIVE_SEL); + var sectionIndex = activeSection.index(SECTION_SEL); + + //isn't it the first section? + if(sectionIndex){ + //adjusting the position for the current section + silentMoveTo(sectionIndex + 1); + } + + isResizing = false; + $.isFunction( options.afterResize ) && resizing && options.afterResize.call(container); + $.isFunction( options.afterReBuild ) && !resizing && options.afterReBuild.call(container); + } + + /** + * Turns fullPage.js to normal scrolling mode when the viewport `width` or `height` + * are smaller than the set limit values. + */ + function setResponsive(active){ + var isResponsive = $body.hasClass(RESPONSIVE); + + if(active){ + if(!isResponsive){ + setAutoScrolling(false, 'internal'); + setFitToSection(false, 'internal'); + $(SECTION_NAV_SEL).hide(); + $body.addClass(RESPONSIVE); + $.isFunction( options.afterResponsive ) && options.afterResponsive.call( container, active); + } + } + else if(isResponsive){ + setAutoScrolling(originals.autoScrolling, 'internal'); + setFitToSection(originals.autoScrolling, 'internal'); + $(SECTION_NAV_SEL).show(); + $body.removeClass(RESPONSIVE); + $.isFunction( options.afterResponsive ) && options.afterResponsive.call( container, active); + } + } + + function getFullpageData(){ + return { + options: options, + internals: { + getXmovement: getXmovement, + removeAnimation: removeAnimation, + getTransforms: getTransforms, + lazyLoad: lazyLoad, + addAnimation: addAnimation, + performHorizontalMove: performHorizontalMove, + silentLandscapeScroll: silentLandscapeScroll, + keepSlidesPosition: keepSlidesPosition, + silentScroll: silentScroll, + styleSlides: styleSlides + } + }; + } + + if($(this).length){ + //public functions + FP.setAutoScrolling = setAutoScrolling; + FP.setRecordHistory = setRecordHistory; + FP.setScrollingSpeed = setScrollingSpeed; + FP.setFitToSection = setFitToSection; + FP.setLockAnchors = setLockAnchors; + FP.setMouseWheelScrolling = setMouseWheelScrolling; + FP.setAllowScrolling = setAllowScrolling; + FP.setKeyboardScrolling = setKeyboardScrolling; + FP.moveSectionUp = moveSectionUp; + FP.moveSectionDown = moveSectionDown; + FP.silentMoveTo = silentMoveTo; + FP.moveTo = moveTo; + FP.moveSlideRight = moveSlideRight; + FP.moveSlideLeft = moveSlideLeft; + FP.reBuild = reBuild; + FP.setResponsive = setResponsive; + FP.getFullpageData = getFullpageData; + FP.destroy = destroy; + + init(); + + bindEvents(); + } + + function init(){ + //if css3 is not supported, it will use jQuery animations + if(options.css3){ + options.css3 = support3d(); + } + + options.scrollBar = options.scrollBar || options.hybrid; + + setOptionsFromDOM(); + + prepareDom(); + setAllowScrolling(true); + + setAutoScrolling(options.autoScrolling, 'internal'); + + //the starting point is a slide? + var activeSlide = $(SECTION_ACTIVE_SEL).find(SLIDE_ACTIVE_SEL); + + //the active section isn't the first one? Is not the first slide of the first section? Then we load that section/slide by default. + if( activeSlide.length && ($(SECTION_ACTIVE_SEL).index(SECTION_SEL) !== 0 || ($(SECTION_ACTIVE_SEL).index(SECTION_SEL) === 0 && activeSlide.index() !== 0))){ + silentLandscapeScroll(activeSlide); + } + + responsive(); + + //setting the class for the body element + setBodyClass(); + + if(document.readyState === 'complete'){ + scrollToAnchor(); + } + $window.on('load', scrollToAnchor); + } + + function bindEvents(){ + $window + //when scrolling... + .on('scroll', scrollHandler) + + //detecting any change on the URL to scroll to the given anchor link + //(a way to detect back history button as we play with the hashes on the URL) + .on('hashchange', hashChangeHandler) + + //when opening a new tab (ctrl + t), `control` won't be pressed when comming back. + .blur(blurHandler) + + //when resizing the site, we adjust the heights of the sections, slimScroll... + .resize(resizeHandler); + + $document + //Sliding with arrow keys, both, vertical and horizontal + .keydown(keydownHandler) + + //to prevent scrolling while zooming + .keyup(keyUpHandler) + + //Scrolls to the section when clicking the navigation bullet + .on('click touchstart', SECTION_NAV_SEL + ' a', sectionBulletHandler) + + //Scrolls the slider to the given slide destination for the given section + .on('click touchstart', SLIDES_NAV_LINK_SEL, slideBulletHandler) + + .on('click', SECTION_NAV_TOOLTIP_SEL, tooltipTextHandler); + + //Scrolling horizontally when clicking on the slider controls. + $(SECTION_SEL).on('click touchstart', SLIDES_ARROW_SEL, slideArrowHandler); + + /** + * Applying normalScroll elements. + * Ignoring the scrolls over the specified selectors. + */ + if(options.normalScrollElements){ + $document.on('mouseenter', options.normalScrollElements, function () { + setMouseWheelScrolling(false); + }); + + $document.on('mouseleave', options.normalScrollElements, function(){ + setMouseWheelScrolling(true); + }); + } + } + + /** + * Setting options from DOM elements if they are not provided. + */ + function setOptionsFromDOM(){ + var sections = container.find(options.sectionSelector); + + //no anchors option? Checking for them in the DOM attributes + if(!options.anchors.length){ + options.anchors = sections.filter('[data-anchor]').map(function(){ + return $(this).data('anchor').toString(); + }).get(); + } + + //no tooltipos option? Checking for them in the DOM attributes + if(!options.navigationTooltips.length){ + options.navigationTooltips = sections.filter('[data-tooltip]').map(function(){ + return $(this).data('tooltip').toString(); + }).get(); + } + } + + /** + * Works over the DOM structure to set it up for the current fullpage optionss. + */ + function prepareDom(){ + container.css({ + 'height': '100%', + 'position': 'relative' + }); + + //adding a class to recognize the container internally in the code + container.addClass(WRAPPER); + $('html').addClass(ENABLED); + + //due to https://github.com/alvarotrigo/fullPage.js/issues/1502 + windowsHeight = $window.height(); + + container.removeClass(DESTROYED); //in case it was destroyed before initilizing it again + + addInternalSelectors(); + + //styling the sections / slides / menu + $(SECTION_SEL).each(function(index){ + var section = $(this); + var slides = section.find(SLIDE_SEL); + var numSlides = slides.length; + + styleSection(section, index); + styleMenu(section, index); + + // if there's any slide + if (numSlides > 0) { + styleSlides(section, slides, numSlides); + }else{ + if(options.verticalCentered){ + addTableClass(section); + } + } + }); + + //fixed elements need to be moved out of the plugin container due to problems with CSS3. + if(options.fixedElements && options.css3){ + $(options.fixedElements).appendTo($body); + } + + //vertical centered of the navigation + active bullet + if(options.navigation){ + addVerticalNavigation(); + } + + enableYoutubeAPI(); + + if(options.scrollOverflow){ + if(document.readyState === 'complete'){ + createScrollBarHandler(); + } + //after DOM and images are loaded + $window.on('load', createScrollBarHandler); + }else{ + afterRenderActions(); + } + } + + /** + * Styles the horizontal slides for a section. + */ + function styleSlides(section, slides, numSlides){ + var sliderWidth = numSlides * 100; + var slideWidth = 100 / numSlides; + + slides.wrapAll('
                                                                        '); + slides.parent().wrap('
                                                                        '); + + section.find(SLIDES_CONTAINER_SEL).css('width', sliderWidth + '%'); + + if(numSlides > 1){ + if(options.controlArrows){ + createSlideArrows(section); + } + + if(options.slidesNavigation){ + addSlidesNavigation(section, numSlides); + } + } + + slides.each(function(index) { + $(this).css('width', slideWidth + '%'); + + if(options.verticalCentered){ + addTableClass($(this)); + } + }); + + var startingSlide = section.find(SLIDE_ACTIVE_SEL); + + //if the slide won't be an starting point, the default will be the first one + //the active section isn't the first one? Is not the first slide of the first section? Then we load that section/slide by default. + if( startingSlide.length && ($(SECTION_ACTIVE_SEL).index(SECTION_SEL) !== 0 || ($(SECTION_ACTIVE_SEL).index(SECTION_SEL) === 0 && startingSlide.index() !== 0))){ + silentLandscapeScroll(startingSlide); + }else{ + slides.eq(0).addClass(ACTIVE); + } + } + + /** + * Styling vertical sections + */ + function styleSection(section, index){ + //if no active section is defined, the 1st one will be the default one + if(!index && $(SECTION_ACTIVE_SEL).length === 0) { + section.addClass(ACTIVE); + } + + section.css('height', windowsHeight + 'px'); + + if(options.paddingTop){ + section.css('padding-top', options.paddingTop); + } + + if(options.paddingBottom){ + section.css('padding-bottom', options.paddingBottom); + } + + if (typeof options.sectionsColor[index] !== 'undefined') { + section.css('background-color', options.sectionsColor[index]); + } + + if (typeof options.anchors[index] !== 'undefined') { + section.attr('data-anchor', options.anchors[index]); + } + } + + /** + * Sets the data-anchor attributes to the menu elements and activates the current one. + */ + function styleMenu(section, index){ + if (typeof options.anchors[index] !== 'undefined') { + //activating the menu / nav element on load + if(section.hasClass(ACTIVE)){ + activateMenuAndNav(options.anchors[index], index); + } + } + + //moving the menu outside the main container if it is inside (avoid problems with fixed positions when using CSS3 tranforms) + if(options.menu && options.css3 && $(options.menu).closest(WRAPPER_SEL).length){ + $(options.menu).appendTo($body); + } + } + + /** + * Adds internal classes to be able to provide customizable selectors + * keeping the link with the style sheet. + */ + function addInternalSelectors(){ + container.find(options.sectionSelector).addClass(SECTION); + container.find(options.slideSelector).addClass(SLIDE); + } + + /** + * Creates the control arrows for the given section + */ + function createSlideArrows(section){ + section.find(SLIDES_WRAPPER_SEL).after('
                                                                        '); + + if(options.controlArrowColor!='#fff'){ + section.find(SLIDES_ARROW_NEXT_SEL).css('border-color', 'transparent transparent transparent '+options.controlArrowColor); + section.find(SLIDES_ARROW_PREV_SEL).css('border-color', 'transparent '+ options.controlArrowColor + ' transparent transparent'); + } + + if(!options.loopHorizontal){ + section.find(SLIDES_ARROW_PREV_SEL).hide(); + } + } + + /** + * Creates a vertical navigation bar. + */ + function addVerticalNavigation(){ + $body.append('
                                                                          '); + var nav = $(SECTION_NAV_SEL); + + nav.addClass(function() { + return options.showActiveTooltip ? SHOW_ACTIVE_TOOLTIP + ' ' + options.navigationPosition : options.navigationPosition; + }); + + for (var i = 0; i < $(SECTION_SEL).length; i++) { + var link = ''; + if (options.anchors.length) { + link = options.anchors[i]; + } + + var li = '
                                                                        • '; + + // Only add tooltip if needed (defined by user) + var tooltip = options.navigationTooltips[i]; + + if (typeof tooltip !== 'undefined' && tooltip !== '') { + li += '
                                                                          ' + tooltip + '
                                                                          '; + } + + li += '
                                                                        • '; + + nav.find('ul').append(li); + } + + //centering it vertically + $(SECTION_NAV_SEL).css('margin-top', '-' + ($(SECTION_NAV_SEL).height()/2) + 'px'); + + //activating the current active section + $(SECTION_NAV_SEL).find('li').eq($(SECTION_ACTIVE_SEL).index(SECTION_SEL)).find('a').addClass(ACTIVE); + } + + /** + * Creates the slim scroll scrollbar for the sections and slides inside them. + */ + function createScrollBarHandler(){ + $(SECTION_SEL).each(function(){ + var slides = $(this).find(SLIDE_SEL); + + if(slides.length){ + slides.each(function(){ + createScrollBar($(this)); + }); + }else{ + createScrollBar($(this)); + } + + }); + afterRenderActions(); + } + + /* + * Enables the Youtube videos API so we can control their flow if necessary. + */ + function enableYoutubeAPI(){ + container.find('iframe[src*="youtube.com/embed/"]').each(function(){ + addURLParam($(this), 'enablejsapi=1'); + }); + } + + /** + * Adds a new parameter and its value to the `src` of a given element + */ + function addURLParam(element, newParam){ + var originalSrc = element.attr('src'); + element.attr('src', originalSrc + getUrlParamSign(originalSrc) + newParam); + } + + /* + * Returns the prefix sign to use for a new parameter in an existen URL. + * + * @return {String} ? | & + */ + function getUrlParamSign(url){ + return ( !/\?/.test( url ) ) ? '?' : '&'; + } + + /** + * Actions and callbacks to fire afterRender + */ + function afterRenderActions(){ + var section = $(SECTION_ACTIVE_SEL); + + section.addClass(COMPLETELY); + + if(options.scrollOverflowHandler.afterRender){ + options.scrollOverflowHandler.afterRender(section); + } + lazyLoad(section); + playMedia(section); + + $.isFunction( options.afterLoad ) && options.afterLoad.call(section, section.data('anchor'), (section.index(SECTION_SEL) + 1)); + $.isFunction( options.afterRender ) && options.afterRender.call(container); + } + + + var isScrolling = false; + var lastScroll = 0; + + //when scrolling... + function scrollHandler(){ + var currentSection; + + if(!options.autoScrolling || options.scrollBar){ + var currentScroll = $window.scrollTop(); + var scrollDirection = getScrollDirection(currentScroll); + var visibleSectionIndex = 0; + var screen_mid = currentScroll + ($window.height() / 2.0); + var isAtBottom = $body.height() - $window.height() === currentScroll; + var sections = document.querySelectorAll(SECTION_SEL); + + //when using `auto-height` for a small last section it won't be centered in the viewport + if(isAtBottom){ + visibleSectionIndex = sections.length - 1; + } + //is at top? when using `auto-height` for a small first section it won't be centered in the viewport + else if(!currentScroll){ + visibleSectionIndex = 0; + } + + //taking the section which is showing more content in the viewport + else{ + for (var i = 0; i < sections.length; ++i) { + var section = sections[i]; + + // Pick the the last section which passes the middle line of the screen. + if (section.offsetTop <= screen_mid) + { + visibleSectionIndex = i; + } + } + } + + if(isCompletelyInViewPort(scrollDirection)){ + if(!$(SECTION_ACTIVE_SEL).hasClass(COMPLETELY)){ + $(SECTION_ACTIVE_SEL).addClass(COMPLETELY).siblings().removeClass(COMPLETELY); + } + } + + //geting the last one, the current one on the screen + currentSection = $(sections).eq(visibleSectionIndex); + + //setting the visible section as active when manually scrolling + //executing only once the first time we reach the section + if(!currentSection.hasClass(ACTIVE)){ + isScrolling = true; + var leavingSection = $(SECTION_ACTIVE_SEL); + var leavingSectionIndex = leavingSection.index(SECTION_SEL) + 1; + var yMovement = getYmovement(currentSection); + var anchorLink = currentSection.data('anchor'); + var sectionIndex = currentSection.index(SECTION_SEL) + 1; + var activeSlide = currentSection.find(SLIDE_ACTIVE_SEL); + var slideIndex; + var slideAnchorLink; + + if(activeSlide.length){ + slideAnchorLink = activeSlide.data('anchor'); + slideIndex = activeSlide.index(); + } + + if(canScroll){ + currentSection.addClass(ACTIVE).siblings().removeClass(ACTIVE); + + $.isFunction( options.onLeave ) && options.onLeave.call( leavingSection, leavingSectionIndex, sectionIndex, yMovement); + $.isFunction( options.afterLoad ) && options.afterLoad.call( currentSection, anchorLink, sectionIndex); + + stopMedia(leavingSection); + lazyLoad(currentSection); + playMedia(currentSection); + + activateMenuAndNav(anchorLink, sectionIndex - 1); + + if(options.anchors.length){ + //needed to enter in hashChange event when using the menu with anchor links + lastScrolledDestiny = anchorLink; + } + setState(slideIndex, slideAnchorLink, anchorLink, sectionIndex); + } + + //small timeout in order to avoid entering in hashChange event when scrolling is not finished yet + clearTimeout(scrollId); + scrollId = setTimeout(function(){ + isScrolling = false; + }, 100); + } + + if(options.fitToSection){ + //for the auto adjust of the viewport to fit a whole section + clearTimeout(scrollId2); + + scrollId2 = setTimeout(function(){ + //checking fitToSection again in case it was set to false before the timeout delay + if(canScroll && options.fitToSection){ + //allows to scroll to an active section and + //if the section is already active, we prevent firing callbacks + if($(SECTION_ACTIVE_SEL).is(currentSection)){ + isResizing = true; + } + scrollPage($(SECTION_ACTIVE_SEL)); + + isResizing = false; + } + }, options.fitToSectionDelay); + } + } + } + + /** + * Determines whether the active section has seen in its whole or not. + */ + function isCompletelyInViewPort(movement){ + var top = $(SECTION_ACTIVE_SEL).position().top; + var bottom = top + $window.height(); + + if(movement == 'up'){ + return bottom >= ($window.scrollTop() + $window.height()); + } + return top <= $window.scrollTop(); + } + + /** + * Gets the directon of the the scrolling fired by the scroll event. + */ + function getScrollDirection(currentScroll){ + var direction = currentScroll > lastScroll ? 'down' : 'up'; + + lastScroll = currentScroll; + + //needed for auto-height sections to determine if we want to scroll to the top or bottom of the destination + previousDestTop = currentScroll; + + return direction; + } + + /** + * Determines the way of scrolling up or down: + * by 'automatically' scrolling a section or by using the default and normal scrolling. + */ + function scrolling(type, scrollable){ + if (!isScrollAllowed.m[type]){ + return; + } + var check = (type === 'down') ? 'bottom' : 'top'; + var scrollSection = (type === 'down') ? moveSectionDown : moveSectionUp; + + if(scrollable.length > 0 ){ + //is the scrollbar at the start/end of the scroll? + if(options.scrollOverflowHandler.isScrolled(check, scrollable)){ + scrollSection(); + }else{ + return true; + } + }else{ + // moved up/down + scrollSection(); + } + } + + /* + * Preventing bouncing in iOS #2285 + */ + function preventBouncing(event){ + var e = event.originalEvent; + if(options.autoScrolling && isReallyTouch(e)){ + //preventing the easing on iOS devices + event.preventDefault(); + } + } + + var touchStartY = 0; + var touchStartX = 0; + var touchEndY = 0; + var touchEndX = 0; + + /* Detecting touch events + + * As we are changing the top property of the page on scrolling, we can not use the traditional way to detect it. + * This way, the touchstart and the touch moves shows an small difference between them which is the + * used one to determine the direction. + */ + function touchMoveHandler(event){ + var e = event.originalEvent; + var activeSection = $(e.target).closest(SECTION_SEL); + + // additional: if one of the normalScrollElements isn't within options.normalScrollElementTouchThreshold hops up the DOM chain + if (!checkParentForNormalScrollElement(event.target) && isReallyTouch(e) ) { + + if(options.autoScrolling){ + //preventing the easing on iOS devices + event.preventDefault(); + } + + var scrollable = options.scrollOverflowHandler.scrollable(activeSection); + + if (canScroll && !slideMoving) { //if theres any # + var touchEvents = getEventsPage(e); + + touchEndY = touchEvents.y; + touchEndX = touchEvents.x; + + //if movement in the X axys is greater than in the Y and the currect section has slides... + if (activeSection.find(SLIDES_WRAPPER_SEL).length && Math.abs(touchStartX - touchEndX) > (Math.abs(touchStartY - touchEndY))) { + + //is the movement greater than the minimum resistance to scroll? + if (Math.abs(touchStartX - touchEndX) > ($window.outerWidth() / 100 * options.touchSensitivity)) { + if (touchStartX > touchEndX) { + if(isScrollAllowed.m.right){ + moveSlideRight(activeSection); //next + } + } else { + if(isScrollAllowed.m.left){ + moveSlideLeft(activeSection); //prev + } + } + } + } + + //vertical scrolling (only when autoScrolling is enabled) + else if(options.autoScrolling){ + + //is the movement greater than the minimum resistance to scroll? + if (Math.abs(touchStartY - touchEndY) > ($window.height() / 100 * options.touchSensitivity)) { + if (touchStartY > touchEndY) { + scrolling('down', scrollable); + } else if (touchEndY > touchStartY) { + scrolling('up', scrollable); + } + } + } + } + } + + } + + /** + * recursive function to loop up the parent nodes to check if one of them exists in options.normalScrollElements + * Currently works well for iOS - Android might need some testing + * @param {Element} el target element / jquery selector (in subsequent nodes) + * @param {int} hop current hop compared to options.normalScrollElementTouchThreshold + * @return {boolean} true if there is a match to options.normalScrollElements + */ + function checkParentForNormalScrollElement (el, hop) { + hop = hop || 0; + var parent = $(el).parent(); + + if (hop < options.normalScrollElementTouchThreshold && + parent.is(options.normalScrollElements) ) { + return true; + } else if (hop == options.normalScrollElementTouchThreshold) { + return false; + } else { + return checkParentForNormalScrollElement(parent, ++hop); + } + } + + /** + * As IE >= 10 fires both touch and mouse events when using a mouse in a touchscreen + * this way we make sure that is really a touch event what IE is detecting. + */ + function isReallyTouch(e){ + //if is not IE || IE is detecting `touch` or `pen` + return typeof e.pointerType === 'undefined' || e.pointerType != 'mouse'; + } + + /** + * Handler for the touch start event. + */ + function touchStartHandler(event){ + var e = event.originalEvent; + + //stopping the auto scroll to adjust to a section + if(options.fitToSection){ + $htmlBody.stop(); + } + + if(isReallyTouch(e)){ + var touchEvents = getEventsPage(e); + touchStartY = touchEvents.y; + touchStartX = touchEvents.x; + } + } + + /** + * Gets the average of the last `number` elements of the given array. + */ + function getAverage(elements, number){ + var sum = 0; + + //taking `number` elements from the end to make the average, if there are not enought, 1 + var lastElements = elements.slice(Math.max(elements.length - number, 1)); + + for(var i = 0; i < lastElements.length; i++){ + sum = sum + lastElements[i]; + } + + return Math.ceil(sum/number); + } + + /** + * Detecting mousewheel scrolling + * + * http://blogs.sitepointstatic.com/examples/tech/mouse-wheel/index.html + * http://www.sitepoint.com/html5-javascript-mouse-wheel/ + */ + var prevTime = new Date().getTime(); + + function MouseWheelHandler(e) { + var curTime = new Date().getTime(); + var isNormalScroll = $(COMPLETELY_SEL).hasClass(NORMAL_SCROLL); + + //autoscrolling and not zooming? + if(options.autoScrolling && !controlPressed && !isNormalScroll){ + // cross-browser wheel delta + e = e || window.event; + var value = e.wheelDelta || -e.deltaY || -e.detail; + var delta = Math.max(-1, Math.min(1, value)); + + var horizontalDetection = typeof e.wheelDeltaX !== 'undefined' || typeof e.deltaX !== 'undefined'; + var isScrollingVertically = (Math.abs(e.wheelDeltaX) < Math.abs(e.wheelDelta)) || (Math.abs(e.deltaX ) < Math.abs(e.deltaY) || !horizontalDetection); + + //Limiting the array to 150 (lets not waste memory!) + if(scrollings.length > 149){ + scrollings.shift(); + } + + //keeping record of the previous scrollings + scrollings.push(Math.abs(value)); + + //preventing to scroll the site on mouse wheel when scrollbar is present + if(options.scrollBar){ + e.preventDefault ? e.preventDefault() : e.returnValue = false; + } + + var activeSection = $(SECTION_ACTIVE_SEL); + var scrollable = options.scrollOverflowHandler.scrollable(activeSection); + + //time difference between the last scroll and the current one + var timeDiff = curTime-prevTime; + prevTime = curTime; + + //haven't they scrolled in a while? + //(enough to be consider a different scrolling action to scroll another section) + if(timeDiff > 200){ + //emptying the array, we dont care about old scrollings for our averages + scrollings = []; + } + + if(canScroll){ + var averageEnd = getAverage(scrollings, 10); + var averageMiddle = getAverage(scrollings, 70); + var isAccelerating = averageEnd >= averageMiddle; + + //to avoid double swipes... + if(isAccelerating && isScrollingVertically){ + //scrolling down? + if (delta < 0) { + scrolling('down', scrollable); + + //scrolling up? + }else { + scrolling('up', scrollable); + } + } + } + + return false; + } + + if(options.fitToSection){ + //stopping the auto scroll to adjust to a section + $htmlBody.stop(); + } + } + + /** + * Slides a slider to the given direction. + * Optional `section` param. + */ + function moveSlide(direction, section){ + var activeSection = typeof section === 'undefined' ? $(SECTION_ACTIVE_SEL) : section; + var slides = activeSection.find(SLIDES_WRAPPER_SEL); + var numSlides = slides.find(SLIDE_SEL).length; + + // more than one slide needed and nothing should be sliding + if (!slides.length || slideMoving || numSlides < 2) { + return; + } + + var currentSlide = slides.find(SLIDE_ACTIVE_SEL); + var destiny = null; + + if(direction === 'left'){ + destiny = currentSlide.prev(SLIDE_SEL); + }else{ + destiny = currentSlide.next(SLIDE_SEL); + } + + //isn't there a next slide in the secuence? + if(!destiny.length){ + //respect loopHorizontal settin + if (!options.loopHorizontal) return; + + if(direction === 'left'){ + destiny = currentSlide.siblings(':last'); + }else{ + destiny = currentSlide.siblings(':first'); + } + } + + slideMoving = true; + + landscapeScroll(slides, destiny, direction); + } + + /** + * Maintains the active slides in the viewport + * (Because the `scroll` animation might get lost with some actions, such as when using continuousVertical) + */ + function keepSlidesPosition(){ + $(SLIDE_ACTIVE_SEL).each(function(){ + silentLandscapeScroll($(this), 'internal'); + }); + } + + var previousDestTop = 0; + /** + * Returns the destination Y position based on the scrolling direction and + * the height of the section. + */ + function getDestinationPosition(element){ + var elemPosition = element.position(); + + //top of the desination will be at the top of the viewport + var position = elemPosition.top; + var isScrollingDown = elemPosition.top > previousDestTop; + var sectionBottom = position - windowsHeight + element.outerHeight(); + var bigSectionsDestination = options.bigSectionsDestination; + + //is the destination element bigger than the viewport? + if(element.outerHeight() > windowsHeight){ + //scrolling up? + if(!isScrollingDown && !bigSectionsDestination || bigSectionsDestination === 'bottom' ){ + position = sectionBottom; + } + } + + //sections equal or smaller than the viewport height && scrolling down? || is resizing and its in the last section + else if(isScrollingDown || (isResizing && element.is(':last-child')) ){ + //The bottom of the destination will be at the bottom of the viewport + position = sectionBottom; + } + + /* + Keeping record of the last scrolled position to determine the scrolling direction. + No conventional methods can be used as the scroll bar might not be present + AND the section might not be active if it is auto-height and didnt reach the middle + of the viewport. + */ + previousDestTop = position; + return position; + } + + /** + * Scrolls the site to the given element and scrolls to the slide if a callback is given. + */ + function scrollPage(element, callback, isMovementUp){ + if(typeof element === 'undefined'){ return; } //there's no element to scroll, leaving the function + + var dtop = getDestinationPosition(element); + var slideAnchorLink; + var slideIndex; + + //local variables + var v = { + element: element, + callback: callback, + isMovementUp: isMovementUp, + dtop: dtop, + yMovement: getYmovement(element), + anchorLink: element.data('anchor'), + sectionIndex: element.index(SECTION_SEL), + activeSlide: element.find(SLIDE_ACTIVE_SEL), + activeSection: $(SECTION_ACTIVE_SEL), + leavingSection: $(SECTION_ACTIVE_SEL).index(SECTION_SEL) + 1, + + //caching the value of isResizing at the momment the function is called + //because it will be checked later inside a setTimeout and the value might change + localIsResizing: isResizing + }; + + //quiting when destination scroll is the same as the current one + if((v.activeSection.is(element) && !isResizing) || (options.scrollBar && $window.scrollTop() === v.dtop && !element.hasClass(AUTO_HEIGHT) )){ return; } + + if(v.activeSlide.length){ + slideAnchorLink = v.activeSlide.data('anchor'); + slideIndex = v.activeSlide.index(); + } + + // If continuousVertical && we need to wrap around + if (options.autoScrolling && options.continuousVertical && typeof (v.isMovementUp) !== "undefined" && + ((!v.isMovementUp && v.yMovement == 'up') || // Intending to scroll down but about to go up or + (v.isMovementUp && v.yMovement == 'down'))) { // intending to scroll up but about to go down + + v = createInfiniteSections(v); + } + + //callback (onLeave) if the site is not just resizing and readjusting the slides + if($.isFunction(options.onLeave) && !v.localIsResizing){ + if(options.onLeave.call(v.activeSection, v.leavingSection, (v.sectionIndex + 1), v.yMovement) === false){ + return; + } + } + + stopMedia(v.activeSection); + + options.scrollOverflowHandler.beforeLeave(); + element.addClass(ACTIVE).siblings().removeClass(ACTIVE); + lazyLoad(element); + options.scrollOverflowHandler.onLeave(); + + + //preventing from activating the MouseWheelHandler event + //more than once if the page is scrolling + canScroll = false; + + setState(slideIndex, slideAnchorLink, v.anchorLink, v.sectionIndex); + + performMovement(v); + + //flag to avoid callingn `scrollPage()` twice in case of using anchor links + lastScrolledDestiny = v.anchorLink; + + //avoid firing it twice (as it does also on scroll) + activateMenuAndNav(v.anchorLink, v.sectionIndex); + } + + /** + * Performs the vertical movement (by CSS3 or by jQuery) + */ + function performMovement(v){ + // using CSS3 translate functionality + if (options.css3 && options.autoScrolling && !options.scrollBar) { + + // The first section can have a negative value in iOS 10. Not quite sure why: -0.0142822265625 + // that's why we round it to 0. + var translate3d = 'translate3d(0px, -' + Math.round(v.dtop) + 'px, 0px)'; + transformContainer(translate3d, true); + + //even when the scrollingSpeed is 0 there's a little delay, which might cause the + //scrollingSpeed to change in case of using silentMoveTo(); + if(options.scrollingSpeed){ + clearTimeout(afterSectionLoadsId); + afterSectionLoadsId = setTimeout(function () { + afterSectionLoads(v); + }, options.scrollingSpeed); + }else{ + afterSectionLoads(v); + } + } + + // using jQuery animate + else{ + var scrollSettings = getScrollSettings(v); + + $(scrollSettings.element).animate( + scrollSettings.options, + options.scrollingSpeed, options.easing).promise().done(function () { //only one single callback in case of animating `html, body` + if(options.scrollBar){ + + /* Hack! + The timeout prevents setting the most dominant section in the viewport as "active" when the user + scrolled to a smaller section by using the mousewheel (auto scrolling) rather than draging the scroll bar. + + When using scrollBar:true It seems like the scroll events still getting propagated even after the scrolling animation has finished. + */ + setTimeout(function(){ + afterSectionLoads(v); + },30); + }else{ + afterSectionLoads(v); + } + }); + } + } + + /** + * Gets the scrolling settings depending on the plugin autoScrolling option + */ + function getScrollSettings(v){ + var scroll = {}; + + if(options.autoScrolling && !options.scrollBar){ + scroll.options = { 'top': -v.dtop}; + scroll.element = WRAPPER_SEL; + }else{ + scroll.options = { 'scrollTop': v.dtop}; + scroll.element = 'html, body'; + } + + return scroll; + } + + /** + * Adds sections before or after the current one to create the infinite effect. + */ + function createInfiniteSections(v){ + // Scrolling down + if (!v.isMovementUp) { + // Move all previous sections to after the active section + $(SECTION_ACTIVE_SEL).after(v.activeSection.prevAll(SECTION_SEL).get().reverse()); + } + else { // Scrolling up + // Move all next sections to before the active section + $(SECTION_ACTIVE_SEL).before(v.activeSection.nextAll(SECTION_SEL)); + } + + // Maintain the displayed position (now that we changed the element order) + silentScroll($(SECTION_ACTIVE_SEL).position().top); + + // Maintain the active slides visible in the viewport + keepSlidesPosition(); + + // save for later the elements that still need to be reordered + v.wrapAroundElements = v.activeSection; + + // Recalculate animation variables + v.dtop = v.element.position().top; + v.yMovement = getYmovement(v.element); + + return v; + } + + /** + * Fix section order after continuousVertical changes have been animated + */ + function continuousVerticalFixSectionOrder (v) { + // If continuousVertical is in effect (and autoScrolling would also be in effect then), + // finish moving the elements around so the direct navigation will function more simply + if (!v.wrapAroundElements || !v.wrapAroundElements.length) { + return; + } + + if (v.isMovementUp) { + $(SECTION_FIRST_SEL).before(v.wrapAroundElements); + } + else { + $(SECTION_LAST_SEL).after(v.wrapAroundElements); + } + + silentScroll($(SECTION_ACTIVE_SEL).position().top); + + // Maintain the active slides visible in the viewport + keepSlidesPosition(); + } + + + /** + * Actions to do once the section is loaded. + */ + function afterSectionLoads (v){ + continuousVerticalFixSectionOrder(v); + + //callback (afterLoad) if the site is not just resizing and readjusting the slides + $.isFunction(options.afterLoad) && !v.localIsResizing && options.afterLoad.call(v.element, v.anchorLink, (v.sectionIndex + 1)); + options.scrollOverflowHandler.afterLoad(); + + playMedia(v.element); + v.element.addClass(COMPLETELY).siblings().removeClass(COMPLETELY); + + canScroll = true; + + $.isFunction(v.callback) && v.callback.call(this); + } + + /** + * Lazy loads image, video and audio elements. + */ + function lazyLoad(destiny){ + if (!options.lazyLoading){ + return; + } + + var panel = getSlideOrSection(destiny); + var element; + + panel.find('img[data-src], source[data-src], audio[data-src], iframe[data-src]').each(function(){ + element = $(this); + element.attr('src', element.data('src')); + element.removeAttr('data-src'); + + if(element.is('source')){ + element.closest('video').get(0).load(); + } + }); + } + + /** + * Plays video and audio elements. + */ + function playMedia(destiny){ + var panel = getSlideOrSection(destiny); + + //playing HTML5 media elements + panel.find('video, audio').each(function(){ + var element = $(this).get(0); + + if( element.hasAttribute('data-autoplay') && typeof element.play === 'function' ) { + element.play(); + } + }); + + //youtube videos + panel.find('iframe[src*="youtube.com/embed/"]').each(function(){ + var element = $(this).get(0); + + if ( element.hasAttribute('data-autoplay') ){ + playYoutube(element); + } + + //in case the URL was not loaded yet. On page load we need time for the new URL (with the API string) to load. + element.onload = function() { + if ( element.hasAttribute('data-autoplay') ){ + playYoutube(element); + } + }; + }); + } + + /** + * Plays a youtube video + */ + function playYoutube(element){ + element.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*'); + } + + /** + * Stops video and audio elements. + */ + function stopMedia(destiny){ + var panel = getSlideOrSection(destiny); + + //stopping HTML5 media elements + panel.find('video, audio').each(function(){ + var element = $(this).get(0); + + if( !element.hasAttribute('data-keepplaying') && typeof element.pause === 'function' ) { + element.pause(); + } + }); + + //youtube videos + panel.find('iframe[src*="youtube.com/embed/"]').each(function(){ + var element = $(this).get(0); + + if( /youtube\.com\/embed\//.test($(this).attr('src')) && !element.hasAttribute('data-keepplaying')){ + $(this).get(0).contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}','*'); + } + }); + } + + /** + * Gets the active slide (or section) for the given section + */ + function getSlideOrSection(destiny){ + var slide = destiny.find(SLIDE_ACTIVE_SEL); + if( slide.length ) { + destiny = $(slide); + } + + return destiny; + } + + /** + * Scrolls to the anchor in the URL when loading the site + */ + function scrollToAnchor(){ + //getting the anchor link in the URL and deleting the `#` + var value = window.location.hash.replace('#', '').split('/'); + var sectionAnchor = decodeURIComponent(value[0]); + var slideAnchor = decodeURIComponent(value[1]); + + if(sectionAnchor){ //if theres any # + if(options.animateAnchor){ + scrollPageAndSlide(sectionAnchor, slideAnchor); + }else{ + silentMoveTo(sectionAnchor, slideAnchor); + } + } + } + + /** + * Detecting any change on the URL to scroll to the given anchor link + * (a way to detect back history button as we play with the hashes on the URL) + */ + function hashChangeHandler(){ + if(!isScrolling && !options.lockAnchors){ + var value = window.location.hash.replace('#', '').split('/'); + var sectionAnchor = decodeURIComponent(value[0]); + var slideAnchor = decodeURIComponent(value[1]); + + //when moving to a slide in the first section for the first time (first time to add an anchor to the URL) + var isFirstSlideMove = (typeof lastScrolledDestiny === 'undefined'); + var isFirstScrollMove = (typeof lastScrolledDestiny === 'undefined' && typeof slideAnchor === 'undefined' && !slideMoving); + + + if(sectionAnchor.length){ + /*in order to call scrollpage() only once for each destination at a time + It is called twice for each scroll otherwise, as in case of using anchorlinks `hashChange` + event is fired on every scroll too.*/ + if ((sectionAnchor && sectionAnchor !== lastScrolledDestiny) && !isFirstSlideMove || isFirstScrollMove || (!slideMoving && lastScrolledSlide != slideAnchor )) { + scrollPageAndSlide(sectionAnchor, slideAnchor); + } + } + } + } + + //Sliding with arrow keys, both, vertical and horizontal + function keydownHandler(e) { + + clearTimeout(keydownId); + + var activeElement = $(':focus'); + + if(!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select') && + activeElement.attr('contentEditable') !== "true" && activeElement.attr('contentEditable') !== '' && + options.keyboardScrolling && options.autoScrolling){ + var keyCode = e.which; + + //preventing the scroll with arrow keys & spacebar & Page Up & Down keys + var keyControls = [40, 38, 32, 33, 34]; + if($.inArray(keyCode, keyControls) > -1){ + e.preventDefault(); + } + + controlPressed = e.ctrlKey; + + keydownId = setTimeout(function(){ + onkeydown(e); + },150); + } + } + + function tooltipTextHandler(){ + $(this).prev().trigger('click'); + } + + //to prevent scrolling while zooming + function keyUpHandler(e){ + if(isWindowFocused){ //the keyup gets fired on new tab ctrl + t in Firefox + controlPressed = e.ctrlKey; + } + } + + //binding the mousemove when the mouse's middle button is released + function mouseDownHandler(e){ + //middle button + if (e.which == 2){ + oldPageY = e.pageY; + container.on('mousemove', mouseMoveHandler); + } + } + + //unbinding the mousemove when the mouse's middle button is released + function mouseUpHandler(e){ + //middle button + if (e.which == 2){ + container.off('mousemove'); + } + } + + //Scrolling horizontally when clicking on the slider controls. + function slideArrowHandler(){ + var section = $(this).closest(SECTION_SEL); + + if ($(this).hasClass(SLIDES_PREV)) { + if(isScrollAllowed.m.left){ + moveSlideLeft(section); + } + } else { + if(isScrollAllowed.m.right){ + moveSlideRight(section); + } + } + } + + //when opening a new tab (ctrl + t), `control` won't be pressed when comming back. + function blurHandler(){ + isWindowFocused = false; + controlPressed = false; + } + + //Scrolls to the section when clicking the navigation bullet + function sectionBulletHandler(e){ + e.preventDefault(); + var index = $(this).parent().index(); + scrollPage($(SECTION_SEL).eq(index)); + } + + //Scrolls the slider to the given slide destination for the given section + function slideBulletHandler(e){ + e.preventDefault(); + var slides = $(this).closest(SECTION_SEL).find(SLIDES_WRAPPER_SEL); + var destiny = slides.find(SLIDE_SEL).eq($(this).closest('li').index()); + + landscapeScroll(slides, destiny); + } + + /** + * Keydown event + */ + function onkeydown(e){ + var shiftPressed = e.shiftKey; + + switch (e.which) { + //up + case 38: + case 33: + if(isScrollAllowed.k.up){ + moveSectionUp(); + } + break; + + //down + case 32: //spacebar + if(shiftPressed && isScrollAllowed.k.up){ + moveSectionUp(); + break; + } + /* falls through */ + case 40: + case 34: + if(isScrollAllowed.k.down){ + moveSectionDown(); + } + break; + + //Home + case 36: + if(isScrollAllowed.k.up){ + moveTo(1); + } + break; + + //End + case 35: + if(isScrollAllowed.k.down){ + moveTo( $(SECTION_SEL).length ); + } + break; + + //left + case 37: + if(isScrollAllowed.k.left){ + moveSlideLeft(); + } + break; + + //right + case 39: + if(isScrollAllowed.k.right){ + moveSlideRight(); + } + break; + + default: + return; // exit this handler for other keys + } + } + + /** + * Detecting the direction of the mouse movement. + * Used only for the middle button of the mouse. + */ + var oldPageY = 0; + function mouseMoveHandler(e){ + if(canScroll){ + // moving up + if (e.pageY < oldPageY && isScrollAllowed.m.up){ + moveSectionUp(); + } + + // moving down + else if(e.pageY > oldPageY && isScrollAllowed.m.down){ + moveSectionDown(); + } + } + oldPageY = e.pageY; + } + + /** + * Scrolls horizontal sliders. + */ + function landscapeScroll(slides, destiny, direction){ + var section = slides.closest(SECTION_SEL); + var v = { + slides: slides, + destiny: destiny, + direction: direction, + destinyPos: destiny.position(), + slideIndex: destiny.index(), + section: section, + sectionIndex: section.index(SECTION_SEL), + anchorLink: section.data('anchor'), + slidesNav: section.find(SLIDES_NAV_SEL), + slideAnchor: getAnchor(destiny), + prevSlide: section.find(SLIDE_ACTIVE_SEL), + prevSlideIndex: section.find(SLIDE_ACTIVE_SEL).index(), + + //caching the value of isResizing at the momment the function is called + //because it will be checked later inside a setTimeout and the value might change + localIsResizing: isResizing + }; + v.xMovement = getXmovement(v.prevSlideIndex, v.slideIndex); + + //important!! Only do it when not resizing + if(!v.localIsResizing){ + //preventing from scrolling to the next/prev section when using scrollHorizontally + canScroll = false; + } + + if(options.onSlideLeave){ + + //if the site is not just resizing and readjusting the slides + if(!v.localIsResizing && v.xMovement!=='none'){ + if($.isFunction( options.onSlideLeave )){ + if(options.onSlideLeave.call( v.prevSlide, v.anchorLink, (v.sectionIndex + 1), v.prevSlideIndex, v.xMovement, v.slideIndex ) === false){ + slideMoving = false; + return; + } + } + } + } + + destiny.addClass(ACTIVE).siblings().removeClass(ACTIVE); + + if(!v.localIsResizing){ + stopMedia(v.prevSlide); + lazyLoad(destiny); + } + + if(!options.loopHorizontal && options.controlArrows){ + //hidding it for the fist slide, showing for the rest + section.find(SLIDES_ARROW_PREV_SEL).toggle(v.slideIndex!==0); + + //hidding it for the last slide, showing for the rest + section.find(SLIDES_ARROW_NEXT_SEL).toggle(!destiny.is(':last-child')); + } + + //only changing the URL if the slides are in the current section (not for resize re-adjusting) + if(section.hasClass(ACTIVE)){ + setState(v.slideIndex, v.slideAnchor, v.anchorLink, v.sectionIndex); + } + + performHorizontalMove(slides, v, true); + } + + + function afterSlideLoads(v){ + activeSlidesNavigation(v.slidesNav, v.slideIndex); + + //if the site is not just resizing and readjusting the slides + if(!v.localIsResizing){ + $.isFunction( options.afterSlideLoad ) && options.afterSlideLoad.call( v.destiny, v.anchorLink, (v.sectionIndex + 1), v.slideAnchor, v.slideIndex); + + //needs to be inside the condition to prevent problems with continuousVertical and scrollHorizontally + //and to prevent double scroll right after a windows resize + canScroll = true; + } + + playMedia(v.destiny); + + //letting them slide again + slideMoving = false; + } + + /** + * Performs the horizontal movement. (CSS3 or jQuery) + * + * @param fireCallback {Bool} - determines whether or not to fire the callback + */ + function performHorizontalMove(slides, v, fireCallback){ + var destinyPos = v.destinyPos; + + if(options.css3){ + var translate3d = 'translate3d(-' + Math.round(destinyPos.left) + 'px, 0px, 0px)'; + + addAnimation(slides.find(SLIDES_CONTAINER_SEL)).css(getTransforms(translate3d)); + + afterSlideLoadsId = setTimeout(function(){ + fireCallback && afterSlideLoads(v); + }, options.scrollingSpeed, options.easing); + }else{ + slides.animate({ + scrollLeft : Math.round(destinyPos.left) + }, options.scrollingSpeed, options.easing, function() { + + fireCallback && afterSlideLoads(v); + }); + } + } + + /** + * Sets the state for the horizontal bullet navigations. + */ + function activeSlidesNavigation(slidesNav, slideIndex){ + slidesNav.find(ACTIVE_SEL).removeClass(ACTIVE); + slidesNav.find('li').eq(slideIndex).find('a').addClass(ACTIVE); + } + + var previousHeight = windowsHeight; + + //when resizing the site, we adjust the heights of the sections, slimScroll... + function resizeHandler(){ + //checking if it needs to get responsive + responsive(); + + // rebuild immediately on touch devices + if (isTouchDevice) { + var activeElement = $(document.activeElement); + + //if the keyboard is NOT visible + if (!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select')) { + var currentHeight = $window.height(); + + //making sure the change in the viewport size is enough to force a rebuild. (20 % of the window to avoid problems when hidding scroll bars) + if( Math.abs(currentHeight - previousHeight) > (20 * Math.max(previousHeight, currentHeight) / 100) ){ + reBuild(true); + previousHeight = currentHeight; + } + } + }else{ + //in order to call the functions only when the resize is finished + //http://stackoverflow.com/questions/4298612/jquery-how-to-call-resize-event-only-once-its-finished-resizing + clearTimeout(resizeId); + + resizeId = setTimeout(function(){ + reBuild(true); + }, 350); + } + } + + /** + * Checks if the site needs to get responsive and disables autoScrolling if so. + * A class `fp-responsive` is added to the plugin's container in case the user wants to use it for his own responsive CSS. + */ + function responsive(){ + var widthLimit = options.responsive || options.responsiveWidth; //backwards compatiblity + var heightLimit = options.responsiveHeight; + + //only calculating what we need. Remember its called on the resize event. + var isBreakingPointWidth = widthLimit && $window.outerWidth() < widthLimit; + var isBreakingPointHeight = heightLimit && $window.height() < heightLimit; + + if(widthLimit && heightLimit){ + setResponsive(isBreakingPointWidth || isBreakingPointHeight); + } + else if(widthLimit){ + setResponsive(isBreakingPointWidth); + } + else if(heightLimit){ + setResponsive(isBreakingPointHeight); + } + } + + /** + * Adds transition animations for the given element + */ + function addAnimation(element){ + var transition = 'all ' + options.scrollingSpeed + 'ms ' + options.easingcss3; + + element.removeClass(NO_TRANSITION); + return element.css({ + '-webkit-transition': transition, + 'transition': transition + }); + } + + /** + * Remove transition animations for the given element + */ + function removeAnimation(element){ + return element.addClass(NO_TRANSITION); + } + + /** + * Activating the vertical navigation bullets according to the given slide name. + */ + function activateNavDots(name, sectionIndex){ + if(options.navigation){ + $(SECTION_NAV_SEL).find(ACTIVE_SEL).removeClass(ACTIVE); + if(name){ + $(SECTION_NAV_SEL).find('a[href="#' + name + '"]').addClass(ACTIVE); + }else{ + $(SECTION_NAV_SEL).find('li').eq(sectionIndex).find('a').addClass(ACTIVE); + } + } + } + + /** + * Activating the website main menu elements according to the given slide name. + */ + function activateMenuElement(name){ + if(options.menu){ + $(options.menu).find(ACTIVE_SEL).removeClass(ACTIVE); + $(options.menu).find('[data-menuanchor="'+name+'"]').addClass(ACTIVE); + } + } + + /** + * Sets to active the current menu and vertical nav items. + */ + function activateMenuAndNav(anchor, index){ + activateMenuElement(anchor); + activateNavDots(anchor, index); + } + + /** + * Retuns `up` or `down` depending on the scrolling movement to reach its destination + * from the current section. + */ + function getYmovement(destiny){ + var fromIndex = $(SECTION_ACTIVE_SEL).index(SECTION_SEL); + var toIndex = destiny.index(SECTION_SEL); + if( fromIndex == toIndex){ + return 'none'; + } + if(fromIndex > toIndex){ + return 'up'; + } + return 'down'; + } + + /** + * Retuns `right` or `left` depending on the scrolling movement to reach its destination + * from the current slide. + */ + function getXmovement(fromIndex, toIndex){ + if( fromIndex == toIndex){ + return 'none'; + } + if(fromIndex > toIndex){ + return 'left'; + } + return 'right'; + } + + /** + * Checks if the element needs scrollbar and if the user wants to apply it. + * If so it creates it. + * + * @param {Object} element jQuery object of the section or slide + */ + function createScrollBar(element){ + //User doesn't want scrollbar here? Sayonara baby! + if(element.hasClass('fp-noscroll')) return; + + //needed to make `scrollHeight` work under Opera 12 + element.css('overflow', 'hidden'); + + var scrollOverflowHandler = options.scrollOverflowHandler; + var wrap = scrollOverflowHandler.wrapContent(); + //in case element is a slide + var section = element.closest(SECTION_SEL); + var scrollable = scrollOverflowHandler.scrollable(element); + var contentHeight; + + //if there was scroll, the contentHeight will be the one in the scrollable section + if(scrollable.length){ + contentHeight = scrollOverflowHandler.scrollHeight(element); + }else{ + contentHeight = element.get(0).scrollHeight; + if(options.verticalCentered){ + contentHeight = element.find(TABLE_CELL_SEL).get(0).scrollHeight; + } + } + + var scrollHeight = windowsHeight - parseInt(section.css('padding-bottom')) - parseInt(section.css('padding-top')); + + //needs scroll? + if ( contentHeight > scrollHeight) { + //did we already have an scrollbar ? Updating it + if(scrollable.length){ + scrollOverflowHandler.update(element, scrollHeight); + } + //creating the scrolling + else{ + if(options.verticalCentered){ + element.find(TABLE_CELL_SEL).wrapInner(wrap); + }else{ + element.wrapInner(wrap); + } + scrollOverflowHandler.create(element, scrollHeight); + } + } + //removing the scrolling when it is not necessary anymore + else{ + scrollOverflowHandler.remove(element); + } + + //undo + element.css('overflow', ''); + } + + function addTableClass(element){ + //In case we are styling for the 2nd time as in with reponsiveSlides + if(!element.hasClass(TABLE)){ + element.addClass(TABLE).wrapInner('
                                                                          '); + } + } + + function getTableHeight(element){ + var sectionHeight = windowsHeight; + + if(options.paddingTop || options.paddingBottom){ + var section = element; + if(!section.hasClass(SECTION)){ + section = element.closest(SECTION_SEL); + } + + var paddings = parseInt(section.css('padding-top')) + parseInt(section.css('padding-bottom')); + sectionHeight = (windowsHeight - paddings); + } + + return sectionHeight; + } + + /** + * Adds a css3 transform property to the container class with or without animation depending on the animated param. + */ + function transformContainer(translate3d, animated){ + if(animated){ + addAnimation(container); + }else{ + removeAnimation(container); + } + + container.css(getTransforms(translate3d)); + + //syncronously removing the class after the animation has been applied. + setTimeout(function(){ + container.removeClass(NO_TRANSITION); + },10); + } + + /** + * Gets a section by its anchor / index + */ + function getSectionByAnchor(sectionAnchor){ + //section + var section = container.find(SECTION_SEL + '[data-anchor="'+sectionAnchor+'"]'); + if(!section.length){ + section = $(SECTION_SEL).eq( (sectionAnchor -1) ); + } + + return section; + } + + /** + * Gets a slide inside a given section by its anchor / index + */ + function getSlideByAnchor(slideAnchor, section){ + var slides = section.find(SLIDES_WRAPPER_SEL); + var slide = slides.find(SLIDE_SEL + '[data-anchor="'+slideAnchor+'"]'); + + if(!slide.length){ + slide = slides.find(SLIDE_SEL).eq(slideAnchor); + } + + return slide; + } + + /** + * Scrolls to the given section and slide anchors + */ + function scrollPageAndSlide(destiny, slide){ + var section = getSectionByAnchor(destiny); + + //do nothing if there's no section with the given anchor name + if(!section.length) return; + + //default slide + if (typeof slide === 'undefined') { + slide = 0; + } + + //we need to scroll to the section and then to the slide + if (destiny !== lastScrolledDestiny && !section.hasClass(ACTIVE)){ + scrollPage(section, function(){ + scrollSlider(section, slide); + }); + } + //if we were already in the section + else{ + scrollSlider(section, slide); + } + } + + /** + * Scrolls the slider to the given slide destination for the given section + */ + function scrollSlider(section, slideAnchor){ + if(typeof slideAnchor !== 'undefined'){ + var slides = section.find(SLIDES_WRAPPER_SEL); + var destiny = getSlideByAnchor(slideAnchor, section); + + if(destiny.length){ + landscapeScroll(slides, destiny); + } + } + } + + /** + * Creates a landscape navigation bar with dots for horizontal sliders. + */ + function addSlidesNavigation(section, numSlides){ + section.append('
                                                                            '); + var nav = section.find(SLIDES_NAV_SEL); + + //top or bottom + nav.addClass(options.slidesNavPosition); + + for(var i=0; i< numSlides; i++){ + nav.find('ul').append('
                                                                          • '); + } + + //centering it + nav.css('margin-left', '0'); + + nav.find('li').first().find('a').addClass(ACTIVE); + } + + + /** + * Sets the state of the website depending on the active section/slide. + * It changes the URL hash when needed and updates the body class. + */ + function setState(slideIndex, slideAnchor, anchorLink, sectionIndex){ + var sectionHash = ''; + + if(options.anchors.length && !options.lockAnchors){ + + //isn't it the first slide? + if(slideIndex){ + if(typeof anchorLink !== 'undefined'){ + sectionHash = anchorLink; + } + + //slide without anchor link? We take the index instead. + if(typeof slideAnchor === 'undefined'){ + slideAnchor = slideIndex; + } + + lastScrolledSlide = slideAnchor; + setUrlHash(sectionHash + '/' + slideAnchor); + + //first slide won't have slide anchor, just the section one + }else if(typeof slideIndex !== 'undefined'){ + lastScrolledSlide = slideAnchor; + setUrlHash(anchorLink); + } + + //section without slides + else{ + setUrlHash(anchorLink); + } + } + + setBodyClass(); + } + + /** + * Sets the URL hash. + */ + function setUrlHash(url){ + if(options.recordHistory){ + location.hash = url; + }else{ + //Mobile Chrome doesn't work the normal way, so... lets use HTML5 for phones :) + if(isTouchDevice || isTouch){ + window.history.replaceState(undefined, undefined, '#' + url); + }else{ + var baseUrl = window.location.href.split('#')[0]; + window.location.replace( baseUrl + '#' + url ); + } + } + } + + /** + * Gets the anchor for the given slide / section. Its index will be used if there's none. + */ + function getAnchor(element){ + var anchor = element.data('anchor'); + var index = element.index(); + + //Slide without anchor link? We take the index instead. + if(typeof anchor === 'undefined'){ + anchor = index; + } + + return anchor; + } + + /** + * Sets a class for the body of the page depending on the active section / slide + */ + function setBodyClass(){ + var section = $(SECTION_ACTIVE_SEL); + var slide = section.find(SLIDE_ACTIVE_SEL); + + var sectionAnchor = getAnchor(section); + var slideAnchor = getAnchor(slide); + + var text = String(sectionAnchor); + + if(slide.length){ + text = text + '-' + slideAnchor; + } + + //changing slash for dash to make it a valid CSS style + text = text.replace('/', '-').replace('#',''); + + //removing previous anchor classes + var classRe = new RegExp('\\b\\s?' + VIEWING_PREFIX + '-[^\\s]+\\b', "g"); + $body[0].className = $body[0].className.replace(classRe, ''); + + //adding the current anchor + $body.addClass(VIEWING_PREFIX + '-' + text); + } + + /** + * Checks for translate3d support + * @return boolean + * http://stackoverflow.com/questions/5661671/detecting-transform-translate3d-support + */ + function support3d() { + var el = document.createElement('p'), + has3d, + transforms = { + 'webkitTransform':'-webkit-transform', + 'OTransform':'-o-transform', + 'msTransform':'-ms-transform', + 'MozTransform':'-moz-transform', + 'transform':'transform' + }; + + // Add it to the body to get the computed style. + document.body.insertBefore(el, null); + + for (var t in transforms) { + if (el.style[t] !== undefined) { + el.style[t] = 'translate3d(1px,1px,1px)'; + has3d = window.getComputedStyle(el).getPropertyValue(transforms[t]); + } + } + + document.body.removeChild(el); + + return (has3d !== undefined && has3d.length > 0 && has3d !== 'none'); + } + + /** + * Removes the auto scrolling action fired by the mouse wheel and trackpad. + * After this function is called, the mousewheel and trackpad movements won't scroll through sections. + */ + function removeMouseWheelHandler(){ + if (document.addEventListener) { + document.removeEventListener('mousewheel', MouseWheelHandler, false); //IE9, Chrome, Safari, Oper + document.removeEventListener('wheel', MouseWheelHandler, false); //Firefox + document.removeEventListener('MozMousePixelScroll', MouseWheelHandler, false); //old Firefox + } else { + document.detachEvent('onmousewheel', MouseWheelHandler); //IE 6/7/8 + } + } + + /** + * Adds the auto scrolling action for the mouse wheel and trackpad. + * After this function is called, the mousewheel and trackpad movements will scroll through sections + * https://developer.mozilla.org/en-US/docs/Web/Events/wheel + */ + function addMouseWheelHandler(){ + var prefix = ''; + var _addEventListener; + + if (window.addEventListener){ + _addEventListener = "addEventListener"; + }else{ + _addEventListener = "attachEvent"; + prefix = 'on'; + } + + // detect available wheel event + var support = 'onwheel' in document.createElement('div') ? 'wheel' : // Modern browsers support "wheel" + document.onmousewheel !== undefined ? 'mousewheel' : // Webkit and IE support at least "mousewheel" + 'DOMMouseScroll'; // let's assume that remaining browsers are older Firefox + + + if(support == 'DOMMouseScroll'){ + document[ _addEventListener ](prefix + 'MozMousePixelScroll', MouseWheelHandler, false); + } + + //handle MozMousePixelScroll in older Firefox + else{ + document[ _addEventListener ](prefix + support, MouseWheelHandler, false); + } + } + + /** + * Binding the mousemove when the mouse's middle button is pressed + */ + function addMiddleWheelHandler(){ + container + .on('mousedown', mouseDownHandler) + .on('mouseup', mouseUpHandler); + } + + /** + * Unbinding the mousemove when the mouse's middle button is released + */ + function removeMiddleWheelHandler(){ + container + .off('mousedown', mouseDownHandler) + .off('mouseup', mouseUpHandler); + } + + /** + * Adds the possibility to auto scroll through sections on touch devices. + */ + function addTouchHandler(){ + if(options.autoScrolling && (isTouchDevice || isTouch)){ + //Microsoft pointers + var MSPointer = getMSPointer(); + + $body.off('touchmove ' + MSPointer.move).on('touchmove ' + MSPointer.move, preventBouncing); + + $(WRAPPER_SEL) + .off('touchstart ' + MSPointer.down).on('touchstart ' + MSPointer.down, touchStartHandler) + .off('touchmove ' + MSPointer.move).on('touchmove ' + MSPointer.move, touchMoveHandler); + } + } + + /** + * Removes the auto scrolling for touch devices. + */ + function removeTouchHandler(){ + if(isTouchDevice || isTouch){ + //Microsoft pointers + var MSPointer = getMSPointer(); + + $(WRAPPER_SEL) + .off('touchstart ' + MSPointer.down) + .off('touchmove ' + MSPointer.move); + } + } + + /* + * Returns and object with Microsoft pointers (for IE<11 and for IE >= 11) + * http://msdn.microsoft.com/en-us/library/ie/dn304886(v=vs.85).aspx + */ + function getMSPointer(){ + var pointer; + + //IE >= 11 & rest of browsers + if(window.PointerEvent){ + pointer = { down: 'pointerdown', move: 'pointermove'}; + } + + //IE < 11 + else{ + pointer = { down: 'MSPointerDown', move: 'MSPointerMove'}; + } + + return pointer; + } + + /** + * Gets the pageX and pageY properties depending on the browser. + * https://github.com/alvarotrigo/fullPage.js/issues/194#issuecomment-34069854 + */ + function getEventsPage(e){ + var events = []; + + events.y = (typeof e.pageY !== 'undefined' && (e.pageY || e.pageX) ? e.pageY : e.touches[0].pageY); + events.x = (typeof e.pageX !== 'undefined' && (e.pageY || e.pageX) ? e.pageX : e.touches[0].pageX); + + //in touch devices with scrollBar:true, e.pageY is detected, but we have to deal with touch events. #1008 + if(isTouch && isReallyTouch(e) && options.scrollBar){ + events.y = e.touches[0].pageY; + events.x = e.touches[0].pageX; + } + + return events; + } + + /** + * Slides silently (with no animation) the active slider to the given slide. + * @param noCallback {bool} true or defined -> no callbacks + */ + function silentLandscapeScroll(activeSlide, noCallbacks){ + setScrollingSpeed (0, 'internal'); + + if(typeof noCallbacks !== 'undefined'){ + //preventing firing callbacks afterSlideLoad etc. + isResizing = true; + } + + landscapeScroll(activeSlide.closest(SLIDES_WRAPPER_SEL), activeSlide); + + if(typeof noCallbacks !== 'undefined'){ + isResizing = false; + } + + setScrollingSpeed(originals.scrollingSpeed, 'internal'); + } + + /** + * Scrolls silently (with no animation) the page to the given Y position. + */ + function silentScroll(top){ + // The first section can have a negative value in iOS 10. Not quite sure why: -0.0142822265625 + // that's why we round it to 0. + var roundedTop = Math.round(top); + + if(options.scrollBar){ + container.scrollTop(roundedTop); + } + else if (options.css3) { + var translate3d = 'translate3d(0px, -' + roundedTop + 'px, 0px)'; + transformContainer(translate3d, false); + } + else { + container.css('top', -roundedTop); + } + } + + /** + * Returns the cross-browser transform string. + */ + function getTransforms(translate3d){ + return { + '-webkit-transform': translate3d, + '-moz-transform': translate3d, + '-ms-transform':translate3d, + 'transform': translate3d + }; + } + + /** + * Allowing or disallowing the mouse/swipe scroll in a given direction. (not for keyboard) + * @type m (mouse) or k (keyboard) + */ + function setIsScrollAllowed(value, direction, type){ + switch (direction){ + case 'up': isScrollAllowed[type].up = value; break; + case 'down': isScrollAllowed[type].down = value; break; + case 'left': isScrollAllowed[type].left = value; break; + case 'right': isScrollAllowed[type].right = value; break; + case 'all': + if(type == 'm'){ + setAllowScrolling(value); + }else{ + setKeyboardScrolling(value); + } + } + } + + /* + * Destroys fullpage.js plugin events and optinally its html markup and styles + */ + function destroy(all){ + setAutoScrolling(false, 'internal'); + setAllowScrolling(false); + setKeyboardScrolling(false); + container.addClass(DESTROYED); + + clearTimeout(afterSlideLoadsId); + clearTimeout(afterSectionLoadsId); + clearTimeout(resizeId); + clearTimeout(scrollId); + clearTimeout(scrollId2); + + $window + .off('scroll', scrollHandler) + .off('hashchange', hashChangeHandler) + .off('resize', resizeHandler); + + $document + .off('click touchstart', SECTION_NAV_SEL + ' a') + .off('mouseenter', SECTION_NAV_SEL + ' li') + .off('mouseleave', SECTION_NAV_SEL + ' li') + .off('click touchstart', SLIDES_NAV_LINK_SEL) + .off('mouseover', options.normalScrollElements) + .off('mouseout', options.normalScrollElements); + + $(SECTION_SEL) + .off('click touchstart', SLIDES_ARROW_SEL); + + clearTimeout(afterSlideLoadsId); + clearTimeout(afterSectionLoadsId); + + //lets make a mess! + if(all){ + destroyStructure(); + } + } + + /* + * Removes inline styles added by fullpage.js + */ + function destroyStructure(){ + //reseting the `top` or `translate` properties to 0 + silentScroll(0); + + //loading all the lazy load content + container.find('img[data-src], source[data-src], audio[data-src], iframe[data-src]').each(function(){ + $(this).attr('src', $(this).data('src')); + $(this).removeAttr('data-src'); + }); + + $(SECTION_NAV_SEL + ', ' + SLIDES_NAV_SEL + ', ' + SLIDES_ARROW_SEL).remove(); + + //removing inline styles + $(SECTION_SEL).css( { + 'height': '', + 'background-color' : '', + 'padding': '' + }); + + $(SLIDE_SEL).css( { + 'width': '' + }); + + container.css({ + 'height': '', + 'position': '', + '-ms-touch-action': '', + 'touch-action': '' + }); + + $htmlBody.css({ + 'overflow': '', + 'height': '' + }); + + // remove .fp-enabled class + $('html').removeClass(ENABLED); + + // remove .fp-responsive class + $body.removeClass(RESPONSIVE); + + // remove all of the .fp-viewing- classes + $.each($body.get(0).className.split(/\s+/), function (index, className) { + if (className.indexOf(VIEWING_PREFIX) === 0) { + $body.removeClass(className); + } + }); + + //removing added classes + $(SECTION_SEL + ', ' + SLIDE_SEL).each(function(){ + options.scrollOverflowHandler.remove($(this)); + $(this).removeClass(TABLE + ' ' + ACTIVE); + }); + + removeAnimation(container); + + //Unwrapping content + container.find(TABLE_CELL_SEL + ', ' + SLIDES_CONTAINER_SEL + ', ' + SLIDES_WRAPPER_SEL).each(function(){ + //unwrap not being use in case there's no child element inside and its just text + $(this).replaceWith(this.childNodes); + }); + + //scrolling the page to the top with no animation + $htmlBody.scrollTop(0); + + //removing selectors + var usedSelectors = [SECTION, SLIDE, SLIDES_CONTAINER]; + $.each(usedSelectors, function(index, value){ + $('.' + value).removeClass(value); + }); + } + + /* + * Sets the state for a variable with multiple states (original, and temporal) + * Some variables such as `autoScrolling` or `recordHistory` might change automatically its state when using `responsive` or `autoScrolling:false`. + * This function is used to keep track of both states, the original and the temporal one. + * If type is not 'internal', then we assume the user is globally changing the variable. + */ + function setVariableState(variable, value, type){ + options[variable] = value; + if(type !== 'internal'){ + originals[variable] = value; + } + } + + /** + * Displays warnings + */ + function displayWarnings(){ + var extensions = ['fadingEffect', 'continuousHorizontal', 'scrollHorizontally', 'interlockedSlides', 'resetSliders', 'responsiveSlides']; + if($('html').hasClass(ENABLED)){ + showError('error', 'Fullpage.js can only be initialized once and you are doing it multiple times!'); + return; + } + + // Disable mutually exclusive settings + if (options.continuousVertical && + (options.loopTop || options.loopBottom)) { + options.continuousVertical = false; + showError('warn', 'Option `loopTop/loopBottom` is mutually exclusive with `continuousVertical`; `continuousVertical` disabled'); + } + + if(options.scrollBar && options.scrollOverflow){ + showError('warn', 'Option `scrollBar` is mutually exclusive with `scrollOverflow`. Sections with scrollOverflow might not work well in Firefox'); + } + + if(options.continuousVertical && options.scrollBar){ + options.continuousVertical = false; + showError('warn', 'Option `scrollBar` is mutually exclusive with `continuousVertical`; `continuousVertical` disabled'); + } + + //using extensions? Wrong file! + extensions.forEach(function(extension){ + //is the option set to true? + if(options[extension]){ + showError('warn', 'fullpage.js extensions require jquery.fullpage.extensions.min.js file instead of the usual jquery.fullpage.js. Requested: '+ extension); + } + }); + + //anchors can not have the same value as any element ID or NAME + $.each(options.anchors, function(index, name){ + + //case insensitive selectors (http://stackoverflow.com/a/19465187/1081396) + var nameAttr = $document.find('[name]').filter(function() { + return $(this).attr('name') && $(this).attr('name').toLowerCase() == name.toLowerCase(); + }); + + var idAttr = $document.find('[id]').filter(function() { + return $(this).attr('id') && $(this).attr('id').toLowerCase() == name.toLowerCase(); + }); + + if(idAttr.length || nameAttr.length ){ + showError('error', 'data-anchor tags can not have the same value as any `id` element on the site (or `name` element for IE).'); + idAttr.length && showError('error', '"' + name + '" is is being used by another element `id` property'); + nameAttr.length && showError('error', '"' + name + '" is is being used by another element `name` property'); + } + }); + } + + /** + * Shows a message in the console of the given type. + */ + function showError(type, text){ + console && console[type] && console[type]('fullPage: ' + text); + } + + }; //end of $.fn.fullpage + + if(typeof IScroll !== 'undefined'){ + /* + * Turns iScroll `mousewheel` option off dynamically + * https://github.com/cubiq/iscroll/issues/1036 + */ + IScroll.prototype.wheelOn = function () { + this.wrapper.addEventListener('wheel', this); + this.wrapper.addEventListener('mousewheel', this); + this.wrapper.addEventListener('DOMMouseScroll', this); + }; + + /* + * Turns iScroll `mousewheel` option on dynamically + * https://github.com/cubiq/iscroll/issues/1036 + */ + IScroll.prototype.wheelOff = function () { + this.wrapper.removeEventListener('wheel', this); + this.wrapper.removeEventListener('mousewheel', this); + this.wrapper.removeEventListener('DOMMouseScroll', this); + }; + } + + /** + * An object to handle overflow scrolling. + * This uses jquery.slimScroll to accomplish overflow scrolling. + * It is possible to pass in an alternate scrollOverflowHandler + * to the fullpage.js option that implements the same functions + * as this handler. + * + * @type {Object} + */ + var iscrollHandler = { + refreshId: null, + iScrollInstances: [], + + /** + * Turns off iScroll for the destination section. + * When scrolling very fast on some trackpads (and Apple laptops) the inertial scrolling would + * scroll the destination section/slide before the sections animations ends. + */ + onLeave: function(){ + var scroller = $(SECTION_ACTIVE_SEL).find(SCROLLABLE_SEL).data('iscrollInstance'); + if(typeof scroller !== 'undefined' && scroller){ + scroller.wheelOff(); + } + }, + + // Turns off iScroll for the leaving section + beforeLeave: function(){ + iscrollHandler.onLeave() + }, + + // Turns on iScroll on section load + afterLoad: function(){ + var scroller = $(SECTION_ACTIVE_SEL).find(SCROLLABLE_SEL).data('iscrollInstance'); + if(typeof scroller !== 'undefined' && scroller){ + scroller.wheelOn(); + } + }, + + /** + * Called when overflow scrolling is needed for a section. + * + * @param {Object} element jQuery object containing current section + * @param {Number} scrollHeight Current window height in pixels + */ + create: function(element, scrollHeight) { + var scrollable = element.find(SCROLLABLE_SEL); + + scrollable.height(scrollHeight); + scrollable.each(function() { + var $this = jQuery(this); + var iScrollInstance = $this.data('iscrollInstance'); + if (iScrollInstance) { + $.each(iscrollHandler.iScrollInstances, function(){ + $(this).destroy(); + }); + } + + iScrollInstance = new IScroll($this.get(0), iscrollOptions); + iscrollHandler.iScrollInstances.push(iScrollInstance); + + //off by default until the section gets active + iScrollInstance.wheelOff(); + + $this.data('iscrollInstance', iScrollInstance); + }); + }, + + /** + * Return a boolean depending on whether the scrollable element is a + * the end or at the start of the scrolling depending on the given type. + * + * @param {String} type Either 'top' or 'bottom' + * @param {Object} scrollable jQuery object for the scrollable element + * @return {Boolean} + */ + isScrolled: function(type, scrollable) { + var scroller = scrollable.data('iscrollInstance'); + + //no scroller? + if (!scroller) { + return true; + } + + if (type === 'top') { + return scroller.y >= 0 && !scrollable.scrollTop(); + } else if (type === 'bottom') { + return (0 - scroller.y) + scrollable.scrollTop() + 1 + scrollable.innerHeight() >= scrollable[0].scrollHeight; + } + }, + + /** + * Returns the scrollable element for the given section. + * If there are landscape slides, will only return a scrollable element + * if it is in the active slide. + * + * @param {Object} activeSection jQuery object containing current section + * @return {Boolean} + */ + scrollable: function(activeSection){ + // if there are landscape slides, we check if the scrolling bar is in the current one or not + if (activeSection.find(SLIDES_WRAPPER_SEL).length) { + return activeSection.find(SLIDE_ACTIVE_SEL).find(SCROLLABLE_SEL); + } + return activeSection.find(SCROLLABLE_SEL); + }, + + /** + * Returns the scroll height of the wrapped content. + * If this is larger than the window height minus section padding, + * overflow scrolling is needed. + * + * @param {Object} element jQuery object containing current section + * @return {Number} + */ + scrollHeight: function(element) { + return element.find(SCROLLABLE_SEL).children().first().get(0).scrollHeight; + }, + + /** + * Called when overflow scrolling is no longer needed for a section. + * + * @param {Object} element jQuery object containing current section + */ + remove: function(element) { + var scrollable = element.find(SCROLLABLE_SEL); + if (scrollable.length) { + var iScrollInstance = scrollable.data('iscrollInstance'); + iScrollInstance.destroy(); + + scrollable.data('iscrollInstance', null); + } + element.find(SCROLLABLE_SEL).children().first().children().first().unwrap().unwrap(); + }, + + /** + * Called when overflow scrolling has already been setup but the + * window height has potentially changed. + * + * @param {Object} element jQuery object containing current section + * @param {Number} scrollHeight Current window height in pixels + */ + update: function(element, scrollHeight) { + //using a timeout in order to execute the refresh function only once when `update` is called multiple times in a + //short period of time. + //it also comes on handy because iScroll requires the use of timeout when using `refresh`. + clearTimeout(iscrollHandler.refreshId); + iscrollHandler.refreshId = setTimeout(function(){ + $.each(iscrollHandler.iScrollInstances, function(){ + $(this).get(0).refresh(); + }); + }, 150); + + //updating the wrappers height + element.find(SCROLLABLE_SEL).css('height', scrollHeight + 'px').parent().css('height', scrollHeight + 'px'); + }, + + /** + * Called to get any additional elements needed to wrap the section + * content in order to facilitate overflow scrolling. + * + * @return {String|Object} Can be a string containing HTML, + * a DOM element, or jQuery object. + */ + wrapContent: function() { + return '
                                                                            '; + } + }; +}); \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/js/jquery.fullpage.min.js b/web/html/theme/FT_WEB20/js/jquery.fullpage.min.js new file mode 100644 index 0000000..127f7ff --- /dev/null +++ b/web/html/theme/FT_WEB20/js/jquery.fullpage.min.js @@ -0,0 +1,9 @@ +/*! + * fullPage 2.9.7 + * https://github.com/alvarotrigo/fullPage.js + * @license MIT licensed + * + * Copyright (C) 2015 alvarotrigo.com - A project by Alvaro Trigo + */ +!function(e,o){"use strict";"function"==typeof define&&define.amd?define(["jquery"],function(n){return o(n,e,e.document,e.Math)}):"object"==typeof exports&&exports?module.exports=o(require("jquery"),e,e.document,e.Math):o(jQuery,e,e.document,e.Math)}("undefined"!=typeof window?window:this,function(e,o,n,t,i){"use strict";var a="fullpage-wrapper",l="."+a,s="fp-responsive",r="fp-notransition",c="fp-destroyed",d="fp-enabled",f="fp-viewing",u="active",h="."+u,v="fp-completely",p="."+v,g="fp-section",m="."+g,w=m+h,S=m+":first",b=m+":last",x="fp-tableCell",y="."+x,C="fp-auto-height",T="fp-normal-scroll",k="fp-nav",L="#"+k,A="fp-tooltip",O="."+A,I="fp-show-active",E="fp-slide",M="."+E,B=M+h,R="fp-slides",z="."+R,H="fp-slidesContainer",D="."+H,P="fp-table",q="fp-slidesNav",F="."+q,V=F+" a",j="fp-controlArrow",Y="."+j,N="fp-prev",X=j+" "+N,U=Y+("."+N),W="fp-next",K=j+" "+W,_=Y+".fp-next",Q=e(o),G=e(n);e.fn.fullpage=function(j){if(e("html").hasClass(d))$o();else{var W=e("html, body"),J=e("body"),Z=e.fn.fullpage;j=e.extend({menu:!1,anchors:[],lockAnchors:!1,navigation:!1,navigationPosition:"right",navigationTooltips:[],showActiveTooltip:!1,slidesNavigation:!1,slidesNavPosition:"bottom",scrollBar:!1,hybrid:!1,css3:!0,scrollingSpeed:700,autoScrolling:!0,fitToSection:!0,fitToSectionDelay:1e3,easing:"easeInOutCubic",easingcss3:"ease",loopBottom:!1,loopTop:!1,loopHorizontal:!0,continuousVertical:!1,continuousHorizontal:!1,scrollHorizontally:!1,interlockedSlides:!1,dragAndMove:!1,offsetSections:!1,resetSliders:!1,fadingEffect:!1,normalScrollElements:null,scrollOverflow:!1,scrollOverflowReset:!1,scrollOverflowHandler:e.fn.fp_scrolloverflow?e.fn.fp_scrolloverflow.iscrollHandler:null,scrollOverflowOptions:null,touchSensitivity:5,normalScrollElementTouchThreshold:5,bigSectionsDestination:null,keyboardScrolling:!0,animateAnchor:!0,recordHistory:!0,controlArrows:!0,controlArrowColor:"#fff",verticalCentered:!0,sectionsColor:[],paddingTop:0,paddingBottom:0,fixedElements:null,responsive:0,responsiveWidth:0,responsiveHeight:0,responsiveSlides:!1,parallax:!1,parallaxOptions:{type:"reveal",percentage:62,property:"translate"},sectionSelector:".section",slideSelector:".slide",afterLoad:null,onLeave:null,afterRender:null,afterResize:null,afterReBuild:null,afterSlideLoad:null,onSlideLeave:null,afterResponsive:null,lazyLoading:!0},j);var $,ee,oe,ne,te=!1,ie=navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/),ae="ontouchstart"in o||navigator.msMaxTouchPoints>0||navigator.maxTouchPoints,le=e(this),se=Q.height(),re=!1,ce=!0,de=!0,fe=[],ue={m:{up:!0,down:!0,left:!0,right:!0}};ue.k=e.extend(!0,{},ue.m);var he,ve,pe,ge,me,we,Se,be=function(){var e;e=o.PointerEvent?{down:"pointerdown",move:"pointermove"}:{down:"MSPointerDown",move:"MSPointerMove"};return e}(),xe={touchmove:"ontouchmove"in o?"touchmove":be.move,touchstart:"ontouchstart"in o?"touchstart":be.down},ye='a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]',Ce=e.extend(!0,{},j);$o(),e.extend(e.easing,{easeInOutCubic:function(e,o,n,t,i){return(o/=i/2)<1?t/2*o*o*o+n:t/2*((o-=2)*o*o+2)+n}}),e(this).length&&(Z.version="2.9.6",Z.setAutoScrolling=ze,Z.setRecordHistory=He,Z.setScrollingSpeed=De,Z.setFitToSection=Pe,Z.setLockAnchors=function(e){j.lockAnchors=e},Z.setMouseWheelScrolling=qe,Z.setAllowScrolling=Fe,Z.setKeyboardScrolling=Ve,Z.moveSectionUp=je,Z.moveSectionDown=Ye,Z.silentMoveTo=Ne,Z.moveTo=Xe,Z.moveSlideRight=Ue,Z.moveSlideLeft=We,Z.fitToSection=Je,Z.reBuild=Ke,Z.setResponsive=_e,Z.destroy=function(o){ze(!1,"internal"),Fe(!1),Ve(!1),le.addClass(c),clearTimeout(ge),clearTimeout(pe),clearTimeout(ve),clearTimeout(me),clearTimeout(we),Q.off("scroll",Ge).off("hashchange",mo).off("resize",Mo),G.off("keydown",So).off("keyup",xo).off("click touchstart",L+" a").off("mouseenter",L+" li").off("mouseleave",L+" li").off("click touchstart",V).off("mouseover",j.normalScrollElements).off("mouseout",j.normalScrollElements),e(m).off("click touchstart",Y),clearTimeout(ge),clearTimeout(pe),o&&function(){Qo(0),le.find("img[data-src], source[data-src], audio[data-src], iframe[data-src]").each(function(){co(e(this),"src")}),le.find("img[data-srcset]").each(function(){co(e(this),"srcset")}),e(L+", "+F+", "+Y).remove(),e(m).css({height:"","background-color":"",padding:""}),e(M).css({width:""}),le.css({height:"",position:"","-ms-touch-action":"","touch-action":""}),W.css({overflow:"",height:""}),e("html").removeClass(d),J.removeClass(s),e.each(J.get(0).className.split(/\s+/),function(e,o){0===o.indexOf(f)&&J.removeClass(o)}),e(m+", "+M).each(function(){j.scrollOverflowHandler&&j.scrollOverflowHandler.remove(e(this)),e(this).removeClass(P+" "+u),e(this).attr("style",e(this).data("fp-styles"))}),zo(le),le.find(y+", "+D+", "+z).each(function(){e(this).replaceWith(this.childNodes)}),le.css({"-webkit-transition":"none",transition:"none"}),W.scrollTop(0);var o=[g,E,H];e.each(o,function(o,n){e("."+n).removeClass(n)})}()},Z.shared={afterRenderActions:Qe},function(){j.css3&&(j.css3=function(){var e,t=n.createElement("p"),a={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};for(var l in n.body.insertBefore(t,null),a)t.style[l]!==i&&(t.style[l]="translate3d(1px,1px,1px)",e=o.getComputedStyle(t).getPropertyValue(a[l]));return n.body.removeChild(t),e!==i&&e.length>0&&"none"!==e}());j.scrollBar=j.scrollBar||j.hybrid,t=le.find(j.sectionSelector),j.anchors.length||(j.anchors=t.filter("[data-anchor]").map(function(){return e(this).data("anchor").toString()}).get()),j.navigationTooltips.length||(j.navigationTooltips=t.filter("[data-tooltip]").map(function(){return e(this).data("tooltip").toString()}).get()),le.css({height:"100%",position:"relative"}),le.addClass(a),e("html").addClass(d),se=Q.height(),le.removeClass(c),le.find(j.sectionSelector).addClass(g),le.find(j.slideSelector).addClass(E),e(m).each(function(o){var n,t,i,a,s=e(this),r=s.find(M),c=r.length;s.data("fp-styles",s.attr("style")),i=s,(a=o)||0!==e(w).length||i.addClass(u),ne=e(w),i.css("height",se+"px"),j.paddingTop&&i.css("padding-top",j.paddingTop),j.paddingBottom&&i.css("padding-bottom",j.paddingBottom),void 0!==j.sectionsColor[a]&&i.css("background-color",j.sectionsColor[a]),void 0!==j.anchors[a]&&i.attr("data-anchor",j.anchors[a]),n=s,t=o,void 0!==j.anchors[t]&&n.hasClass(u)&&Ho(j.anchors[t],t),j.menu&&j.css3&&e(j.menu).closest(l).length&&e(j.menu).appendTo(J),c>0?function(o,n,t){var i,a=100*t,l=100/t;n.wrapAll('
                                                                            '),n.parent().wrap('
                                                                            '),o.find(D).css("width",a+"%"),t>1&&(j.controlArrows&&((i=o).find(z).after('
                                                                            '),"#fff"!=j.controlArrowColor&&(i.find(_).css("border-color","transparent transparent transparent "+j.controlArrowColor),i.find(U).css("border-color","transparent "+j.controlArrowColor+" transparent transparent")),j.loopHorizontal||i.find(U).hide()),j.slidesNavigation&&function(e,o){e.append('
                                                                              ');var n=e.find(F);n.addClass(j.slidesNavPosition);for(var t=0;t');n.css("margin-left","-"+n.width()/2+"px"),n.find("li").first().find("a").addClass(u)}(o,t)),n.each(function(o){e(this).css("width",l+"%"),j.verticalCentered&&Po(e(this))});var s=o.find(B);s.length&&(0!==e(w).index(m)||0===e(w).index(m)&&0!==s.index())?_o(s,"internal"):n.eq(0).addClass(u)}(s,r,c):j.verticalCentered&&Po(s)}),j.fixedElements&&j.css3&&e(j.fixedElements).appendTo(J),j.navigation&&function(){J.append('
                                                                                ');var o=e(L);o.addClass(function(){return j.showActiveTooltip?I+" "+j.navigationPosition:j.navigationPosition});for(var n=0;n',a=j.navigationTooltips[n];void 0!==a&&""!==a&&(i+='
                                                                                '+a+"
                                                                                "),i+="",o.find("ul").append(i)}e(L).css("margin-top","-"+e(L).height()/2+"px"),e(L).find("li").eq(e(w).index(m)).find("a").addClass(u)}(),le.find('iframe[src*="youtube.com/embed/"]').each(function(){var o,n,t;o=e(this),n="enablejsapi=1",t=o.attr("src"),o.attr("src",t+(/\?/.test(t)?"&":"?")+n)}),j.scrollOverflow?he=j.scrollOverflowHandler.init(j):Qe(),Fe(!0),ze(j.autoScrolling,"internal"),Bo(),Wo(),"complete"===n.readyState&&go();var t;Q.on("load",go)}(),Q.on("scroll",Ge).on("hashchange",mo).blur(ko).resize(Mo),G.keydown(So).keyup(xo).on("click touchstart",L+" a",Lo).on("click touchstart",V,Ao).on("click",O,bo),e(m).on("click touchstart",Y,To),j.normalScrollElements&&(G.on("mouseenter touchstart",j.normalScrollElements,function(){Fe(!1)}),G.on("mouseleave touchend",j.normalScrollElements,function(){Fe(!0)})));var Te=!1,ke=0,Le=0,Ae=0,Oe=0,Ie=0,Ee=(new Date).getTime(),Me=0,Be=0,Re=se}function ze(o,n){o||Qo(0),Zo("autoScrolling",o,n);var t=e(w);j.autoScrolling&&!j.scrollBar?(W.css({overflow:"hidden",height:"100%"}),He(Ce.recordHistory,"internal"),le.css({"-ms-touch-action":"none","touch-action":"none"}),t.length&&Qo(t.position().top)):(W.css({overflow:"visible",height:"initial"}),He(!1,"internal"),le.css({"-ms-touch-action":"","touch-action":""}),t.length&&W.scrollTop(t.position().top))}function He(e,o){Zo("recordHistory",e,o)}function De(e,o){Zo("scrollingSpeed",e,o)}function Pe(e,o){Zo("fitToSection",e,o)}function qe(e){e?(!function(){var e,t="";o.addEventListener?e="addEventListener":(e="attachEvent",t="on");var a="onwheel"in n.createElement("div")?"wheel":n.onmousewheel!==i?"mousewheel":"DOMMouseScroll";"DOMMouseScroll"==a?n[e](t+"MozMousePixelScroll",io,!1):n[e](t+a,io,!1)}(),le.on("mousedown",yo).on("mouseup",Co)):(n.addEventListener?(n.removeEventListener("mousewheel",io,!1),n.removeEventListener("wheel",io,!1),n.removeEventListener("MozMousePixelScroll",io,!1)):n.detachEvent("onmousewheel",io),le.off("mousedown",yo).off("mouseup",Co))}function Fe(o,n){void 0!==n?(n=n.replace(/ /g,"").split(","),e.each(n,function(e,n){Jo(o,n,"m")})):(Jo(o,"all","m"),o?(qe(!0),(ie||ae)&&(j.autoScrolling&&J.off(xe.touchmove).on(xe.touchmove,$e),e(l).off(xe.touchstart).on(xe.touchstart,no).off(xe.touchmove).on(xe.touchmove,eo))):(qe(!1),(ie||ae)&&(j.autoScrolling&&J.off(xe.touchmove),e(l).off(xe.touchstart).off(xe.touchmove))))}function Ve(o,n){void 0!==n?(n=n.replace(/ /g,"").split(","),e.each(n,function(e,n){Jo(o,n,"k")})):(Jo(o,"all","k"),j.keyboardScrolling=o)}function je(){var o=e(w).prev(m);o.length||!j.loopTop&&!j.continuousVertical||(o=e(m).last()),o.length&&so(o,null,!0)}function Ye(){var o=e(w).next(m);o.length||!j.loopBottom&&!j.continuousVertical||(o=e(m).first()),o.length&&so(o,null,!1)}function Ne(e,o){De(0,"internal"),Xe(e,o),De(Ce.scrollingSpeed,"internal")}function Xe(e,o){var n=Vo(e);void 0!==o?jo(e,o):n.length>0&&so(n)}function Ue(e){ao("right",e)}function We(e){ao("left",e)}function Ke(o){if(!le.hasClass(c)){re=!0,se=Q.height(),e(m).each(function(){var o=e(this).find(z),n=e(this).find(M);j.verticalCentered&&e(this).find(y).css("height",qo(e(this))+"px"),e(this).css("height",se+"px"),n.length>1&&Io(o,o.find(B))}),j.scrollOverflow&&he.createScrollBarForAll();var n=e(w).index(m);n&&Ne(n+1),re=!1,e.isFunction(j.afterResize)&&o&&j.afterResize.call(le),e.isFunction(j.afterReBuild)&&!o&&j.afterReBuild.call(le)}}function _e(o){var n=J.hasClass(s);o?n||(ze(!1,"internal"),Pe(!1,"internal"),e(L).hide(),J.addClass(s),e.isFunction(j.afterResponsive)&&j.afterResponsive.call(le,o)):n&&(ze(Ce.autoScrolling,"internal"),Pe(Ce.autoScrolling,"internal"),e(L).show(),J.removeClass(s),e.isFunction(j.afterResponsive)&&j.afterResponsive.call(le,o))}function Qe(){var o,n=e(w);n.addClass(v),fo(n),uo(n),j.scrollOverflow&&j.scrollOverflowHandler.afterLoad(),(!(o=Vo(wo().section))||o.length&&o.index()===ne.index())&&e.isFunction(j.afterLoad)&&j.afterLoad.call(n,n.data("anchor"),n.index(m)+1),e.isFunction(j.afterRender)&&j.afterRender.call(le)}function Ge(){var o,t,i;if(!j.autoScrolling||j.scrollBar){var a=Q.scrollTop(),l=(i=(t=a)>ke?"down":"up",ke=t,Me=t,i),s=0,r=a+Q.height()/2,c=J.height()-Q.height()===a,d=n.querySelectorAll(m);if(c)s=d.length-1;else if(a)for(var f=0;f=Q.scrollTop()+Q.height();return n<=Q.scrollTop()}(l)&&(e(w).hasClass(v)||e(w).addClass(v).siblings().removeClass(v)),!(o=e(d).eq(s)).hasClass(u)){Te=!0;var h,p,g=e(w),S=g.index(m)+1,b=Do(o),x=o.data("anchor"),y=o.index(m)+1,C=o.find(B);C.length&&(p=C.data("anchor"),h=C.index()),de&&(o.addClass(u).siblings().removeClass(u),e.isFunction(j.onLeave)&&j.onLeave.call(g,S,y,b),e.isFunction(j.afterLoad)&&j.afterLoad.call(o,x,y),vo(g),fo(o),uo(o),Ho(x,y-1),j.anchors.length&&($=x),No(h,p,x,y)),clearTimeout(me),me=setTimeout(function(){Te=!1},100)}j.fitToSection&&(clearTimeout(we),we=setTimeout(function(){j.fitToSection&&e(w).outerHeight()<=se&&Je()},j.fitToSectionDelay))}}function Je(){de&&(re=!0,so(e(w)),re=!1)}function Ze(o){if(ue.m[o]){var n="down"===o?Ye:je;if(j.scrollOverflow){var t=j.scrollOverflowHandler.scrollable(e(w)),i="down"===o?"bottom":"top";if(t.length>0){if(!j.scrollOverflowHandler.isScrolled(i,t))return!0;n()}else n()}else n()}}function $e(e){var o=e.originalEvent;j.autoScrolling&&oo(o)&&e.preventDefault()}function eo(o){var n=o.originalEvent,i=e(n.target).closest(m);if(oo(n)){j.autoScrolling&&o.preventDefault();var a=Ko(n);Oe=a.y,Ie=a.x,i.find(z).length&&t.abs(Ae-Ie)>t.abs(Le-Oe)?!te&&t.abs(Ae-Ie)>Q.outerWidth()/100*j.touchSensitivity&&(Ae>Ie?ue.m.right&&Ue(i):ue.m.left&&We(i)):j.autoScrolling&&de&&t.abs(Le-Oe)>Q.height()/100*j.touchSensitivity&&(Le>Oe?Ze("down"):Oe>Le&&Ze("up"))}}function oo(e){return void 0===e.pointerType||"mouse"!=e.pointerType}function no(e){var o=e.originalEvent;if(j.fitToSection&&W.stop(),oo(o)){var n=Ko(o);Le=n.y,Ae=n.x}}function to(e,o){for(var n=0,i=e.slice(t.max(e.length-o,1)),a=0;a149&&fe.shift(),fe.push(t.abs(l)),j.scrollBar&&(n.preventDefault?n.preventDefault():n.returnValue=!1);var d=i-Ee;if(Ee=i,d>200&&(fe=[]),de)to(fe,10)>=to(fe,70)&&c&&Ze(s<0?"down":"up");return!1}j.fitToSection&&W.stop()}function ao(o,n){var t=(void 0===n?e(w):n).find(z),i=t.find(M).length;if(!(!t.length||te||i<2)){var a=t.find(B),l=null;if(!(l="left"===o?a.prev(M):a.next(M)).length){if(!j.loopHorizontal)return;l="left"===o?a.siblings(":last"):a.siblings(":first")}te=!0,Io(t,l,o)}}function lo(){e(B).each(function(){_o(e(this),"internal")})}function so(o,n,i){if(void 0!==o){var a,s,r,c,d,f,h,v,p={element:o,callback:n,isMovementUp:i,dtop:(s=(a=o).position(),r=s.top,c=s.top>Me,d=r-se+a.outerHeight(),f=j.bigSectionsDestination,a.outerHeight()>se?(c||f)&&"bottom"!==f||(r=d):(c||re&&a.is(":last-child"))&&(r=d),Me=r,r),yMovement:Do(o),anchorLink:o.data("anchor"),sectionIndex:o.index(m),activeSlide:o.find(B),activeSection:e(w),leavingSection:e(w).index(m)+1,localIsResizing:re};if(!(p.activeSection.is(o)&&!re||j.scrollBar&&Q.scrollTop()===p.dtop&&!o.hasClass(C))){if(p.activeSlide.length&&(h=p.activeSlide.data("anchor"),v=p.activeSlide.index()),e.isFunction(j.onLeave)&&!p.localIsResizing){var g=p.yMovement;if(void 0!==i&&(g=i?"up":"down"),!1===j.onLeave.call(p.activeSection,p.leavingSection,p.sectionIndex+1,g))return}j.autoScrolling&&j.continuousVertical&&void 0!==p.isMovementUp&&(!p.isMovementUp&&"up"==p.yMovement||p.isMovementUp&&"down"==p.yMovement)&&(p=function(o){o.isMovementUp?e(w).before(o.activeSection.nextAll(m)):e(w).after(o.activeSection.prevAll(m).get().reverse());return Qo(e(w).position().top),lo(),o.wrapAroundElements=o.activeSection,o.dtop=o.element.position().top,o.yMovement=Do(o.element),o.leavingSection=o.activeSection.index(m)+1,o.sectionIndex=o.element.index(m),o}(p)),p.localIsResizing||vo(p.activeSection),j.scrollOverflow&&j.scrollOverflowHandler.beforeLeave(),o.addClass(u).siblings().removeClass(u),fo(o),j.scrollOverflow&&j.scrollOverflowHandler.onLeave(),de=!1,No(v,h,p.anchorLink,p.sectionIndex),function(o){if(j.css3&&j.autoScrolling&&!j.scrollBar){var n="translate3d(0px, -"+t.round(o.dtop)+"px, 0px)";Fo(n,!0),j.scrollingSpeed?(clearTimeout(pe),pe=setTimeout(function(){ro(o)},j.scrollingSpeed)):ro(o)}else{var i=function(e){var o={};j.autoScrolling&&!j.scrollBar?(o.options={top:-e.dtop},o.element=l):(o.options={scrollTop:e.dtop},o.element="html, body");return o}(o);e(i.element).animate(i.options,j.scrollingSpeed,j.easing).promise().done(function(){j.scrollBar?setTimeout(function(){ro(o)},30):ro(o)})}}(p),$=p.anchorLink,Ho(p.anchorLink,p.sectionIndex)}}}function ro(o){var n;(n=o).wrapAroundElements&&n.wrapAroundElements.length&&(n.isMovementUp?e(S).before(n.wrapAroundElements):e(b).after(n.wrapAroundElements),Qo(e(w).position().top),lo()),e.isFunction(j.afterLoad)&&!o.localIsResizing&&j.afterLoad.call(o.element,o.anchorLink,o.sectionIndex+1),j.scrollOverflow&&j.scrollOverflowHandler.afterLoad(),o.localIsResizing||uo(o.element),o.element.addClass(v).siblings().removeClass(v),de=!0,e.isFunction(o.callback)&&o.callback.call(this)}function co(e,o){e.attr(o,e.data(o)).removeAttr("data-"+o)}function fo(o){var n;j.lazyLoading&&po(o).find("img[data-src], img[data-srcset], source[data-src], source[data-srcset], video[data-src], audio[data-src], iframe[data-src]").each(function(){if(n=e(this),e.each(["src","srcset"],function(e,o){var t=n.attr("data-"+o);void 0!==t&&t&&co(n,o)}),n.is("source")){var o=n.closest("video").length?"video":"audio";n.closest(o).get(0).load()}})}function uo(o){var n=po(o);n.find("video, audio").each(function(){var o=e(this).get(0);o.hasAttribute("data-autoplay")&&"function"==typeof o.play&&o.play()}),n.find('iframe[src*="youtube.com/embed/"]').each(function(){var o=e(this).get(0);o.hasAttribute("data-autoplay")&&ho(o),o.onload=function(){o.hasAttribute("data-autoplay")&&ho(o)}})}function ho(e){e.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")}function vo(o){var n=po(o);n.find("video, audio").each(function(){var o=e(this).get(0);o.hasAttribute("data-keepplaying")||"function"!=typeof o.pause||o.pause()}),n.find('iframe[src*="youtube.com/embed/"]').each(function(){var o=e(this).get(0);/youtube\.com\/embed\//.test(e(this).attr("src"))&&!o.hasAttribute("data-keepplaying")&&e(this).get(0).contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")})}function po(o){var n=o.find(B);return n.length&&(o=e(n)),o}function go(){var e=wo(),o=e.section,n=e.slide;o&&(j.animateAnchor?jo(o,n):Ne(o,n))}function mo(){if(!Te&&!j.lockAnchors){var e=wo(),o=e.section,n=e.slide,t=void 0===$,i=void 0===$&&void 0===n&&!te;o&&o.length&&(o&&o!==$&&!t||i||!te&&ee!=n)&&jo(o,n)}}function wo(){var e,n,t=o.location.hash;if(t.length){var i=t.replace("#","").split("/"),a=t.indexOf("#/")>-1;e=a?"/"+i[1]:decodeURIComponent(i[0]);var l=a?i[2]:i[1];l&&l.length&&(n=decodeURIComponent(l))}return{section:e,slide:n}}function So(o){clearTimeout(Se);var n=e(":focus"),t=o.which;if(9===t)!function(o){var n=o.shiftKey,t=e(":focus"),i=e(w),a=i.find(B),l=(a.length?a:i).find(ye).not('[tabindex="-1"]');function s(e){return e.preventDefault(),l.first().focus()}t.length?t.closest(w,B).length||(t=s(o)):s(o);(!n&&t.is(l.last())||n&&t.is(l.first()))&&o.preventDefault()}(o);else if(!n.is("textarea")&&!n.is("input")&&!n.is("select")&&"true"!==n.attr("contentEditable")&&""!==n.attr("contentEditable")&&j.keyboardScrolling&&j.autoScrolling){e.inArray(t,[40,38,32,33,34])>-1&&o.preventDefault(),oe=o.ctrlKey,Se=setTimeout(function(){!function(o){var n=o.shiftKey;if(!de&&[37,39].indexOf(o.which)<0)return;switch(o.which){case 38:case 33:ue.k.up&&je();break;case 32:if(n&&ue.k.up){je();break}case 40:case 34:ue.k.down&&Ye();break;case 36:ue.k.up&&Xe(1);break;case 35:ue.k.down&&Xe(e(m).length);break;case 37:ue.k.left&&We();break;case 39:ue.k.right&&Ue();break;default:;}}(o)},150)}}function bo(){e(this).prev().trigger("click")}function xo(e){ce&&(oe=e.ctrlKey)}function yo(e){2==e.which&&(Be=e.pageY,le.on("mousemove",Oo))}function Co(e){2==e.which&&le.off("mousemove")}function To(){var o=e(this).closest(m);e(this).hasClass(N)?ue.m.left&&We(o):ue.m.right&&Ue(o)}function ko(){ce=!1,oe=!1}function Lo(o){o.preventDefault();var n=e(this).parent().index();so(e(m).eq(n))}function Ao(o){o.preventDefault();var n=e(this).closest(m).find(z);Io(n,n.find(M).eq(e(this).closest("li").index()))}function Oo(e){de&&(e.pageYBe&&ue.m.down&&Ye()),Be=e.pageY}function Io(o,n,i){var a=o.closest(m),l={slides:o,destiny:n,direction:i,destinyPos:n.position(),slideIndex:n.index(),section:a,sectionIndex:a.index(m),anchorLink:a.data("anchor"),slidesNav:a.find(F),slideAnchor:Uo(n),prevSlide:a.find(B),prevSlideIndex:a.find(B).index(),localIsResizing:re};l.xMovement=function(e,o){if(e==o)return"none";if(e>o)return"left";return"right"}(l.prevSlideIndex,l.slideIndex),l.localIsResizing||(de=!1),j.onSlideLeave&&!l.localIsResizing&&"none"!==l.xMovement&&e.isFunction(j.onSlideLeave)&&!1===j.onSlideLeave.call(l.prevSlide,l.anchorLink,l.sectionIndex+1,l.prevSlideIndex,l.direction,l.slideIndex)?te=!1:(n.addClass(u).siblings().removeClass(u),l.localIsResizing||(vo(l.prevSlide),fo(n)),!j.loopHorizontal&&j.controlArrows&&(a.find(U).toggle(0!==l.slideIndex),a.find(_).toggle(!n.is(":last-child"))),a.hasClass(u)&&!l.localIsResizing&&No(l.slideIndex,l.slideAnchor,l.anchorLink,l.sectionIndex),function(e,o,n){var i=o.destinyPos;if(j.css3){var a="translate3d(-"+t.round(i.left)+"px, 0px, 0px)";Ro(e.find(D)).css(Go(a)),ge=setTimeout(function(){n&&Eo(o)},j.scrollingSpeed,j.easing)}else e.animate({scrollLeft:t.round(i.left)},j.scrollingSpeed,j.easing,function(){n&&Eo(o)})}(o,l,!0))}function Eo(o){var n,t;n=o.slidesNav,t=o.slideIndex,n.find(h).removeClass(u),n.find("li").eq(t).find("a").addClass(u),o.localIsResizing||(e.isFunction(j.afterSlideLoad)&&j.afterSlideLoad.call(o.destiny,o.anchorLink,o.sectionIndex+1,o.slideAnchor,o.slideIndex),de=!0,uo(o.destiny)),te=!1}function Mo(){if(Bo(),ie){var o=e(n.activeElement);if(!o.is("textarea")&&!o.is("input")&&!o.is("select")){var i=Q.height();t.abs(i-Re)>20*t.max(Re,i)/100&&(Ke(!0),Re=i)}}else clearTimeout(ve),ve=setTimeout(function(){Ke(!0)},350)}function Bo(){var e=j.responsive||j.responsiveWidth,o=j.responsiveHeight,n=e&&Q.outerWidth()t?"up":"down"}function Po(o){if(!o.hasClass(P)){var n=e('
                                                                                ').height(qo(o));o.addClass(P).wrapInner(n)}}function qo(e){var o=se;if(j.paddingTop||j.paddingBottom){var n=e;n.hasClass(g)||(n=e.closest(m));var t=parseInt(n.css("padding-top"))+parseInt(n.css("padding-bottom"));o=se-t}return o}function Fo(e,o){o?Ro(le):zo(le),le.css(Go(e)),setTimeout(function(){le.removeClass(r)},10)}function Vo(o){var n=le.find(m+'[data-anchor="'+o+'"]');if(!n.length){var t=void 0!==o?o-1:0;n=e(m).eq(t)}return n}function jo(e,o){var n=Vo(e);if(n.length){var t,i,a,l=(t=o,(a=(i=n).find(M+'[data-anchor="'+t+'"]')).length||(t=void 0!==t?t:0,a=i.find(M).eq(t)),a);e===$||n.hasClass(u)?Yo(l):so(n,function(){Yo(l)})}}function Yo(e){e.length&&Io(e.closest(z),e)}function No(e,o,n,t){var i="";j.anchors.length&&!j.lockAnchors&&(e?(void 0!==n&&(i=n),void 0===o&&(o=e),ee=o,Xo(i+"/"+o)):void 0!==e?(ee=o,Xo(n)):Xo(n)),Wo()}function Xo(e){if(j.recordHistory)location.hash=e;else if(ie||ae)o.history.replaceState(i,i,"#"+e);else{var n=o.location.href.split("#")[0];o.location.replace(n+"#"+e)}}function Uo(e){var o=e.data("anchor"),n=e.index();return void 0===o&&(o=n),o}function Wo(){var o=e(w),n=o.find(B),t=Uo(o),i=Uo(n),a=String(t);n.length&&(a=a+"-"+i),a=a.replace("/","-").replace("#","");var l=new RegExp("\\b\\s?"+f+"-[^\\s]+\\b","g");J[0].className=J[0].className.replace(l,""),J.addClass(f+"-"+a)}function Ko(e){var o=[];return o.y=void 0!==e.pageY&&(e.pageY||e.pageX)?e.pageY:e.touches[0].pageY,o.x=void 0!==e.pageX&&(e.pageY||e.pageX)?e.pageX:e.touches[0].pageX,ae&&oo(e)&&(j.scrollBar||!j.autoScrolling)&&(o.y=e.touches[0].pageY,o.x=e.touches[0].pageX),o}function _o(e,o){De(0,"internal"),void 0!==o&&(re=!0),Io(e.closest(z),e),void 0!==o&&(re=!1),De(Ce.scrollingSpeed,"internal")}function Qo(e){var o=t.round(e);j.css3&&j.autoScrolling&&!j.scrollBar?Fo("translate3d(0px, -"+o+"px, 0px)",!1):j.autoScrolling&&!j.scrollBar?le.css("top",-o):W.scrollTop(o)}function Go(e){return{"-webkit-transform":e,"-moz-transform":e,"-ms-transform":e,transform:e}}function Jo(o,n,t){"all"!==n?ue[t][n]=o:e.each(Object.keys(ue[t]),function(e,n){ue[t][n]=o})}function Zo(e,o,n){j[e]=o,"internal"!==n&&(Ce[e]=o)}function $o(){e("html").hasClass(d)?en("error","Fullpage.js can only be initialized once and you are doing it multiple times!"):(j.continuousVertical&&(j.loopTop||j.loopBottom)&&(j.continuousVertical=!1,en("warn","Option `loopTop/loopBottom` is mutually exclusive with `continuousVertical`; `continuousVertical` disabled")),j.scrollBar&&j.scrollOverflow&&en("warn","Option `scrollBar` is mutually exclusive with `scrollOverflow`. Sections with scrollOverflow might not work well in Firefox"),!j.continuousVertical||!j.scrollBar&&j.autoScrolling||(j.continuousVertical=!1,en("warn","Scroll bars (`scrollBar:true` or `autoScrolling:false`) are mutually exclusive with `continuousVertical`; `continuousVertical` disabled")),j.scrollOverflow&&!j.scrollOverflowHandler&&(j.scrollOverflow=!1,en("error","The option `scrollOverflow:true` requires the file `scrolloverflow.min.js`. Please include it before fullPage.js.")),e.each(["fadingEffect","continuousHorizontal","scrollHorizontally","interlockedSlides","resetSliders","responsiveSlides","offsetSections","dragAndMove","scrollOverflowReset","parallax"],function(e,o){j[o]&&en("warn","fullpage.js extensions require jquery.fullpage.extensions.min.js file instead of the usual jquery.fullpage.js. Requested: "+o)}),e.each(j.anchors,function(o,n){var t=G.find("[name]").filter(function(){return e(this).attr("name")&&e(this).attr("name").toLowerCase()==n.toLowerCase()}),i=G.find("[id]").filter(function(){return e(this).attr("id")&&e(this).attr("id").toLowerCase()==n.toLowerCase()});(i.length||t.length)&&(en("error","data-anchor tags can not have the same value as any `id` element on the site (or `name` element for IE)."),i.length&&en("error",'"'+n+'" is is being used by another element `id` property'),t.length&&en("error",'"'+n+'" is is being used by another element `name` property'))}))}function en(e,o){console&&console[e]&&console[e]("fullPage: "+o)}}}); +//# sourceMappingURL=jquery.fullpage.min.js.map diff --git a/web/html/theme/FT_WEB20/js/jquery.menu.js b/web/html/theme/FT_WEB20/js/jquery.menu.js new file mode 100644 index 0000000..a05b03d --- /dev/null +++ b/web/html/theme/FT_WEB20/js/jquery.menu.js @@ -0,0 +1,109 @@ +$(function(){ + var hide_menu = false; + var mouse_event = false; + var oldX = oldY = 0; + + $(document).mousemove(function(e) { + if(oldX == 0) { + oldX = e.pageX; + oldY = e.pageY; + } + + if(oldX != e.pageX || oldY != e.pageY) { + mouse_event = true; + } + }); + + // 주메뉴 + var $gnb = $(".gnb_1dli > a"); + $gnb.mouseover(function() { + if(mouse_event) { + $("#hd").addClass("hd_zindex"); + $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on"); + $(this).parent().addClass("gnb_1dli_over gnb_1dli_on"); + menu_rearrange($(this).parent()); + hide_menu = false; + } + }); + + $gnb.mouseout(function() { + hide_menu = true; + }); + + $(".gnb_2dli").mouseover(function() { + hide_menu = false; + }); + + $(".gnb_2dli").mouseout(function() { + hide_menu = true; + }); + + $gnb.focusin(function() { + $("#hd").addClass("hd_zindex"); + $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on"); + $(this).parent().addClass("gnb_1dli_over gnb_1dli_on"); + menu_rearrange($(this).parent()); + hide_menu = false; + }); + + $gnb.focusout(function() { + hide_menu = true; + }); + + $(".gnb_2da").focusin(function() { + $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on"); + var $gnb_li = $(this).closest(".gnb_1dli").addClass("gnb_1dli_over gnb_1dli_on"); + menu_rearrange($(this).closest(".gnb_1dli")); + hide_menu = false; + }); + + $(".gnb_2da").focusout(function() { + hide_menu = true; + }); + + $('#gnb_1dul>li').bind('mouseleave',function(){ + submenu_hide(); + }); + + $(document).bind('click focusin',function(){ + if(hide_menu) { + submenu_hide(); + } + }); +}); + +function submenu_hide() { + $("#hd").removeClass("hd_zindex"); + $(".gnb_1dli").removeClass("gnb_1dli_over gnb_1dli_over2 gnb_1dli_on"); +} + +function menu_rearrange(el) +{ + var width = $("#gnb_1dul").width(); + var left = w1 = w2 = 0; + var idx = $(".gnb_1dli").index(el); + var max_menu_count = 0; + var $gnb_1dli; + + for(i=0; i<=idx; i++) { + $gnb_1dli = $(".gnb_1dli:eq("+i+")"); + w1 = $gnb_1dli.outerWidth(); + + if($gnb_1dli.find(".gnb_2dul").size()) + w2 = $gnb_1dli.find(".gnb_2dli > a").outerWidth(true); + else + w2 = w1; + + if((left + w2) > width) { + if(max_menu_count == 0) + max_menu_count = i + 1; + } + + if(max_menu_count > 0 && (idx + 1) % max_menu_count == 0) { + el.removeClass("gnb_1dli_over").addClass("gnb_1dli_over2"); + left = 0; + } else { + left += w1; + } + } +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/js/main.js b/web/html/theme/FT_WEB20/js/main.js new file mode 100644 index 0000000..572276a --- /dev/null +++ b/web/html/theme/FT_WEB20/js/main.js @@ -0,0 +1,146 @@ + +$(document).ready(function(){ + $('.main-slick').slick({ + slidesToShow:1, + slidesToScroll:1, + fade:true, + appendArrows:$('.main-controll'), + prevArrow:"
                                                                                ", + nextArrow:"
                                                                                ", + dots:true, + appendDots:$('.main-controll'), + dotsClass:"main-dots" + }); + + + $('.sec3-lt').slick({ + slidesToShow:1, + slidesToScroll:1, + fade:true, + arrows:false, + dots:true, + appendDots:$('.sec3-rt ul'), + customPaging: function(slider, i) { + return '' + $(slider.$slides[i]).attr('data-dot-title')+ ''+"
                                                                                "; + }, + }); + + $('.sec6-wrap').slick({ + slidesToShow:1, + slidesToScroll:1, + fade:true, + arrows:false, + speed:1000, + autoplay:true, + autoplaySpeed:1500, + }); + + var $elems = $(".elm"); + var winheight = $(window).height(); + var executed=false; + $elems.addClass('active'); + $(window).scroll(function () { + animate_elems(); + }); + function animate_elems() { + wintop = $(window).scrollTop(); + + $elems.each(function () { + $elm = $(this); + topcoords = $elm.offset().top; + if(executed==false){ + if (wintop >= (topcoords - (winheight * 0.5))) { + var progressRate=$('.cha-num').attr("data-rate"); + $({rate:0}).animate({rate:progressRate},{ + duration:1500, + progress:function(){ + var now=this.rate; + $('.cha-num').html(Math.ceil(now)) + } + }) + var progressRate1=$('.cha-num2').attr("data-rate"); + $({rate:0}).animate({rate:progressRate1},{ + duration:1500, + progress:function(){ + var now=this.rate; + $('.cha-num2').html((Math.ceil(now))+"+") + } + }) + var progressRate2=$('.cha-num3').attr("data-rate"); + $({rate:0}).animate({rate:progressRate2},{ + duration:1500, + progress:function(){ + var now=this.rate; + $('.cha-num3').html((Math.ceil(now))) + } + }) + executed=true; + } + } + }); + }; + + $(window).scroll(function(){ + var wScoll=$(window).scrollTop(); + if(wScoll>=$('.sec6').offset().top - $('.sec6').height()/2){ + $('.site-map li').removeClass('on'); + $('.site-map li').eq(3).addClass('on') + }else if(wScoll>=$('.sec4').offset().top-$('.sec4').height()/2){ + $('.site-map li').removeClass('on'); + $('.site-map li').eq(2).addClass('on') + }else if(wScoll>=$('.sec2').offset().top-$('.sec2').height()/2){ + $('.site-map li').removeClass('on'); + $('.site-map li').eq(1).addClass('on') + }else if(wScoll>=$('.sec1').offset().top-$('.sec1').height()/2){ + $('.site-map li').removeClass('on'); + $('.site-map li').eq(0).addClass('on') + } + + + }) + + + if($(window).scrollTop() >=$('.sec4').offset().top && $(window).scrollTop() <=$('.sec6').offset().top){ + $('#header #nav .menu_tit').css({color:"#fff"}); + }else{ + $('#header #nav .menu_tit').css({color:"#000"}); + } + + $(document).on("click",".site-map a",function(event){ + event.preventDefault(); + $('html,body').animate({ + scrollTop:$(this.hash).offset().top + },400); + }); + + function responsiveSlick(){ + if($(window).width()<901){ + $('.sec4-inner ul').slick({ + slidesToShow:2.3, + slidesToScroll:1, + appendArrows:$('.mo-con'), + prevArrow:"
                                                                                ", + nextArrow:"
                                                                                ", + responsive:[ + { + breakpoint:601, + settings:{ + slidesToShow:1, + centerMode:true, + } + } + ] + }); + + + } + }; + responsiveSlick(); + + $(window).resize(function(){ + responsiveSlick(); + }); + +}) + + diff --git a/web/html/theme/FT_WEB20/js/main_slide.js b/web/html/theme/FT_WEB20/js/main_slide.js new file mode 100644 index 0000000..fbacc9e --- /dev/null +++ b/web/html/theme/FT_WEB20/js/main_slide.js @@ -0,0 +1,217 @@ + + +jQuery(function($){ + + // �꾩쓽�� �곸뿭�� 留뚮뱾�� �ㅽ겕濡ㅻ컮 �ш린 痢≪젙 + function getScrollBarWidth(){ + if($(document).height() > $(window).height()){ + $('body').append('
                                                                                '); + fakeScrollBar = $('#fakescrollbar'); + fakeScrollBar.append('
                                                                                 
                                                                                '); + var w1 = fakeScrollBar.find('div').innerWidth(); + fakeScrollBar.css('overflow-y', 'scroll'); + var w2 = $('#fakescrollbar').find('div').html('html is required to init new width.').innerWidth(); + fakeScrollBar.remove(); + return (w1-w2); + } + return 0; + } + + // 硫붿씤 鍮꾩<�� �믪씠媛� �ㅼ젙 + if ( $("#main_visual.full-height").length > 0 ) { + mainVisualHeight(); + function mainVisualHeight () { + scrollWidth = getScrollBarWidth(); + var win_width = $(window).outerWidth() + scrollWidth; + var visual_height = $(window).height(); // header媛� fixed or absolute�쇨꼍�� - $("#header").height() ��젣 + if ( win_width < 1221 ) { + $(".main-visual-con").height(visual_height); + }else { + $(".main-visual-con").css("height","100%"); + } + } + $(window).on('resize', mainVisualHeight); + } + + // 硫붿씤 鍮꾩<�� + $(".main-visual-con").each(function () { + var $visualSlide = $(this); + var $visualSlideItem = $(this).find(".main-visual-item"); + var visualNum = $visualSlideItem.length; + var $visualControls = $(".visual-control"); + + $visualControls.find('.paging-controls .total').text(visualNum); + + $visualSlide.on('init', function(event, slick) { + $visualSlideItem.eq(0).addClass("active-item"); + $(".main-visual-con .slick-dots").find("li").eq(0).addClass("active-item"); + }); + $visualSlide.on('beforeChange', function(event, slick, currentSlide, nextSlide) { + // 鍮꾩<�쇱쁺�� + $visualSlideItem.removeClass("active-item"); + $visualSlideItem.eq(nextSlide).addClass("active-item"); + // Custom paging + $(".main-visual-con li").removeClass("active-item"); + $(this).find(".slick-dots").find("li").eq(nextSlide).addClass("active-item"); + // �꾩옱index �쒖떆 + $visualControls.find('.paging-controls .cur').text(nextSlide + 1); + }) + + // 硫붿씤 鍮꾩<�� �щ씪�대뱶 + $visualSlide.slick({ + slidesToShow: 1, + slidesToScroll: 1, + arrows: true, + fade: true, + dots:true, + autoplay:true, + speed:1000, + infinite:true, + autoplaySpeed: 3000, + easing: 'easeInOutQuint', + pauseOnHover:false, + zIndex:1, + prevArrow: '.visual-control .prev', + nextArrow: '.visual-control .next', + customPaging : function(slider, i) { + var title = $(slider.$slides[i].innerHTML).find('div[data-title]').data('title'); + var en_title = $(slider.$slides[i].innerHTML).find('div[data-en-title]').data('en-title'); + return '

                                                                                '+title+''+en_title+'

                                                                                '; + }, + }); + + $visualControls.find('.pause-visual-btn').click(function () { + $visualSlide.slick("slickPause"); + $(this).hide().siblings().show(); + }); + $visualControls.find('.play-visual-btn').click(function () { + $visualSlide.slick("slickPlay"); + $(this).hide().siblings().show(); + }); + }); + + +}); + +$(document).ready(function() { + var btn = $(".btn"); + btn.click(function() { + btn.toggleClass("paused"); + return false; + }); +}); + +$('.btn').on('click', function(e) { + e.preventDefault(); + if (jQuery(this).hasClass("pause")) { // add class where you want to add class active for process + jQuery(this).removeClass("pause"); + jQuery('.main-visual-con').slick('slickPause'); + jQuery('.left-banner-slide').slick('slickPause'); + jQuery(this).addClass("play"); + } else { + jQuery(this).removeClass("play"); + jQuery(this).addClass("pause"); + $('.main-visual-con').slick('slickPlay'); + $('.left-banner-slide').slick('slickPlay'); + } +}); + + + + // e:main_visual + $('.slider_box2').slick({ + infinite:true, + slidesToShow:1, + autoplay:true, + autoplaySpeed:2000, + arrows:false, + dots:false + }); + + + + + // sec4 card_list + + + + + $(document).ready(function() { + var btn = $(".sec4_p"); + btn.click(function() { + btn.toggleClass("paused"); + return false; + }); + }); + + $('.sec4_p').on('click', function(e) { + e.preventDefault(); + if (jQuery(this).hasClass("pause")) { // add class where you want to add class active for process + jQuery(this).removeClass("pause"); + jQuery('.card_list').slick('slickPause'); + jQuery(this).addClass("play"); + } else { + jQuery(this).removeClass("play"); + jQuery(this).addClass("pause"); + $('.card_list').slick('slickPlay'); + } + + }); + + $('.card_list').each(function(){ + var $visualSlide = $(this); + var $visualSlideItem = $(this).find(".list"); + var visualNum = $visualSlideItem.length; + + var $status = $('.sec4_paging'); + var $total = $('.sec4_total'); + var $slickElement = $('.card_list'); + + $slickElement.on('init reInit afterChange', function (event, slick, currentSlide, nextSlide) { + //currentSlide is undefined on init -- set it to 0 in this case (currentSlide is 0 based) + var i = (currentSlide ? currentSlide : 0) + 1; + $status.html( '' + i + ''); + $total.html( ' ' + slick.slideCount + ''); + }); + $visualSlide.slick({ + infinite:true, + slidesToShow:4, + slidesToScroll: 1, + autoplay:true, + autoplaySpeed:1000, + arrow:true, + prevArrow: '.sec4_prev', + nextArrow: '.sec4_next', + responsive: [ + { + breakpoint: 1600, + settings: { + slidesToShow:3, + slidesToScroll:1, + infinite: true, + } + }, + { + breakpoint:1220, + settings: { + slidesToShow:3, + slidesToScroll:1, + infinite: true + } + }, + { + breakpoint:900, + settings: { + slidesToShow:1, + slidesToScroll: 1 + } + } + // You can unslick at a given breakpoint now by adding: + // settings: "unslick" + // instead of a settings object + ] + }); + + }); + + diff --git a/web/html/theme/FT_WEB20/js/slick.js b/web/html/theme/FT_WEB20/js/slick.js new file mode 100644 index 0000000..304279b --- /dev/null +++ b/web/html/theme/FT_WEB20/js/slick.js @@ -0,0 +1,3011 @@ +/* + _ _ _ _ + ___| (_) ___| | __ (_)___ +/ __| | |/ __| |/ / | / __| +\__ \ | | (__| < _ | \__ \ +|___/_|_|\___|_|\_(_)/ |___/ + |__/ + + Version: 1.8.0 + Author: Ken Wheeler + Website: http://kenwheeler.github.io + Docs: http://kenwheeler.github.io/slick + Repo: http://github.com/kenwheeler/slick + Issues: http://github.com/kenwheeler/slick/issues + + */ +/* global window, document, define, jQuery, setInterval, clearInterval */ +;(function(factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else if (typeof exports !== 'undefined') { + module.exports = factory(require('jquery')); + } else { + factory(jQuery); + } + +}(function($) { + 'use strict'; + var Slick = window.Slick || {}; + + Slick = (function() { + + var instanceUid = 0; + + function Slick(element, settings) { + + var _ = this, dataSettings; + + _.defaults = { + accessibility: true, + adaptiveHeight: false, + appendArrows: $(element), + appendDots: $(element), + arrows: true, + asNavFor: null, + prevArrow: '', + nextArrow: '', + autoplay: false, + autoplaySpeed: 3000, + centerMode: false, + centerPadding: '50px', + cssEase: 'ease', + customPaging: function(slider, i) { + return $('',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                + +
                                                                                +
                                                                                '.PHP_EOL; + ?> + + + +
                                                                              • 메뉴 준비 중입니다. 관리자모드 > 환경설정 > 메뉴설정에서 설정하실 수 있습니다.
                                                                              • + + +
                                                                                + + + + + + + + + + +
                                                                                + +
                                                                                + + + + + + + + + + + + +
                                                                                +
                                                                                + +

                                                                                회사소개서

                                                                                + +
                                                                                +
                                                                                + + +
                                                                                +
                                                                                + +
                                                                                +
                                                                                + + +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +

                                                                                + 골뱅이스토어는
                                                                                + 다년간의 경험과
                                                                                노하우를

                                                                                + 바탕으로 최고의
                                                                                + 홈페이지를 + 만듭니다. +

                                                                                + 회사소개 보기 +
                                                                                +
                                                                                  +
                                                                                • + 타이틀 01 + 2021 +
                                                                                • +
                                                                                • + 타이틀 02 + 823+ +
                                                                                • +
                                                                                • + 타이틀 03 + 1996 +
                                                                                • +
                                                                                • + 타이틀 04 + 111+ +
                                                                                • +
                                                                                +
                                                                                +
                                                                                + +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +

                                                                                + 골뱅이스토어는
                                                                                + 다년간의 경험과
                                                                                노하우를

                                                                                + 바탕으로 최고의
                                                                                + 홈페이지를 + 만듭니다. +

                                                                                + 제품 보기 +
                                                                                +
                                                                                +
                                                                                +
                                                                                + +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +

                                                                                + 골뱅이스토어는
                                                                                + 다년간의 경험과
                                                                                노하우를

                                                                                + 바탕으로 최고의
                                                                                + 홈페이지를 + 만듭니다. +

                                                                                + 제품 보기 +
                                                                                +
                                                                                +
                                                                                +
                                                                                + +
                                                                                +
                                                                                +
                                                                                + +
                                                                                + + +
                                                                                + + + + + + + + + +쇼핑몰 설치 후 이용해 주십시오.

                                                                                '); +define('_SHOP_', true); \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/shop/category.php b/web/html/theme/FT_WEB20/mobile/shop/category.php new file mode 100644 index 0000000..970b073 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/shop/category.php @@ -0,0 +1,167 @@ + + + + diff --git a/web/html/theme/FT_WEB20/mobile/shop/index.php b/web/html/theme/FT_WEB20/mobile/shop/index.php new file mode 100644 index 0000000..f9da339 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/shop/index.php @@ -0,0 +1,120 @@ + + + + + + + + +
                                                                                +

                                                                                히트상품

                                                                                + set_mobile(true); + $list->set_type(1); + $list->set_view('it_id', false); + $list->set_view('it_name', true); + $list->set_view('it_cust_price', true); + $list->set_view('it_price', true); + $list->set_view('it_icon', true); + $list->set_view('sns', false); + echo $list->run(); + ?> +
                                                                                + + + + + +
                                                                                +

                                                                                추천상품

                                                                                + set_mobile(true); + $list->set_type(2); + $list->set_view('it_id', false); + $list->set_view('it_name', true); + $list->set_view('it_cust_price', true); + $list->set_view('it_price', true); + $list->set_view('it_icon', true); + $list->set_view('sns', true); + echo $list->run(); + ?> +
                                                                                + + + +
                                                                                +

                                                                                최신상품

                                                                                + set_mobile(true); + $list->set_type(3); + $list->set_view('it_id', false); + $list->set_view('it_name', true); + $list->set_view('it_basic', true); + $list->set_view('it_cust_price', true); + $list->set_view('it_price', true); + $list->set_view('it_icon', true); + $list->set_view('sns', true); + echo $list->run(); + ?> +
                                                                                + + + +
                                                                                +

                                                                                인기상품

                                                                                + set_mobile(true); + $list->set_type(4); + $list->set_view('it_id', false); + $list->set_view('it_name', true); + $list->set_view('it_cust_price', false); + $list->set_view('it_price', true); + $list->set_view('it_icon', false); + $list->set_view('sns', false); + echo $list->run(); + ?> +
                                                                                + + + +
                                                                                +

                                                                                할인상품

                                                                                + set_mobile(true); + $list->set_type(5); + $list->set_view('it_id', false); + $list->set_view('it_name', true); + $list->set_view('it_cust_price', false); + $list->set_view('it_price', true); + $list->set_view('it_icon', false); + $list->set_view('sns', false); + echo $list->run(); + ?> +
                                                                                + + + + + +
                                                                                + +
                                                                                + + + + + + +
                                                                                +

                                                                                + + + + + +
                                                                                + +
                                                                                + + + 마이페이지 + 장바구니 + +
                                                                                +
                                                                                + +
                                                                                + +
                                                                                + + + + + + + +
                                                                                + +
                                                                                +

                                                                                뒤로

                                                                                +
                                                                                + +
                                                                                +

                                                                                정보

                                                                                + + +

                                                                                + 회사명 + 주소
                                                                                + 사업자 등록번호
                                                                                + 대표 + 전화 + 팩스
                                                                                + + 통신판매업신고번호
                                                                                + 개인정보 보호책임자 + + 부가통신사업신고번호 '.$default['de_admin_buga_no'].''; ?>
                                                                                + Copyright © 2001-2013 . All Rights Reserved. +

                                                                                + + PC 버전 + +
                                                                                + + + + + +', 0); +?> +', 0); +?> + +
                                                                                +
                                                                                  + ".$location.""; + else $display_location = $location; + ?> +
                                                                                • + + +
                                                                                  + + +
                                                                                  +
                                                                                • + 현재 접속자가 없습니다."; + ?> +
                                                                                +
                                                                                \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/connect/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/connect/basic/style.css new file mode 100644 index 0000000..d327ff5 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/connect/basic/style.css @@ -0,0 +1,17 @@ +@charset "utf-8"; + +/* 현재접속자 */ +#current_connect ul {margin:0 -10px 0;padding:0;list-style:none;zoom:1} +#current_connect ul:after {display:block;visibility:hidden;clear:both;content:""} +#current_connect li:after {display:block;visibility:hidden;clear:both;content:""} +#current_connect li {position:relative;padding:10px 20px;background:#fff;border-bottom:1px solid #ececec;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0} +#current_connect li:first-child {border-top:1px solid #ececec} +#current_connect .crt_num {float:right;line-height:45px;margin-right:20px;color:#777;font-weight:bold} +#current_connect .crt_profile {float:left;margin-right:20px;line-height:45px} +#current_connect .crt_profile > img {width:45px;height:45px;border-radius:50%} +#current_connect .crt_info {float:left;margin-top:5px} +#current_connect .crt_name {display:block} +#current_connect .crt_name img {display:none} +#current_connect .crt_lct {display:block} +#current_connect .crt_lct a {color:#797979} +#current_connect li.empty_li {width:100%;padding:200px 0;border:0;color:#666;text-align:center;background:transparent} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/content/basic/content.skin.php b/web/html/theme/FT_WEB20/mobile/skin/content/basic/content.skin.php new file mode 100644 index 0000000..bf45563 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/content/basic/content.skin.php @@ -0,0 +1,54 @@ +', 0); +?> + + + + + + + + Document + + + + +
                                                                                + +
                                                                                +
                                                                                +

                                                                                +

                                                                                + +

                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                + +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/content/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/content/basic/style.css new file mode 100644 index 0000000..6215d24 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/content/basic/style.css @@ -0,0 +1,9 @@ +@charset "utf-8"; + +/* 내용관리 */ +#ctt {margin:10px 0;padding:10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9} +.ctt_admin {margin:0 5px;text-align:right} +#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ctt_con {padding:10px 0} +#ctt_con img{max-width:100%;height:auto} +.ctt_img {text-align:center} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/faq/basic/list.skin.php b/web/html/theme/FT_WEB20/mobile/skin/faq/basic/list.skin.php new file mode 100644 index 0000000..3a4b94e --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/faq/basic/list.skin.php @@ -0,0 +1,138 @@ +', 0); +?> + + +'.conv_content($fm['fm_mobile_head_html'], 1).'
                                                                                '; +?> + + + +
                                                                                +
                                                                                + + + + +
                                                                                +
                                                                                + + + + +
                                                                                + +
                                                                                +

                                                                                목록

                                                                                +
                                                                                  + $v){ + if(empty($v)) + continue; + ?> +
                                                                                1. +

                                                                                  + Q + +

                                                                                  +
                                                                                  + + +
                                                                                  +
                                                                                2. + +
                                                                                +
                                                                                + 검색된 게시물이 없습니다.

                                                                                '; + } else { + echo '
                                                                                등록된 FAQ가 없습니다.'; + if($is_admin) + echo '
                                                                                FAQ를 새로 등록하시려면 FAQ관리 메뉴를 이용하십시오.'; + echo '
                                                                                '; + } + } + ?> +
                                                                                + + + +'.conv_content($fm['fm_mobile_tail_html'], 1).'
                                                                                '; +?> + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/faq/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/faq/basic/style.css new file mode 100644 index 0000000..bd64353 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/faq/basic/style.css @@ -0,0 +1,28 @@ +@charset "utf-8"; + +#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {background:#fff;padding-left:1px;border-bottom:1px solid #d9dce3;zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;float:left;} +#bo_cate a {display:block;line-height:24px;padding:15px;border-radius:13px;background:#fff} +#bo_cate #bo_cate_on {display:inline-block;position:relative;color:#3a8afd} +#bo_cate #bo_cate_on:after {content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;display:inline-block;background:#3a8afd} + +#faq_wrap {margin:0 0 30px} +#faq_wrap h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.faq_admin {text-align:right} +#faq_wrap ol {margin:0;padding:0;list-style:none} +#faq_wrap li {border-bottom:1px solid #ececec;background:#fff;position:relative} +#faq_wrap li h3 {min-height:50px;line-height:30px;padding:15px;padding-left:50px;position:relative} +#faq_wrap li h3 a {font-size:1.2em} +#faq_wrap li h3 .tit_btn {position:absolute;right:15px;top:15px;border:0;width:30px;height:30px;background:#fff;color:#c5cdd8;font-size:1.2em} +#faq_wrap li h3 .tit_bg {display:inline-block;position:absolute;top:15px;left:15px;text-align:center;color:#000;font-size:1.6em} +#faq_wrap li h3.faq_li_open a {color:#3a8afd} + +#faq_con .con_inner {display:none;padding:5px 5px 20px 50px} +#faq_con .con_inner .tit_bg {display:inline-block;position:absolute;top:10px;left:10px;text-align:center;background:#777;color:#fff;border-radius:50%;width:30px;line-height:30px;height:30px} +#faq_con .con_inner .closer_btn {position:absolute;right:15px;top:15px;border:0;width:30px;height:30px;background:#fff;color:#3a8afd;font-size:1.2em} + +#faq_sch {position:relative;padding:15px;text-align:center} +#faq_sch .frm_input {width:100%;height:45px;border:2px solid #3a8afd;border-radius:0} +#faq_sch .btn_submit {position:absolute;top:17px;right:17px;width:41px;height:41px;background:none;color:#000;font-size:15px} diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_comment.png b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_comment.png new file mode 100644 index 0000000..bd7e67f Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_comment.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_file.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_file.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_hot.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_hot.gif new file mode 100644 index 0000000..4e8d7ff Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_hot.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_img.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_img.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_link.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_link.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_mobile.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_more.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_more.gif new file mode 100644 index 0000000..7cdf200 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_more.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_movie.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_movie.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_new.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_new.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_reply.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_secret.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_sound.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/img/icon_sound.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/latest.carousel.js b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/latest.carousel.js new file mode 100644 index 0000000..a957f88 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/latest.carousel.js @@ -0,0 +1,101 @@ +jQuery(function($){ + $(document).ready(function(){ + + $(".owl-carousel-wrap .sv_member").off('click').off('focusin'); + + if ($.fn.tooltipster) { + var $member_menu_tip = $('.owl-carousel-wrap .sv_member').tooltipster({ + theme: 'tooltipster-sir', + trigger: 'custom', + contentAsHTML: true, + interactive: true, + distance: 5, + position:'bottom', + coord: { + left: 20, + bottom: 0 + }, + triggerOpen: { + click: true, + tap: true // For touch device + }, + triggerClose: { + click: true, + scroll: true, + tap: true + }, + functionBefore: function(instance, helper) { + var content = $(helper.origin).parent().find('.sv')[0].outerHTML; + instance.content(content); + }, + functionReady : function(instance, helper) { + $(helper.tooltip).find(".tooltipster-arrow").css({left:16}); + }, + functionPosition: function(instance, helper, position){ + position.coord.left += 7; + return position; + } + }); + } + + var carousels = [], + is_loop = true; + + function owl_show_page(event){ + + if (event.item) { + var count = event.item.count, + item_index = event.item.index, + index = 1; + + if( is_loop ){ + index = ( 1 + ( event.property.value - Math.ceil( event.item.count / 2 ) ) % event.item.count || 0 ) || 1; + } else { + index = event.item.index ? event.item.index + 1 : 1; + } + + var str = ""+index+"/"+count; + + $(event.target).next(".lt_page").find(".page_print").html(str); + } + } + + $(".lt.owl-carousel-wrap").each(function(index, value) { + + var $this = $(this), + item_loop_c = ($this.children('.latest-sel').find(".item").length > 1) ? 1 : 0 ; + + carousels['sel' + index] = $this.children('.latest-sel').addClass("owl-carousel").owlCarousel({ + items:1, + loop: is_loop && item_loop_c, + center:true, + autoHeight:true, + dots:false, + onChanged:function(event){ + owl_show_page(event); + }, + }); + + carousels['sel' + index].on('changed.owl.carousel', function(event) { + + if ($.fn.tooltipster) { + var instances = $.tooltipster.instances(); + $.each(instances, function(i, instance){ + instance.close(); + }); + } + }); + + $this.on("click", ".lt_page_next", function(e) { + e.preventDefault(); + carousels['sel' + index].trigger('next.owl.carousel'); + }); + + $this.on("click", ".lt_page_prev", function(e) { + e.preventDefault(); + carousels['sel' + index].trigger('prev.owl.carousel'); + }); + + }); // each + }); +}); \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/latest.skin.php b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/latest.skin.php new file mode 100644 index 0000000..2f1add0 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/latest.skin.php @@ -0,0 +1,86 @@ +', 10); +add_stylesheet('', 10); + +add_javascript('', 11); +add_stylesheet('', 11); +add_javascript('', 12); + +// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 +add_stylesheet('', 1); +$thumb_width = 138; +$thumb_height = 80; +$list_count = (is_array($list) && $list) ? count($list) : 0; +$divisor_count = 4; +$start_page_num = $list_count ? '1' : '0'; +$is_show_next_prev = ($list_count > 4) ? 1 : 0; +?> + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/style.css new file mode 100644 index 0000000..57c7e62 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/latest/basic/style.css @@ -0,0 +1,46 @@ +@charset "utf-8"; + +/* 최근게시물 스킨 (latest) */ +.lt {position:relative;margin:10px 0;background:#fff} +.lt .lt_title {display:block;font-size:1.3em;padding:15px 15px 0;line-height:24px;background:#fff} +.lt ul {list-style:none;padding:0 15px;background:#fff;border-bottom:1px solid #e5ecee} +.lt ul li {padding:15px 0;border-bottom:1px solid #e5ecee} +.lt ul li:last-child {border-bottom:0} +.lt ul li:after {display:block;visibility:hidden;clear:both;content:""} +.lt ul li:hover a.lt_tit {color:#3a8afd} +.lt .lt_thumb {display:inline-block;float:left;margin-right:10px} +.lt .lt_thumb img, .lt .lt_thumb video {width:138px !important;height:auto;overflow:hidden} +.lt .lt_tit {display:block;font-size:1.2em;font-weight:bold;max-height:60px;overflow:hidden;padding-bottom:10px} +.lt .lt_info {display:inline-block;position:relative;line-height:20px;color:#828282;font-size:0.925em;vertical-align:top} +.lt .lt_date {color:#828282} +.lt .latest-sel{margin-top:1px} + +.lt .lt_more {position:absolute;top:15px;right:15px;color:#3a8afd;background:#fff;border:1px solid #d1d7e5;font-size:0.925em;border-radius:3px;padding:4px 5px;z-index:1} +.lt .lt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +.lt .profile_img img {border-radius:50%;vertical-align:top} +.lt li .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +.lt li .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;vertical-align:middle} +.lt li .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;vertical-align:middle} +.lt li .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +.lt li .fa-heart {color:#ff0000} +.lt li .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.75em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +.lt .lt_tit .fa-heart {color:#fe4560;margin-left:5px} + +.lt .comment_icon {background:url('./img/icon_comment.png') no-repeat 50% 50%;display:inline-block;width:20px;height:28px;text-indent:-999px;overflow:hidden;vertical-align:top;background-size:70%;margin:0 0px 0 5px} +.lt .empty_li {text-align:center;padding:40px 0;color:#777} + +.lt .owl-carousel .owl-item .profile_img img{width:auto;display:inline} + +.tooltipster-content .sv a{display:block;padding:0 10px;line-height:30px;font-weight:normal;color:#bbb} +.tooltipster-content .sv a:hover{background:#000;color:#fff} +.tooltipster-sidetip.tooltipster-sir .tooltipster-content{padding:0} +.tooltipster-sidetip.tooltipster-sir .tooltipster-box{border:0 none;background:#333;border-radius:0} +.tooltipster-sidetip.tooltipster-sir.tooltipster-bottom .tooltipster-arrow-border, .tooltipster-sidetip.tooltipster-sir.tooltipster-bottom .tooltipster-arrow-background{border-bottom-color:#333} + +.lt_page {background:#fff;text-align:center;padding:10px 15px;line-height:25px;border-bottom:1px solid #e5ecee} +.lt_page button {display:inline-block;background:#fff;width:25px;height:25px;border:1px solid #dbdee6;text-align:center;color:#cdcdce} +.lt_page span {color:#6e6e6e} +.lt_page b {color:#000} +.lt_page_prev {float:left} +.lt_page_next {float:right} diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_file.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_file.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_hot.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_hot.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_img.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_img.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_link.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_link.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_lock.png b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_mobile.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_more.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_more.gif new file mode 100644 index 0000000..7cdf200 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_more.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_movie.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_movie.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_new.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_new.gif new file mode 100644 index 0000000..45aa6d7 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_new.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_reply.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_reply.gif new file mode 100644 index 0000000..91c1359 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_secret.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_sound.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_sound.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_view.png b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/icon_view.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/more-btn.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/more-btn.gif new file mode 100644 index 0000000..fa4c873 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/more-btn.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/more_bg.gif b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/more_bg.gif new file mode 100644 index 0000000..19aab13 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/img/more_bg.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/latest.skin.php b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/latest.skin.php new file mode 100644 index 0000000..3015fa0 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/latest.skin.php @@ -0,0 +1,33 @@ +', 0); +$list_count = (is_array($list) && $list) ? count($list) : 0; +?> + +
                                                                                +

                                                                                최신댓글

                                                                                +
                                                                                  + +
                                                                                • + +
                                                                                  + +
                                                                                  + + +
                                                                                  +
                                                                                • + 게시물이 없습니다.'.PHP_EOL; + ?> +
                                                                                + 더보기 + +
                                                                                diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/comment/style.css b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/style.css new file mode 100644 index 0000000..74e8a36 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/latest/comment/style.css @@ -0,0 +1,26 @@ +@charset "utf-8"; +/* 새글 스킨 (cm_ltest) */ + +.cm_lt {position:relative;margin-bottom:20px;overflow:hidden;background:#fff;border:1px solid #dde7e9;border-radius:3px} +.cm_lt .cm_lt_title {display:block;padding:0 20px;line-height:45px;font-size:1.083em;border-bottom:1px solid #e2e2e2;color:#253dbe;background:#fcfcfc} +.cm_lt .cm_lt_title a {position:recm_ltive;color:#000;display:inline-block} + +.cm_lt ul {padding:10px 15px} +.cm_lt li {position:relative;line-height:18px;border-bottom:1px solid #e5ecee;margin-bottom:10px;padding:10px 0} +.cm_lt li:after {display:block;visibility:hidden;clear:both;content:""} +.cm_lt li:last-child {border-bottom:0;margin-bottom:0} +.cm_lt li a:hover {color:#3a8afd} + +.cm_lt_nick {float:left} +.cm_lt_nick img {border-radius:50%;width:35px;height:35px;margin-right:10px} +.cm_lt_info {float:left;width:158px} +.cm_lt_info .lt_nick {} +.cm_lt_info .lt_date {color:#888} +.cm_lt_info a {line-height:18px;display:inline-block;font-weight:bold;width:100%;max-height:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} + +.cm_lt .empty_li {line-height:145px ;color:#666;text-align:center;padding:0} +.cm_lt .empty_li:before {background:none;padding:0} + +.cm_lt .lt_cmt {color:#3a8afd;font-size:11px;padding:0 5px;font-weight:bold} +.cm_lt .lt_more {position:absolute;top:11px;right:20px;display:block;width:40px;line-height:25px;color:#3a8afd;border-radius:3px;text-align:center} +.cm_lt .lt_more:hover {color:#777} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/notice/latest.skin.php b/web/html/theme/FT_WEB20/mobile/skin/latest/notice/latest.skin.php new file mode 100644 index 0000000..d8230ac --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/latest/notice/latest.skin.php @@ -0,0 +1,43 @@ +', 0); +add_javascript('', 10); +$list_count = (is_array($list) && $list) ? count($list) : 0; +?> + +
                                                                                +

                                                                                + +
                                                                                diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/notice/style.css b/web/html/theme/FT_WEB20/mobile/skin/latest/notice/style.css new file mode 100644 index 0000000..f4e7207 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/latest/notice/style.css @@ -0,0 +1,12 @@ +@charset "utf-8"; + +/* 새글 스킨 (latest) */ +.notice {position:relative;padding:15px 50px} +.notice h2 {margin-bottom:20px} +.notice h2 a {font-size:1.2em;color:#fff} +.notice li {text-overflow:ellipsis;overflow:hidden;white-space:nowrap;border-bottom:1px solid #343434} +.notice li a {color:#e3e3e3;padding:15px 0;display:inline-block} +.notice li .lock_icon {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size: 12px;border:1px solid #a2c6ce;vertical-align:baseline} +.notice li .new_icon {display:inline-block;line-height:16px;width:16px;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;margin-right:3px;border-radius:2px;vertical-align:baseline} +.notice .cnt_cm {background:#5c85c1;color:#fff;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;white-space:nowrap;margin-left:5px} + diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/shop_basic/latest.skin.php b/web/html/theme/FT_WEB20/mobile/skin/latest/shop_basic/latest.skin.php new file mode 100644 index 0000000..a677aff --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/latest/shop_basic/latest.skin.php @@ -0,0 +1,42 @@ +', 0); +?> + +
                                                                                +

                                                                                +
                                                                                  + +
                                                                                • + "; + if ($list[$i]['is_notice']) + echo "".$list[$i]['subject'].""; + else + echo $list[$i]['subject']; + + if ($list[$i]['comment_cnt']) + + // if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; } + // if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; } + + if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new']; + //if (isset($list[$i]['icon_hot'])) echo " " . $list[$i]['icon_hot']; + //if (isset($list[$i]['icon_file'])) echo " " . $list[$i]['icon_file']; + //if (isset($list[$i]['icon_link'])) echo " " . $list[$i]['icon_link']; + //if (isset($list[$i]['icon_secret'])) echo " " . $list[$i]['icon_secret']; + + echo ""; + + ?> +
                                                                                • + + +
                                                                                • 게시물이 없습니다.
                                                                                • + +
                                                                                + 전체보기 +
                                                                                diff --git a/web/html/theme/FT_WEB20/mobile/skin/latest/shop_basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/latest/shop_basic/style.css new file mode 100644 index 0000000..14aa0c4 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/latest/shop_basic/style.css @@ -0,0 +1,14 @@ +@charset "utf-8"; + +/* 최근게시물 스킨 (latest) */ +.lt {position:relative;margin:40px 10px 20px;border:1px solid #dde7e9;background:#fff;position:relative} +.lt h2{font-size:1.25em;padding:10px 15px;line-height:27px;border-bottom:1px solid #e8e8e8;margin:0;text-align:left} +.lt ul {margin:0 0 10px;padding:0 15px;list-style:none} +.lt li{text-align:left;margin:0 0 1px;line-height:40px;;border-top:1px solid #e5ecee} +.lt li:first-child{border-top:0} +.lt li i{color:#9da4bc} +.lt li .fa-heart{color:#ff0000} +.lt li .new_icon{display:inline-block;padding: 0 3px;line-height:15px ;font-size:0.92em;color:#fff;background:#c56bed} +.lt li .cnt_cmt{color:#48a3d5} +.lt .empty_li {text-align:center;padding:50px 0;color:#555} +.lt .more_btn {position:absolute;top:10px;right:10px;line-height:25px;border:1px solid #d1d7e5;padding:0 8px;border-radius:3px;color:#3a8afd;} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/formmail.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/formmail.skin.php new file mode 100644 index 0000000..30318aa --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/formmail.skin.php @@ -0,0 +1,100 @@ +', 0); +?> + +
                                                                                +

                                                                                님께 메일보내기

                                                                                + +
                                                                                + + + + + + + +
                                                                                +

                                                                                메일쓰기

                                                                                +
                                                                                  + +
                                                                                • + + +
                                                                                • +
                                                                                • + + +
                                                                                • + +
                                                                                • + + +
                                                                                • +
                                                                                • + 형식 + + + + + + + + +
                                                                                • +
                                                                                • + + +
                                                                                • + +
                                                                                • +
                                                                                  + + +
                                                                                  +
                                                                                  첨부 파일은 누락될 수 있으므로 메일을 보낸 후 파일이 첨부 되었는지 반드시 확인해 주시기 바랍니다.
                                                                                  +
                                                                                • +
                                                                                • +
                                                                                  + + +
                                                                                  +
                                                                                • +
                                                                                • + 자동등록방지 + +
                                                                                • +
                                                                                +
                                                                                + + +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/btn_del.gif b/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/btn_del.gif new file mode 100644 index 0000000..484697f Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/btn_del.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/chk.png b/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/icon_file.gif b/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/icon_file.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/zip_ico_up.gif b/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/zip_ico_up.gif new file mode 100644 index 0000000..a1eff70 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/member/basic/img/zip_ico_up.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/login.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/login.skin.php new file mode 100644 index 0000000..37dc8c1 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/login.skin.php @@ -0,0 +1,124 @@ +', 0); +?> + +
                                                                                +

                                                                                + +
                                                                                + + +
                                                                                + + + + + +
                                                                                + + +
                                                                                + +
                                                                                + + + + +
                                                                                + + + + + + +
                                                                                +

                                                                                비회원 구매

                                                                                +

                                                                                비회원으로 주문하시는 경우 포인트는 지급하지 않습니다.

                                                                                + +
                                                                                + +
                                                                                + +
                                                                                + + +
                                                                                + + + + +
                                                                                + + +
                                                                                +

                                                                                비회원 주문조회

                                                                                + +
                                                                                + 비회원 주문조회 + +
                                                                                + + + + + + + +
                                                                                +
                                                                                + +
                                                                                +

                                                                                메일로 발송해드린 주문서의 주문번호 및 주문 시 입력하신 비밀번호를 정확히 입력해주십시오.

                                                                                +
                                                                                +
                                                                                + + + + +
                                                                                + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/login_check.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/login_check.skin.php new file mode 100644 index 0000000..aea2ee5 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/login_check.skin.php @@ -0,0 +1,4 @@ +', 0); +?> + +
                                                                                +

                                                                                + +

                                                                                + 비밀번호를 한번 더 입력해주세요. + + 비밀번호를 입력하시면 회원탈퇴가 완료됩니다. + + 회원님의 정보를 안전하게 보호하기 위해 비밀번호를 한번 더 확인합니다. + +

                                                                                + +
                                                                                + + + +
                                                                                + 회원아이디 + + + +
                                                                                + +
                                                                                + +
                                                                                + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/memo.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/memo.skin.php new file mode 100644 index 0000000..8a37803 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/memo.skin.php @@ -0,0 +1,57 @@ +', 0); +?> + + +
                                                                                +

                                                                                + +
                                                                                전체 쪽지
                                                                                +

                                                                                +
                                                                                + + +
                                                                                +
                                                                                  + +
                                                                                • +
                                                                                  + + 안 읽은 쪽지 +
                                                                                  +
                                                                                  + +
                                                                                  + +
                                                                                  +
                                                                                  + + 삭제 +
                                                                                • + + 자료가 없습니다.'; } ?> +
                                                                                +
                                                                                + + + + +

                                                                                쪽지 보관일수는 최장 일 입니다. +

                                                                                + +
                                                                                + +
                                                                                +
                                                                                +
                                                                                + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/memo_form.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/memo_form.skin.php new file mode 100644 index 0000000..4339775 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/memo_form.skin.php @@ -0,0 +1,59 @@ +', 0); +?> + + +
                                                                                +

                                                                                쪽지 보내기

                                                                                +
                                                                                + + +
                                                                                +
                                                                                +

                                                                                쪽지쓰기

                                                                                +
                                                                                  +
                                                                                • + + + + 여러 회원에게 보낼때는 컴마(,)로 구분하세요. +
                                                                                  쪽지 보낼때 회원당 점의 포인트를 차감합니다. +
                                                                                  +
                                                                                • +
                                                                                • + + +
                                                                                • +
                                                                                • + 자동등록방지 + + + +
                                                                                • +
                                                                                +
                                                                                + +
                                                                                + + +
                                                                                +
                                                                                + +
                                                                                + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/memo_view.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/memo_view.skin.php new file mode 100644 index 0000000..4d710c4 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/memo_view.skin.php @@ -0,0 +1,64 @@ +', 0); +?> + + +
                                                                                +

                                                                                +
                                                                                + + + + + +
                                                                                + 답장 + +
                                                                                +
                                                                                +
                                                                                + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/password.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/password.skin.php new file mode 100644 index 0000000..5004db5 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/password.skin.php @@ -0,0 +1,44 @@ +', 0); +?> + +
                                                                                +

                                                                                +

                                                                                + + 작성자만 글을 수정할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 수정할 수 있습니다. + + 작성자만 글을 삭제할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 삭제할 수 있습니다. + + 비밀글 기능으로 보호된 글입니다. + 작성자와 관리자만 열람하실 수 있습니다. 본인이라면 비밀번호를 입력하세요. + +

                                                                                + +
                                                                                + + + + + + + + +
                                                                                + + +
                                                                                +
                                                                                + + +
                                                                                diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/password_lost.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/password_lost.skin.php new file mode 100644 index 0000000..10ccb24 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/password_lost.skin.php @@ -0,0 +1,46 @@ +', 0); +?> + + +
                                                                                +

                                                                                아이디 / 비밀번호 찾기

                                                                                +
                                                                                +
                                                                                +
                                                                                +

                                                                                + 회원가입 시 등록하신 이메일 주소를 입력해 주세요.
                                                                                + 해당 이메일로 아이디와 비밀번호 정보를 보내드립니다. +

                                                                                + +
                                                                                + +
                                                                                + + +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/point.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/point.skin.php new file mode 100644 index 0000000..3140834 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/point.skin.php @@ -0,0 +1,77 @@ +', 0); +?> + +
                                                                                +

                                                                                + +
                                                                                +
                                                                                  +
                                                                                • + 보유포인트 + +
                                                                                • +
                                                                                +
                                                                                  + 0) { + $point1 = '+' .number_format($row['po_point']); + $sum_point1 += $row['po_point']; + } else { + $point2 = number_format($row['po_point']); + $sum_point2 += $row['po_point']; + $point_use_class = 'point_use'; + } + + $po_content = $row['po_content']; + + $expr = ''; + // if($row['po_expired'] == 1) + $expr = ' txt_expired'; + ?> +
                                                                                • +
                                                                                  + + +
                                                                                  + + + + 만료 + + +
                                                                                • + 자료가 없습니다.'; + else { + if ($sum_point1 > 0) + $sum_point1 = "+" . number_format($sum_point1); + $sum_point2 = number_format($sum_point2); + } + ?> + +
                                                                                • + 소계 + + +
                                                                                • +
                                                                                + + + + +
                                                                                +
                                                                                \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/profile.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/profile.skin.php new file mode 100644 index 0000000..fd887c2 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/profile.skin.php @@ -0,0 +1,48 @@ +', 0); +?> + +
                                                                                +

                                                                                님의 프로필

                                                                                + +
                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                회원권한
                                                                                포인트
                                                                                홈페이지
                                                                                회원가입일= $mb['mb_level']) ? substr($mb['mb_datetime'],0,10) ." (".number_format($mb_reg_after)." 일)" : "알 수 없음"; ?>
                                                                                최종접속일= $mb['mb_level']) ? $mb['mb_today_login'] : "알 수 없음"; ?>
                                                                                +
                                                                                + +
                                                                                +

                                                                                인사말

                                                                                +

                                                                                +
                                                                                + +
                                                                                + +
                                                                                +
                                                                                diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/register.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/register.skin.php new file mode 100644 index 0000000..fb141ea --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/register.skin.php @@ -0,0 +1,107 @@ +', 0); +?> + +
                                                                                + + + +
                                                                                + +

                                                                                회원가입약관 및 개인정보처리방침안내의 내용에 동의하셔야 회원가입 하실 수 있습니다.

                                                                                + +
                                                                                + + +
                                                                                + +
                                                                                +

                                                                                회원가입약관

                                                                                + +
                                                                                + + +
                                                                                +
                                                                                + +
                                                                                +

                                                                                개인정보처리방침안내

                                                                                +
                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                개인정보처리방침안내
                                                                                목적
                                                                                항목보유기간
                                                                                이용자 식별 및 본인여부 확인
                                                                                아이디, 이름, 비밀번호회원 탈퇴 시까지
                                                                                고객서비스 이용에 관한 통지,
                                                                                CS대응을 위한 이용자 식별
                                                                                연락처 (이메일, 휴대전화번호)회원 탈퇴 시까지
                                                                                +
                                                                                +
                                                                                + + +
                                                                                +
                                                                                + +
                                                                                + +
                                                                                + +
                                                                                + + + +
                                                                                diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/register_form.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/register_form.skin.php new file mode 100644 index 0000000..cb9eb7b --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/register_form.skin.php @@ -0,0 +1,481 @@ +', 0); +?> + +
                                                                                + + + + + +
                                                                                + + + + + + + + date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면 ?> + + + + +
                                                                                +

                                                                                사이트 이용정보 입력

                                                                                +
                                                                                  +
                                                                                • + + placeholder="아이디"> + + 영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요. +
                                                                                • +
                                                                                • + + placeholder="비밀번호"> +
                                                                                • +
                                                                                • + + placeholder="비밀번호확인"> +
                                                                                • +
                                                                                +
                                                                                + +
                                                                                +

                                                                                개인정보 입력

                                                                                +
                                                                                  +
                                                                                • + + class="frm_input full_input " placeholder="이름"> + 아이핀 본인확인'.PHP_EOL; + if($config['cf_cert_hp']) + echo ''.PHP_EOL; + + echo ''.PHP_EOL; + } + ?> + + + 아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다. + +
                                                                                  + 본인확인성인인증 완료 +
                                                                                  + +
                                                                                • + +
                                                                                • + + + + 공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)
                                                                                  + 닉네임을 바꾸시면 앞으로 일 이내에는 변경 할 수 없습니다. +
                                                                                  + + + +
                                                                                • + + +
                                                                                • + + + + + + + + + +
                                                                                • + + +
                                                                                • + + " maxlength="255" placeholder="홈페이지"> +
                                                                                • + + + +
                                                                                • + + " maxlength="20" placeholder="전화번호"> +
                                                                                • + + + +
                                                                                • + + + class="frm_input full_input " maxlength="20" placeholder="휴대폰번호"> + + + + +
                                                                                • + + + +
                                                                                • +
                                                                                  + 주소필수 + + class="frm_input " size="5" maxlength="6" placeholder="우편번호"> +
                                                                                  +
                                                                                  + + class="frm_input frm_address " size="50" placeholder="주소">
                                                                                  + + +
                                                                                  + + + + +
                                                                                • + +
                                                                                +
                                                                                + +
                                                                                +

                                                                                기타 개인설정

                                                                                +
                                                                                  + +
                                                                                • + + +
                                                                                • + + + +
                                                                                • + + +
                                                                                • + + + = $config['cf_icon_level']) { ?> +
                                                                                • + + + + + 이미지 크기는 가로 픽셀, 세로 픽셀 이하로 해주세요.
                                                                                  + gif, jpg, png파일만 가능하며 용량 바이트 이하만 등록됩니다. +
                                                                                  + + 회원아이콘 + + + +
                                                                                • + + + = $config['cf_icon_level'] && $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height']) { ?> +
                                                                                • + + + + + 이미지 크기는 가로 픽셀, 세로 픽셀 이하로 해주세요.
                                                                                  + gif, jpg, png파일만 가능하며 용량 바이트 이하만 등록됩니다. +
                                                                                  + + 회원아이콘 + + + +
                                                                                • + + +
                                                                                • + class="selec_chk"> + + 정보 메일을 받겠습니다. +
                                                                                • + + +
                                                                                • + class="selec_chk"> + + 휴대폰 문자메세지를 받겠습니다. +
                                                                                • + + + +
                                                                                • + class="selec_chk"> + + 다른분들이 나의 정보를 볼 수 있도록 합니다. + + 정보공개를 바꾸시면 앞으로 일 이내에는 변경이 안됩니다. + + +
                                                                                • + +
                                                                                • + 정보공개 + + + + 정보공개는 수정후 일 이내, 까지는 변경이 안됩니다.
                                                                                  + 이렇게 하는 이유는 잦은 정보공개 수정으로 인하여 쪽지를 보낸 후 받지 않는 경우를 막기 위해서 입니다. +
                                                                                  +
                                                                                • + + + + + +
                                                                                • + + +
                                                                                • + + +
                                                                                • + 자동등록방지 + +
                                                                                • +
                                                                                +
                                                                                + +
                                                                                + 취소 + +
                                                                                +
                                                                                + + +
                                                                                \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/register_form_update.tail.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/register_form_update.tail.skin.php new file mode 100644 index 0000000..8b4e10e --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/register_form_update.tail.skin.php @@ -0,0 +1,59 @@ +SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + $strDest = array(); + $strDest[] = $receive_number; + $strCallBack = $send_number; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_contents); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv_euckr(stripslashes($sms_contents)), ""); + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } +} +//---------------------------------------------------------- +// SMS 문자전송 끝 +//----------------------------------------------------------; \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/register_result.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/register_result.skin.php new file mode 100644 index 0000000..3307427 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/register_result.skin.php @@ -0,0 +1,45 @@ +', 0); +?> +
                                                                                +

                                                                                회원가입이 완료되었습니다.

                                                                                +
                                                                                +

                                                                                + 님의 회원가입을 진심으로 축하합니다.
                                                                                +

                                                                                + + +

                                                                                + 회원 가입 시 입력하신 이메일 주소로 인증메일이 발송되었습니다.
                                                                                + 발송된 인증메일을 확인하신 후 인증처리를 하시면 사이트를 원활하게 이용하실 수 있습니다. +

                                                                                +
                                                                                + 아이디 +
                                                                                + 이메일 주소 + +
                                                                                +

                                                                                + 이메일 주소를 잘못 입력하셨다면, 사이트 관리자에게 문의해주시기 바랍니다. +

                                                                                + + +

                                                                                + 회원님의 비밀번호는 아무도 알 수 없는 암호화 코드로 저장되므로 안심하셔도 좋습니다.
                                                                                + 아이디, 비밀번호 분실시에는 회원가입시 입력하신 이메일 주소를 이용하여 찾을 수 있습니다. +

                                                                                + +

                                                                                + 회원 탈퇴는 언제든지 가능하며 일정기간이 지난 후, 회원님의 정보는 삭제하고 있습니다.
                                                                                + 감사합니다. +

                                                                                +
                                                                                + + + +
                                                                                diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/scrap.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/scrap.skin.php new file mode 100644 index 0000000..951b092 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/scrap.skin.php @@ -0,0 +1,28 @@ +', 0); +?> + +
                                                                                +

                                                                                + +
                                                                                  + +
                                                                                • + + + + 삭제 +
                                                                                • + + 자료가 없습니다."; ?> +
                                                                                + + + +
                                                                                + +
                                                                                +
                                                                                diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/scrap_popin.skin.php b/web/html/theme/FT_WEB20/mobile/skin/member/basic/scrap_popin.skin.php new file mode 100644 index 0000000..372ee01 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/scrap_popin.skin.php @@ -0,0 +1,33 @@ +', 0); +?> + +
                                                                                +

                                                                                스크랩하기

                                                                                +
                                                                                + + + +
                                                                                +

                                                                                제목 확인 및 댓글 쓰기

                                                                                +
                                                                                  +
                                                                                • + 제목 + +
                                                                                • +
                                                                                • + + +
                                                                                • +
                                                                                +
                                                                                +

                                                                                스크랩을 하시면서 감사 혹은 격려의 댓글을 남기실 수 있습니다.

                                                                                + +
                                                                                + +
                                                                                +
                                                                                +
                                                                                \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/member/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/member/basic/style.css new file mode 100644 index 0000000..208b0df --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/member/basic/style.css @@ -0,0 +1,345 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ +.mbskin {text-align:center;margin:20px auto} +.mbskin h1 {font-size:1.75em;margin:40px 0 25px} +.mbskin p {padding-bottom:20px;border-bottom:1px solid #c8c8c8} +.mbskin p strong {color:#4162ff;padding-bottom:5px;display:block;font-size:1.083em} + +/* 버튼 */ +.mbskin a.btn01 {} +.mbskin a.btn01:focus, .mbskin a.btn01:hover {} +.mbskin a.btn02 {} +.mbskin a.btn02:focus, .mbskin .btn02:hover {} +.mbskin .btn_confirm {} /* 서식단계 진행 */ +.mbskin .btn_submit {display:block;width:100%;height:40px;line-height:40px;padding:0 10px;border:0;font-weight:bold;background:#3a8afd;color:#fff;border-radius:3px} +.mbskin .btn_cancel {} +.mbskin .btn_frmline {} /* 우편번호검색버튼 등 */ +.mbskin .win_btn {} /* 새창용 */ +.mbskin .win_btn a {} +.mbskin .win_btn button {} +.mbskin .win_btn input {} + +/* 게시판용 버튼 */ +.mbskin a.btn_b01 {} +.mbskin a.btn_b01:focus, .mbskin .btn_b01:hover {} +.mbskin a.btn_b02 {} +.mbskin a.btn_b02:focus, .mbskin .btn_b02:hover {} +.mbskin a.btn_admin {} /* 관리자 전용 버튼 */ +.mbskin a.btn_admin:focus, .mbskin a.btn_admin:hover {} + +/* 기본테이블 */ +.mbskin .tbl_head01 {} +.mbskin .tbl_head01 caption {} +.mbskin .tbl_head01 thead th {} +.mbskin .tbl_head01 thead a {} +.mbskin .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.mbskin .tbl_head01 tfoot th {} +.mbskin .tbl_head01 tfoot td {} +.mbskin .tbl_head01 tbody th {} +.mbskin .tbl_head01 td {} +.mbskin .tbl_head01 a {} +.mbskin td.empty_table {} + +/* 폼 테이블 */ +.mb_skin table {} +.mb_skin caption {} +.mb_skin .frm_info {} +.mb_skin .frm_file {} + +.mbskin .tbl_frm01 {} +.mbskin .tbl_frm01 caption {} +.mbskin .tbl_frm01 th {} +.mbskin .tbl_frm01 td {} +.mbskin .tbl_frm01 textarea, .mbskin .frm_input {} +.mbskin .tbl_frm01 textarea {} +/* +.mbskin .tbl_frm01 #captcha {} +.mbskin .tbl_frm01 #captcha input {} +*/ +.mbskin .tbl_frm01 a {} + +.mbskin .required, .mbskin textarea.required {} /* 필수입력 */ + +/* 테이블 항목별 정의 */ +.mbskin .td_board {} +.mbskin .td_chk {} +.mbskin .td_date {} +.mbskin .td_datetime {} +.mbskin .td_group {} +.mbskin .td_mb_id {} +.mbskin .td_mng {} +.mbskin .td_name {} +.mbskin .td_nick {} +.mbskin .td_num {} +.mbskin .td_numbig {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 회원가입 공통 */ +.register {padding:15px} + +/* 회원가입 약관 */ +#fregister section {position:relative;background:#fff;border-bottom:1px solid #e5e9f0;padding:15px} +#fregister_chkall {position:relative;font-size:bold;text-align:left;background:#fff;padding:15px;border-top:1px solid #e5e9f0;border-bottom:1px solid #e5e9f0;border-radius:3px} +#fregister h2 {text-align:left;padding-bottom:15px;line-height:1.7em;font-size:1.4em} +#fregister textarea {display:block;width:100%;height:180px;padding:10px;background:#fbfbfb;border:1px solid #d1d7d8;line-height:1.5em;color:#555} +#fregister p {position:relative;text-align:left;color:#fff;line-height:18px;padding:15px;font-size:1.1em;background:#f2838f;margin:15px;border-radius:5px} +#fregister p:before {content:"";position:absolute;top:0;left:0;width:5px;height:100%;border-radius:5px 0 0 5px;background:#da4453} +#fregister p i {font-size:1.2em;vertical-align:middle} +#fregister .btn_confirm {margin:15px 10px} +#fregister_private .tbl_head01 {margin:0} +#fregister_private .tbl_head01 caption {position:absolute;font-size:0;line-height:0;overflow:hidden;top:0;color:#fff} + +/* 회원가입 입력 */ +#fregisterform .btn_confirm {text-align:center;margin:20px 0} +#fregisterform .btn_confirm .btn_submit {width:49%;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em} +#fregisterform .btn_confirm .btn_cancel {width:49%;line-height:45px;height:45px;padding:0 30px;font-weight:bold;border-radius:3px;border:1px solid #dcdcdc;font-size:1.083em;background:#fff} + +#fregisterform #reg_mb_email, #fregisterform .frm_address {width:100%} +#fregisterform textarea {width:100%;height:84px} +#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center} +#fregisterform .frm_address, +#fregisterform .password {margin:-1px 0 0} +#fregisterform .password .frm_input {border-bottom:0} +#fregisterform #mb_addr3 {display:block;margin:5px 0 0} +#fregisterform #mb_addr_jibeon {display:block;margin:5px 0 0} +#fregisterform .form_01 {margin-bottom:30px} +#fregisterform .form_01 h2 {font-size:1.167em;margin:0 0 5px} +#fregisterform .frm_label {display:block;font-size:1.083em;margin:15px 0 5px;color:#555} +#fregisterform .btn_frmline {width:70px;height:30px;line-height:30px;padding:0 10px;font-weight:bold} +#fregisterform .rgs_name_li button {margin:5px 0 0} +#fregisterform .reg_mb_img_file {margin-bottom:30px} +#fregisterform .reg_mb_img_file img {max-width:100%;height:auto} + +.filebox .fileName {display:inline-block;position:relative;width:100%;height:45px;padding-left:10px;margin-right:5px;line-height:30px;border: 1px solid #d0d3db;background-color:#fff;color:red;vertical-align:middle} +.filebox .btn_file {display:inline-block;position:absolute;right:8px;top:8px;border:1px solid #3a8afd;border-radius:3px;width:70px;height:30px;color:#3a8afd;font-size:1em;line-height:30px;font-weight:bold;text-align:center;vertical-align:middle} +.filebox input[type="file"] {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0} + +.adress {background:red;width:100%} +.adress #reg_mb_zip {width:100%;position:relative} +.adress .btn_frmline {position:absolute;top:8px;right:8px;height:40px;padding:0 10px;border-radius:3px} + +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {padding-left:10px;color:#676e70} +.chk_box input[type="checkbox"] + label:hover{color:#2172f8} +.chk_box input[type="checkbox"] + label span {position:absolute;top:1px;left:0;width:17px;height:17px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} +.chk_li {padding-left:10px;line-height:20px} + +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.fregister_agree input[type="checkbox"] + label {color:#676e70} +.fregister_agree input[type="checkbox"] + label:hover {color:#2172f8} +.fregister_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.fregister_agree input[type="checkbox"]:checked + label {color:#000} +.fregister_agree input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} +.fregister_agree.chk_all input[type="checkbox"] + label span {top:15px} + + +/* 회원가입 완료 */ +#reg_result {padding:20px 10px 10px} +#reg_result #result_email {margin:20px 0;padding:10px 50px;border-top:1px solid #eee;border-bottom:1px solid #eee;background:#fff;line-height:2em} +#reg_result #result_email span {display:inline-block;width:150px} +#reg_result #result_email strong {color:#e8180c;font-size:1.2em} +#reg_result h2 {text-align:center;font-size:1.25em;margin:0 0 10px} +#reg_result h2 strong {color:#ed6478} +#reg_result p {line-height:1.7em} +#reg_result .btn_confirm {margin:20px 0 30px} +#reg_result .reg_result_wr {background:#fff;padding:10px 20px} +#reg_result .reg_cong {margin:10px 0;font-size:1.083em;font-weight:bold} +#reg_result .reg_cong strong {color:#3497d9} +#reg_result .btn_confirm a {display:inline-block;padding:0 20px;height:40px;line-height:38px;border:1px solid #ed6478;color:#ed6478;border-radius:3px;font-weight:bold} + +/* 아이디/비밀번호 찾기 */ +#find_info #info_fs p {margin:0 0 10px;line-height:1.5em;font-size:0.92em;color:#4162ff} +#find_info #info_fs #mb_email {width:100%} +#find_info #captcha {margin:5px 0} + +/* 로그인 */ +#mb_login {} +#mb_login h1 {font-size:2em;text-align:center;margin:30px 0 20px} +#mb_login h2 {margin:0} +#mb_login p {padding:10px 0;line-height:1.5em} +#mb_login #login_frm {position:relative;padding:20px} +#mb_login #login_frm div {margin:10px 0;text-align:left} +#mb_login .frm_input {width:100%;margin:5px 0} +#mb_login #login_info label {padding-left:23px} +#mb_login .btn_submit {width:100%;border-radius:3px;height:40px;margin:10px 0 0;font-size:1.083em;font-weight:bold} +#mb_login .mb_login_join {padding:0 20px 20px} +#mb_login .mb_login_join:after {display:block;visibility:hidden;clear:both;content:""} +#mb_login .mb_login_join h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#mb_login .mb_login_join a {display:block;float:left;width:50%;color:#9d9d9d} +#login_password_lost {border-right:1px solid #cdcdcd} + +#flogin {background:#fff;margin:20px 0} + +#mb_login_notmb {background:#fff;border-bottom:1px solid #ccc;padding:20px} +#mb_login_notmb .chk_box input[type="checkbox"] + label{padding-left:20px} +#mb_login_notmb h2 {font-size:1.25em;padding:10px;background:#f3f3f3} +#mb_login_notmb p {border:0;padding:0;margin:10px;color:#} +#guest_privacy {border:1px solid #ccc;text-align:left;line-height:1.6em;color:#666;background:#fafafa;padding:10px;height:200px;margin:10px 0;overflow-y:auto} +#mb_login_notmb .btn_submit {width:100%;display:block;height:40px;line-height:40px} + +#mb_login_od_wr {background:#fff;border-bottom:1px solid #ccc;padding:20px} +#mb_login_od_wr p {border:0;text-align:left} +#mb_login_od_wr p strong {display:inline} +#mb_login_odinfo {margin:10px 0 0 ;background:#f3f3f3;padding:10px} +#mb_login_odinfo h2 {font-size:1.167em} + +#mb_login #sns_login {margin-top:0;border-color:#edeaea;padding:20px} +#mb_login #sns_login:after {display:block;visibility:hidden;clear:both;content:""} +#mb_login #sns_login h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#mb_login #sns_login .sns-wrap {margin:0 !important} +#mb_login #sns_login .sns-icon {width:49% !important;float:left !important} +#mb_login #sns_login .sns-icon:nth-child(odd) {margin-right:2%} +#mb_login #sns_login .txt {font-size:0.95em;padding-left:5px !important;border-left:0 !important} + + +/* 쪽지 */ +.memo_list {border-top:1px solid #ececec;} +.memo_list li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative} +.memo_list li:after {display:block;visibility:hidden;clear:both;content:""} +.memo_list li.read {background:#f6f6f6} +.memo_list li.empty_li {text-align:center;padding:20px 0;color:#666} + +.memo_list .memo_li {float:left} +.memo_list .profile_big_img {position:relative;margin-right:15px} +.memo_list .profile_big_img img {border-radius:50%;width:52px;height:52px} +.memo_list .memo_name {padding-top:5px;float:none} +.memo_list .memo_preview a{display:block;margin-right:30px;padding-top:10px;font-weight:normal !important;font-size:1.2em} +.memo_list .memo_preview a:hover{text-decoration:underline} +.memo_list .memo_name a, +.memo_list .memo_name .sv_wrap {font-weight:bold} +.memo_list .no_read {position:absolute;bottom:0;right:0;display:inline-block;background:#3a8afd;border:1px solid #e1edff;text-indent:-9999px;border-radius:10px;width:10px;height:10px;box-shadow:0 0 10px 3px #9ec3f9} +.memo_list .no_read {animation:blinker 1s linear infinite} + +@keyframes blinker { + 50% {opacity:0} + } + +#memo_list h1#win_title {padding:10px 10px 10px 20px} +#memo_list .memo_datetime {font-size:0.92em;color:#888d92} +#memo_list .memo_del {position:absolute;right:15px;top:15px;padding:10px;color:#c7c9cb;font-size:1.4em} +#memo_list .memo_cnt {margin-top:5px;font-weight:normal;display:inline-block;font-size:1.2em} + +#memo_view_contents {margin-bottom:20px;border-top:1px solid #ececec;border-bottom:1px solid #ececec} +#memo_view_contents h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#memo_view_ul {margin:0;list-style:none;background:#f6f6f6} +#memo_view_ul:after {display:block;visibility:hidden;clear:both;content:""} +.memo_view_li {position:relative;/*padding:10px;float:left;width:50%*/} + +.memo_view_li .profile_img img {display:none} +.memo_from {position:relative;background:#fff;border-bottom:1px solid #ececec;padding:15px 20px} +.memo_from li {float:left} +.memo_from li.memo_profile img {width:40px;height:40px;border-radius:50%} +.memo_from li:first-child {margin-right:10px} +.memo_from li.memo_view_nick {width:80%} +.memo_from li.memo_view_nick a {font-weight:bold !important} +.memo_from li.memo_view_date {display:block;color:#555;line-height:24px} +.memo_from li.memo_op_btn {position:absolute} +.memo_from li.list_btn {right:53px;} +.memo_from li.del_btn {right:15px;padding} +.memo_from:after {display:block;visibility:hidden;clear:both;content:""} + +.memo_btn {width:100%} +.memo_btn a {display:inline-block;width:50%;font-size:1em;color:#888d92;padding:20px} +.memo_btn a.btn_right {float:right;text-align:right} +.memo_btn a i {font-size:1.2em;color:#acabab;vertical-align:bottom} + +#memo_view p {padding:10px;min-height:150px;height:auto !important;height:150px;background:#fff;line-height:1.8em} +#memo_view textarea {height:100px} + +#memo_write .form_01 {padding:20px;border-top:1px solid #ececec} + +.reply_btn {display:inline-block;width:150px;height:45px;line-height:50px;padding:0 10px;font-weight:bold;background:#3a8afd;color:#fff;border-radius:3px;vertical-align:bottom;margin-right:5px} +#memo_write .reply_btn {font-size:1em} + +/* 스크랩 */ +#scrap li:after {display:block;visibility:hidden;clear:both;content:""} +#scrap li {position:relative;padding:20px;border-bottom:1px solid #ececec} +#scrap .scrap_tit {font-weight:bold;display:block;font-size:1.083em;margin-bottom:10px;line-height:1.3em} +#scrap .scrap_cate {float:left;display:block;color:#ac92ec;background:#eeeaf8;padding:3px;border-radius:3px;font-size:0.92em;margin-right:10px} +#scrap .scrap_datetime {color:#777;line-height:18px} +#scrap .scrap_del {position:absolute;top:15px;right:15px;font-size:18px;color:#c7c9cb} +#scrap .scrap_del:hover {color:#3a8afd} + +#scrap_do textarea {width:100%;height:100px} +#scrap_do .scrap_tit {margin-bottom:10px;background:#f3f3f3;padding:10px 15px;font-size:1.2em;font-weight:bold} +#scrap_do label {display:block;margin:0 0 5px;font-size:1em} +#scrap_do .win_btn:after {display:block;visibility:hidden;clear:both;content:""} +#scrap .win_btn, #scrap_do .win_btn {margin:20px 0;text-align:center} +#scrap_do .win_btn .btn_submit {float:inherit} +#scrap_do .win_desc {margin:0 20px} + +/* 포인트 */ +#point {text-align:center} +#point h1 {text-align:left} +#point .point_all {margin:15px;border-radius:5px;background:#edf3fc;border:1px solid #d6e2f4;color:#485172;font-size:1.083em} +#point .point_all:after {display:block;visibility:hidden;clear:both;content:""} +#point .point_all li {float:left;width:50%;padding:20px;text-align:left} +#point .point_all li span {float:right;color:#485172;font-weight:bold} +#point .point_all li:last-child {border-left:1px solid #d6e2f4} +#point .point_all .full_li {width:100%;border-bottom:1px solid #d6e2f4;text-align:left} +#point .point_all .full_li span {color:#000;font-weight:bold;font-size:1.2em} +#point .point_status{background:#737373;border:0;color:#fff;font-weight:bold;font-size:1.083em;text-align:left} +#point .point_status:after {display:block;visibility:hidden;clear:both;content:""} +#point .point_status span{margin-left:10px;float:right} + +.point_list {margin-bottom:20px} +.point_list li:first-child {border-top:1px solid #ececec} +.point_list li {border-bottom:1px solid #ececec;background:#fff;padding:15px;list-style:none;position:relative} +.point_list li:after {display:block;visibility:hidden;clear:both;content:""} + +.point_list .point_use {background:#f6f6f6} +.point_list .point_use .point_num {font-size:1.25em;color:#ff4f76;font-weight:bold;float:right} +.point_list .point_num {font-size:1.25em;color:#3a8afd;font-weight:bold;position:absolute;right:15px;top:25px} +.point_list .point_top {line-height:15px;margin:0 0 5px} +.point_list .point_top:after {display:block;visibility:hidden;clear:both;content:""} +.point_list .point_tit {font-weight:bold;float:left;font-size:1.083em;display:block} +.point_list .point_date1 {float:left;color:#888d92} +.point_list .point_date {float:left;color:#888d92} +.point_list .txt_expired {color:red;margin-left:5px} + +#point .pg_wrap {width:100%;float:inherit;text-align:center} +#point .btn_close {margin:20px auto} + +/* 회원 비밀번호 확인 */ +#mb_confirm {max-width:320px;margin:30px auto} +#mb_confirm h1 {margin:0 0 15px;padding:0 10px;font-size:1.3em} +#mb_confirm p {padding:15px 10px;border-bottom:1px solid #cfded8;border-bottom:0;background:#fff} +#mb_confirm p strong {display:block} +#mb_confirm fieldset {position:relative;margin:20px 0;text-align:left;color:#555} +#mb_confirm_id {font-weight:bold;display:block;font-size:1.083em;margin:5px 0} +#mb_confirm_pw {display:block;margin-top:10px;width:100%} +#mb_confirm .btn_submit {width:100%;height:40px;border-radius:3px;margin:10px 0} + +/* 비밀글 비밀번호 확인 */ +#pw_confirm fieldset {position:relative;margin:0 0 5px;padding:15px 0;border-top:1px solid #fffefe} +#pw_wr_password {width:100%} +#pw_confirm .btn_submit {margin:5px 0;width:100%;border-radius:3px;height:45px;font-weight:bold;font-size:1.083em} + +/* 폼메일 */ +#formmail #subject {width:100%} +#formmail textarea {width:100%;height:100px} +#formmail .frm_file {padding-left:50px} +#formmail .file_wr {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px} +#formmail .lb_icon {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#fff;text-align:center;color:#b2b2b2} + +.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70} +.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#f7f8f9;border:1px solid #cdd6df;border-radius:50%} +.chk_box input[type="radio"]:checked + label {color:#3a8afd} +.chk_box input[type="radio"]:checked + label span {border-color:#3a8afd} +.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:#3a8afd;content:'';position:absolute;top:3px;left:3px;border-radius:50%} + + +/* 자기소개 */ +#profile section {margin:10px} +#profile h2 {margin:0} +#profile .sv_wrap a {} +#profile .profile_img img {border-radius:50%} +#profile table {width:100%;border-collapse:collapse} +#profile table th {background:#fff;padding:10px;width:90px;text-align:left;border-bottom:1px solid #eee} +#profile table td {background:#fff;padding:10px;border-bottom:1px solid #eee} +#profile p {color:#6794d3;background:#fff;padding:10px;border:1px solid #eee;margin:10px 0} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/new/basic/new.skin.php b/web/html/theme/FT_WEB20/mobile/skin/new/basic/new.skin.php new file mode 100644 index 0000000..a396ccc --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/new/basic/new.skin.php @@ -0,0 +1,65 @@ +', 0); +?> + + +
                                                                                + 상세검색 +
                                                                                + + + +
                                                                                + + + +
                                                                                +
                                                                                +

                                                                                회원 아이디만 검색 가능

                                                                                + +
                                                                                + + + +
                                                                                +
                                                                                  + + +
                                                                                • + + +
                                                                                  + 작성자 + +
                                                                                  +
                                                                                • + + + 게시물이 없습니다.'; + ?> +
                                                                                +
                                                                                + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/new/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/new/basic/style.css new file mode 100644 index 0000000..2aa977b --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/new/basic/style.css @@ -0,0 +1,20 @@ +@charset "utf-8"; + +/* 최근게시물 스킨 (new) */ +#new_sch {background:#fff;text-align:center;margin:10px 0;border-bottom:1px solid #ddd} +#new_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#new_sch form {padding:15px} +#new_sch select {float:left;border:1px solid #d0d3db;width:49.5%;height:45px;padding:0 5px;border-radius:0} +#new_sch select#gr_id {margin-right:1%} +#new_sch .ipt_sch {clear:both;position:relative;padding-top:10px} +#new_sch .frm_input {border:1px solid #d0d3db;width:100%;height:45px;border-radius:0} +#new_sch .sch_wr {position:relative;display:inline-block} +#new_sch .btn_submit {position:absolute;top:10px;right:0;padding:0 10px;height:45px;width:45px;font-size:1.4em;font-weight:bold;color:#434a54;background:transparent} +#new_sch p {padding:12px 0;font-size:0.95em;text-align:center;background:#f9fbfc;color:#3a8afd;letter-spacing:-0.1em} + +.new_list li {padding:15px;background:#fff;border-bottom:1px solid #e8eaee} +.new_list .new_tit {display:block;line-height:24px;margin:5px 0;font-weight:bold;font-size:1.2em} +.new_list .profile_img img {border-radius:50%} +.new_list .new_info {color:#646464;font-weight:normal} +.new_list .new_date {margin-left:5px} +.new_list .new_board {background:#eeeaf8;color:#ac92ec;padding:3px 4px;border-radius:5px;font-weight:normal} diff --git a/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_edit.png b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_edit.png new file mode 100644 index 0000000..cea6ea7 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_edit.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_memo.png b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_memo.png new file mode 100644 index 0000000..5b86133 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_memo.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_point.png b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_point.png new file mode 100644 index 0000000..27fa832 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_point.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_scrap.png b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_scrap.png new file mode 100644 index 0000000..43e10b1 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/img/icon_scrap.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/outlogin.skin.1.php b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/outlogin.skin.1.php new file mode 100644 index 0000000..8170751 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/outlogin.skin.1.php @@ -0,0 +1,14 @@ +', 0); +?> + + + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/outlogin.skin.2.php b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/outlogin.skin.2.php new file mode 100644 index 0000000..37f44fb --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/outlogin.skin.2.php @@ -0,0 +1,56 @@ +', 0); +?> + + + + + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/style.css new file mode 100644 index 0000000..4d5c686 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/outlogin/basic/style.css @@ -0,0 +1,36 @@ +@charset "utf-8"; + +.ol {position:relative;margin:0 0 10px;text-align:center} +.ol h2 {width:0;height:0;overflow:hidden} + +#ol_before {background:#212020;padding:11px 15px;text-align:left} +#ol_before input[type=text], #ol_before input[type=password] {width:100%;border:0;border-bottom:1px solid #434242;background:none;height:40px;;margin:0 0 10px;color:#fff} +#ol_submit {width:100%;height:40px;border-radius:23px;font-weight:bold;font-size:1.083em; } +#ol_svc {text-align:left;color:#dadada;font-size:0.92em;margin:5px 0 20px} +.ol_before_btn {margin:15px 0 0;color:#aaa;line-height:1em} +.ol_before_btn a {color:#fff;display:inline-block;width:50%;float:left} +#ol_password_lost {border-left:1px solid #777} + +#ol_after_hd {position:relative;background:#212020;padding:10px 15px} +#ol_after_hd:after {display:block;visibility:hidden;clear:both;content:""} +#ol_after_hd strong {display:block;float:left;color:#fff;padding:0 0 0 15px;line-height:40px} +#ol_after_hd .btn_admin {float:left;display:block;padding:0 !important;text-align:center;color:#fff;margin-right:10px;background:#d13f4a;width:30px} +#ol_after_hd .profile_img {position:relative;float:left;display:inline-block} +#ol_after_hd .profile_img img {width:37px;height:37px;border-radius:50%} +#ol_after_info {position:absolute;bottom:-5px;right:-5px;width:20px;height:20px;line-height:18px;text-align:center;border-radius:50%;background:#212020} +#ol_after_info i {color:#fff;font-size:1em} + +#ol_after_private {clear:both;margin-top:15px;background:#fff;padding:0;list-style:none;border-bottom:1px solid #e1e1e1} +#ol_after_private:after {display:block;visibility:hidden;clear:both;content:""} +#ol_after_private li {position:relative;float:left;width:33.333%;text-align:left;border-right:1px solid #efefef} +#ol_after_private li a {color:#000} +#ol_after_private i {margin:0 5px 0 0;color:#b9bcbf;font-size:1.2em} +#ol_after_private strong {position:absolute;top:16px;right:10px} +#ol_after_memo strong {background:#37bc9b;color:#fff;padding:0 5px;border-radius:15px;font-size:0.92em} +#ol_after_pt strong {background:#8cc152;color:#fff;padding:0 5px;border-radius:15px;font-size:0.92em;font-weight:normal} +#ol_after_private li#ol_after_scrap {border-right:0;text-align:center} +#ol_after_private a {display:inline-block;padding:15px 10px} + +#ol_after_btn {position:absolute;top:15px;right:55px} +#ol_after_btn a {display:inline-block;padding:0 10px;line-height:30px;color:#fff;border-radius:3px;font-weight:bold} +#ol_after_logout {background:#3a8afd;color:#fff} diff --git a/web/html/theme/FT_WEB20/mobile/skin/outlogin/shop_basic/outlogin.skin.1.php b/web/html/theme/FT_WEB20/mobile/skin/outlogin/shop_basic/outlogin.skin.1.php new file mode 100644 index 0000000..a19b692 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/outlogin/shop_basic/outlogin.skin.1.php @@ -0,0 +1,18 @@ +', 0); +?> + + + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/outlogin/shop_basic/outlogin.skin.2.php b/web/html/theme/FT_WEB20/mobile/skin/outlogin/shop_basic/outlogin.skin.2.php new file mode 100644 index 0000000..fa5cfe4 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/outlogin/shop_basic/outlogin.skin.2.php @@ -0,0 +1,48 @@ +', 0); +?> + + + + + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/outlogin/shop_basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/outlogin/shop_basic/style.css new file mode 100644 index 0000000..c1bd1cc --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/outlogin/shop_basic/style.css @@ -0,0 +1,33 @@ +@charset "utf-8"; +.ol {position:relative;margin:0 0 10px;position:relative} +#ol_before h2 {width:0;height:0;overflow:hidden} +#ol_after h2 {width:0;height:0;overflow:hidden} + +#ol_before{background:#212020;;color:#fff;padding-left:10px;} +#ol_before .ol_before_link{display:inline-block;margin:10px 3px;} +#ol_before .ol_before_link a{display:inline-block;padding:0 10px;line-height:33px;border-radius:3px} +#ol_before .ol_before_link .login{color:#fff;background:#3a8afd;line-height:35px} +#ol_before .ol_before_link .join{color:#fff;border:1px solid #787878} + +#ol_after_hd{background:#212020;margin-bottom:10px;padding:15px 10px 15px 70px;text-align:left;position:relative;color:#fff;line-height:20px;} +#ol_after_hd .nickname{color:#fff;display:block} +#ol_after_hd strong {color:#3a8afd} +#ol_after_hd .point{color:#c7d4e6;font-size:0.92em} +#ol_after_hd .profile_img{display:inline-block;position:absolute;top:15px;left:15px} +#ol_after_hd .profile_img img{border-radius:50%;width:40px;height:40px} +#ol_after_info{position:absolute;bottom:0;right:-5px;text-align:center;background:#212020;width:20px;height:20px;line-height:20px;color:#fff;font-size:13px;border-radius:50%} + +#ol_after_private {margin:10px 0 ;padding:0;list-style:none;} +#ol_after_private:after {display:block;visibility:hidden;clear:both;content:""} +#ol_after_private li {position:relative;float:left;width:50%;} +#ol_after_private li:first-child{border-right:1px solid #efefef} +#ol_after_private a {color:#333;line-height:43px;background:#fff;display:block;border-bottom:1px solid #ddd;text-align:center;padding:0 10px 0 40px;text-align:left} +#ol_after_private i{position:absolute;top:0;left:0;font-size:15px;line-height:43px;width:40px;text-align:center;color:#a5a8ac} +#ol_after_private strong{position:absolute;top:12px;right:10px;font-size:0.846em;padding:0 5px;background:#37bc9b;color:#fff;line-height:20px;border-radius:35px} +#ol_after_private .win_coupon strong{background:#a352c1} + +#ol_after_btn {position:absolute;top:20px;right:40px} +#ol_after_btn a{display:inline-block;padding:0 10px;line-height:28px;font-weight:bold;border:1px solid #787878;background:none;color:#fff;vertical-align:top;border-radius:3px} +#ol_after_btn .btn_admin {display:inline-block;padding:0 10px;border:0;text-align:center;margin:0;line-height:30px;background:#ff0000} + +#ol_after_logout{background:#fff;color:#555} diff --git a/web/html/theme/FT_WEB20/mobile/skin/poll/basic/poll.skin.php b/web/html/theme/FT_WEB20/mobile/skin/poll/basic/poll.skin.php new file mode 100644 index 0000000..8e91394 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/poll/basic/poll.skin.php @@ -0,0 +1,75 @@ +', 0); +?> + + +
                                                                                + + + +
                                                                                + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/poll/basic/poll_result.skin.php b/web/html/theme/FT_WEB20/mobile/skin/poll/basic/poll_result.skin.php new file mode 100644 index 0000000..4ee3911 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/poll/basic/poll_result.skin.php @@ -0,0 +1,124 @@ + 0){ + foreach( $list as $k => $v ) { + $get_max_cnt = max( array( $get_max_cnt, $v['cnt'] ) ); // 가장 높은 투표수를 뽑습니다. + } +} + +// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 +add_stylesheet('', 0); +?> + + +
                                                                                +

                                                                                +
                                                                                + + 전체 +
                                                                                +

                                                                                결과

                                                                                +
                                                                                  + +
                                                                                1. + +
                                                                                  + +
                                                                                  +
                                                                                  + + % +
                                                                                  +
                                                                                2. + +
                                                                                +
                                                                                + + + + +
                                                                                +

                                                                                이 설문에 대한 기타의견

                                                                                + + +
                                                                                +
                                                                                +

                                                                                님의 의견

                                                                                + + + 삭제"; } ?> +
                                                                                +

                                                                                + +

                                                                                +
                                                                                + + + = $po['po_level']) { ?> +
                                                                                + + + + +
                                                                                +

                                                                                기타의견

                                                                                +
                                                                                + + +
                                                                                +
                                                                                + +
                                                                                + + +
                                                                                + + + +
                                                                                + + +
                                                                                + + + + + + + +
                                                                                + +
                                                                                +
                                                                                +
                                                                                + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/poll/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/poll/basic/style.css new file mode 100644 index 0000000..784f66c --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/poll/basic/style.css @@ -0,0 +1,107 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ +#poll a.btn_admin {} /* 관리자 전용 버튼 */ +#poll a.btn_admin:focus, #poll a.btn_admin:hover {} + +/* 폼 테이블 */ +#poll .tbl_frm table {} +#poll .tbl_frm .frm_address {} +#poll .tbl_frm .frm_file {} +#poll .tbl_frm .frm_info {} + +#poll .tbl_frm01 {} +#poll .tbl_frm01 caption {} +#poll .tbl_frm01 th {} +#poll .tbl_frm01 td {} +#poll .tbl_frm01 textarea, #poll .frm_input {} +#poll .tbl_frm01 textarea {} +#poll .tbl_frm01 a {} + +#poll .required, #poll textarea.required {} + +#poll .btn_confirm {} /* 서식단계 진행 */ +#poll .btn_submit {} +#poll .btn_cancel {} +#poll .btn_frmline {} /* 우편번호검색버튼 등 */ +#poll .win_btn {} /* 새창용 */ +#poll .win_btn a {} +#poll .win_btn button {} +#poll .win_btn input {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 설문조사 스킨 */ +#poll {background:#fff;border:1px solid #dde7e9;margin:15px 10px} +#poll header {position:relative;padding:15px;border-bottom:1px solid #dde7e9} +#poll header:after {display:block;visibility:hidden;clear:both;content:""} +#poll header h2 {display:inline-block;float:left;line-height:24px;font-size:1.2em} +#poll header h2:after {display:block;visibility:hidden;clear:both;content:""} +#poll header .btn_result {float:right;display:inline-block;line-height:20px;height:28px;border:1px solid #d5d9dd;color:#3a8afd;border-radius:2px;padding:2px 5px;background:#fff} +#poll header .btn_admin {float:right;height:28px;margin-right:5px;line-height:28px;font-size:1.4em} +#poll ul {padding:10px 20px} +#poll li {padding:5px 0} + +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70} +.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#f7f8f9;border:1px solid #cdd6df;border-radius:50%} +.chk_box input[type="radio"]:checked + label {color:#3a8afd} +.chk_box input[type="radio"]:checked + label span {border-color:#3a8afd} +.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:#3a8afd;content:'';position:absolute;top:3px;left:3px;border-radius:50%} + +#poll .poll_con {} +#poll .poll_con p {font-weight:bold;padding:20px 20px 5px;color:#000;font-size:1.167em} +#poll_btn {padding:0 20px 20px;text-align:center} +#poll_btn:after {display:block;visibility:hidden;clear:both;content:""} +#poll_btn .btn_poll {display:block;width:100%;height:40px;line-height:40px;padding:0 10px;border:0;font-weight:bold;background:#3a8afd;color:#fff;border-radius:3px} + +/* 설문조사 결과 (새창) */ +#poll_result {background:#fff} +#poll_result section {} +#poll_result .tbl_wrap {margin:0} +#poll_result .sv_member, +#poll_result .sv_guest {font-weight:bold} +#poll_result .poll_all {position:absolute;top:10px;right:10px;display:inline-block;margin:0 0 10px;line-height:30px;font-size:0.92em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px} +#poll_result_list {clear:both;margin:20px;border:1px solid #d6e2f4;border-top:0;background:#fff;border-radius:5px} +#poll_result_list h2 {margin:0;font-size:1.25em;padding:15px;margin:0 0 15px;border-top:1px solid #d6e2f4;border-bottom:1px solid #d6e2f4;text-align:center;background:#edf3fc;color:#375582;border-radius:5px} +#poll_result_list dt {margin-right:5%;color:#e8180d;text-align:right} +#poll_result_list ol {margin:0;padding:0 20px} +#poll_result_list li {margin:20px 0;position:relative;list-style-position:inside} + +.poll_1st .poll_result_graph span {background:#3a8afd} +.poll_result_graph {position:relative;width:80%;margin:5px 0;height:15px;background:#fff;border-radius:10px;-moz-box-shadow:inset 0px 2px 8px #dadada;-webkit-box-shadow:inset 0px 2px 8px #dadada;box-shadow:inset 0px 2px 8px #dadada} +.poll_result_graph span {position:absolute;top:0;left:0;height:15px;background:#8395b3;border-radius:10px 10px;white-space:nowrap} + +.poll_numerical {display:inline-block;position:absolute;top:0;right:0;text-align:center} +.poll_numerical .poll_percent {display:block;font-size:1.2em;color:#3a8afd;font-weight:bold;letter-spacing:-0.5px} +.poll_numerical .poll_cnt {font-size:1em;text-align:right;color:#8d8d8d} + +#poll_result_cmt {margin:20px} +#poll_result_cmt h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#poll_result_cmt article {margin:15px 0;position:relative;border-bottom:1px solid #eaeaea} +#poll_result_cmt h1 {position:absolute;margin:0;padding:0;border:0;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#poll_result_cmt header {margin:0 0 5px} +#poll_result_cmt .poll_datetime {display:inline-block;font-size:0.92em;color:#777} +#poll_result_cmt .profile_img img {border-radius:50%} +#poll_result_cmt p {padding:10px;line-height:1.5em} + +#poll_other_q h3 {margin:0;font-size:1.25em;padding:10px;border-bottom:1px solid #eaeaea;text-align:left} +#poll_other_q h3 span {background:#f7f8e3;color:#c97600;padding:3px;display:inline-block;border-radius:5px;margin-right:5px;font-weight:normal;font-size:0.8em} +#poll_result_wcmt {border:1px solid #cfd4db;margin-bottom:10px} +#poll_result_wcmt input {border:0;height:80px;padding:10px} +#poll_result_cmt .btn_submit {padding:0 20px;float:right} + +.poll_guest input {border-radius:0;border:1px solid #cfd4db;padding:10px;margin-bottom:10px;display:inline-block} + +.poll_cmt_del {float:right} +.poll_cmt_del a {display:inline-block;margin:0 0 5px 10px;color:#c7c9cb;font-size:15px} +.poll_cmt_del:hover a {color:#3a8afd} + +#poll_result_oth {clear:both;margin:20px} +#poll_result_oth h2 {padding:0 0 10px} +#poll_result_oth ul {margin:0;padding:0;list-style:none;border:1px solid #ddd;background:#fff;border-top:0} +#poll_result_oth ul li{border-top:1px solid #eaeaea;position:relative;line-height:20px} +#poll_result_oth a {display:block;padding:10px} +#poll_result_oth li span {position:absolute;bottom:10px;right:15px;color:#777;font-size:0.92em} diff --git a/web/html/theme/FT_WEB20/mobile/skin/popular/basic/popular.skin.php b/web/html/theme/FT_WEB20/mobile/skin/popular/basic/popular.skin.php new file mode 100644 index 0000000..cbfe3b4 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/popular/basic/popular.skin.php @@ -0,0 +1,25 @@ +', 0); +?> + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/popular/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/popular/basic/style.css new file mode 100644 index 0000000..e46e51e --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/popular/basic/style.css @@ -0,0 +1,9 @@ +@charset "utf-8"; + +/* 인기검색어 */ +#popular {} +#popular h2 {text-align:left;color:#8d8c8c;line-height:24px;padding:10px} +#popular div {background:#fff;padding:0 15px;border-bottom:1px solid #e5ecee} +#popular a {display:block;text-align:left;color:#000;padding:10px 0;border-bottom:1px solid #e5ecee} +#popular a:last-of-type {border-bottom:0} +#popular a:hover {color:#3a8afd} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/btn_close.gif b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/btn_close.gif new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/chk.png b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/chk.png new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_answer.gif b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_answer.gif new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_file.gif b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_file.gif new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_hot.gif b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_hot.gif new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_img.gif b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_img.gif new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_link.gif b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_link.gif new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_mobile.gif b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_mobile.gif new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_movie.gif b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_movie.gif new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_new.gif b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_new.gif new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_secret.gif b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_secret.gif new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_sound.gif b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/img/icon_sound.gif new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/list.skin.php b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/list.skin.php new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/style.css new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/view.answer.skin.php b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/view.answer.skin.php new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/view.answerform.skin.php b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/view.answerform.skin.php new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/view.skin.php b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/view.skin.php new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/qa/basic/write.skin.php b/web/html/theme/FT_WEB20/mobile/skin/qa/basic/write.skin.php new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/mobile/skin/search/basic/search.skin.php b/web/html/theme/FT_WEB20/mobile/skin/search/basic/search.skin.php new file mode 100644 index 0000000..258e801 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/search/basic/search.skin.php @@ -0,0 +1,139 @@ +', 0); +?> + + +
                                                                                +

                                                                                전체검색 결과

                                                                                +
                                                                                  +
                                                                                • 게시판
                                                                                • +
                                                                                • 게시물
                                                                                • +
                                                                                • / 페이지 열람 중
                                                                                • +
                                                                                +
                                                                                + +
                                                                                + +
                                                                                + 상세검색 +
                                                                                + + + + + + + + + + + +
                                                                                +
                                                                                + id="sop_or" name="sop"> + + id="sop_and" name="sop"> + +
                                                                                +
                                                                                +
                                                                                + +
                                                                                + + + +
                                                                                검색된 자료가 하나도 없습니다.
                                                                                + + +
                                                                                +
                                                                                +
                                                                                + +

                                                                                게시판 내 결과

                                                                                +
                                                                                  + 댓글 '; + $comment_href = '#c_'.$list[$idx][$i]['wr_id']; + } + else + { + $comment_def = ''; + $comment_href = ''; + } + ?> +
                                                                                • +
                                                                                  + + +
                                                                                  +

                                                                                  +
                                                                                  + + +
                                                                                  +
                                                                                • + +
                                                                                + + + +
                                                                                +
                                                                                + +
                                                                                diff --git a/web/html/theme/FT_WEB20/mobile/skin/search/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/search/basic/style.css new file mode 100644 index 0000000..89cc93f --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/search/basic/style.css @@ -0,0 +1,50 @@ +@charset "utf-8"; + +/* 전체검색결과 스킨 */ +#sch_res_detail {margin:10px 0;padding:15px;border-top:1px solid #f1f1f1;border-bottom:1px solid #ddd;background:#fff;text-align:left} +#sch_res_detail legend {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sch_res_detail .sch_wr {position:relative;background:#fff;margin:0 0 5px} +#sch_res_detail select {width:49.5%;height:40px;float:left;border:1px solid #d0d3db} +#sch_res_detail select#gr_id {margin-right:1%} +#sch_res_detail .frm_input {position:relative;width:100%;border:1px solid #d0d3db;margin-top:5px;border-radius:0;clear:both} +#sch_res_detail .btn_submit {position:absolute;bottom:0;right:0;width:40px;height:40px;background:none;color:#000;font-size:15px} + +#sch_res_ov {margin:15px;padding:15px;background:#edf3fc;text-align:center;border-radius:5px;border:1px solid #d6e2f4;color:#5977a4;zoom:1} +#sch_res_ov:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_ov h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sch_res_ov ul {display:inline-block;zoom:1} +#sch_res_ov li {float:left;display:inline-block;margin:0 10px 0 0;line-height:10px;padding-right:10px;border-right:1px solid #5977a4;color:#5977a4} +#sch_res_ov li:last-child {margin-right:0;padding-right:0;border-right:0} +#sch_res_board {margin:10px;padding-left:1px;zoom:1} +#sch_res_board:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_board li {display:inline-block;float:left;margin:3px 5px 3px 0} +#sch_res_board a {display:block;line-height:24px;border-radius:13px;padding:0 10px;background:#fff;border:1px solid #d6e9ff;color:#6794d3} +#sch_res_board .sch_on {background:#3a8afd;color:#fff;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} + +.sch_res_list {margin:0 0 10px} +.sch_res_list h2 {font-size:1.2em;background:#fff;padding:15px 20px;border-bottom:1px solid #f8f8f8} +.sch_res_list ul {margin:0;padding:10px 15px;list-style:none;background:#fff} +.sch_res_list li {padding:0 0 10px;border-bottom:1px solid #e9e9e9} +.sch_res_list li:last-child {border-bottom:0} +.sch_res_list a {text-decoration:none} +.sch_res_title {display:block;font-weight:bold;padding:10px 0;padding-right:30px;position:relative} +.sch_res_info {line-height:28px;padding:3px 0 0;margin:10px 0 0;color:#666} +.sch_res_info:after {display:block;visibility:hidden;clear:both;content:""} +.sch_res_list p {margin:0 0 10px;line-height:1.4em;color:#777;font-size:1em} +.sch_more {background:#fff;padding:15px 0;margin-bottom:15px;font-size:1em;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;text-align:center} +.sch_more a {color:#3a8afd} +.sch_datetime {} +.sch_res_info .profile_img img {border-radius:50%} + +/* 인풀 옵션 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70} +.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#f7f8f9;border:1px solid #cdd6df;border-radius:50%} +.chk_box input[type="radio"]:checked + label {color:#3a8afd} +.chk_box input[type="radio"]:checked + label span {border-color:#3a8afd} +.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:#3a8afd;content:'';position:absolute;top:3px;left:3px;border-radius:50%} diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/boxbanner.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/boxbanner.skin.php new file mode 100644 index 0000000..6705316 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/boxbanner.skin.php @@ -0,0 +1,43 @@ +', 0); +?> + +

                                                                                쇼핑몰 배너

                                                                                '.PHP_EOL; +?> + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/boxtodayview.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/boxtodayview.skin.php new file mode 100644 index 0000000..9598fc4 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/boxtodayview.skin.php @@ -0,0 +1,96 @@ +', 0); +?> + + +
                                                                                +

                                                                                오늘 본 상품

                                                                                + + + '.PHP_EOL; + echo '
                                                                              • '.PHP_EOL; + echo '
                                                                                '; + echo $img; + echo '
                                                                                '.PHP_EOL; + echo '
                                                                              • '.PHP_EOL; + + $tv_tot_count++; + } + if ($tv_tot_count > 0) echo ''.PHP_EOL; + ?> +
                                                                                + + + + + +

                                                                                없음

                                                                                + +
                                                                                + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/couponzone.10.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/couponzone.10.skin.php new file mode 100644 index 0000000..32346ce --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/couponzone.10.skin.php @@ -0,0 +1,202 @@ +', 0); +?> + +
                                                                                +

                                                                                다운로드 쿠폰

                                                                                +

                                                                                회원이시라면 쿠폰 다운로드 후 바로 사용하실 수 있습니다.

                                                                                + + '.get_text($row3['it_name']).''; + $coupon_info_class = 'cp_2'; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_target = '카테고리할인'; + $cp_link = ''.get_text($row3['ca_name']).''; + $coupon_info_class = 'cp_1'; + break; + case '2': + $cp_link = $cp_target = '주문금액할인'; + $coupon_info_class = 'cp_3'; + break; + case '3': + $cp_link = $cp_target = '배송비할인'; + $coupon_info_class = 'cp_4'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + // $row['cp_type'] 값이 있으면 % 이며 없으면 원 입니다. + $print_cp_price = $row['cp_type'] ? ''.$row['cp_price'].' %' : ''.number_format($row['cp_price']).' 원'; + + $coupon .= '
                                                                              • '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.$subj.''.PHP_EOL; + $coupon .= '
                                                                                '.$subj.'
                                                                                '.$print_cp_price.'
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '적용'.PHP_EOL; + $coupon .= '
                                                                                +

                                                                                '.$cp_target.'

                                                                                +
                                                                                  +
                                                                                • 적용 : '.$cp_link.'
                                                                                • '; + + if( $row['cp_minimum'] ){ // 쿠폰에 최소주문금액이 있다면 + $coupon .= '
                                                                                • 최소주문금액 : '.number_format($row['cp_minimum']).'
                                                                                • '; + } + + $coupon .= '
                                                                                + +
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                기한다운로드 후 '.number_format($row['cz_period']).'일
                                                                                '.PHP_EOL; + //cp_1 카테고리할인 + //cp_2 개별상품할인 + //cp_3 주문금액할인 + //cp_4 배송비할인 + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                              • '.PHP_EOL; + } + + if($coupon) + echo '
                                                                                  '.PHP_EOL.$coupon.'
                                                                                '.PHP_EOL; + else + echo '

                                                                                사용할 수 있는 쿠폰이 없습니다.

                                                                                '; + ?> +
                                                                                + +
                                                                                +

                                                                                포인트 쿠폰

                                                                                +

                                                                                보유하신 회원 포인트를 쿠폰으로 교환하실 수 있습니다.

                                                                                + + '.get_text($row3['it_name']).''; + $cp_target = '개별상품할인'; + $coupon_info_class = 'cp_2'; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_link = ''.get_text($row3['ca_name']).''; + $cp_target = '카테고리할인'; + $coupon_info_class = 'cp_1'; + break; + case '2': + $cp_link = $cp_target = '주문금액할인'; + $coupon_info_class = 'cp_3'; + break; + case '3': + $cp_link = $cp_target = '배송비할인'; + $coupon_info_class = 'cp_4'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + // $row['cp_type'] 값이 있으면 % 이며 없으면 원 입니다. + $print_cp_price = $row['cp_type'] ? ''.$row['cp_price'].' %' : ''.number_format($row['cp_price']).' 원'; + + $coupon .= '
                                                                              • '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.$subj.''.PHP_EOL; + $coupon .= '
                                                                                '.$subj.'
                                                                                '.$print_cp_price.'
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '적용'.PHP_EOL; + $coupon .= '
                                                                                +

                                                                                '.$cp_target.'

                                                                                +
                                                                                  +
                                                                                • 적용 : '.$cp_link.'
                                                                                • '; + + if( $row['cp_minimum'] ){ // 쿠폰에 최소주문금액이 있다면 + $coupon .= '
                                                                                • 최소주문금액 : '.number_format($row['cp_minimum']).'
                                                                                • '; + } + + $coupon .= '
                                                                                + +
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                기한다운로드 후 '.number_format($row['cz_period']).'일
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                                '.PHP_EOL; + $coupon .= '
                                                                              • '.PHP_EOL; + } + + if($coupon) + echo '
                                                                                  '.PHP_EOL.$coupon.'
                                                                                '.PHP_EOL; + else + echo '

                                                                                사용할 수 있는 쿠폰이 없습니다.

                                                                                '; + ?> +
                                                                                + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/arr_down01.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/arr_down01.gif new file mode 100644 index 0000000..7c2f73c Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/arr_down01.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/arr_up01.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/arr_up01.gif new file mode 100644 index 0000000..beaff5f Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/arr_up01.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/best_btn.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/best_btn.gif new file mode 100644 index 0000000..eee0d0c Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/best_btn.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_next.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_next.gif new file mode 100644 index 0000000..eb714a3 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_next.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_next.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_next.png new file mode 100644 index 0000000..4021e6c Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_next.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_prev.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_prev.gif new file mode 100644 index 0000000..cdc8374 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_prev.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_prev.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_prev.png new file mode 100644 index 0000000..f455793 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/btn_prev.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/del_btn.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/del_btn.gif new file mode 100644 index 0000000..6a57648 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/del_btn.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/facebook.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/facebook.png new file mode 100644 index 0000000..cf737d6 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/facebook.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/gplus.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/gplus.png new file mode 100644 index 0000000..8ab2fa6 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/gplus.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_best.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_best.gif new file mode 100644 index 0000000..508f48f Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_best.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_cp.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_cp.gif new file mode 100644 index 0000000..61a3d23 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_cp.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_discount.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_discount.gif new file mode 100644 index 0000000..d5bda31 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_discount.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_hit.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_hit.gif new file mode 100644 index 0000000..3712ed1 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_hit.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_new.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_new.gif new file mode 100644 index 0000000..bf0ebd8 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_new.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_rec.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_rec.gif new file mode 100644 index 0000000..8a6a6c4 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_rec.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_secret.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_secret.gif new file mode 100644 index 0000000..c04899f Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_soldout.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_soldout.gif new file mode 100644 index 0000000..cd8ca8b Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/icon_soldout.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/item_bg.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/item_bg.gif new file mode 100644 index 0000000..d6a4d1c Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/item_bg.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/item_btn.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/item_btn.png new file mode 100644 index 0000000..0d11276 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/item_btn.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/loading.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/loading.gif new file mode 100644 index 0000000..93dc397 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/loading.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/mainlist_btn.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/mainlist_btn.gif new file mode 100644 index 0000000..1c63401 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/mainlist_btn.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/personal.jpg b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/personal.jpg new file mode 100644 index 0000000..6c21f56 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/personal.jpg differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/prd_icon.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/prd_icon.png new file mode 100644 index 0000000..83c7ad0 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/prd_icon.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sbmn_bg.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sbmn_bg.gif new file mode 100644 index 0000000..f8afed7 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sbmn_bg.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sct_bg_toright.gif b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sct_bg_toright.gif new file mode 100644 index 0000000..0d18054 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sct_bg_toright.gif differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_fb.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_fb.png new file mode 100644 index 0000000..9d89048 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_fb.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_fb_s.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_fb_s.png new file mode 100644 index 0000000..1ce2977 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_fb_s.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_goo.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_goo.png new file mode 100644 index 0000000..75b523e Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_goo.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_goo_s.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_goo_s.png new file mode 100644 index 0000000..7423588 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_goo_s.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_kakao.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_kakao.png new file mode 100644 index 0000000..18c9f18 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_kakao.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_kakao_s.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_kakao_s.png new file mode 100644 index 0000000..838b969 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_kakao_s.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_twt.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_twt.png new file mode 100644 index 0000000..bf10f5b Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_twt.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_twt_s.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_twt_s.png new file mode 100644 index 0000000..53f691a Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/sns_twt_s.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/twitter.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/twitter.png new file mode 100644 index 0000000..8fbf091 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/twitter.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/use_reply.png b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/use_reply.png new file mode 100644 index 0000000..14a3908 Binary files /dev/null and b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/img/use_reply.png differ diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/item.form.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/item.form.skin.php new file mode 100644 index 0000000..63810da --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/item.form.skin.php @@ -0,0 +1,688 @@ +', 0); +add_javascript('', 10); +?> + + + + + + + +
                                                                                + + + + +
                                                                                + '; + $thumb_img .= ''.$thumb.''; + $thumb_img .= ''.PHP_EOL; + } + if ($thumb_img) + { + echo '
                                                                                '.PHP_EOL; + echo '
                                                                                  '.PHP_EOL; + echo $thumb_img; + echo '
                                                                                '.PHP_EOL; + echo '
                                                                                '.PHP_EOL; + echo '
                                                                                '; + } + ?> + +
                                                                                +

                                                                                상품간략정보 및 구매기능

                                                                                +
                                                                                + +

                                                                                + +

                                                                                상품 선택옵션 개, 추가옵션

                                                                                + + +
                                                                                + + 고객평점 + + 사용후기 + + +
                                                                                + 위시리스트 + +
                                                                                + + + + + + 추천하기 +
                                                                                +
                                                                                +
                                                                                + + +
                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ + ?> + + + + + + + + 배송비결제'; + $sc_method = ''; + } + else + $sc_method = '주문시 결제'; + } + ?> + + + + + + + + + + + + + + + + + +
                                                                                제조사
                                                                                원산지
                                                                                브랜드
                                                                                모델
                                                                                판매가격판매중지
                                                                                판매가격전화문의
                                                                                시중가격
                                                                                판매가격 + + +
                                                                                재고수량
                                                                                포인트 + +
                                                                                최소구매수량
                                                                                최대구매수량
                                                                                +
                                                                                +
                                                                                + + +
                                                                                + '.$prev_title; + $next_title = $next_title.' '; + + echo $prev_href.$prev_title.$prev_href2; + echo $next_href.$next_title.$next_href2; + } else { + echo '이 분류에 등록된 다른 상품이 없습니다.'; + } + ?> + 확대보기 +
                                                                                + +
                                                                                +
                                                                                + +
                                                                                + +
                                                                                + +
                                                                                +
                                                                                + +
                                                                                +

                                                                                선택옵션

                                                                                +
                                                                                + +
                                                                                +
                                                                                + + + +
                                                                                +

                                                                                추가옵션

                                                                                +
                                                                                + + +
                                                                                +
                                                                                + + + +
                                                                                + +
                                                                                  +
                                                                                • + + + + + +
                                                                                  + +
                                                                                  +
                                                                                  + + + + + +0원 +
                                                                                  +
                                                                                • +
                                                                                + + +
                                                                                + +
                                                                                + + + +

                                                                                상품의 재고가 부족하여 구매할 수 없습니다.

                                                                                + +
                                                                                + + + + + + 재입고알림 + + 위시리스트 + + + +
                                                                                +
                                                                                + +
                                                                                + + + +
                                                                                +
                                                                                  +
                                                                                • +
                                                                                • +
                                                                                • +
                                                                                • +
                                                                                +
                                                                                  + + +
                                                                                • +

                                                                                  상품 정보

                                                                                  + + +

                                                                                  상품 상세설명

                                                                                  +
                                                                                  + +
                                                                                  + + + +

                                                                                  상품 정보 고시

                                                                                  + + + $val) { + $ii_title = $info_array[$key][0]; + $ii_value = $val; + ?> + + + + + + +
                                                                                  + + 상품 정보 고시 정보가 올바르게 저장되지 않았습니다.
                                                                                  config.php 파일의 G5_ESCAPE_FUNCTION 설정을 addslashes 로
                                                                                  변경하신 후 관리자 > 상품정보 수정에서 상품 정보를 다시 저장해주세요.

                                                                                  '; + } + } + } //if + ?> +
                                                                                • + + +
                                                                                • +

                                                                                  사용후기

                                                                                  +
                                                                                  +
                                                                                • + + + +
                                                                                • +

                                                                                  상품문의

                                                                                  +
                                                                                  +
                                                                                • + + + + +
                                                                                • +

                                                                                  배송/교환정보

                                                                                  + +
                                                                                  +

                                                                                  배송정보

                                                                                  + +
                                                                                  + + + + + +
                                                                                  +

                                                                                  교환/반품

                                                                                  + + +
                                                                                  + + +
                                                                                • +
                                                                                +
                                                                                + +
                                                                                + + + +
                                                                                +

                                                                                관련상품

                                                                                +
                                                                                + set_query($sql); + echo $list->run(); + ?> +
                                                                                +
                                                                                + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.change.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.change.skin.php new file mode 100644 index 0000000..51b6241 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.change.skin.php @@ -0,0 +1,11 @@ +', 0); +?> + +

                                                                                교환/반품

                                                                                +
                                                                                + +
                                                                                \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.delivery.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.delivery.skin.php new file mode 100644 index 0000000..fd01cf7 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.delivery.skin.php @@ -0,0 +1,18 @@ +', 0); +?> + +

                                                                                배송정보

                                                                                + +
                                                                                + +
                                                                                + +

                                                                                교환/반품

                                                                                + +
                                                                                + +
                                                                                \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.info.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.info.skin.php new file mode 100644 index 0000000..35a469c --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.info.skin.php @@ -0,0 +1,57 @@ +', 0); +?> + +

                                                                                상품설명

                                                                                + +
                                                                                + +
                                                                                + +
                                                                                + + + +
                                                                                + +
                                                                                + + + +

                                                                                상품 정보 고시

                                                                                + +
                                                                                  + $val) { + $ii_title = $info_array[$key][0]; + $ii_value = $val; + ?> +
                                                                                • + + +
                                                                                • + +
                                                                                + + 상품 정보 고시 정보가 올바르게 저장되지 않았습니다.
                                                                                config.php 파일의 G5_ESCAPE_FUNCTION 설정을 addslashes 로
                                                                                변경하신 후 관리자 > 상품정보 수정에서 상품 정보를 다시 저장해주세요.

                                                                                '; + } + } + } //if + ?> + +
                                                                                + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.itemqa.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.itemqa.skin.php new file mode 100644 index 0000000..85273bf --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.itemqa.skin.php @@ -0,0 +1,7 @@ +', 0); + +goto_url(shop_item_url($it_id).'#sit_qa'); \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.itemuse.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.itemuse.skin.php new file mode 100644 index 0000000..b1ac267 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.itemuse.skin.php @@ -0,0 +1,7 @@ +', 0); + +goto_url(shop_item_url($it_id).'#sit_use'); \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.relation.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.relation.skin.php new file mode 100644 index 0000000..1d35c16 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/iteminfo.relation.skin.php @@ -0,0 +1,66 @@ +', 0); +?> + +

                                                                                관련상품

                                                                                + +
                                                                                + set_mobile(true); + $list->set_query($sql); + $list->set_view('sns', true); + echo $list->run(); + ?> +
                                                                                + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemqa.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemqa.skin.php new file mode 100644 index 0000000..984f43a --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemqa.skin.php @@ -0,0 +1,151 @@ +', 0); +?> + + + + + +
                                                                                + + '; + + if($is_admin || $member['mb_id' ] == $row['mb_id']) { + $iq_question = get_view_thumbnail(conv_content($row['iq_question'], 1), $thumbnail_width); + } else { + $iq_question = '비밀글로 보호된 문의입니다.'; + $is_secret = true; + } + } else { + $iq_question = get_view_thumbnail(conv_content($row['iq_question'], 1), $thumbnail_width); + } + $iq_time = substr($row['iq_time'], 2, 8); + + $hash = md5($row['iq_id'].$row['iq_time'].$row['iq_ip']); + + $iq_stats = ''; + $iq_style = ''; + $iq_answer = ''; + + if ($row['iq_answer']) + { + $iq_answer = get_view_thumbnail(conv_content($row['iq_answer'], 1), $thumbnail_width); + $iq_stats = '답변완료'; + $iq_style = 'sit_qaa_done'; + $is_answer = true; + } else { + $iq_stats = '답변대기'; + $iq_style = 'sit_qaa_yet'; + $iq_answer = '답변이 등록되지 않았습니다.'; + $is_answer = false; + } + + if ($i == 0) echo '
                                                                                  '; + ?> + +
                                                                                1. + +
                                                                                  +
                                                                                  작성자
                                                                                  +
                                                                                  +
                                                                                  작성일
                                                                                  +
                                                                                  +
                                                                                  상태
                                                                                  +
                                                                                  +
                                                                                  + +
                                                                                  +
                                                                                  +
                                                                                  + Q + 문의내용 + +
                                                                                  + +
                                                                                  + A + 답변 + +
                                                                                  + +
                                                                                  + + + + +
                                                                                  +
                                                                                2. + + 0) echo '
                                                                                '; + + if (!$i) echo '

                                                                                상품문의가 없습니다.

                                                                                '; + ?> +
                                                                                + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemqaform.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemqaform.skin.php new file mode 100644 index 0000000..9da5ad0 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemqaform.skin.php @@ -0,0 +1,59 @@ +', 0); +?> + + +
                                                                                +

                                                                                상품문의 쓰기

                                                                                + +
                                                                                + + + + + +
                                                                                +
                                                                                  +
                                                                                • + 옵션 + > + +
                                                                                • +
                                                                                • + + 이메일을 입력하시면 답변 등록 시 답변이 이메일로 전송됩니다. +
                                                                                • +
                                                                                • + + 휴대폰번호를 입력하시면 답변 등록 시 답변등록 알림이 SMS로 전송됩니다. +
                                                                                • +
                                                                                • + + +
                                                                                • +
                                                                                • + + +
                                                                                • +
                                                                                +
                                                                                + +
                                                                                + + +
                                                                                +
                                                                                +
                                                                                + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemqalist.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemqalist.skin.php new file mode 100644 index 0000000..50f8d6f --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemqalist.skin.php @@ -0,0 +1,144 @@ +', 0); +?> + + + + +
                                                                                +
                                                                                +
                                                                                + + + + + + +
                                                                                + 전체보기 +
                                                                                +
                                                                                + +
                                                                                + + + + '; + + if($is_admin || $member['mb_id' ] == $row['mb_id']) { + $iq_question = get_view_thumbnail(conv_content($row['iq_question'], 1), $thumbnail_width); + } else { + $iq_question = '비밀글로 보호된 문의입니다.'; + $is_secret = true; + } + } else { + $iq_question = get_view_thumbnail(conv_content($row['iq_question'], 1), $thumbnail_width); + } + + $it_href = shop_item_url($row['it_id']); + + if ($row['iq_answer']) + { + $iq_answer = get_view_thumbnail(conv_content($row['iq_answer'], 1), $thumbnail_width); + $iq_stats = '답변완료'; + $iq_style = 'sit_qaa_done'; + $is_answer = true; + } else { + $iq_stats = '답변대기'; + $iq_style = 'sit_qaa_yet'; + $iq_answer = '답변이 등록되지 않았습니다.'; + $is_answer = false; + } + + if ($i == 0) echo '
                                                                                  '; + ?> +
                                                                                1. + + +
                                                                                  +

                                                                                  +
                                                                                  + 작성자 + + 작성일 + +
                                                                                  +
                                                                                  + + + +
                                                                                  + +
                                                                                2. + 0) echo '
                                                                                '; + if ($i == 0) echo '

                                                                                자료가 없습니다.

                                                                                '; + ?> +
                                                                                + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemuse.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemuse.skin.php new file mode 100644 index 0000000..20841cd --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemuse.skin.php @@ -0,0 +1,133 @@ +', 0); +?> + + + + + + +
                                                                                + + '; + ?> + +
                                                                              • + +
                                                                                +
                                                                                작성자
                                                                                +
                                                                                +
                                                                                작성일
                                                                                +
                                                                                +
                                                                                선호도
                                                                                +
                                                                                별<?php echo $is_star; ?>개
                                                                                +
                                                                                + + +
                                                                              • + + 0) echo ''; + + if (!$i) echo '

                                                                                사용후기가 없습니다.

                                                                                '; + ?> +
                                                                                + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemuseform.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemuseform.skin.php new file mode 100644 index 0000000..fb6800a --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemuseform.skin.php @@ -0,0 +1,77 @@ +', 0); +?> + + +
                                                                                +

                                                                                사용후기 쓰기

                                                                                + +
                                                                                + + + + + +
                                                                                +
                                                                                  +
                                                                                • + + +
                                                                                • +
                                                                                • + 내용 + +
                                                                                • +
                                                                                • + 평가 +
                                                                                    +
                                                                                  • + > + + +
                                                                                  • +
                                                                                  • + > + + +
                                                                                  • +
                                                                                  • + > + + +
                                                                                  • +
                                                                                  • + > + + +
                                                                                  • +
                                                                                  • + > + + +
                                                                                  • +
                                                                                  +
                                                                                • +
                                                                                +
                                                                                + +
                                                                                + + +
                                                                                + +
                                                                                +
                                                                                + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemuselist.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemuselist.skin.php new file mode 100644 index 0000000..6eaba90 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/itemuselist.skin.php @@ -0,0 +1,165 @@ +', 0); +?> + + + + +
                                                                                +
                                                                                +
                                                                                + + + + + +
                                                                                + 전체보기 +
                                                                                +
                                                                                + +
                                                                                + + + '; + ?> +
                                                                              • + + +
                                                                                +
                                                                                + 평가점수별<?php echo $star; ?>개 +
                                                                                + +
                                                                                + + +
                                                                                +
                                                                                +
                                                                                +

                                                                                사용후기

                                                                                +
                                                                                +
                                                                                + +
                                                                                +
                                                                                작성자
                                                                                +
                                                                                +
                                                                                작성일
                                                                                +
                                                                                +
                                                                                +
                                                                                + +
                                                                                + +

                                                                                + + 평가점수별<?php echo $star; ?>개 +

                                                                                +
                                                                                + +
                                                                                + + +
                                                                                + + +
                                                                                +

                                                                                +
                                                                                + +
                                                                                + +
                                                                                +
                                                                                + +
                                                                                +
                                                                                + +
                                                                                +
                                                                                +
                                                                                + +
                                                                                + +
                                                                                + 작성자 + + 작성일 + +
                                                                                +
                                                                                +
                                                                              • + + 0) echo ''; + if ($i == 0) echo '

                                                                                자료가 없습니다.

                                                                                '; + ?> +
                                                                                + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/largeimage.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/largeimage.skin.php new file mode 100644 index 0000000..3288239 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/largeimage.skin.php @@ -0,0 +1,91 @@ +', 0); +?> + +
                                                                                +

                                                                                상품 이미지 새창 보기

                                                                                + +
                                                                                + + + + <?php echo $row['it_name']; ?> + + + +
                                                                                + + 0) { + echo '
                                                                                  '; + foreach($thumbnails as $key=>$val) { + echo '
                                                                                • '.$val.'
                                                                                • '; + } + echo '
                                                                                '; + } + ?> + +
                                                                                + +
                                                                                +
                                                                                + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/list.10.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/list.10.skin.php new file mode 100644 index 0000000..88885a0 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/list.10.skin.php @@ -0,0 +1,189 @@ +', 0); + +// 장바구니 또는 위시리스트 ajax 스크립트 +add_javascript('', 10); +?> + + + + + + + + +ca_id && isset($_COOKIE['ck_itemlist'.$this->ca_id.'_type'])) ? $_COOKIE['ck_itemlist'.$this->ca_id.'_type'] : ''; +if(!$is_gallery_list){ + $is_gallery_list = 'gallery'; +} +$li_width = ($is_gallery_list === 'gallery') ? intval(100 / $this->list_mod) : 100; +$li_width_style = ' style="width:'.$li_width.'%;"'; +$ul_sct_class = ($is_gallery_list === 'gallery') ? 'sct_10' : 'sct_10_list'; + +$i = 0; +foreach((array) $list as $row){ + if( empty($row) ) continue; + + $item_link_href = shop_item_url($row['it_id']); // 상품링크 + $star_score = $row['it_use_avg'] ? (int) get_star($row['it_use_avg']) : ''; //사용자후기 평균별점 + $is_soldout = is_soldout($row['it_id'], true); // 품절인지 체크 + + if ($i == 0) { + if ($this->css) { + echo "
                                                                                  css}\">\n"; + } else { + echo "
                                                                                    \n"; + } + } + + + if($i % $this->list_mod == 0) + $li_clear = ' sct_clear'; + else + $li_clear = ''; + + echo "
                                                                                  • \n"; + + if ($this->href) { + echo "\n"; + } + + // 사용후기 평점표시 + if ($this->view_star && $star_score) { + echo "
                                                                                    고객평점\"별점
                                                                                    \n"; + } + + if ($this->view_it_id) { + echo "
                                                                                    <".stripslashes($row['it_id']).">
                                                                                    \n"; + } + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_basic && $row['it_basic']) { + echo "
                                                                                    ".stripslashes($row['it_basic'])."
                                                                                    \n"; + } + if ($this->view_it_price) { + echo "
                                                                                    \n"; + echo display_price(get_price($row), $row['it_tel_inq'])."\n"; + echo "
                                                                                    \n"; + } + + // 위시리스트 + 공유 버튼 시작 { + echo "
                                                                                    \n"; + echo "\n"; + if ($this->view_sns) { + echo "\n"; + } + echo "
                                                                                    "; + if ($this->view_sns) { + $sns_top = $this->img_height + 10; + $sns_url = $item_link_href; + $sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']); + echo "
                                                                                    "; + echo "

                                                                                    SNS 공유

                                                                                    "; + echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/facebook.png'); + echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/twitter.png'); + echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/gplus.png'); + echo get_sns_share_link('kakaotalk', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/sns_kakao.png'); + echo ""; + echo "
                                                                                    \n"; + } + echo "
                                                                                    "; + echo "
                                                                                    \n"; + echo "
                                                                                    \n"; + // } 위시리스트 + 공유 버튼 끝 + + + echo "
                                                                                    \n"; + + if ($this->view_it_icon) { + echo "
                                                                                    ".item_icon($row)."
                                                                                    \n"; + } + echo "
                                                                                  • \n"; + + $i++; +} + +if ($i > 0) echo "
                                                                                  \n"; + +if($i == 0) echo "

                                                                                  등록된 상품이 없습니다.

                                                                                  \n"; +?> + + + + +', 0); +?> + +total_count > 0) { + $li_width = intval(100 / $this->list_mod); + $li_width_style = ' style="width:'.$li_width.'%;"'; + $k = 1; + $slide_btn = ''; + + for ($i=0; $row=sql_fetch_array($result); $i++) { + $is_soldout = is_soldout($row['it_id'], true); // 품절인지 체크 + + if($i == 0) { + echo ''.PHP_EOL; + echo '
                                                                                  '.PHP_EOL; + echo '

                                                                                  베스트상품

                                                                                  '.PHP_EOL; + echo '
                                                                                  '.PHP_EOL; + echo '
                                                                                  '.PHP_EOL; + echo '
                                                                                    '.PHP_EOL; + } + + if($i > 0 && ($i % $this->list_mod == 0)) { + echo '
                                                                                  '.PHP_EOL; + echo ''.PHP_EOL; + echo '
                                                                                  '.PHP_EOL; + echo '
                                                                                  '.$slide_btn.'
                                                                                  '.PHP_EOL; + echo '
                                                                                  '.PHP_EOL; + echo '
                                                                                  '.PHP_EOL; + } +?> + + + +', 0); +?> + + +
                                                                                  +

                                                                                  상품 정렬

                                                                                  + + +
                                                                                  + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/list.sub.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/list.sub.skin.php new file mode 100644 index 0000000..940e9be --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/list.sub.skin.php @@ -0,0 +1,12 @@ +', 0); +?> + +
                                                                                    +
                                                                                  • +
                                                                                  • +
                                                                                  + diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/listcategory.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/listcategory.skin.php new file mode 100644 index 0000000..7f02137 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/listcategory.skin.php @@ -0,0 +1,36 @@ +'.$row['ca_name'].' '.$row2['cnt'].''; + $exists = true; +} + +if ($exists) { + + // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 + add_stylesheet('', 0); +?> + + + + + +', 0); + +// 장바구니 또는 위시리스트 ajax 스크립트 +add_javascript('', 10); +?> + + + + + + + + +list_mod); +$li_width_style = ' style="width:'.$li_width.'%;"'; +$i=0; + +foreach((array) $list as $row){ + + if( empty($row) ) continue; + + $item_link_href = shop_item_url($row['it_id']); + $star_score = $row['it_use_avg'] ? (int) get_star($row['it_use_avg']) : ''; + $is_soldout = is_soldout($row['it_id'], true); // 품절인지 체크 + + if ($i == 0) { + if ($this->css) { + echo "
                                                                                    css}\">\n"; + } else { + echo "
                                                                                      \n"; + } + } + if($i % $this->list_mod == 0) + $li_clear = ' sct_clear'; + else + $li_clear = ''; + + echo "
                                                                                    • \n"; + + if ($this->href) { + echo "\n"; + } + + // 사용후기 평점표시 + if ($this->view_star && $star_score) { + echo "
                                                                                      \"별점
                                                                                      \n"; + } + + if ($this->view_it_id) { + echo "
                                                                                      <".stripslashes($row['it_id']).">
                                                                                      \n"; + } + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_basic && $row['it_basic']) { + echo "
                                                                                      ".stripslashes($row['it_basic'])."
                                                                                      \n"; + } + if ($this->view_it_price) { + echo "
                                                                                      \n"; + echo display_price(get_price($row), $row['it_tel_inq'])."\n"; + echo "
                                                                                      \n"; + } + + // 위시리스트 + 공유 버튼 시작 { + echo "
                                                                                      \n"; + echo "\n"; + if ($this->view_sns) { + echo "\n"; + } + echo "
                                                                                      "; + if ($this->view_sns) { + $sns_top = $this->img_height + 10; + $sns_url = $item_link_href; + $sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']); + echo "
                                                                                      "; + echo "

                                                                                      SNS 공유

                                                                                      "; + echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/facebook.png'); + echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/twitter.png'); + echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/gplus.png'); + echo get_sns_share_link('kakaotalk', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/sns_kakao.png'); + echo ""; + echo "
                                                                                      \n"; + } + echo "
                                                                                      "; + echo "
                                                                                      \n"; + echo "
                                                                                      \n"; + // } 위시리스트 + 공유 버튼 끝 + + echo "
                                                                                      \n"; + + if ($this->view_it_icon) { + echo "
                                                                                      ".item_icon($row)."
                                                                                      \n"; + } + echo "
                                                                                    • \n"; + + $i++; +} + +if ($i > 0) echo "
                                                                                    \n"; + +if($i == 0) echo "

                                                                                    등록된 상품이 없습니다.

                                                                                    \n"; +?> + + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/main.20.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/main.20.skin.php new file mode 100644 index 0000000..566f683 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/main.20.skin.php @@ -0,0 +1,122 @@ +', 0); + +// 장바구니 또는 위시리스트 ajax 스크립트 +add_javascript('', 10); +?> + + + + + + + + + +list_mod); +$li_width_style = ' style="width:'.$li_width.'%;"'; +$i=0; + +foreach((array) $list as $row){ + + if( empty($row) ) continue; + + $item_link_href = shop_item_url($row['it_id']); + $star_score = $row['it_use_avg'] ? (int) get_star($row['it_use_avg']) : ''; + $is_soldout = is_soldout($row['it_id'], true); // 품절인지 체크 + + if ($i == 0) { + if ($this->css) { + echo "
                                                                                      css}\">\n"; + } else { + echo "\n"; + +if($i == 0) echo "

                                                                                      등록된 상품이 없습니다.

                                                                                      \n"; +?> + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/main.30.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/main.30.skin.php new file mode 100644 index 0000000..23326c4 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/main.30.skin.php @@ -0,0 +1,137 @@ +', 0); +add_javascript('', 10); + +// 장바구니 또는 위시리스트 ajax 스크립트 +add_javascript('', 10); +?> + + + + + + +
                                                                                      + +list_mod); +$li_width_style = ' style="width:'.$li_width.'%;"'; +$i=0; + +foreach((array) $list as $row){ + + if( empty($row) ) continue; + + $item_link_href = shop_item_url($row['it_id']); + $star_score = $row['it_use_avg'] ? (int) get_star($row['it_use_avg']) : ''; + $is_soldout = is_soldout($row['it_id'], true); // 품절인지 체크 + + if ($i == 0) { + if ($this->css) { + echo "
                                                                                        css}\">\n"; + } else { + echo "\n"; + +if($i == 0) echo "

                                                                                        등록된 상품이 없습니다.

                                                                                        \n"; +?> + +
                                                                                      + + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/main.event.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/main.event.skin.php new file mode 100644 index 0000000..18cd029 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/main.event.skin.php @@ -0,0 +1,80 @@ +', 0); + add_javascript('', 10); +?> +
                                                                                      +

                                                                                      이벤트

                                                                                      +
                                                                                        +
                                                                                        '; + $href = G5_SHOP_URL.'/event.php?ev_id='.$row['ev_id']; + + $event_img = G5_DATA_PATH.'/event/'.$row['ev_id'].'_m'; // 이벤트 이미지 + + if (file_exists($event_img)) { // 이벤트 이미지가 있다면 이미지 출력 + echo ''.$row['ev_subject'].''.PHP_EOL; + } else { // 없다면 텍스트 출력 + echo ''; + if ($row['ev_subject_strong']) echo ''; + echo $row['ev_subject']; + if ($row['ev_subject_strong']) echo ''; + echo ''.PHP_EOL; + } + + // 이벤트 상품 + $sql2 = " select b.* + from `{$g5['g5_shop_event_item_table']}` a left join `{$g5['g5_shop_item_table']}` b on (a.it_id = b.it_id) + where a.ev_id = '{$row['ev_id']}' + order by it_id desc + limit 0, 3 "; + $result2 = sql_query($sql2); + for($k=1; $row2=sql_fetch_array($result2); $k++) { + if($k == 1) { + echo '
                                                                                          '.PHP_EOL; + } + + $item_href = shop_item_url($row2['it_id']); + + echo '
                                                                                        • '.PHP_EOL; + echo ''.get_it_image($row2['it_id'], 300, 300, get_text($row2['it_name'])).''.PHP_EOL; + echo '
                                                                                        • '.PHP_EOL; + } + if($k > 1) { + echo '
                                                                                        '.PHP_EOL; + } + + if($k == 1) { + echo '
                                                                                          '.PHP_EOL; + echo '
                                                                                        • 등록된 상품이 없습니다.
                                                                                        • '.PHP_EOL; + echo '
                                                                                        '.PHP_EOL; + } + + echo '
                                                                                        '.PHP_EOL; + + } + if ($i==0) + echo '
                                                                                      • 이벤트 없음
                                                                                      • '.PHP_EOL; + ?> +
                                                                                      +
                                                                                      + + +', 0); +add_javascript('', 10); +add_stylesheet('', 10); + +$max_width = $max_height = 0; +$bn_first_class = ' class="bn_first"'; +$bn_slide_btn = ''; +$bn_sl = ' class="bn_sl"'; +$main_banners = array(); + +for ($i=0; $row=sql_fetch_array($result); $i++) +{ + $main_banners[] = $row; + + if ($i==0) echo '
                                                                                      '.PHP_EOL; + + echo '
                                                                                      '.PHP_EOL; + echo '
                                                                                      '.PHP_EOL; +?> + + + +'.$row['ca_name'].''; + } +} +else + $str = $g5['title']; + +//if ($it_id) $str .= " > $it[it_name]"; + +// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 +add_stylesheet('', 0); +?> + +
                                                                                      + Home + +
                                                                                      diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/personalpay.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/personalpay.skin.php new file mode 100644 index 0000000..15c7c60 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/personalpay.skin.php @@ -0,0 +1,37 @@ +', 0); +?> + + +\n"; + } + + if($i % $list_mod == 0) + $li_clear = ' sct_clear'; + else + $li_clear = ''; + + $href = G5_SHOP_URL.'/personalpayform.php?pp_id='.$row['pp_id'].'&page='.$page; +?> +
                                                                                    • > +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                    • + 0) echo "
                                                                                    \n"; + +if($i == 0) echo "

                                                                                    등록된 개인결제가 없습니다.

                                                                                    \n"; +?> + diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/relation.10.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/relation.10.skin.php new file mode 100644 index 0000000..291aaa0 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/relation.10.skin.php @@ -0,0 +1,96 @@ +', 0); +?> + + + + + + + + + +list_mod); +$li_width_style = ' style="width:'.$li_width.'%;"'; + +for ($i=0; $row=sql_fetch_array($result); $i++) { + + $item_link_href = shop_item_url($row['it_id']); + + if ($i == 0) { + if ($this->css) { + echo "
                                                                                      css}\">\n"; + } else { + echo "\n"; + +if($i == 0) echo "

                                                                                      등록된 관련상품이 없습니다.

                                                                                      \n"; +?> + + + + diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/search.skin.php b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/search.skin.php new file mode 100644 index 0000000..126b334 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/search.skin.php @@ -0,0 +1,134 @@ + + +
                                                                                      + +
                                                                                      + 검색 결과 건 +
                                                                                      + + +
                                                                                      +
                                                                                      + + + +
                                                                                      + + + +

                                                                                      + 상세검색을 선택하지 않거나, 상품가격을 입력하지 않으면 전체에서 검색합니다.
                                                                                      + 검색어는 최대 30글자까지, 여러개의 검색어를 공백으로 구분하여 입력 할수 있습니다. +

                                                                                      +
                                                                                      +
                                                                                      + 검색범위 + class="selec_chk"> + class="selec_chk"> + class="selec_chk"> + class="selec_chk"> +
                                                                                      + 상품가격 (원) + + 원 ~ + +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      + + + +
                                                                                      + +
                                                                                      + + + +
                                                                                      + set_is_page(true); + $list->set_mobile(true); + $list->set_view('it_img', true); + $list->set_view('it_id', false); + $list->set_view('it_name', true); + $list->set_view('it_basic', true); + $list->set_view('it_cust_price', false); + $list->set_view('it_price', true); + $list->set_view('it_icon', true); + $list->set_view('sns', true); + echo $list->run(); + } + else + { + $i = 0; + $error = '

                                                                                      '.$list_file.' 파일을 찾을 수 없습니다.
                                                                                      관리자에게 알려주시면 감사하겠습니다.

                                                                                      '; + } + + if ($i==0) + { + echo '
                                                                                      '.$error.'
                                                                                      '; + } + + $query_string = 'qname='.$qname.'&qexplan='.$qexplan.'&qid='.$qid.'&qbasic='.$qbasic; + if($qfrom && $qto) $query_string .= '&qfrom='.$qfrom.'&qto='.$qto; + $query_string .= '&qcaid='.$qcaid.'&q='.urlencode($q); + $query_string .='&qsort='.$qsort.'&qorder='.$qorder; + echo get_paging($config['cf_mobile_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$query_string.'&page='); + ?> +
                                                                                      + + +
                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/shop/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/style.css new file mode 100644 index 0000000..bbcd2d2 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/shop/basic/style.css @@ -0,0 +1,717 @@ +@charset "utf-8"; + +/* 오늘 본 상품 */ +#stv {position:relative;margin:10px 0;background:#fff;border-bottom:1px solid #e1e1e1} +#stv h2 {border-bottom:1px solid #efefef;padding:10px;line-height:30px;font-size:1.077em} +#stv_ul {padding:10px} +#stv_ul:after {display:block;visibility:hidden;clear:both;content:""} +#stv_ul li {float:left;width:20%;text-align:center} +#stv_ul li img {max-width:100%;height:auto} +#stv_pg {display:inline-block;text-align:center;margin:0 0 0 5px;line-height:20px;font-weight:normal;font-size:0.929em;color:#999} +.stv_item {display:none;padding:3px;word-break:break-all} +#up {position:absolute;top:0px;right:30px;height:50px;width:30px;border:0;background:none;color:#ccc} +#down {position:absolute;top:0px;right:0px;height:50px;width:30px;border:0;background:none;color:#ccc} +#stv .li_empty {text-align:center;padding:50px 0;color:#666} + +/*메인배너*/ +#main_bn {position:relative;text-align:center} +#main_bn .slide-wrap{display:none} +#main_bn img {max-width:100%;height:auto} +#main_bn .btn_wr {background:rgba(0,0,0,0.5);display:inline-block;position:absolute;z-index:1;right:15px;bottom:15px;border-radius:30px;padding:0;width:100px;line-height:30px} +#main_bn .btn_wr .pager-prev {float:left;display:inline-block;padding:0;color:#fff;width:25px} +#main_bn .btn_wr .pager-next {float:right;display:inline-block;padding:0;color:#fff;width:25px} +#main_bn #slide-counter {margin:0;width:50px;float:left;display:inline-block;padding:0;color:#fff} + +/*사이드배너*/ +#sbn_side {text-align:center;position:relative;margin:10px 0} +#sbn_side h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#sbn_side img {max-width:100%;height:auto} +#sbn_side .bx-pager {position:absolute;bottom:5px;left:0;width:100%} +#sbn_side .bx-pager .bx-pager-item {display:inline-block;margin:5px} +#sbn_side .bx-pager .bx-pager-link {display:block;width:8px;height:8px;text-indent:-999px;overflow:hidden;background:#fff;opacity:0.5;border-radius:5px} +#sbn_side .bx-pager .active {opacity:1} + +/*쇼핑몰 이벤트 */ +#sev {position:relative;margin:20px 0;text-align:center} +#sev h2 {font-size:1.25em;text-align:left;margin:40px 10px 10px;line-height:1em} +#sev .bx-wrapper {margin:0 10px} +#sev ul:after {display:block;visibility:hidden;clear:both;content:""} +#sev .ev_li {width:100%;height:100%} +#sev .ev_li .sev_img {display:grid} +#sev .ev_li .sev_img img {width:100%;height:auto} +#sev .ev_prd {border:1px solid #eaebed;border-bottom:1px solid #d8d8d8;text-align:center;padding:15px 10px;background:#fff} +#sev .ev_prd li {position:relative;display:inline-block;width:33.333%;float:left;padding:0 5px;text-align:center} +#sev .ev_prd li:after {display:block;visibility:hidden;clear:both;content:""} +#sev .ev_prd .ev_prd_tit {display:block;color:#000;font-size:1.1em;margin-bottom:5px} +#sev .ev_prd .ev_prd_img img {width:100%;height:auto} +#sev .ev_prd .ev_txt_wr {float:left;max-width:139px;margin-left:10px} +#sev .ev_prd .ev_prd_price {font-weight:bold;display:block;margin:5px 0 10px;font-size:1.25em;font-weight:bold} +#sev .ev_prd .sev_more {color:#3a8afd;background:#fff;display:block;text-align:center} + +#sev .bx-pager {position:absolute;top:0;right:10px} +#sev .bx-pager .bx-pager-item {display:inline-block;margin:5px} +#sev .bx-pager .bx-pager-link {display:block;width:8px;height:8px;text-indent:-999px;overflow:hidden;background:#adadad;border-radius:5px} +#sev .bx-pager .active {background:#000} + +#sev_list #sct_sort {position:relative;background:#fff;border-bottom:1px solid #e5e5e5} + +/* ##### maint.(nn).skin.php, list.(nn).skin.php 공통 적용 시작 ##### */ +/* 공통 */ +.sct_wrap {margin:10px 0 30px;zoom:1} +.sct_wrap:after {display:block;visibility:hidden;clear:both;content:""} +.sct_wrap h2 {font-size:1.25em;margin:20px 10px 10px} + +.sct {margin:10px 0;padding:0;list-style:none;zoom:1;clear:both} +.sct:after {display:block;visibility:hidden;clear:both;content:""} +.sct_li {position:relative} +.sct_noitem {padding:50px 0;text-align:center} +.sct_icon img {margin:0 1px 0 0} +.sct_sns a {display:inline-block;margin:0 2px;width:28px;height:28px;line-height:28px;border-radius:3px;font-size:0;text-align:center} +.share-facebook {background:#415b92} +.share-twitter {background:#35b3dc} +.share-googleplus {background:#d5503a} +.share-kakaotalk {background:#ffeb00} +.sct_sns img {width:20px;height:auto;vertical-align:middle} +.sct_sns button {margin:0 4px 0 0;padding:0;border:0} + +.shop_icon {display:inline-block;color:#fff;line-height:20px;padding:0 5px;font-size:0.92em;margin:1px;border-radius:2px} +.shop_icon_1 {background:#3ec1d3} +.shop_icon_2 {background:#ffb722} +.shop_icon_3 {background:#2dd49f} +.shop_icon_4 {background:#556ee6} +.shop_icon_5 {background:#ff5081} +.shop_icon_coupon {background:#b169e1} + +.mli_btn button {background:url(img/mainlist_btn.gif) no-repeat;width:30px;height:30px;border:none;text-indent:-9999px} +.mli_btn button.mli_pre {position:absolute;top:0;left:10px} +.mli_btn button.mli_next {background-position:-33px 0;position:absolute;top:0;right:10px} + +/* 상품 목록 스킨 10 */ +.sct_10 {margin:10px} +.sct_10 .sct_li {float:left;text-align:left;padding:5px;margin-bottom:10px} +.sct_10 .sct_li .li_wr {position:relative} +.sct_10 .sct_img {position:relative;margin-bottom:10px;font-size:0} +.sct_10 .sct_img img {width:100%;height:auto} +.sct_10 .sct_clear {clear:both} +.sct_10 .sct_id {margin:5px 0;font-size:0.92em;color:#666} +.sct_10 .sct_txt {font-size:1.083em;margin:0 0 10px;padding:5px 0 10px;line-height:1.3em;border-bottom:1px solid #e3e6e9} +.sct_10 .sct_basic {margin:10px 0;color:#6e7f88} +.sct_10 .sct_cost {margin:10px 0;font-weight:bold} +.sct_10 .sct_sns_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.sct_10 .sct_sns {position:absolute;top:50%;left:50%;background:#fff;text-align:center;width:250px;height:160px;margin-left:-125px;margin-top:-80px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.sct_10 .sct_sns h3 {padding:15px;border-bottom:1px solid #e8e8e8;text-align:left;line-height:20px;font-size:1.077em} +.sct_10 .sct_sns a {display:inline-block;border-radius:50%;width:50px;height:50px;line-height:25px;text-align:center;padding:13px 0;margin:20px 5px} +.sct_10 .sct_sns .share-facebook {background:#415b92} +.sct_10 .sct_sns .share-twitter {background:#35b3dc} +.sct_10 .sct_sns .share-googleplus {background:#ea3838} +.sct_10 .sct_sns img {width:24px} +.sct_10 .sct_sns_bg {background:rgba(0,0,0,0.1);width:100%;height:100%} +.sct_10 .sct_sns_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff;margin:0;height:50px} + +.li_wr .sct_img{position:relative} +.shop_icon_soldout {position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);justify-content:center;display:flex;align-items:center;text-align:center;color:#fff;font-size:18px;font-weight:bold;letter-spacing:1px} + +.sct_10 .sct_icon {margin:0 0 10px} +.li_more {text-align:center} + +.sct_10 .sct_op_btn {position:absolute;right:5px;bottom:0} +.sct_10 .sct_op_btn>button {border:0;width:25px;height:20px;font-size:1.25em;text-align:center;color:#949494;background:transparent} + +#item_load_msg {display:none} +.li_more_btn {margin:10px} +#btn_more_item {height:43px;width:100%;border:1px solid #ddd;font-size:1.167em;color:#282828;line-height:43px;background:none} + +.sct_10_list li {border-bottom:1px solid #d9dde2;width:100%;padding:10px;text-align:left} +.sct_10_list .li_wr {min-height:110px;padding-left:120px} +.sct_10_list .sct_sns_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.sct_10_list .sct_sns {position:absolute;top:50%;left:50%;background:#fff;text-align:center;width:250px;height:160px;margin-left:-125px;margin-top:-80px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.sct_10_list .sct_sns h3 {padding:15px;border-bottom:1px solid #e8e8e8;text-align:left} +.sct_10_list .sct_sns a {display:inline-block;border-radius:50%;width:50px;height:50px;line-height:25px;text-align:center;padding:13px 0;margin:20px 5px} +.sct_10_list .sct_sns .share-facebook {background:#415b92} +.sct_10_list .sct_sns .share-twitter {background:#35b3dc} +.sct_10_list .sct_sns .share-googleplus {background:#ea3838} +.sct_10_list .sct_sns img {width:24px} +.sct_10_list .sct_sns_bg {background:rgba(0,0,0,0.1);width:100%;height:100%} +.sct_10_list .sct_sns_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.sct_10_list .sct_img {position:absolute;top:0;left:0} +.sct_10_list .sct_img img {width:110px;height:auto} +.sct_10_list .li_wr {position:relative} +.sct_10_list .sct_star {margin:5px 0} +.sct_10_list .sct_id {margin:5px 10px;font-size:0.92em;color:#666} +.sct_10_list .sct_txt {font-size:1.077em;margin:5px 0;line-height:1.5em} +.sct_10_list .sct_cost {margin:5px 0;font-weight:bold} +.sct_10_list .sct_op_btn {position:absolute;right:0px;bottom:0px} +.sct_10_list .sct_op_btn>button {border:0;width:25px;height:20px;font-size:1.25em;text-align:center;color:#949494;background:transparent} +.sct_10_list li .sct_basic {color:#6e7f88} + +/* 상품 목록 스킨 20 */ +.sct_20 {background:#fff;border-bottom:1px solid #e5e5e5;padding:10px 0} +.sct_20 .sct_li {width:100%;padding:10px;text-align:left} +.sct_20 .sct_img {position:absolute;top:0;left:0} +.sct_20 .li_wr {position:relative} +.sct_20 .sct_star {margin:5px;padding-left:10px} +.sct_20 .sct_id {margin:5px 10px;font-size:0.92em;color:#666} +.sct_20 .sct_txt {font-size:1.077em;margin:5px 0;line-height:1.5em;padding-left:10px} +.sct_20 .sct_cost {margin:5px 0;font-weight:bold;padding-left:10px} +.sct_20 .sct_sns {margin:10px 0} +.sct_20 .li_wr.is_view_type_list {padding-left:130px;height:130px} +.sct_20 .li_wr.is_view_type_list .sct_img {width:130px} +.sct_20 .li_wr.is_view_type_list .sct_img a {display:block} +.sct_20 .li_wr.is_view_type_list img {width:100%;height:auto} + +/* 상품 목록 스킨 30 */ +.st_30_wr {background:#fff;padding:10px;position:relative;border-bottom:1px solid #e5e5e5;webkit-text-size-adjust:100%} +.sct_30 {margin:0} +.sct_30 .sct_li {padding:10px} +.sct_30 .sct_img img {max-width:100%;height:auto} +.st_30_wr .bx-pager {position:absolute;top:-30px;right:10px} +.st_30_wr .bx-pager .bx-pager-item {display:inline-block;margin:5px} +.st_30_wr .bx-pager .bx-pager-link {display:block;width:8px;height:8px;text-indent:-999px;overflow:hidden;background:#adadad;border-radius:5px} +.st_30_wr .bx-pager .active {background:#000} +.sct_30 .sct_star {margin:10px 0 5px} +.sct_30 .sct_txt {margin:5px 0;font-size:1.083em} +.sct_30 .sct_cost {font-weight:bold} + +/* 관련상품 목록 스킨 10 */ +#sit_rel {margin:20px 0;position:relative} +#sit_rel h2 {margin:10px} +#sit_rel .sct_wrap {background:#fff;border-bottom:1px solid #e5e5e5;padding-bottom:10px;margin:0} +.srl_10 {} +.srl_10:after {display:block;visibility:hidden;clear:both;content:""} +.srl_10 li {} +.srl_10 .li_wr {padding:10px} +.srl_10 li img {width:100%;height:auto} +.srl_10 .sct_txt {margin:10px 0} +.srl_10 .sct_cost {font-weight:bold} + +#sit_rel .bx-pager {position:absolute;top:0px;right:10px} +#sit_rel .bx-pager-item {display:inline-block;margin:5px} +#sit_rel .bx-pager-link {display:block;width:8px;height:8px;text-indent:-999px;overflow:hidden;background:#adadad;border-radius:5px} +#sit_rel .bx-pager .active {background:#000} + +/* 베스트상품 스킨 10 */ +#best_item {margin:10px 0;overflow:hidden;position:relative} +#best_item h2 {font-size:1.25em;margin:10px} +#best_item #sbest_list {width:100%;overflow:hidden} +#best_item .slide-wrap {margin:0px;overflow:hidden;position:relative;top:0;left:0;float:left} +#best_item .slide-wrap:after {display:block;visibility:hidden;clear:both;content:""} +#best_item .sct_best {width:100%;background:#fff;border-bottom:1px solid #e5e5e5;padding:10px 0;position:relative;padding:0;float:left} +#best_item .best_on {} + +.sct_best .sct_li {position:relative;float:left;padding:10px} +.sct_best .sct_last {margin:0 0 15px !important} +.sct_best .sct_clear {clear:both;margin-left:0} +.sct_best .sct_a {display:block;position:relative;text-decoration:none;font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap} +.sct_best .sct_txt .sct_a {margin:0 0 5px} +.sct_best .sct_a img {width:100%;height:auto} +.sct_best .sct_id {display:block;margin:0 0 5px} +.sct_best .sct_basic {margin:0 0 10px} +.sct_best .sct_cost {display:block;margin:0 0 10px;font-size:0.917em} +.sct_best .sct_icon {margin:0 0 10px} +.sct_best .sct_sns {margin:15px 0 0} +.sct_best .sct_img {position:relative;margin:0 5px 5px} + +.bst_silde_btn {position:absolute;top:10px;right:10px} +.bst_silde_btn button {border:0;width:8px;height:8px;text-indent:-999px;overflow:hidden;background:#adadad;border-radius:5px;margin:3px} +.bst_silde_btn button.bst_sl {background:#000} + +/* 개인결제 목록 */ +#sct_pv {margin:10px 5px} +.sct_pv {margin:10px 0} +.sct_pv .sct_li {position:relative;float:left;position:relative;float:left;margin-bottom:10px} +.sct_pv .sct_img {padding:0 5px} +.sct_pv .sct_img a {} +.sct_pv .sct_img img {width:100%} +.sct_pv .sct_txt {padding:0 5px} +.sct_pv .sct_last {margin:0 0 15px !important} +.sct_pv .sct_clear {clear:both} +.sct_pv .sct_a {display:block;position:relative;margin:0 0 5px;text-decoration:none;font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;line-height:20px} +.sct_pv .sct_id {display:block;margin:0 0 5px} +.sct_pv .sct_basic {margin:0 0 10px} +.sct_pv .sct_cost {display:block;margin:0 0 10px;padding:0 5px} +.sct_pv .sct_cost strike {display:block;margin:0 0 5px;color:#999;font-weight:normal} +.sct_pv .sct_icon {margin:0 0 10px} +/* ##### maint.(nn).skin.php, list.(nn).skin.php 공통 적용 끝 ##### */ + +/* 상품 목록 */ +#sct {margin:10px 0} +.sct_admin {margin:0 0 10px;text-align:right} +#sit_hhtml img {max-width:100%;height:auto} + +/* 상품 목록 현재 위치 */ +#sct_location {border:1px solid #e9e9e9;background:#f2f5f9;letter-spacing:-4px} +#sct_location a {display:inline-block;padding:5px 10px;text-decoration:none;letter-spacing:0 !important} +.sct_here {font-weight:bold} +.sct_bg {padding-right:13px !important;background:url('img/sct_bg_toright.gif') right 8px no-repeat} + +/* 상품 목록 카테고리 목록 */ +.sct_ct {text-align:center;width:100%;margin:10px 0} +.sct_ct h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +.sct_ct ul {list-style:none;border-bottom:1px solid #d9dce3} +.sct_ct ul:after {display:block;visibility:hidden;clear:both;content:""} +.sct_ct ul li {border-left:1px solid #f2f2f2;border-top:1px solid #f2f2f2;background:#fff;float:left;width:50%;text-align:left} +.sct_ct ul li:nth-child(2n+1) {clear:both;border-left:0} +.sct_ct a {text-decoration:none;display:block;color:#656565;padding:10px;position:relative;padding-right:25px;position:relative;line-height:20px} +.sct_ct .prd_cnt {position:absolute;top:10px;right:10px;display:inline-block;line-height:20px;padding:0 5px;border-radius:10px;color:#999} +.sct_ct_parent {font-weight:bold} +.sct_ct_here {color:#ff3600 !important} + +/* 상품 정렬 */ +#sct_sortlst {position:relative;background:#fff;border-bottom:1px solid #e5e5e5} + +#sct_sort {clear:both} +#sct_sort:after {display:block;visibility:hidden;clear:both;content:""} +#sct_sort h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#sct_sort button {height:40px;line-height:40px;border:0;padding:0 10px;background:#fff;border-right:1px solid #f8f8f8} +#sct_sort ul:before {content:"";position:absolute;top:-8px;left:30px;width:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #bbb transparent} +#sct_sort ul:after {content:"";position:absolute;top:-7px;left:30px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +#sct_sort ul {display:none;position:absolute;border:1px solid #bbb;z-index:99} +#sct_sort li {border-top:1px solid #eee} +#sct_sort li a {display:block;text-align:center;color:#666;background:#fff;border-color:#e9e9e9;padding:0 15px;line-height:40px} + +/* 상품 리스트 스타일 선택 */ +#sct_lst {position:absolute;top:0;right:0;padding:0;list-style:none} +#sct_lst:after {display:block;visibility:hidden;clear:both;content:""} +#sct_lst li {position:relative;float:left} +#sct_lst button {position:relative;padding:0;width:40px;height:40px;border:0;background:#fff;font-size:15px;color:#999} + +/* 상품 상세보기 */ +#sit {margin:0} +.sit_admin {margin:10px 10px 0;text-align:right} +.sit_empty {padding:30px 0;text-align:center} + +/* 상품상세 */ +#info_content {padding:0 10px 30px;zoom:1} +#info_content:after {display:block;visibility:hidden;clear:both;content:""} +#info_content h3 {margin:0 0 10px} +.if_tit {text-align:center;margin-top:10px;padding:10px;background:#f5f5f5;border:1px solid #e9e9e9} +.win_desc_if {border:1px solid #e9e9e9;padding:10px;border-top:none} +.win_desc {margin-top:10px} + +/* 상품 상세보기 - 개요 */ +#sit_ov_wrap {margin:0 0 20px} +#sit_ov_wrap:after {display:block;visibility:hidden;clear:both;content:""} + +/* 상품 상세보기 - 이미지 미리보기 */ +#sit_pvi {position:relative;margin:0;border-bottom:1px solid #e6e6e6;background:#fff;text-align:center} +#sit_pvi .btn_wr {background:rgba(0,0,0,0.5);display:inline-block;position:absolute;left:50%;bottom:15px;border-radius:30px;width:100px;line-height:30px;margin-left:-50px} +#sit_pvi .btn_wr .pager-prev {float:left;display:inline-block;padding:0;color:#fff;width:25px} +#sit_pvi .btn_wr .pager-next {float:right;display:inline-block;padding:0;color:#fff;width:25px} +#sit_pvi #slide-counter {margin:0;width:50px;float:left;display:inline-block;padding:0;color:#fff} + +#sit_pvi img{max-width:100%;height:auto;text-align:center} +#sit_pvi_nw h1 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#sit_pvi_nwbig {padding:10px 0;text-align:center} +#sit_pvi_nwbig span {display:none} +#sit_pvi_nwbig span.visible {display:inline} +#sit_pvi_nw ul {text-align:center;margin:0 0 20px;padding:0 10px;list-style:none;zoom:1} +#sit_pvi_nw ul:after {display:block;visibility:hidden;clear:both;content:""} +#sit_pvi_nw li {display:inline-block;margin:3px} +#sit_pvi_nw li img {width:60px;height:60px} + +/* 상품 상세보기 - 다른 상품 보기 */ +#sit_siblings {background:#fff;margin:0;text-align:center;position:relative} +#sit_siblings:after {display:block;visibility:hidden;clear:both;content:""} +#sit_siblings h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#sit_siblings a {display:inline-block;line-height:25px;padding-top:10px} +#sit_siblings a#siblings_prev {position:absolute;top:0;left:0} +#sit_siblings a#siblings_next {position:absolute;top:0;right:0} +#sit_siblings a span {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} + +/* 상품 상세보기 - sns */ +#sit_star_sns {position:relative} +#sit_star_sns span {display:inline-block;margin:0 5px 0 0;color:#666;letter-spacing:0;vertical-align:top} +#sit_star_sns .sit_star {position:relative;margin:0 5px 0 0;vertical-align:top} + +#sit_star_sns a {display:inline-block;vertical-align:middle} +#sit_star_sns .btn_sns_share {float:left;background:transparent;width:35px;height:25px;border:0;color:#4b5259;font-size:1.6em;font-weight:bold} +#sit_star_sns .btn_sns_share:hover {color:#3a8afd} +#sit_star_sns .sns_area {display:none;position:absolute;top:45px;right:0;width:200px;text-align:center;background:#fff;border:1px solid #e2e2e2;padding:10px;z-index:10} +#sit_star_sns .sns_area:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #e2e2e2 transparent} +#sit_star_sns .sns_area:after {content:"";position:absolute;top:-7px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +#sit_star_sns .sns_area a {display:inline-block;width:35px;height:35px;line-height:35px;background:#eee;text-align:center;border-radius:50%;padding-top:5px} +#sit_star_sns .sns_area a img {width:24px;height:auto} +#sit_star_sns .sns_area #sit_btn_rec {font-size:15px;padding-top:0} +#sit_star_sns .sns_area .share-googleplus {background:#ea3838} +#sit_star_sns .sns_area .share-facebook {background:#415b92} +#sit_star_sns .sns_area .share-twitter {background:#35b3dc} + +.sit_btn_opt {position:absolute;right:0;bottom:0} +#btn_wish {float:left;position:relative;display:inline-block;padding-right:5px;color:#4b5259;width:35px;height:25px;text-align:center;font-size:1.25em;font-weight:bold} +#btn_wish i {font-size:1.6em;font-weight:bold} +#btn_wish .btn_wish_num {position:absolute;right:0;bottom:-2px;margin:0;padding:0 2px;min-width:18px;height:17px;line-height:15px;border-radius:30px;background:#fff;color:#4b5259;font-size:0.75em} + +/* 상품 상세보기 - 간략정보 및 구매기능 */ +#sit_ov {position:relative;height:auto !important;padding:20px;border-bottom:1px solid #e9e9e9;background:#fff} +#sit_ov h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#sit_ov h3 {margin:0 0 10px;color:#5772d5} +#sit_ov .sit_ov_wr {margin:0 0 10px;border-bottom:1px solid #f8f8f8} +.sit_option {margin:10px 0} +.sit_option label {display:block;margin:0 0 5px} +.sit_option select {width:100%;height:40px;border:1px solid #d4d4d4;margin:0 0 5px;padding:0 10px} + +#sit_title {display:block;margin:0 0 10px;font-size:1.5em;line-height:1.3em} +#sit_desc {margin:0 0 10px;color:#666;line-height:1.25em} +#sit_opt_info {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +.sit_icon {display:block;margin:0 0} +.sit_icon img {margin:0 1px 0 0;vertical-align:top;margin:0 1px} + +#sit_star {color:#b8afa2;font-size:0.95em;padding:0 10px;line-height:2.2em} +#sit_star span {display:inline-block;margin:0 5px 0 0;color:#666;letter-spacing:0} +#sit_star .sit_star {position:relative;top:-2px;margin:0 5px 0 0} +#sit_star a {display:inline-block;vertical-align:middle} +#sit_star button {margin:0;padding:0;border:0} + +.sit_ov_tbl {border-top:1px solid #f8f8f8;padding:10px 0;margin-top:20px;color:#777} +.sit_ov_tbl table {border-collapse:collapse;width:100%;border:0} +.sit_ov_tbl th {font-weight:normal;text-align:left;padding:5px 0} +.sit_ov_tbl td {padding:5px 15px} +.sit_ov_tbl tr:first-child td,.sit_ov_tbl tr:first-child th {border:none} +.sit_ov_ro {padding:2px 2px 3px;border:0;background:transparent;text-align:right;vertical-align:middle} +.sit_ov_opt {padding:2px 2px 3px;border:0;background:transparent;vertical-align:middle} +.sit_ov_input {height:1.8em;border:1px solid #b8c9c2;background:transparent;vertical-align:middle} +.sit_ov_tbl button {margin:0} + +#sit_tab {margin:20px 0} +#sit_tab .tab_tit:after {display:block;visibility:hidden;clear:both;content:""} +#sit_tab .tab_tit li {float:left;width:25%;text-align:center;border-bottom:1px solid #d9dce3} +#sit_tab .tab_tit li button {display:block;width:100%;position:relative;height:40px;background:#fff;border:0;color:#666;line-height:38px;text-align:center;z-index:1} +#sit_tab .tab_tit li .selected {background:#fff;z-index:2;color:#3a8afd;font-weight:bold;position:relative} +#sit_tab .tab_tit li .selected:before {content:'';position:absolute;bottom:-1px;left:0;width:100%;background:#3a8afd;height:3px} + +#sit_tab .tab_con {background:#fff;border-bottom:1px solid #e5e5e5;padding:15px} + +#btn_option {display:none;position:fixed;bottom:0;left:0;width:100%;background:#fff;z-index:90;border-top:1px solid #000; +-webkit-box-shadow:0 0 9px rgba(0,0,0,0.2) +-moz-box-shadow0 0 9px rgba(0,0,0,0.2); +box-shadow:0 0 6px rgba(0,0,0,0.2)} +#btn_option .sl_option {max-height:240px;overflow-y:auto;padding:10px} +#btn_option h3 {margin-bottom:10px} +#btn_option .btn_close {position:absolute;top:-25px;left:50%;width:60px;height:25px;margin-left:-30px;border:1px solid #000;border-bottom:0;background:#fff;border-radius:3px 3px 0 0} +.btn_cart_op {width:100%;text-align:center;font-weight:bold} +.btn_option_wr {position:fixed;bottom:0;left:0;width:100%;padding:10px;background:#fff;border-top:1px solid #000;z-index:88; +-webkit-box-shadow:0 0 9px rgba(0,0,0,0.2); +-moz-box-shadow:0 0 9px rgba(0,0,0,0.2); +box-shadow:0 0 6px rgba(0,0,0,0.2)} + +.sit_op_sl {width:100%;border-collapse:collapse} +.sit_op_sl th {font-weight:normal;text-align:left;padding:0 0 0 10px} +.sit_op_sl td {text-align:left;padding:9px 10px 9px 0} + +.sit_sel_btn {position:relative;top:-15px;right:-2px} /* 선택옵션용 추가 버튼 */ +.sit_sel_btn button {width:100%} + +#sit_ov_soldout {padding:20px;background:#fef5f7;color:#ff3061;font-weight:bold;text-align:center;margin-bottom:10px} +#sit_ov_btn {margin:0;text-align:center;z-index:100} +#sit_ov_btn:after {display:block;visibility:hidden;clear:both;content:""} +#sit_btn_cart {float:left;width:39%;margin-right:1%;line-height:50px;border:1px solid #98a3b3;color:#000;background:#fff;font-weight:bold;border-radius:3px} +#sit_btn_buy {float:left;width:39%;margin-right:1%;line-height:50px;font-weight:bold} +#sit_btn_phone {float:left;width:79%;margin-right:1%;line-height:50px;border:1px solid #3a8afd;color:#3a8afd;background:#fff;font-weight:bold;border-radius:3px} +#sit_btn_wish {float:left;width:20%;display:inline-block;line-height:50px;text-align:center;font-size:1.25em;border:1px solid #b3b3b3;font-weight:bold;border-radius:3px;background:#fff} +#sit_sel_option,#sit_tot_price {margin:10px 0;line-height:20px} +#sit_tot_price {text-align:right} +#sit_tot_price span {float:left} +#sit_tot_price strong {font-size:1.25em;color:#000} + +/* 상품 상세보기 - 상품정보 */ +#sit_inf_basic {margin:0 0 20px} +#sit_inf_explan {margin:0 0 10px;line-height:1.5em} +#sit_inf_explan img {max-width:100%;height:auto} +#sit_inf_open {margin:0;padding:0;list-style:none} +#sit_inf_open li {margin:0 0 1px;padding:8px 0;background:#fff;border:1px solid #f2f2f2;border-top:none;color:#727272} +#sit_inf_open li:after {display:block;visibility:hidden;clear:both;content:""} +#sit_inf_open strong {clear:both;float:left;padding:0 1%;width:28%;letter-spacing:-0.1em} +#sit_inf_open span {float:left;margin:0;padding:0 1%;width:68%} +#sit_inf h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#sit_inf h3 {position:absolute;font-size:0;line-height:0;content:""} + +#sit_inf_open {width:100%;border:0;border-top:1px solid #777;border-collapse:collapse;margin:10px 0 0} +#sit_inf_open th {padding:10px;border-bottom:1px solid #e5e5e5;background:#f3f3f3;vertical-align:top;text-align:left;width:30%} +#sit_inf_open td {padding:10px;border-bottom:1px solid #e5e5e5;background:#fff;vertical-align:top} + +@media (max-width:640px) { + #sit_inf_open th,#sit_inf_open td {display:block;width:100%} +} + +/* 상품 상세보기 - 사용후기 */ +.tit_no {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#sit_use h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#sit_use_ol {margin:0 0 5px;padding:0;border-top:1px solid #e9e9e9;list-style:none} +.sit_use_li {position:relative;padding:0 0 10px;border-bottom:1px solid #e9e9e9} +.sit_use_li_title {display:block;margin:0;padding:10px 10px 5px;width:100%;border:0;background:transparent;text-align:left;font-weight:bold;font-size:1.167em;line-height:1.35em} +.sit_use_dl {margin:0;padding:0 10px;position:relative;line-height:1.25em} +.sit_use_dl:after {display:block;visibility:hidden;clear:both;content:""} +.sit_use_dl dt {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +.sit_use_dl dd {float:left;margin:0 10px 0 0;color:#888;font-size:0.917em} +.sit_use_star {margin:0 !important;position:absolute;bottom:0;right:10px} +.sit_use_star img {width:80px} +.sit_use_con {display:none;padding:10px 0 0} +.sit_use_p {padding:10px;background:#f2f2f2} +.sit_use_cmd {text-align:right} +.sit_use_cmd a.btn01 {padding:5px} +#sit_use_wbtn {margin:0 0 10px} +#sit_use_wbtn:after {display:block;visibility:hidden;clear:both;content:""} +#sit_use_wbtn .btn01 {line-height:40px;width:49%;float:right;text-align:center;border-radius:3px} +#sit_use_wbtn .qa_wr {line-height:40px;width:49%;float:left;text-align:center;background:#3a8afd;color:#fff;border:1px solid #1c70e9;border-radius:3px} +#sit_use_write {} +#sit_use_write #is_subject {width:100%} +#sit_use_write ul {margin:5px 0 0} +#sit_use_write li {margin:0 0 5px} +#sit_use_write li label {display:inline-block;width:80px} +#sit_use_write #sit_use_write_star {margin:10px 0;padding:10px;background:#fff;list-style:none} +#sit_use_write_star:after {display:block;visibility:hidden;clear:both;content:""} +#sit_use_write_star li {float:left;width:50%} +#sit_use_write_star li img {vertical-align:middle} +.sit_use_reply {position:relative;border-top:1px dotted #bbb;margin:10px 0 0;padding:10px 0 0 40px} +.use_reply_icon {position:absolute;top:10px;left:5px;background:url('./img/use_reply.png') no-repeat 0 0;width:28px;height:17px;text-indent:-999px;overflow:hidden} +.use_reply_tit {font-weight:bold;line-height:1.5em} +.use_reply_name {font-size:0.92em;color:#777;margin:5px 0} +.use_reply_p {padding:10px;background:#f2f2f2;line-height:1.5em} + +/* 상품 상세보기 - 상품문의 */ +#sit_qa {} +#sit_qa h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#sit_qa_ol {margin:0 0 5px;padding:0;border-top:1px solid #e9e9e9;list-style:none} +.sit_qa_li {position:relative;padding:0 0 10px;border-bottom:1px solid #e9e9e9} +.sit_qa_li_title {display:block;margin:0;padding:10px 10px 5px;width:100%;border:0;background:transparent;text-align:left;font-weight:bold;font-size:1.167em;line-height:1.35em} +.sit_qa_dl {margin:0;padding:0 10px;position:relative} +.sit_qa_dl:after {display:block;visibility:hidden;clear:both;content:""} +.sit_qa_dl dt {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +.sit_qa_dl dd {float:left;margin:0 10px 0 0;color:#888;font-size:0.917em} +.sit_qa_dl dd.sit_qaa_yet,.sit_qa_dl dd.sit_qaa_done {position:absolute;bottom:0;right:0;background:#ccd1d9;padding:0 8px;line-height:30px;color:#fff;border-radius:4px} +.sit_qa_dl dd.sit_qaa_done {background:#f6bb42;color:#fff} +.sit_qa_con {display:none;padding:10px 0 0} +.sit_qa_p {margin:0 0 10px;background:#fff;padding:0 10px;background:#fbfbff} +.sit_qa_p strong {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +.sit_qa_p span.sit_alp{position:absolute;top:10px;left:0;color:#bbb;font-size:1.5em;font-weight:bold;width:25px;height:25px;line-height:25px;display:inline-block;border-radius:15px;text-align:center} +.sit_qa_qaq,.sit_qa_qaa {padding:15px 0 15px 30px;position:relative;min-height:70px} + +.sit_qa_qaa {border-top:1px dotted #eee} +.sit_qa_qaa span.sit_alp {} +.sit_qa_con textarea {display:none} +.sit_qa_cmd {text-align:right} +.sit_qa_cmd a.btn01 {padding:5px} +.sit_qa_pw {display:none;position:absolute;top:30px;left:175px;padding:10px;width:348px;border:1px solid #000;background:#fff;text-align:center} +.sit_qa_pw span {display:block;margin:0 0 5px} + +#sit_qa_wbtn {margin:0 0 10px} +#sit_qa_wbtn:after {display:block;visibility:hidden;clear:both;content:""} +#sit_qa_wbtn .btn01 {line-height:40px;width:49%;float:right;text-align:center;border-radius:3px} +#sit_qa_wbtn .qa_wr {line-height:40px;width:49%;float:left;text-align:center;background:#3a8afd;color:#fff;border:1px solid #1c70e9;border-radius:3px} + +/* 사용후기 모음 */ +#sps_sch {margin:15px} +#sps_sch a {display:inline-block;color:#3a8afd;font-weight:bold;border-bottom:1px solid #3a8afd;margin-top:10px} +#sps_sch .sch_wr {position:relative;background:#fff;border:1px solid #d0d3db} +#sps_sch .sch_wr:after {display:block;visibility:hidden;clear:both;content:""} +#sps_sch select {border:0;background:#fff;padding:9px 0;height:45px;border:1px solid #fff;border-right:1px solid #f8f8f8;float:left;width:40%} +#sps_sch .sch_input {height:45px;border:0;padding:0;background-color:transparent;float:left;width:60%;padding:0 40px 0 10px} +#sps_sch .sch_btn {position:absolute;top:0;right:0;width:45px;height:45px;border:0;background:none;font-size:15px} + +#sps {zoom:1} +#sps>ol {margin:10px 0;padding:0;border-top:1px solid #f8f8f8;list-style:none} +#sps>ol>li {position:relative;padding:10px;border-bottom:1px solid #e8e8e8;background:#fff} +#sps>ol>li:after {display:block;visibility:hidden;clear:both;content:""} + +.sps_img {position:absolute;top:10px;left:10px} +.sps_img span {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} + +.review_detail {margin-top:3px;border:0;background:transparent;font-weight:bold;color:#000;line-height:24px;font-size:1.083em} + +.review_detail_cnt {display:none;position:fixed;width:100%;height:100%;top:0;left:0;z-index:999;background:rgba(0,0,0,0.1)} +.review_detail_in {position:absolute;top:5%;left:0;width:100%;height:90%;padding:10px} +.review_detail_inner {position:relative;height:100%;background:#fff;text-align:left;overflow-y:auto;border-radius:3px;border:1px solid #dde7e9;border-radius:3px} +.review_detail_inner h3 {position:absolute;top:0;left:0;width:100%;padding:15px;border-bottom:1px solid #e8e8e8;background:#fff;font-size:1.4em;z-index:900} +.review_cnt {padding:60px 25px;max-height:100%;overflow-y:auto} +.rd_cls {position:absolute;top:0;right:0;color:#b5b8bb;border:0;padding:0 15px;height:55px;font-size:16px;background:none;z-index:9000;vertical-align:top} + +.review_tp_cnt {position:relative;padding:0 0 10px;margin-bottom:15px;border-bottom:1px solid #f1f1f1} +.review_tp_cnt>span {font-size:1.2em;display:block;line-height:24px;font-weight:bold} +.review_tp_cnt:after {display:block;visibility:hidden;clear:both;content:""} +.review_tp_cnt .sps_opt_btn_more {position:absolute;top:0;right:0;border:0;padding:5px 5px 5px 10px;background:#fff;color:#c4c8cb;font-size:1.4em} +.review_tp_cnt .sps_opt_li {display:none;position:absolute;top:40px;right:0;border:1px solid #b8bfc4;background:#fff} +.review_tp_cnt .sps_opt_li:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.review_tp_cnt .sps_opt_li:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.review_tp_cnt .sps_opt_li li {border-bottom:1px solid #f1f1f1;padding:10px !important;color:#6b757c} + +.review_summ {background:#fcfcfc;border:2px solid #efeff1;padding:10px} +.review_summ:after {display:block;visibility:hidden;clear:both;content:""} +.review_summ>img {float:left;margin-right:10px} +.review_summ>p {display:inline-block;width:auto !important;float:left;line-height:24px} +.review_summ>p span {display:block} +.review_bt_cnt {margin:15px 0} +.review_bt_cnt img {width:100%} + +.sps_reply {margin-top:10px;padding-top:10px;border-top:1px dotted #bbb} +.sps_reply .sps_img {text-align:right;width:70px} +.sps_reply .sps_section h2 {background:url('./img/use_reply.png') no-repeat 0 0;text-indent:30px;line-height:1.5em} + +.sps_info {margin-top:5px} +.sps_info span {display:inline-block;float:left;line-height:12px;color:#818181} +.sps_info .sps_if_wt {border-right:1px solid #eaeaea;padding-right:5px;margin-right:5px} + +.sps_dl dd {display:inline-block;float:left} +.sps_dl dd.sps_dd_wt {padding-right:5px;margin-right:5px;border-right:1px solid #eaeaea} + +.sps_section {min-height:70px;margin-left:80px;display:block} +.sps_section .is_use_reply {background:url('../mobile/shop/img/use_reply.png') no-repeat;text-indent:30px;line-height:1.5em} +.sps_section p {padding:0;width:100%} +.sps_con_full {padding:0;height:auto !important} + +.sps_con_btn button {} + +.sps_reply {margin-top:10px;padding-top:10px;border-top:1px dotted #bbb;position:relative} +.sps_reply .sps_img {width:50px;text-align:center} +.sps_reply .sps_section h2 {background:url('./img/use_reply.png') no-repeat 0 0;text-indent:30px;line-height:1.5em} +.sps_reply .sps_section {margin-left:70px;min-height:50px} +#sps_empty {text-align:center;color:#777;padding:50px 0} + +/* 상품문의 모음 */ +#sqa_sch {margin:15px} +#sqa_sch a {display:inline-block;color:#3a8afd;font-weight:bold;border-bottom:1px solid #3a8afd;margin-top:10px} +#sqa_sch .sch_wr {position:relative;background:#fff;border:1px solid #d0d3db} +#sqa_sch .sch_wr:after {display:block;visibility:hidden;clear:both;content:""} +#sqa_sch select {border:0;background:#fff;padding:9px 0;height:45px;border-right:1px solid #f8f8f8;float:left;width:40%} +#sqa_sch .sch_input {height:45px;border:0;padding:0;background-color:transparent;float:left;width:60%;padding:0 40px 0 10px} +#sqa_sch .sch_btn {position:absolute;top:0;right:0;width:45px;height:45px;border:0;background:none;font-size:15px} + +#sqa {zoom:1} +#sqa>ol {margin:10px 0;padding:0;border-top:1px solid #f8f8f8;list-style:none} +#sqa>ol>li {position:relative;min-height:80px;border-bottom:1px solid #e8e8e8;background:#fff} +#sqa>ol>li:after {display:block;visibility:hidden;clear:both;content:""} + +.sqa_img {position:absolute;top:10px;left:10px} +.sqa_img span {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} + +.sqa_info {margin-top:5px} +.sqa_info:after {display:block;visibility:hidden;clear:both;content:""} +.sqa_info span {display:inline-block;float:left;line-height:12px;color:#818181} +.sqa_info .sqa_if_wt {border-right:1px solid #eaeaea;padding-right:5px;margin-right:5px} + +.sqa_section {margin-left:70px;margin-right:40px;padding:10px;display:block;line-height:20px} +.sqa_section h2 {font-size:1.167em;font-weight:bold;margin:5px 0} +.sqa_con {margin:10px 0 0;background:#fbfbff;line-height:1.7em} +.sqa_section p {padding:0;width:100%} +.sqa_con_full {padding:0;height:auto !important} +.sqa_con_btn button {padding:5px 8px;color:#666;font-size:0.92em;margin:5px 0;background:#fff;position:absolute;top:10px;right:0;width:40px;height:50px;border:0} + +#sqa .sit_qaa_yet, #sqa .sit_qaa_done {margin-right:3px;display:inline-block;font-size:0.917em;background:#ccd1d9;padding:0 8px;line-height:30px;color:#fff;border-radius:4px;font-weight:normal} +#sqa .sit_qaa_done {background:#f6bb42;color:#fff} + +#sqa .sit_qa_qaq, #sqa .sit_qa_qaa {padding:10px 5px 10px 40px;position:relative} +#sqa .qa_alp {position:absolute;top:10px;left:0;font-weight:bold;display:block;width:40px;text-align:center;font-size:1.231em} +#sqa_empty {text-align:center;color:#777;padding:50px 0} + +/* 상품검색 */ +#ssch {margin:10px 0;position:relative} +#ssch_frm {border-bottom:1px solid #ddd;background:#fff;margin:10px 0} +#ssch_frm h2 {border-bottom:1px solid #ddd;padding:10px 15px;color:#666} +#ssch_frm h2 span {font-size:1.25em;color:#000} +#ssch_frm h2 strong {color:#d50c0c} +#ssch_frm div {padding:10px;line-height:30px} +#ssch_frm p {margin:10px 0 0;line-height:20px;color:#1f58fd;font-size:0.923em} +#ssch_frm .sch_wr {border-bottom:1px solid #e3e5e8;position:relative} +#ssch_frm #ssch_q {border-radius:0;width:100%;font-weight:bold;font-size:1.077em} +#ssch_frm .sch_submit {height:40px;padding:0 10px;font-weight:bold;position:absolute;top:10px;right:10px;border:0;background:none} +#ssch_frm .ssch_input {height:30px;border:1px solid #bbb;padding:0 10px;margin:3px 0} +#ssch_frm .chk_box label {margin-right:10px} +#ssch_frm .chk_box .frm_input {height:32px} + +#ssch_q {margin:0} +#ssch_ov {position:absolute;top:-50px;right:10px;line-height:20px;color:#6f6f6f;font-size:0.923em} + +#ssch_cate {text-align:center;width:100%;margin:10px 0} +#ssch_cate ul {list-style:none;border-bottom:1px solid #d9dce3} +#ssch_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#ssch_cate ul li {border-left:1px solid #f2f2f2;border-top:1px solid #f2f2f2;background:#fff;float:left;width:50%;text-align:left} +#ssch_cate ul li:nth-child(2n+1) {clear:both;border-left:0} +#ssch_cate a {text-decoration:none;display:block;color:#656565;padding:10px;position:relative;padding-right:25px;position:relative;line-height:20px} +#ssch_cate a span {position:absolute;top:10px;right:10px;display:inline-block;line-height:20px;padding:0 5px;border-radius:10px;color:#999} + +#ssch_sort {background:#fff;border-bottom:1px solid #ddd} +#ssch_sort button {height:40px;line-height:40px;border:0;padding:0 10px;background:#fff} +#ssch_sort ul:before {content:"";position:absolute;top:-8px;left:30px;width:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #bbb transparent} +#ssch_sort ul:after {content:"";position:absolute;top:-7px;left:30px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +#ssch_sort ul {display:none;position:absolute;border:1px solid #bbb;z-index:99} +#ssch_sort li {border-top:1px solid #eee} +#ssch_sort li a {display:block;text-align:center;color:#333;background:#fff;border:0;font-size:0.917em;padding:5px 10px;line-height:20px} + +/*배송교환정보*/ +#sit_dvex h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#sit_dvex h3 {text-align:center;padding:10px 0;background:#f3f3f3;margin:0 0 10px} +#sit_dvr {margin:0 0 10px} + +/* 로딩안내 레이어 */ +#loading_message {z-index:10000;position:absolute;top:0;left:0;background:#fff;opacity:0.7} +#loading_message img {position:relative;opacity:1.0} + +/* 알림 box */ +#fancyalert {display:block;z-index:10000;position:absolute;top:0;left:0} +#fancyalert_inner {display:table;z-index:2;position:relative} +#fancyalert_inner div {display:table-cell;vertical-align:middle;text-align:center} +#fancyalert_inner span {display:block;margin:0 auto;padding:30px;width:200px;background:#1f1f1f;color:#f0f1f2} +#fancyalert_inner button {margin:15px 0 0;padding:10px 30px;border:0;background:#000;color:#fff} +#fancyalert_bg {z-index:0;position:absolute;top:0;left:0;width:100%;height:100%;vertical-align:middle;background:#000;text-align:center;opacity:0.7} + +#sit_sms_new .tbl_frm01 th {width:100px} + +/*쿠폰존 리스트*/ +.couponzone_list {margin:10px 0;background:#fff;border-bottom:1px solid #ccc} +.couponzone_list h2 {border-bottom:1px solid #efefef;padding:10px;line-height:30px;font-size:1.077em} +.couponzone_list p {position:relative;text-align:left;color:#fff;line-height:18px;font-size:1.1em;background:#f2838f;margin:10px;padding:10px 20px;border-radius:5px;font-weight:bold} +.couponzone_list p:before {content:"";position:absolute;top:0;left:0;width:5px;height:100%;border-radius:5px 0 0 5px;background:#da4453} + +.couponzone_list ul {padding:0 10px 10px;margin:0;list-style:none;background:#fff} +.couponzone_list ul:after {display:block;visibility:hidden;clear:both;content:""} +.couponzone_list ul li {line-height:1.2em;margin:0 0 10px} +.couponzone_list ul li img {width:100%;height:auto;border-radius:3px 3px 0 0} +.couponzone_list ul li .cp_inner {border:1px solid #ddd;border-radius:5px; +-webkit-box-shadow:0px 1px 6px 0 #dedede; +-moz-box-shadow:0px 1px 6px 0 #dedede; +box-shadow:0px 1px 6px 0 #dedede +} + +.couponzone_list ul li .coupon_img {position:relative;height:120px;overflow:hidden;border-bottom:1px dashed #ccc} +.couponzone_list ul li .coupon_tit {position:absolute;top:0;left:0;width:100%;height:100%;padding-top:30px;text-align:center;font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap} +.couponzone_list ul li .coupon_tit span {display:inline-block;margin-bottom:5px} +.couponzone_list ul li .coupon_tit .cp_evt, +.couponzone_list ul li .coupon_tit .cp_evt b {font-size:1.4em} +.couponzone_list ul li .cp_cnt {padding:10px} +.couponzone_list ul li .coupon_date {display:inline-block;float:right;padding:2px 3px;margin:5px 0px;font-size:0.92em;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:#777} +.couponzone_list ul li .coupon_target {display:inline-block;margin:5px 0px} +.couponzone_list ul li .coupon_target>button {display:inline-block;max-width:125px;padding:2px 3px;font-size:0.92em;border:0;border-radius:3px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap} +.couponzone_list ul li .coupon_target .cp_1 {background:#edfbde;color:#8cc152}/*카테고리할인*/ +.couponzone_list ul li .coupon_target .cp_2 {background:#fbdef3;color:#c15293}/*개별상품할인*/ +.couponzone_list ul li .coupon_target .cp_3 {background:#fbf1de;color:#c18b52}/*주문금액할인*/ +.couponzone_list ul li .coupon_target .cp_4 {background:#f2defb;color:#7c52c1}/*배송비할인*/ + +.couponzone_list ul li .coupon_info {display:none;position:absolute;min-width:235px;background:#fff;border:1px solid #000;padding:15px;z-index:99999} +.couponzone_list ul li .coupon_info:after {display:block;visibility:hidden;clear:both;content:""} +.couponzone_list ul li .coupon_info h4 {font-size:1.2em;margin-bottom:10px} +.couponzone_list ul li .coupon_info ul {padding:0;margin:0;position:relative;border:0} +.couponzone_list ul li .coupon_info li {width:auto;margin:0;float:inherit;color:#5e5e5e;line-height:18px} +.couponzone_list ul li .coupon_info li a {text-decoration:underline;color:#5e5e5e} +.couponzone_list ul li .coupon_info .coupon_info_cls {position:absolute;right:0;top:0;color:#c7c9cc;border:0;background:#fff;padding:10px;font-size:1.2em} + +.couponzone_list ul li .coupon_btn {text-align:center} +.couponzone_list ul li .coupon_btn .btn02 {width:100%;height:42px;line-height:28px;margin-top:15px;border:0;color:#fff;background:#3a8afd;border-radius:5px;font-weight:bold} +.couponzone_list ul li .coupon_btn .btn02:hover {background:#2176f1;color:#fff} +.couponzone_list ul li .coupon_btn .disabled {background:#c6c6c6;border:1px;color:#fff;border-color:#c6c6c6} +.couponzone_list ul li .coupon_btn .disabled:hover {background:#c6c6c6;border:1px;color:#fff;border-color:#c6c6c6} +.couponzone_list .no_coupon {position:relative;padding:100px 0;text-align:center;color:#999;background:none;font-weight:normal} +.couponzone_list .no_coupon:before {background:none} + +@media (min-width:640px)and (max-width:969px) { + .couponzone_list ul li {width:50%;float:left;padding:10px} + .couponzone_list ul li:nth-child(2n+1) {clear:both} +} + +@media (min-width:970px) { + .couponzone_list ul li {width:25%;float:left;padding:10px} + .couponzone_list ul li:nth-child(4n+1) {clear:both} +} + +/*재입고알림*/ +#sit_sms_new .prd_name {background:#edf3fc;margin:0 0 10px;border:1px solid #d6e2f4;border-radius:5px} +#sit_sms_new strong {display:block;margin:15px 0 10px} +#sit_sms_new #sms_agree {text-align:left;padding:0 0 10px !important} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/mobile/skin/visit/basic/style.css b/web/html/theme/FT_WEB20/mobile/skin/visit/basic/style.css new file mode 100644 index 0000000..2ac5992 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/visit/basic/style.css @@ -0,0 +1,11 @@ +@charset "utf-8"; + +#visit {position:relative;margin:15px 10px;background:#fff;border:1px solid #dde7e9} +#visit h2 {line-height:24px;font-size:1.2em;margin:0 0 10px;padding:15px;border-bottom:1px solid #dde7e9} +#visit dl{background:#fff;padding:15px 20px;border-radius:3px;line-height:20px} +#visit dl:after {display:block;visibility:hidden;clear:both;content:""} +#visit dt {float:left;width:50%;position:relative;line-height:32px;padding-left:15px} +#visit dt:after {position:absolute;left:0;top:13px;width:5px;height:5px;background:#3a8afd;content:"";border-radius:5px} +#visit dd {float:left;width:50%;text-align:right;line-height:32px;color:#3a8afd} +#visit a {display:inline-block;padding:10px 3px;text-decoration:none} +#visit .btn_admin {position:absolute;top:0;right:15px} diff --git a/web/html/theme/FT_WEB20/mobile/skin/visit/basic/visit.skin.php b/web/html/theme/FT_WEB20/mobile/skin/visit/basic/visit.skin.php new file mode 100644 index 0000000..37f18e4 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/skin/visit/basic/visit.skin.php @@ -0,0 +1,23 @@ +', 0); +?> + + diff --git a/web/html/theme/FT_WEB20/mobile/tail.php b/web/html/theme/FT_WEB20/mobile/tail.php new file mode 100644 index 0000000..4d405c3 --- /dev/null +++ b/web/html/theme/FT_WEB20/mobile/tail.php @@ -0,0 +1,85 @@ + +
                                                                                +
                                                                                + +
                                                                                +
                                                                                + +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                본사
                                                                                +
                                                                                경기도 성남시 분당구 대왕판교로 644번길 49 DTC타워 3층
                                                                                +
                                                                                +
                                                                                +
                                                                                Tel
                                                                                +
                                                                                031-776-7690
                                                                                +
                                                                                +
                                                                                +
                                                                                Fax
                                                                                +
                                                                                031-776-7691
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +

                                                                                © 2020 정우그룹 All Rights Reserved.

                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + + + + + + + + + + diff --git a/web/html/theme/FT_WEB20/readme.txt b/web/html/theme/FT_WEB20/readme.txt new file mode 100644 index 0000000..41f981c --- /dev/null +++ b/web/html/theme/FT_WEB20/readme.txt @@ -0,0 +1,8 @@ +Theme Name: ft20 +Theme URI: - +Maker: - +Maker URI: - +Version: 1.0.0 +Detail: - +License: - +License URI: - \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/responsive.php b/web/html/theme/FT_WEB20/responsive.php new file mode 100644 index 0000000..d905918 --- /dev/null +++ b/web/html/theme/FT_WEB20/responsive.php @@ -0,0 +1,81 @@ +',1); +?> + + + + + + + + + + + diff --git a/web/html/theme/FT_WEB20/screenshot.png b/web/html/theme/FT_WEB20/screenshot.png new file mode 100644 index 0000000..4ead1a9 Binary files /dev/null and b/web/html/theme/FT_WEB20/screenshot.png differ diff --git a/web/html/theme/FT_WEB20/shop/_common.php b/web/html/theme/FT_WEB20/shop/_common.php new file mode 100644 index 0000000..96a2a3e --- /dev/null +++ b/web/html/theme/FT_WEB20/shop/_common.php @@ -0,0 +1,20 @@ +\'\"\\\'\\\"\%\=\(\)\s]/", "", $sort); +} else { + $sort = ''; +} + +if (isset($_REQUEST['sortodr'])) { + $sortodr = preg_match("/^(asc|desc)$/i", $sortodr) ? $sortodr : ''; +} else { + $sortodr = ''; +} + +if (!defined('G5_USE_SHOP') || !G5_USE_SHOP) + die('

                                                                                쇼핑몰 설치 후 이용해 주십시오.

                                                                                '); + +define('_SHOP_', true); \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/shop/ajax.action.php b/web/html/theme/FT_WEB20/shop/ajax.action.php new file mode 100644 index 0000000..91998ee --- /dev/null +++ b/web/html/theme/FT_WEB20/shop/ajax.action.php @@ -0,0 +1,353 @@ + ''))); + + break; + case 'cart_update' : + + // 보관기간이 지난 상품 삭제 + cart_item_clean(); + + // cart id 설정 + set_cart_id($sw_direct); + + if($sw_direct) + $tmp_cart_id = get_session('ss_cart_direct'); + else + $tmp_cart_id = get_session('ss_cart_id'); + + // 브라우저에서 쿠키를 허용하지 않은 경우라고 볼 수 있음. + if (!$tmp_cart_id) + { + die(json_encode(array('error' => '더 이상 작업을 진행할 수 없습니다.\n\n브라우저의 쿠키 허용을 사용하지 않음으로 설정한것 같습니다.\n\n브라우저의 인터넷 옵션에서 쿠키 허용을 사용으로 설정해 주십시오.\n\n그래도 진행이 되지 않는다면 쇼핑몰 운영자에게 문의 바랍니다.'))); + } + + $tmp_cart_id = preg_replace('/[^a-z0-9_\-]/i', '', $tmp_cart_id); + + // 레벨(권한)이 상품구입 권한보다 작다면 상품을 구입할 수 없음. + if ($member['mb_level'] < $default['de_level_sell']) + { + die(json_encode(array('error' => '상품을 구입할 수 있는 권한이 없습니다.'))); + } + + $count = (isset($_POST['it_id']) && is_array($_POST['it_id'])) ? count($_POST['it_id']) : 0; + + if ($count < 1) + die(json_encode(array('error' => '장바구니에 담을 상품을 선택하여 주십시오.'))); + + $ct_count = 0; + for($i=0; $i<$count; $i++) { + $it_id = isset($_POST['it_id'][$i]) ? safe_replace_regex($_POST['it_id'][$i], 'it_id') : ''; + $opt_count = (isset($_POST['io_id'][$it_id]) && is_array($_POST['io_id'][$it_id])) ? count($_POST['io_id'][$it_id]) : 0; + + // 상품정보 + $it = get_shop_item($it_id, false); + if(!$it['it_id']) + die(json_encode(array('error' => '상품정보가 존재하지 않습니다.'))); + + // 옵션정보를 얻어서 배열에 저장 + $opt_list = array(); + $sql = " select * from {$g5['g5_shop_item_option_table']} where it_id = '$it_id' order by io_no asc "; + $result = sql_query($sql); + $lst_count = 0; + for($k=0; $row=sql_fetch_array($result); $k++) { + $opt_list[$row['io_type']][$row['io_id']]['id'] = $row['io_id']; + $opt_list[$row['io_type']][$row['io_id']]['use'] = $row['io_use']; + $opt_list[$row['io_type']][$row['io_id']]['price'] = $row['io_price']; + $opt_list[$row['io_type']][$row['io_id']]['stock'] = $row['io_stock_qty']; + + // 선택옵션 개수 + if(!$row['io_type']) + $lst_count++; + } + + if($lst_count > 0 && !trim($_POST['io_id'][$it_id][$i]) && $_POST['io_type'][$it_id][$i] == 0) + die(json_encode(array('error' => '상품의 선택옵션을 선택해 주십시오.'))); + + for($k=0; $k<$opt_count; $k++) { + $post_ct_qty = isset($_POST['ct_qty'][$it_id][$k]) ? (int) $_POST['ct_qty'][$it_id][$k] : 0; + if ($post_ct_qty < 1) + die(json_encode(array('error' => '수량은 1 이상 입력해 주십시오.'))); + } + + // 바로구매에 있던 장바구니 자료를 지운다. + if($i == 0 && $sw_direct) + sql_query(" delete from {$g5['g5_shop_cart_table']} where od_id = '$tmp_cart_id' and ct_direct = 1 ", false); + + // 최소, 최대 수량 체크 + if($it['it_buy_min_qty'] || $it['it_buy_max_qty']) { + $sum_qty = 0; + for($k=0; $k<$opt_count; $k++) { + if(isset($_POST['io_type'][$it_id][$k]) && $_POST['io_type'][$it_id][$k] == 0){ + $post_ct_qty = isset($_POST['ct_qty'][$it_id][$k]) ? (int) $_POST['ct_qty'][$it_id][$k] : 0; + $sum_qty += $post_ct_qty; + } + } + + if($it['it_buy_min_qty'] > 0 && $sum_qty < $it['it_buy_min_qty']) + die(json_encode(array('error' => $it['it_name'].'의 선택옵션 개수 총합 '.number_format($it['it_buy_min_qty']).'개 이상 주문해 주십시오.'))); + + if($it['it_buy_max_qty'] > 0 && $sum_qty > $it['it_buy_max_qty']) + die(json_encode(array('error' => $it['it_name'].'의 선택옵션 개수 총합 '.number_format($it['it_buy_max_qty']).'개 이하로 주문해 주십시오.'))); + + // 기존에 장바구니에 담긴 상품이 있는 경우에 최대 구매수량 체크 + if($it['it_buy_max_qty'] > 0) { + $sql4 = " select sum(ct_qty) as ct_sum + from {$g5['g5_shop_cart_table']} + where od_id = '$tmp_cart_id' + and it_id = '$it_id' + and io_type = '0' + and ct_status = '쇼핑' "; + $row4 = sql_fetch($sql4); + + if(($sum_qty + $row4['ct_sum']) > $it['it_buy_max_qty']) + die(json_encode(array('error' => $it['it_name'].'의 선택옵션 개수 총합 '.number_format($it['it_buy_max_qty']).'개 이하로 주문해 주십시오.', './cart.php'))); + } + } + + // 장바구니에 Insert + // 바로구매일 경우 장바구니가 체크된것으로 강제 설정 + $ct_select = 0; + $ct_select_time = '0000-00-00 00:00:00'; + + // 장바구니에 Insert + $comma = ''; + $sql = " INSERT INTO {$g5['g5_shop_cart_table']} + ( od_id, mb_id, it_id, it_name, it_sc_type, it_sc_method, it_sc_price, it_sc_minimum, it_sc_qty, ct_status, ct_price, ct_point, ct_point_use, ct_stock_use, ct_option, ct_qty, ct_notax, io_id, io_type, io_price, ct_time, ct_ip, ct_send_cost, ct_direct, ct_select, ct_select_time ) + VALUES "; + + for($k=0; $k<$opt_count; $k++) { + $io_id = isset($_POST['io_id'][$it_id][$k]) ? preg_replace(G5_OPTION_ID_FILTER, '', $_POST['io_id'][$it_id][$k]) : ''; + $io_type = isset($_POST['io_type'][$it_id][$k]) ? preg_replace('#[^01]#', '', $_POST['io_type'][$it_id][$k]) : ''; + $io_value = isset($_POST['io_value'][$it_id][$k]) ? $_POST['io_value'][$it_id][$k] : ''; + + // 선택옵션정보가 존재하는데 선택된 옵션이 없으면 건너뜀 + if($lst_count && $io_id == '') + continue; + + $opt_list_type_id_use = isset($opt_list[$io_type][$io_id]['use']) ? $opt_list[$io_type][$io_id]['use'] : ''; + // 구매할 수 없는 옵션은 건너뜀 + if($io_id && ! $opt_list_type_id_use) + continue; + + $io_price = isset($opt_list[$io_type][$io_id]['price']) ? $opt_list[$io_type][$io_id]['price'] : 0; + $ct_qty = isset($_POST['ct_qty'][$it_id][$k]) ? (int) $_POST['ct_qty'][$it_id][$k] : 0; + + // 구매가격이 음수인지 체크 + if($io_type) { + if((int)$io_price < 0) + die(json_encode(array('error' => '구매금액이 음수인 상품은 구매할 수 없습니다.'))); + } else { + if((int)$it['it_price'] + (int)$io_price < 0) + die(json_encode(array('error' => '구매금액이 음수인 상품은 구매할 수 없습니다.'))); + } + + // 동일옵션의 상품이 있으면 수량 더함 + $sql2 = " select ct_id, io_type, ct_qty + from {$g5['g5_shop_cart_table']} + where od_id = '$tmp_cart_id' + and it_id = '$it_id' + and io_id = '$io_id' + and ct_status = '쇼핑' "; + $row2 = sql_fetch($sql2); + if(isset($row2['ct_id']) && $row2['ct_id']) { + // 재고체크 + $tmp_ct_qty = $row2['ct_qty']; + if(!$io_id) + $tmp_it_stock_qty = get_it_stock_qty($it_id); + else + $tmp_it_stock_qty = get_option_stock_qty($it_id, $io_id, $row2['io_type']); + + if ($tmp_ct_qty + $ct_qty > $tmp_it_stock_qty) + { + die(json_encode(array('error' => $io_value." 의 재고수량이 부족합니다.\n\n현재 재고수량 : " . number_format($tmp_it_stock_qty) . " 개"))); + } + + $sql3 = " update {$g5['g5_shop_cart_table']} + set ct_qty = ct_qty + '$ct_qty' + where ct_id = '{$row2['ct_id']}' "; + sql_query($sql3); + continue; + } + + // 포인트 + $point = 0; + if($config['cf_use_point']) { + if($io_type == 0) { + $point = get_item_point($it, $io_id); + } else { + $point = $it['it_supply_point']; + } + + if($point < 0) + $point = 0; + } + + $ct_send_cost = 0; + + // 배송비결제 + if($it['it_sc_type'] == 1) + $ct_send_cost = 2; // 무료 + else if($it['it_sc_type'] > 1 && $it['it_sc_method'] == 1) + $ct_send_cost = 1; // 착불 + + $io_value = sql_real_escape_string(strip_tags($io_value)); + + $sql .= $comma."( '$tmp_cart_id', '{$member['mb_id']}', '{$it['it_id']}', '".addslashes($it['it_name'])."', '{$it['it_sc_type']}', '{$it['it_sc_method']}', '{$it['it_sc_price']}', '{$it['it_sc_minimum']}', '{$it['it_sc_qty']}', '쇼핑', '{$it['it_price']}', '$point', '0', '0', '$io_value', '$ct_qty', '{$it['it_notax']}', '$io_id', '$io_type', '$io_price', '".G5_TIME_YMDHIS."', '".$_SERVER['REMOTE_ADDR']."', '$ct_send_cost', '$sw_direct', '$ct_select', '$ct_select_time' )"; + $comma = ' , '; + $ct_count++; + } + + if($ct_count > 0) + sql_query($sql); + } + + die(json_encode(array('error' => ''))); + break; + + case 'get_item_option' : + + $it = get_shop_item($it_id, true); + + if(!$it['it_id']) + die(json_encode(array('error' => '상품정보가 존재하지 않습니다.'))); + + // 상품품절체크 + $is_soldout = is_soldout($it['it_id']); + + // 주문가능체크 + $is_orderable = true; + if(!$it['it_use'] || $it['it_tel_inq'] || $is_soldout) + die(json_encode(array('error' => '상품을 구매할 수 없습니다.'))); + + $item_ct_qty = 1; + if($it['it_buy_min_qty'] > 1) + $item_ct_qty = $it['it_buy_min_qty']; + + $action_url = G5_THEME_SHOP_URL.'/ajax.action.php'; + + $is_option = 0; + $option_item = get_shop_item_options($it['it_id'], $it['it_option_subject'], 0); + + ob_start(); + ?> +
                                                                                +
                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                +
                                                                                + '', + 'option' => $is_option, + 'html' => $content + ); + + die(json_encode($result)); + + break; + case 'wish_update' : + + $it_id = isset($_POST['it_id']) ? safe_replace_regex($_POST['it_id'], 'it_id') : ''; + + if (!$is_member) + die('회원 전용 서비스 입니다.'); + + if(!$it_id) + die('상품 코드가 올바르지 않습니다.'); + + // 상품정보 체크 + $row = get_shop_item($it_id, true); + + if(!$row['it_id']) + die('상품정보가 존재하지 않습니다.'); + + $sql = " select wi_id from {$g5['g5_shop_wish_table']} + where mb_id = '{$member['mb_id']}' and it_id = '$it_id' "; + $row = sql_fetch($sql); + + if (! (isset($row['wi_id']) && $row['wi_id'])) { + $sql = " insert {$g5['g5_shop_wish_table']} + set mb_id = '{$member['mb_id']}', + it_id = '$it_id', + wi_time = '".G5_TIME_YMDHIS."', + wi_ip = '".$_SERVER['REMOTE_ADDR']."' "; + sql_query($sql); + + die('OK'); + } else { + die('위시리스트에 이미 등록된 상품입니다.'); + } + + break; + default : +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/shop/category.php b/web/html/theme/FT_WEB20/shop/category.php new file mode 100644 index 0000000..8ba9ddd --- /dev/null +++ b/web/html/theme/FT_WEB20/shop/category.php @@ -0,0 +1,83 @@ + +
                                                                                +

                                                                                전체메뉴

                                                                                + '.PHP_EOL; + ?> +
                                                                              • + + $cate2){ + if( empty($cate2) || $key === 'text' ) continue; + + $mshop_ca_row2 = $cate2['text']; + if($j == 0) + echo '
                                                                                  '.PHP_EOL; + ?> +
                                                                                • + +
                                                                                • + 0) + echo '
                                                                                '.PHP_EOL; + ?> +
                                                                              • + 0) + echo ''.PHP_EOL; + else + echo '

                                                                                등록된 분류가 없습니다.

                                                                                '.PHP_EOL; + ?> + +
                                                                                +
                                                                                + diff --git a/web/html/theme/FT_WEB20/shop/index.php b/web/html/theme/FT_WEB20/shop/index.php new file mode 100644 index 0000000..e1e8a4f --- /dev/null +++ b/web/html/theme/FT_WEB20/shop/index.php @@ -0,0 +1,134 @@ + + + + + + + + +
                                                                                +
                                                                                +

                                                                                히트상품

                                                                                +
                                                                                + set_type(1); + $list->set_view('it_img', true); + $list->set_view('it_id', false); + $list->set_view('it_name', true); + $list->set_view('it_basic', true); + $list->set_view('it_cust_price', true); + $list->set_view('it_price', true); + $list->set_view('it_icon', true); + $list->set_view('sns', true); + $list->set_view('star', true); + echo $list->run(); + ?> +
                                                                                + + + + + + +
                                                                                +
                                                                                +

                                                                                최신상품

                                                                                +
                                                                                + set_type(3); + $list->set_view('it_id', false); + $list->set_view('it_name', true); + $list->set_view('it_basic', true); + $list->set_view('it_cust_price', true); + $list->set_view('it_price', true); + $list->set_view('it_icon', true); + $list->set_view('sns', true); + $list->set_view('star', true); + echo $list->run(); + ?> +
                                                                                + + + + + +
                                                                                +
                                                                                +

                                                                                추천상품

                                                                                +
                                                                                + set_type(2); + $list->set_view('it_id', false); + $list->set_view('it_name', true); + $list->set_view('it_basic', true); + $list->set_view('it_cust_price', true); + $list->set_view('it_price', true); + $list->set_view('it_icon', true); + $list->set_view('sns', true); + $list->set_view('star', true); + echo $list->run(); + ?> +
                                                                                + + + + + + + +
                                                                                +
                                                                                +

                                                                                할인상품

                                                                                +
                                                                                + set_type(5); + $list->set_view('it_id', false); + $list->set_view('it_name', true); + $list->set_view('it_basic', true); + $list->set_view('it_cust_price', true); + $list->set_view('it_price', true); + $list->set_view('it_icon', true); + $list->set_view('sns', true); + $list->set_view('star', true); + echo $list->run(); + ?> +
                                                                                + + + += '".G5_TIME_YMD."' "; +$res = sql_query($sql); + +for($k=0; $cp=sql_fetch_array($res); $k++) { + if(!is_used_coupon($member['mb_id'], $cp['cp_id'])) + $cp_count++; +} +?> + + +
                                                                                + + +
                                                                                +

                                                                                회원정보 개요

                                                                                + + + + + +

                                                                                내정보

                                                                                +
                                                                                +
                                                                                연락처
                                                                                +
                                                                                +
                                                                                E-Mail
                                                                                +
                                                                                +
                                                                                최종접속일시
                                                                                +
                                                                                +
                                                                                회원가입일시
                                                                                +
                                                                                +
                                                                                주소
                                                                                +
                                                                                +
                                                                                + + 회원탈퇴 +
                                                                                + + +
                                                                                + +
                                                                                +

                                                                                주문내역조회

                                                                                + + +
                                                                                + 더보기 +
                                                                                +
                                                                                + + + +
                                                                                +

                                                                                최근 위시리스트

                                                                                +
                                                                                + + + +
                                                                                  + + +
                                                                                • +
                                                                                  + 품절 + +
                                                                                  + + +
                                                                                  + + + + + + +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  + 삭제 +
                                                                                • + + 보관 내역이 없습니다.'; + ?> +
                                                                                + +
                                                                                + 더보기 +
                                                                                + +
                                                                                + + +
                                                                                +
                                                                                +
                                                                                + +
                                                                                +
                                                                                + + + + +'.PHP_EOL; + } else { + echo ''.PHP_EOL; + } +} +?> + + +
                                                                                +
                                                                                주문번호
                                                                                +
                                                                                +

                                                                                주문하신 상품

                                                                                + + + +
                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + 0 && $st_count1 == $st_count2) + $custom_cancel = true; + ?> + +
                                                                                상품명총수량판매가포인트배송비소계상태
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                +
                                                                                + +
                                                                                + 상품 상태 설명 + +
                                                                                +
                                                                                +
                                                                                주문
                                                                                +
                                                                                주문이 접수되었습니다. +
                                                                                입금
                                                                                +
                                                                                입금(결제)이 완료 되었습니다. +
                                                                                준비
                                                                                +
                                                                                상품 준비 중입니다. +
                                                                                배송
                                                                                +
                                                                                상품 배송 중입니다. +
                                                                                완료
                                                                                +
                                                                                상품 배송이 완료 되었습니다. +
                                                                                + +
                                                                                +
                                                                                +
                                                                                +
                                                                                +

                                                                                결제/배송 정보

                                                                                + $od['od_cancel_price'])) { + $wanbul = " (완불)"; + $misu = false; // 미수금 없음 + } + else + { + $wanbul = display_price($receipt_price); + } + + // 결제정보처리 + if($od['od_receipt_price'] > 0) + $od_receipt_price = display_price($od['od_receipt_price']); + else + $od_receipt_price = '아직 입금되지 않았거나 입금정보를 입력하지 못하였습니다.'; + + $app_no_subj = ''; + $disp_bank = true; + $disp_receipt = false; + if($od['od_settle_case'] == '신용카드' || $od['od_settle_case'] == 'KAKAOPAY' || is_inicis_order_pay($od['od_settle_case']) ) { + $app_no_subj = '승인번호'; + $app_no = $od['od_app_no']; + $disp_bank = false; + $disp_receipt = true; + } else if($od['od_settle_case'] == '간편결제') { + $app_no_subj = '승인번호'; + $app_no = $od['od_app_no']; + $disp_bank = false; + } else if($od['od_settle_case'] == '휴대폰') { + $app_no_subj = '휴대폰번호'; + $app_no = $od['od_bank_account']; + $disp_bank = false; + $disp_receipt = true; + } else if($od['od_settle_case'] == '가상계좌' || $od['od_settle_case'] == '계좌이체') { + $app_no_subj = '거래번호'; + $app_no = $od['od_tno']; + + if( function_exists('shop_is_taxsave') && $misu_price == 0 && shop_is_taxsave($od, true) === 2 ){ + $disp_receipt = true; + } + } + ?> + +
                                                                                +

                                                                                주문하신 분

                                                                                + +
                                                                                + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                이 름
                                                                                전화번호
                                                                                핸드폰
                                                                                주 소
                                                                                E-mail
                                                                                +
                                                                                +
                                                                                + +
                                                                                +

                                                                                받으시는 분

                                                                                + +
                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                이 름
                                                                                전화번호
                                                                                핸드폰
                                                                                주 소
                                                                                희망배송일
                                                                                전하실 말씀
                                                                                +
                                                                                +
                                                                                + +
                                                                                +

                                                                                배송정보

                                                                                + +
                                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                                배송회사
                                                                                운송장번호
                                                                                배송일시
                                                                                아직 배송하지 않았거나 배송정보를 입력하지 못하였습니다.
                                                                                +
                                                                                +
                                                                                +
                                                                                + +
                                                                                +
                                                                                  +
                                                                                • + 주문총액 + +
                                                                                • + 0) { ?> +
                                                                                • + 개별상품 쿠폰할인 + +
                                                                                • + + 0) { ?> +
                                                                                • + 주문금액 쿠폰할인 + +
                                                                                • + + 0) { ?> +
                                                                                • + 배송비 + +
                                                                                • + + 0) { ?> +
                                                                                • + 배송비 쿠폰할인 + +
                                                                                • + + 0) { ?> +
                                                                                • + 추가배송비 + +
                                                                                • + + 0) { ?> +
                                                                                • + 취소금액 + +
                                                                                • + +
                                                                                • + 총계 + +
                                                                                • +
                                                                                • + 적립포인트 + +
                                                                                • + +
                                                                                • 총 구매액
                                                                                • + 0) { + echo '
                                                                                • '; + echo '미결제액'.PHP_EOL; + echo ''.display_price($misu_price).''; + echo '
                                                                                • '; + } + ?> +
                                                                                • + 결제액 + + +
                                                                                  +

                                                                                  포인트 결제

                                                                                  +

                                                                                  실결제

                                                                                  +
                                                                                  + +
                                                                                • +
                                                                                + +
                                                                                +

                                                                                결제정보

                                                                                + +
                                                                                + +
                                                                                + + +
                                                                                +
                                                                                +

                                                                                주문취소

                                                                                +
                                                                                + + + + + + +
                                                                                + +
                                                                                +
                                                                                +
                                                                                + + + +

                                                                                주문 취소, 반품, 품절된 내역이 있습니다.

                                                                                + +
                                                                                +
                                                                                + + 0 && $default['de_card_test'] && $is_admin && $od['od_pg'] == 'kcp') { + preg_match("/\s{1}([^\s]+)\s?/", $od['od_bank_account'], $matchs); + $deposit_no = trim($matchs[1]); + ?> +

                                                                                관리자가 가상계좌 테스트를 한 경우에만 보입니다.

                                                                                +
                                                                                +
                                                                                + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                모의입금처리
                                                                                +
                                                                                + +
                                                                                +
                                                                                +
                                                                                + + +
                                                                                + + + + +', 10); +add_stylesheet('', 0); +?> + + +
                                                                                +

                                                                                + + + + + +
                                                                                + + +
                                                                                +
                                                                                + 쇼핑몰 전체검색 +
                                                                                + + + +
                                                                                + +
                                                                                +
                                                                                + + + + + +
                                                                                + + +
                                                                                + + +
                                                                                +
                                                                                  +
                                                                                • +
                                                                                • +
                                                                                • +
                                                                                • +
                                                                                + +
                                                                                +
                                                                                +
                                                                                + + + + +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + + +
                                                                                + +
                                                                                + + +
                                                                                + + + +
                                                                                +

                                                                                인기상품

                                                                                + set_type(4); + $list->set_view('it_id', false); + $list->set_view('it_name', true); + $list->set_view('it_basic', false); + $list->set_view('it_cust_price', false); + $list->set_view('it_price', true); + $list->set_view('it_icon', false); + $list->set_view('sns', false); + $list->set_view('star', true); + echo $list->run(); + ?> +
                                                                                + + + + + +
                                                                                + + + +
                                                                                +
                                                                                + +
                                                                                + + + +
                                                                                + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/shop/shop.tail.php b/web/html/theme/FT_WEB20/shop/shop.tail.php new file mode 100644 index 0000000..faaf06d --- /dev/null +++ b/web/html/theme/FT_WEB20/shop/shop.tail.php @@ -0,0 +1,69 @@ + +
                                                                                +
                                                                                +
                                                                                + + + +
                                                                                +
                                                                                + +
                                                                                +

                                                                                사이트 정보

                                                                                +

                                                                                + 회사명 + 주소
                                                                                + 사업자 등록번호 + 대표 + 전화 + 팩스
                                                                                + + 통신판매업신고번호 + 개인정보 보호책임자
                                                                                + 부가통신사업신고번호 '.$default['de_admin_buga_no'].''; ?> +

                                                                                +
                                                                                + + +
                                                                                + +
                                                                                + + + +
                                                                                + +
                                                                                Copyright © 2001-2013 . All Rights Reserved.
                                                                                +
                                                                                + + + + + + +', 0); +add_stylesheet('', 0); +add_stylesheet('', 0); +?> + +
                                                                                '.PHP_EOL; + + // 테두리 옵션 + $bn_border = ($row['bn_border']) ? ' slide_bn_border' : ''; + + // 새창 옵션 + $bn_new_win = ($row['bn_new_win']) ? ' target="_blank"' : ''; + + + $bimg = G5_DATA_PATH.'/banner/'.$row['bn_id']; + if (file_exists($bimg)) + { + $banner = ''; + $size = getimagesize($bimg); + echo ''.PHP_EOL; + } +} + +if ($i>0) echo '
                                                                                '.PHP_EOL; + +?> + + + diff --git a/web/html/theme/FT_WEB20/skin/board/basic/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/basic/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/basic/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/basic/img/chk.png b/web/html/theme/FT_WEB20/skin/board/basic/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/basic/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/basic/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/basic/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/basic/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/basic/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/basic/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/basic/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/basic/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/basic/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/basic/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/basic/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/basic/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/basic/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/basic/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/basic/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/basic/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/basic/list.skin.php b/web/html/theme/FT_WEB20/skin/board/basic/list.skin.php new file mode 100644 index 0000000..589a0ea --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/basic/list.skin.php @@ -0,0 +1,292 @@ +', 0); +?> + + +
                                                                                + + + + + + + +
                                                                                + + + + + + + + + + + + +
                                                                                +
                                                                                + Total + 페이지 +
                                                                                + +
                                                                                  +
                                                                                • 관리자
                                                                                • +
                                                                                • RSS
                                                                                • +
                                                                                • + +
                                                                                • +
                                                                                • 글쓰기
                                                                                • + +
                                                                                • + + +
                                                                                    +
                                                                                  • +
                                                                                  • +
                                                                                  • +
                                                                                  + +
                                                                                • + +
                                                                                +
                                                                                + + +
                                                                                + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                                                                                목록
                                                                                + + + 번호제목글쓴이조회 추천 비추천 날짜
                                                                                + + + + 공지'; + else if ($wr_id == $list[$i]['wr_id']) + echo "열람중"; + else + echo $list[$i]['num']; + ?> + + + + +
                                                                                + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                                                                                +
                                                                                게시물이 없습니다.
                                                                                +
                                                                                + + + + + +
                                                                                + + + +
                                                                                + +
                                                                                + + +
                                                                                +
                                                                                +

                                                                                검색

                                                                                +
                                                                                + + + + + + +
                                                                                + + +
                                                                                + +
                                                                                +
                                                                                +
                                                                                +
                                                                                + + +
                                                                                + + + + + + + + + diff --git a/web/html/theme/FT_WEB20/skin/board/basic/style.css b/web/html/theme/FT_WEB20/skin/board/basic/style.css new file mode 100644 index 0000000..d01e37c --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/basic/style.css @@ -0,0 +1,422 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {font-size:1.167em;border-radius:3px} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} +#bo_list tbody .even td {background:#fbfbfb} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc {} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {margin:25px 0} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px} +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/basic/view.skin.php b/web/html/theme/FT_WEB20/skin/board/basic/view.skin.php new file mode 100644 index 0000000..5404b9e --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/basic/view.skin.php @@ -0,0 +1,300 @@ +', 0); +?> + + + + + +
                                                                                +
                                                                                +

                                                                                + + + + + +

                                                                                +
                                                                                + +
                                                                                +

                                                                                페이지 정보

                                                                                +
                                                                                +
                                                                                +
                                                                                + 작성자
                                                                                + 댓글 + 조회 + 작성일 +
                                                                                +
                                                                                + + +
                                                                                + + + + + +
                                                                                + +
                                                                                + +
                                                                                +

                                                                                본문

                                                                                +
                                                                                + + 스크랩 +
                                                                                + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + echo get_file_thumbnail($view['file'][$i]); + } + + echo "\n"; + } + ?> + + +
                                                                                + + + +

                                                                                + + + + +
                                                                                + + + 추천 + + + + + + 비추천 + + + +
                                                                                + +
                                                                                + 추천 + 비추천 +
                                                                                + + +
                                                                                + + + + + +
                                                                                +

                                                                                첨부파일

                                                                                +
                                                                                  + +
                                                                                • + + + () + +
                                                                                  + 회 다운로드 | DATE : +
                                                                                • + +
                                                                                +
                                                                                + + + + + + + + + + +
                                                                                  +
                                                                                • 이전글
                                                                                • +
                                                                                • 다음글
                                                                                • +
                                                                                + + + +
                                                                                + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/basic/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/basic/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/basic/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                +

                                                                                댓글목록

                                                                                + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                + +
                                                                                + +
                                                                                +

                                                                                님의 댓글의 댓글

                                                                                + + + 아이피 + () + + 작성일 + + +
                                                                                + + +
                                                                                +

                                                                                + 비밀글 + +

                                                                                + + +
                                                                                + + + + " id="secret_comment_"> + +
                                                                                + +
                                                                                + + +
                                                                                + + +
                                                                                + +

                                                                                등록된 댓글이 없습니다.

                                                                                + +
                                                                                + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/basic/write.skin.php b/web/html/theme/FT_WEB20/skin/board/basic/write.skin.php new file mode 100644 index 0000000..5e341d2 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/basic/write.skin.php @@ -0,0 +1,255 @@ +', 0); +?> + +
                                                                                +

                                                                                + + +
                                                                                + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                              • '.PHP_EOL.'
                                                                              • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                              • '.PHP_EOL.'
                                                                              • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                              • '.PHP_EOL.'
                                                                              • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                + + +
                                                                                + + +
                                                                                + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + + +
                                                                                + + +
                                                                                + 옵션 +
                                                                                  + +
                                                                                +
                                                                                + + +
                                                                                + + +
                                                                                + + + + + +
                                                                                + 임시 저장된 글 목록 +
                                                                                  +
                                                                                  +
                                                                                  + +
                                                                                  + +
                                                                                  + +
                                                                                  + +
                                                                                  + + +

                                                                                  이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                  + + + + +
                                                                                  글자
                                                                                  + +
                                                                                  + +
                                                                                  + + + + + + +
                                                                                  +
                                                                                  + + +
                                                                                  + + + + + + + + + + +
                                                                                  + + + + +
                                                                                  + +
                                                                                  + + +
                                                                                  + 취소 + +
                                                                                  +
                                                                                  + + +
                                                                                  + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/business01/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/business01/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/business01/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/business01/img/chk.png b/web/html/theme/FT_WEB20/skin/board/business01/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/business01/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/business01/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/business01/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/business01/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/business01/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/business01/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/business01/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/business01/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/business01/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/business01/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/business01/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/business01/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/business01/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/business01/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/business01/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/business01/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/business01/list.skin.php b/web/html/theme/FT_WEB20/skin/board/business01/list.skin.php new file mode 100644 index 0000000..a57ad2b --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/business01/list.skin.php @@ -0,0 +1,307 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 434; +$board['bo_gallery_height']= 220; + +?> + + + + +
                                                                                  + + + +
                                                                                  +
                                                                                  +

                                                                                  시공사례

                                                                                  +

                                                                                  골뱅이스토어 시공사례들입니다.

                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  + +
                                                                                  + +
                                                                                  + + + + + + + + + + + + +
                                                                                  + +
                                                                                    +
                                                                                  • 관리자
                                                                                  • +
                                                                                  • RSS
                                                                                  • +
                                                                                  • + +
                                                                                  • +
                                                                                  • 글쓰기
                                                                                  • + +
                                                                                  • + + +
                                                                                      +
                                                                                    • +
                                                                                    • +
                                                                                    • +
                                                                                    + +
                                                                                  • + +
                                                                                  +
                                                                                  + + + + + + + + + + + + + + +
                                                                                  + + +
                                                                                  +
                                                                                  +

                                                                                  검색

                                                                                  +
                                                                                  + + + + + + +
                                                                                  + + +
                                                                                  + +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  + + +
                                                                                  + + + + + + + + + +
                                                                                  +
                                                                                  +
                                                                                  + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/business01/style.css b/web/html/theme/FT_WEB20/skin/board/business01/style.css new file mode 100644 index 0000000..aeda677 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/business01/style.css @@ -0,0 +1,551 @@ +@charset "utf-8"; + +/* s:#business01 */ +#business01 .listForm { + width:100%; + padding:4% 0; + overflow:hidden; + display:grid; + grid-template-columns: 1fr 1fr 1fr 1fr; + gap:20px; +} +#business01 .listForm > li { + height:450px; /*갤러리 한줄 갯수 조절*/ + position:relative; + overflow: hidden; + border:1px solid #ccc; + box-sizing:border-box; + z-index:2; +} +#business01 .listForm > li:hover::after { + opacity: 1; +} +#business01 .listForm > li::after { + content: ''; + width: 320px; + height: 100px; + background: #F2DE7989; + position: absolute; + right: -285px; + top: 350px; + transform: skew(-45deg); + opacity: 0; + transition:all .3s; +} +#business01 .listForm > li:hover { + box-shadow:1px 1px 10px rgba(0,0,0,.1) +} +#business01 .listForm > li:hover a:after { + content:""; + display:block; + position:absolute; + top:0; + left:0; + width:100%; + height:100%; + border:1px solid #333; + z-index:99999; +} +#business01 .listForm li .img_box { + width:100%; + height:220px; + overflow: hidden; + transition:0.6s; +} +#business01 .listForm li .text_box h2 { + font-size:1.8em; + font-weight:bold; + padding-bottom:10px; + color:#333; + padding:20px; + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; +} +#business01 .listForm li .text_box p { + font-size:1.2em; + font-weight:300; + font-family: 'Noto Sans KR', sans-serif; + color:#333; +} +#business01 .listForm li:hover .text_box p{ + font-size:1.1em; + transition:all 0.6s; +} +#business01 .listForm .infoBox { + padding:0 20px 20px 20px; +} +#business01 .listForm .infoBox ul li { + display:flex; + width:100%; + padding-bottom:5px; +} +#business01 .listForm .infoBox ul li:last-child { + padding-bottom:0; +} +#business01 .listForm .infoBox ul li .tit { + width:25%; + font-size:16px; + font-weight:bold; + color:#333; +} +#business01 .listForm .infoBox ul li .txt { + width:75%; + font-size:16px; + font-weight:400; + color:#333; +} +@media screen and (max-width:960px) { + #business01 .listForm > li { + width:48%; /*갤러리 한줄 갯수 조절*/ + margin-right:0; + margin-bottom:4%; + float:left; + position:relative; + overflow: hidden; + } + #business01 .listForm > li:nth-child(2n) { + margin-left:4%; + } +} +@media screen and (max-width:800px) { + #business01 .listForm > li { + width:384px; /*갤러리 한줄 갯수 조절*/ + margin-right:0; + margin-bottom:4%; + float:none; + position:relative; + overflow: hidden; + margin:0 auto; + } + #business01 .listForm > li:nth-child(2n) { + margin:20px auto; + } + #business01 .listForm > li:nth-child(3n) { + margin:20px auto; + } +} +/* e:#business01 */ + +.sec1 { + padding:3% 0; +} +.infoBox { + width:100%; +} +.infoBox ul { + margin:20px 0; +} +.infoBox ul li { + margin-bottom:5px; +} +.infoBox input { + width:100%; +} +/* 시공사례 커스텀 */ +#business01 .inner { + width:1400px; height:auto; + margin:0 auto; +} +#business01 .txt_box { + width:100%; height:auto; + padding:70px 0; + background:#f2de7946; +} +#business01 .txt_box h1 { + font-size:40px; +} +#business01 .txt_box p { + font-size:17px; +} +.img_box2 { + padding:30px 0; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:left; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } + .viewSkin .textBox .title2 { + font-size:3em; + } +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/business01/view.skin.php b/web/html/theme/FT_WEB20/skin/board/business01/view.skin.php new file mode 100644 index 0000000..54bcc6c --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/business01/view.skin.php @@ -0,0 +1,246 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + + + +
                                                                                  + + + +
                                                                                  +
                                                                                  +

                                                                                  게시판 리스트 옵션

                                                                                  +
                                                                                  + + + + + +
                                                                                  + +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +

                                                                                  갤러리 카테고리

                                                                                  +
                                                                                  +

                                                                                  + + + +

                                                                                  +

                                                                                  +
                                                                                  +
                                                                                  등록일
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  +
                                                                                  + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                  \n"; + } + ?> +
                                                                                  +
                                                                                  +
                                                                                    +
                                                                                  • +

                                                                                    테마

                                                                                    +

                                                                                    +
                                                                                  • +
                                                                                  • +

                                                                                    가격

                                                                                    +

                                                                                    +
                                                                                  • +
                                                                                  • +

                                                                                    버전

                                                                                    +

                                                                                    +
                                                                                  • +
                                                                                  • +

                                                                                    주요사업

                                                                                    +

                                                                                    +
                                                                                  • +
                                                                                  +
                                                                                  +
                                                                                  +

                                                                                  + +
                                                                                  + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/business01/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/business01/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/business01/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                  +

                                                                                  댓글목록

                                                                                  + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                  style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                  + +
                                                                                  + +
                                                                                  +

                                                                                  님의 댓글의 댓글

                                                                                  + + + 아이피 + () + + 작성일 + + +
                                                                                  + + +
                                                                                  +

                                                                                  + 비밀글 + +

                                                                                  + + +
                                                                                  + + + + " id="secret_comment_"> + +
                                                                                  + +
                                                                                  + + +
                                                                                  + + +
                                                                                  + +

                                                                                  등록된 댓글이 없습니다.

                                                                                  + +
                                                                                  + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/business01/write.skin.php b/web/html/theme/FT_WEB20/skin/board/business01/write.skin.php new file mode 100644 index 0000000..ce6fb42 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/business01/write.skin.php @@ -0,0 +1,303 @@ +', 0); +?> + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                  + + + +
                                                                                  +
                                                                                  +
                                                                                  +

                                                                                  + + +
                                                                                  + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                • '.PHP_EOL.'
                                                                                • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                • '.PHP_EOL.'
                                                                                • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                • '.PHP_EOL.'
                                                                                • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                  + + +
                                                                                  + + +
                                                                                  + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                  + + +
                                                                                  + 옵션 +
                                                                                    + +
                                                                                  +
                                                                                  + + +
                                                                                  + + +
                                                                                  + + + + + +
                                                                                  + 임시 저장된 글 목록 +
                                                                                    +
                                                                                    +
                                                                                    + +
                                                                                    +
                                                                                    + +
                                                                                    + +
                                                                                    + + +

                                                                                    이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                    + + + + +
                                                                                    글자
                                                                                    + +
                                                                                    + +
                                                                                    +
                                                                                    +
                                                                                      +
                                                                                    • + + +
                                                                                    • +
                                                                                    • + + +
                                                                                    • +
                                                                                    • + + +
                                                                                    • +
                                                                                    • + + +
                                                                                    • +
                                                                                    +
                                                                                    + + + + + +
                                                                                    +
                                                                                    + + +
                                                                                    + + + + + + + + + + +
                                                                                    + + + + +
                                                                                    + +
                                                                                    + + +
                                                                                    + 취소 + +
                                                                                    +
                                                                                    + + +
                                                                                    + +
                                                                                    +
                                                                                    +
                                                                                    + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/contactus/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/contactus/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/img/chk.png b/web/html/theme/FT_WEB20/skin/board/contactus/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/contactus/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/contactus/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/contactus/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/contactus/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/list.skin.php b/web/html/theme/FT_WEB20/skin/board/contactus/list.skin.php new file mode 100644 index 0000000..1a3f48c --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/contactus/list.skin.php @@ -0,0 +1,318 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                    + + + +
                                                                                    +
                                                                                    + +
                                                                                    + +
                                                                                    + + + + + + + + + + + + +
                                                                                    + +
                                                                                      +
                                                                                    • 관리자
                                                                                    • +
                                                                                    • RSS
                                                                                    • +
                                                                                    • + +
                                                                                    • +
                                                                                    • 글쓰기
                                                                                    • + +
                                                                                    • + + +
                                                                                        +
                                                                                      • +
                                                                                      • +
                                                                                      • +
                                                                                      + +
                                                                                    • + +
                                                                                    +
                                                                                    + + + + + + +
                                                                                    + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                                                                                    목록
                                                                                    + + + 진행상황제목글쓴이조회 추천 비추천 날짜
                                                                                    + + + + +

                                                                                    + + 공지사항 +

                                                                                    + + + +

                                                                                    + + 답변완료 +

                                                                                    + +

                                                                                    + + 접수완료 +

                                                                                    + + +
                                                                                    + + + +
                                                                                    + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                                                                                    +
                                                                                    게시물이 없습니다.
                                                                                    +
                                                                                    + + + + + + + +
                                                                                    + + +
                                                                                    +
                                                                                    +

                                                                                    검색

                                                                                    +
                                                                                    + + + + + + +
                                                                                    + + +
                                                                                    + +
                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    + + +
                                                                                    + + + + + + + + + +
                                                                                    +
                                                                                    +
                                                                                    + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/style.css b/web/html/theme/FT_WEB20/skin/board/contactus/style.css new file mode 100644 index 0000000..c497424 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/contactus/style.css @@ -0,0 +1,363 @@ +@charset "utf-8"; + +#qna .sec1 .inner { + padding:5% 0; +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center;font-size:14px;} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:60px;text-align:left;padding:10px 0;text-align: center;font-size:14px;} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center;font-size:14px;} +#bo_list .td_num2 {width:150px;text-align:center;font-size:16px;} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent;text-align: center;} +#bo_list tbody tr:hover {border-left:2px solid #ffd747;} +#bo_list tbody .even td {background:#fbfbfb;} + +#bo_cate {margin:25px 0} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px} +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-size:16px;} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#f3f5e9;color:#222;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#fff;background:#ffe65b;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1.1;} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left;font-size:16px;} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:30px 10px;} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3;} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.4;min-height:200px;word-break:break-all;overflow:hidden;font-size:16px;} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#ffd747;} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#ffd747;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#ffd747} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + +@media screen and (max-width:900px) { + + .tbl_head01 .col4 { + display:none; + } + .tbl_head01 .col5 { + display:none; + } + .td_num { + display:none; + } + .tbl_head01 td { + padding:0; + } + #bo_list .td_name { + display:none; + } +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/view.skin.php b/web/html/theme/FT_WEB20/skin/board/contactus/view.skin.php new file mode 100644 index 0000000..d274b25 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/contactus/view.skin.php @@ -0,0 +1,314 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                    + + +
                                                                                    +
                                                                                    +
                                                                                    +

                                                                                    + + + + + +

                                                                                    +
                                                                                    + +
                                                                                    +

                                                                                    페이지 정보

                                                                                    +
                                                                                    +
                                                                                    +
                                                                                    + 작성자
                                                                                    + 댓글 + 조회 + 작성일 +
                                                                                    +
                                                                                    + + +
                                                                                    + + + + + +
                                                                                    + +
                                                                                    + +
                                                                                    +

                                                                                    본문

                                                                                    +
                                                                                    + + 스크랩 +
                                                                                    + + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                    \n"; + } + ?> + + +
                                                                                    + + + +

                                                                                    + + + + +
                                                                                    + + + 추천 + + + + + + 비추천 + + + +
                                                                                    + +
                                                                                    + 추천 + 비추천 +
                                                                                    + + + + + + + + +
                                                                                    +

                                                                                    첨부파일

                                                                                    +
                                                                                      + +
                                                                                    • + + + () + +
                                                                                      + 회 다운로드 | DATE : +
                                                                                    • + +
                                                                                    +
                                                                                    + + + + + + + + + + +
                                                                                      +
                                                                                    • 이전글
                                                                                    • +
                                                                                    • 다음글
                                                                                    • +
                                                                                    + + + + + + +
                                                                                    + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/contactus/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/contactus/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                    +

                                                                                    댓글목록

                                                                                    + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                    style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                    + +
                                                                                    + +
                                                                                    +

                                                                                    님의 댓글의 댓글

                                                                                    + + + 아이피 + () + + 작성일 + + +
                                                                                    + + +
                                                                                    +

                                                                                    + 비밀글 + +

                                                                                    + + +
                                                                                    + + + + " id="secret_comment_"> + +
                                                                                    + +
                                                                                    + + +
                                                                                    + + +
                                                                                    + +

                                                                                    등록된 댓글이 없습니다.

                                                                                    + +
                                                                                    + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/contactus/write.skin.php b/web/html/theme/FT_WEB20/skin/board/contactus/write.skin.php new file mode 100644 index 0000000..74621a2 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/contactus/write.skin.php @@ -0,0 +1,282 @@ + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + +
                                                                                    + + + +
                                                                                    +
                                                                                    +
                                                                                    +

                                                                                    + + +
                                                                                    + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                  • '.PHP_EOL.'
                                                                                  • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                  • '.PHP_EOL.'
                                                                                  • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                  • '.PHP_EOL.'
                                                                                  • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                    + + +
                                                                                    + + +
                                                                                    + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                    + + +
                                                                                    + 옵션 +
                                                                                      + +
                                                                                    +
                                                                                    + + +
                                                                                    + + +
                                                                                    + + + + + +
                                                                                    + 임시 저장된 글 목록 +
                                                                                      +
                                                                                      +
                                                                                      + +
                                                                                      +
                                                                                      + +
                                                                                      + +
                                                                                      + + +

                                                                                      이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                      + + + + +
                                                                                      글자
                                                                                      + +
                                                                                      + +
                                                                                      + + + + + + +
                                                                                      +
                                                                                      + + +
                                                                                      + + + + + + + + + + +
                                                                                      + + + + +
                                                                                      + +
                                                                                      + + +
                                                                                      + 취소 + +
                                                                                      +
                                                                                      + + +
                                                                                      + +
                                                                                      +
                                                                                      +
                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/btn_close.gif b/web/html/theme/FT_WEB20/skin/board/content/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/btn_close.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/btn_next2.gif b/web/html/theme/FT_WEB20/skin/board/content/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/btn_next2.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/btn_prev2.gif b/web/html/theme/FT_WEB20/skin/board/content/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/btn_prev2.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/content/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/cmt_btn.png b/web/html/theme/FT_WEB20/skin/board/content/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/cmt_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_bad.png b/web/html/theme/FT_WEB20/skin/board/content/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_bad.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_comment.png b/web/html/theme/FT_WEB20/skin/board/content/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_comment.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_file.gif b/web/html/theme/FT_WEB20/skin/board/content/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_file.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_good.png b/web/html/theme/FT_WEB20/skin/board/content/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_good.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_hot.gif b/web/html/theme/FT_WEB20/skin/board/content/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_hot.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_img.gif b/web/html/theme/FT_WEB20/skin/board/content/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_img.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_link.gif b/web/html/theme/FT_WEB20/skin/board/content/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_link.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/content/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/content/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_movie.gif b/web/html/theme/FT_WEB20/skin/board/content/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_movie.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_new.gif b/web/html/theme/FT_WEB20/skin/board/content/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_new.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/content/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/content/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_secret2.gif b/web/html/theme/FT_WEB20/skin/board/content/img/icon_secret2.gif new file mode 100644 index 0000000..3b98489 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_secret2.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_share.png b/web/html/theme/FT_WEB20/skin/board/content/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_share.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_sound.gif b/web/html/theme/FT_WEB20/skin/board/content/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_sound.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/icon_view.png b/web/html/theme/FT_WEB20/skin/board/content/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/icon_view.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/noimage.png b/web/html/theme/FT_WEB20/skin/board/content/img/noimage.png new file mode 100644 index 0000000..1c44daa Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/noimage.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/sch_bg.png b/web/html/theme/FT_WEB20/skin/board/content/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/sch_bg.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/img/sch_btn.png b/web/html/theme/FT_WEB20/skin/board/content/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/content/img/sch_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/content/list.skin.php b/web/html/theme/FT_WEB20/skin/board/content/list.skin.php new file mode 100644 index 0000000..4c05586 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/content/list.skin.php @@ -0,0 +1,285 @@ +', 0); +add_stylesheet('', 0); +?> + += 60 and $time_lag < 3600) { + $posting_time = floor($time_lag/60)."분 전"; + } elseif($time_lag >= 3600 and $time_lag < 86400) { + $posting_time = floor($time_lag/3600)."시간 전"; + } elseif($time_lag >= 86400 and $time_lag < 2419200) { + $posting_time = floor($time_lag/86400)."일 전"; + } else { + $posting_time = date("y-m-d", strtotime($datetime)); + } + + return $posting_time; +} +?> + + + + + + + + + Document + + + + + +
                                                                                      + + + +
                                                                                      +
                                                                                      + +
                                                                                      + + + + + + + + + + + + + + +
                                                                                      + + + + + + + + + + + + + + + + +
                                                                                      +
                                                                                      +
                                                                                      + + diff --git a/web/html/theme/FT_WEB20/skin/board/content/style.css b/web/html/theme/FT_WEB20/skin/board/content/style.css new file mode 100644 index 0000000..b74c8f4 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/content/style.css @@ -0,0 +1,371 @@ +@charset "utf-8"; + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w .tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +/* +#bo_w .tbl_frm01 #captcha {} +#bo_w .tbl_frm01 #captcha input {} +*/ +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc{} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:60px;text-align:center;font-style: italic;} +#bo_list .td_datetime {width:60px;text-align:center;font-style: italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} + +#bo_cate {text-align:right;} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px;} +#bo_cate a {display:block;line-height:26px;padding:0 10px;border-radius:2px;border:0px} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#bbb;color:#000} +#bo_cate #bo_cate_on {z-index:2;background:#222220;color:#fff;font-weight:bold;} +.td_subject img {margin-left:5px} + +@media (max-width:768px) { + #bo_cate {text-align:left;} +} + +/* 게시판 목록 공통 */ +#bo_btn_top{margin: 10px 0 } +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#e6f8ff !important;border-bottom:1px solid #c3dfe8;} +.bo_notice td a {font-weight:bold;} + +.bo_notice .notice_icon{display:inline-block;background:#4158d1;width:25px;line-height:25px;border-radius:5px;font-weight:normal;color:#fff} +.td_num strong {color:#000} +.bo_cate_link {display: inline-block;color: #3497d9;height: 20px;font-size:0.92em} /* 글제목줄 분류스타일 */ +.bo_tit{display:block;color:#000;font-weight:bold;} +.bo_current {color:#e8180c} +/*#bo_list .profile_img {display:inline-block;margin-right:2px}*/ +#bo_list .profile_img img{border-radius:50%} +#bo_list .cnt_cmt{background:#5c85c1;color:#fff; font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle; +-webkit-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +-moz-box-shadow: inset 0 2px 5px rgba(255,255,255,0.3); +box-shadow: inset 0 2px 5px rgba(255,255,255,0.3);} + +#bo_list .bo_tit .title_icon{margin-right:2px} +#bo_list .bo_tit .fa-download{width:16px;height:16px;line-height:16px;background:#e89f31;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link{width:16px;height:16px;line-height:16px;background:#ad68d8;color:#fff;text-align:center;font-size:10px;border-radius:2px;margin-right:2px;vertical-align:middle;font-weight:normal} +#bo_list .bo_tit .new_icon{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#ffff00;background:#6db142;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px} +#bo_list .bo_tit .fa-heart{display:inline-block;width: 16px;line-height:16px ;font-size:0.833em;color:#fff;background:#e52955;text-align:center;border-radius: 2px;vertical-align:middle;margin-right:2px;font-weight:normal} +#bo_list .bo_tit .fa-lock{display: inline-block;line-height: 14px;width: 16px;font-size: 0.833em;color: #4f818c;background: #cbe3e8;text-align: center;border-radius: 2px;font-size: 12px;border:1px solid #a2c6ce} + + +#bo_sch {float:left;border:1px solid #ccc;background:#fff;border-radius:3px} +#bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +#bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#bo_sch select{border:0;margin:9px 5px ;height:20px;float:left;border-right:1px solid #ddd;} +#bo_sch .sch_input{height:38px;border:0;padding:0;background-color:transparent;float:left} +#bo_sch .sch_btn{height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2);} +#autosave_pop:before{content: "";position: absolute;top: -8px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #000 transparent;} +#autosave_pop:after{content: "";position: absolute;top: -7px;right: 45px;width: 0;height: 0;border-style: solid;border-width: 0 6px 8px 6px;border-color: transparent transparent #fff transparent;} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important;} +#autosave_pop button {margin:0;padding:0;border:0;} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover{background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del{background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px;} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate{display:inline-block;line-height:26px;background: #3497d9;color: #fff;font-weight: bold;border-bottom:1px solid #1977b5;padding:0 10px;border-radius:3px; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow: inset 0 2px 5px rgb(33, 135, 202); +} +#bo_v_title .bo_v_tit{display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {padding: 10px 0 15px;margin:0 0 20px;border-bottom:1px solid #ddd;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {} +#bo_v_info .profile_img img{border-radius:50%} +#bo_v_info .sv_member{color:#000} +#bo_v_info .if_view{display:inline-block;background:url(./img/icon_view.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_comment{display:inline-block;background:url(./img/icon_comment.png) no-repeat 50% 50%;height:15px;width:20px;overflow:hidden;text-indent:-999px;vertical-align:middle;margin-right:3px} +#bo_v_info .if_date{float:right;margin:0;font-style:italic;color:#888} + +#bo_v_file {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_file h2 {padding:10px;background: #f3f3f3} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative;} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {margin:10px 0;border:1px solid #d4d4d4} +#bo_v_link h2 {padding:10px;border-bottom:1px solid #e8e8e8;background: #f3f3f3} +#bo_v_link ul {margin:0;padding:5px 0;list-style:none} +#bo_v_link li {padding:5px 10px;position:relative;} +#bo_v_link a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com li {float:left;margin-left:5px} + +.bo_v_left {margin:20px 0;float:left} +.bo_v_left li {float:left;margin-right:5px} + +.bo_v_nb {margin:20px 0;position:relative;clear:both;text-align:left;border-bottom:1px solid #ddd} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #ddd;padding:13px;border-left:1px solid #ddd;border-right:1px solid #ddd;} +.bo_v_nb li:hover{background:#f6f6f6} +.bo_v_nb li i{font-size:13px} +.bo_v_nb li .nb_tit{display:inline-block;padding-right:20px;color:#4567b5} +.bo_v_nb li .nb_date{float:right;color:#888} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image{display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle} +#bo_v_act a:hover{background-color:#f3f3f3} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_good.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} +#bo_v_act .bo_v_nogood{display:inline-block;border:1px solid #000;width:70px;height:70px;padding-top:40px;background:url(./img/icon_bad.png) 25px 18px no-repeat;border-radius:50%;font-style:italic} + +#bo_v_share{position:relative;margin:20px 0;text-align:right} +#bo_v_share .btn{padding:0 10px 0 0;color:#555;font-weight:normal;font-size:1em ;line-height:30px;height:32px;border-radius:0;border-color:#d5d5d5} +#bo_v_share .btn:hover{background:#fff} +#bo_v_share .btn i{margin-right:5px;background:#eee;color:#333;text-align:center;width:30px;line-height:30px;vertical-align:top;} +#bo_v_share .btn_share{} +#bo_v_share .btn_share:hover{} + +.bo_v_snswr{position:relative;display:inline-block;margin-left:-1px} +#bo_v_sns {display:none;position:absolute;top:-50px;left:50%;margin-left:-90px;width:180px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns:before{content: "";position: absolute;bottom: -7px;left: 84px;width: 0;height: 0;border-style: solid;border-width: 7px 6px 0 6px;border-color: #415b92 transparent transparent transparent;} +#bo_v_sns li {float:left;width:60px;text-align:center} +#bo_v_sns li a{height:40px;padding:10px 0;} +#bo_v_sns li .sns_f{display:block;background:#415b92} +#bo_v_sns li .sns_t{display:block;background:#35b3dc} +#bo_v_sns li .sns_g{display:block;background:#d5503a} +#bo_v_sns.show_kakao{width:240px;margin-left:-120px} +#bo_v_sns li .sns_k{display:block;background:#fbe300} +#bo_v_sns li img{vertical-align:top} + +/* 게시판 댓글 */ +.cmt_btn{background:url('./img/cmt_btn.png') no-repeat 85px 8px;text-align:left ;width:100% ;border:0;color:#ed6478;font-weight:bold;font-size:1.25em;margin: 30px 0 0px;padding:0 0 10px } +.cmt_btn_op{background:url('./img/cmt_btn.png') no-repeat 85px -23px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative} +#bo_vc article .profile_img img{border-radius:50%} +#bo_vc header {} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo{float:right;font-style:italic;color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {padding:15px ;margin:10px 0 0;background: #f8fafb;border-radius:5px;border: 1px solid #e8e8e8;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} + +.bo_vc_act {text-align:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {display:inline-block;} +.bo_vc_act li a{padding:0 5px;line-height:23px} + +.bo_vc_w {position:relative;margin:10px 0;display:block;} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);} +#wr_secret{} +.bo_vc_w_info{margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input{float:left;margin-right:5px} +.bo_vc_w_info #captcha{padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm{float:right;margin-top:10px} +.bo_vc_w .btn_confirm label{display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center;} +.bo_vc_w .btn_submit{height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em;} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} + +#bo_vc_send_sns{display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f{border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t{border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off{background:#bbb} +#bo_vc_sns a{display:inline-block;padding:0 15px 0 5px;} +#bo_vc_sns input {margin:0 5px 0 0 } + + +/*글쓰기*/ +#bo_w .write_div{margin:10px 0;position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input{float:left;width:33%} +#bo_w #wr_password{margin:0 0.5% } +#bo_w .wr_content.smarteditor2 iframe{background:#fff} +#bo_w .bo_w_tit{position:relative} +#bo_w .bo_w_tit .frm_input{padding-right:120px;} +#bo_w .bo_w_tit #btn_autosave{position:absolute;top:5px;right:5px;line-height:30px;height:30px;} +#bo_w .bo_w_link label{position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background: #eee;text-align:center;color:#888} +#bo_w .bo_w_link .frm_input{padding-left:50px} +#bo_w .bo_w_flie .lb_icon{position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#eee;text-align:center;color:#888} +#bo_w .bo_w_flie .frm_file{padding-left:50px;} +#bo_w .bo_w_flie .file_wr{border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input{margin:10px 0 0 } +#bo_w .bo_w_flie .file_del{position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select{border:1px solid #3497d9;height:40px;border-radius:3px} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/content/view.skin.php b/web/html/theme/FT_WEB20/skin/board/content/view.skin.php new file mode 100644 index 0000000..362fdd4 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/content/view.skin.php @@ -0,0 +1,378 @@ + +', 0); +?> + + + + + + + + + + + + Document + + + + +
                                                                                      + + + + +
                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      +

                                                                                      + + + + + +

                                                                                      +
                                                                                      + +
                                                                                      +

                                                                                      페이지 정보

                                                                                      +
                                                                                      +
                                                                                      +
                                                                                      + 작성자
                                                                                      + 댓글 + 조회 + 작성일 +
                                                                                      +
                                                                                      + + +
                                                                                      + + + + + +
                                                                                      + +
                                                                                      + +
                                                                                      +

                                                                                      본문

                                                                                      +
                                                                                      + + 스크랩 +
                                                                                      + + \n"; + + for ($i=0; $i<=count($view['file']); $i++) { + echo get_file_thumbnail($view['file'][$i]); + } + + echo "
                                                                                      \n"; + } + ?> + + +
                                                                                      + + + +

                                                                                      + + + + +
                                                                                      + + + 추천 + + + + + + 비추천 + + + +
                                                                                      + +
                                                                                      + 추천 + 비추천 +
                                                                                      + + +
                                                                                      + + + + + +
                                                                                      +

                                                                                      첨부파일

                                                                                      +
                                                                                        + +
                                                                                      • + + + () + +
                                                                                        + 회 다운로드 | DATE : +
                                                                                      • + +
                                                                                      +
                                                                                      + + + + + + + + + + +
                                                                                        +
                                                                                      • 이전글
                                                                                      • +
                                                                                      • 다음글
                                                                                      • +
                                                                                      + + + + + + + + + + +
                                                                                      + + + + + + + diff --git a/web/html/theme/FT_WEB20/skin/board/content/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/content/view_comment.skin.php new file mode 100644 index 0000000..35aff52 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/content/view_comment.skin.php @@ -0,0 +1,394 @@ + + + + + + + +
                                                                                      +
                                                                                      + +
                                                                                      +

                                                                                      Comments

                                                                                      +
                                                                                        +
                                                                                      1. + + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                                                                                        + + +
                                                                                        +
                                                                                        +

                                                                                        +
                                                                                        + +
                                                                                        +

                                                                                        + + +

                                                                                        +
                                                                                        + + + + + +

                                                                                        + + + + + + + + + +

                                                                                        +
                                                                                        + + + + + + + " id="secret_comment_"> + + +
                                                                                        + +

                                                                                        등록된 코멘트가 없습니다.

                                                                                        + +
                                                                                      2. +
                                                                                      + + +
                                                                                      +
                                                                                      +
                                                                                      + + + + + + + + +
                                                                                      +
                                                                                      + + +
                                                                                      +
                                                                                      + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/content/write.skin.php b/web/html/theme/FT_WEB20/skin/board/content/write.skin.php new file mode 100644 index 0000000..85b12de --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/content/write.skin.php @@ -0,0 +1,474 @@ +', 0); +add_stylesheet('', 0); +?> + +', 0); +add_stylesheet('', 0); + +// 날짜 계산 함수 +function passing_time($datetime) { + $time_lag = time() - strtotime($datetime); + + if($time_lag < 60) { + $posting_time = "방금"; + } elseif($time_lag >= 60 and $time_lag < 3600) { + $posting_time = floor($time_lag/60)."분 전"; + } elseif($time_lag >= 3600 and $time_lag < 86400) { + $posting_time = floor($time_lag/3600)."시간 전"; + } elseif($time_lag >= 86400 and $time_lag < 2419200) { + $posting_time = floor($time_lag/86400)."일 전"; + } else { + $posting_time = date("y.m.d", strtotime($datetime)); + } + + return $posting_time; +} +?> + + + + + + + + + + + Document + + + + +
                                                                                      + + + +
                                                                                      +
                                                                                      + +
                                                                                      + + + + + + + + + + + + '."\n".''; + } + + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= "\n".''."\n".''; + } + } + + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= "\n".''."\n".''; + } else { + $option_hidden .= ''; + } + } + + if ($is_mail) { + $option .= "\n".''."\n".''; + } + } + + echo $option_hidden; + ?> + + +
                                                                                      + + +
                                                                                      + + +
                                                                                      + + + + + + + + class="frm_input " placeholder="비밀번호"> + + + + + + +
                                                                                      + + +
                                                                                      + 옵션 + +
                                                                                      + + +
                                                                                      + + +
                                                                                      + + + + + +
                                                                                      + 임시 저장된 글 목록 +
                                                                                        +
                                                                                        +
                                                                                        + +
                                                                                        + +
                                                                                        + +
                                                                                        + +
                                                                                        + + +

                                                                                        이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                        + + + + +
                                                                                        글자
                                                                                        + +
                                                                                        + +
                                                                                        + + + + + + +
                                                                                        +
                                                                                        + + +
                                                                                        + + + + + + + + + + +
                                                                                        + + + + +
                                                                                        + +
                                                                                        + + + +
                                                                                        + 취소 + +
                                                                                        + + + +
                                                                                        + + +
                                                                                        +
                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/html/theme/FT_WEB20/skin/board/faq/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/faq/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/faq/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/faq/img/chk.png b/web/html/theme/FT_WEB20/skin/board/faq/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/faq/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/faq/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/faq/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/faq/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/faq/img/faq_arrow.png b/web/html/theme/FT_WEB20/skin/board/faq/img/faq_arrow.png new file mode 100644 index 0000000..8eedb9a Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/faq/img/faq_arrow.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/faq/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/faq/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/faq/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/faq/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/faq/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/faq/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/faq/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/faq/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/faq/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/faq/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/faq/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/faq/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/faq/list.skin.php b/web/html/theme/FT_WEB20/skin/board/faq/list.skin.php new file mode 100644 index 0000000..667f009 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/faq/list.skin.php @@ -0,0 +1,273 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + +
                                                                                        + + + +
                                                                                        +
                                                                                        + +
                                                                                        + +
                                                                                        + + + + + + + + + + + + +
                                                                                        + +
                                                                                          +
                                                                                        • 관리자
                                                                                        • +
                                                                                        • RSS
                                                                                        • +
                                                                                        • + +
                                                                                        • +
                                                                                        • 글쓰기
                                                                                        • + +
                                                                                        • + + +
                                                                                            +
                                                                                          • +
                                                                                          • +
                                                                                          • +
                                                                                          + +
                                                                                        • + +
                                                                                        +
                                                                                        + + + + + + +
                                                                                        +
                                                                                          + +
                                                                                        • +
                                                                                          +
                                                                                          +

                                                                                          + Q +

                                                                                          +

                                                                                          +

                                                                                          + +

                                                                                          +
                                                                                          +
                                                                                          + + + +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +

                                                                                          + A +

                                                                                          +

                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                        • + + +
                                                                                        +

                                                                                        + 게시물이 없습니다.'; } ?> +

                                                                                        +
                                                                                        + + + + + + + +
                                                                                        + + +
                                                                                        +
                                                                                        +

                                                                                        검색

                                                                                        +
                                                                                        + + + + + + +
                                                                                        + + +
                                                                                        + +
                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        + + +
                                                                                        + + + + + + + + + +
                                                                                        +
                                                                                        +
                                                                                        + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/faq/style.css b/web/html/theme/FT_WEB20/skin/board/faq/style.css new file mode 100644 index 0000000..d9b10fe --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/faq/style.css @@ -0,0 +1,485 @@ +@charset "utf-8"; +/* QNA */ +@import url('http://fonts.googleapis.com/earlyaccess/notosanskr.css'); +#faq .qa_li { + border-top:1px solid #ddd; +} +#faq .qa_li:last-child { + border-bottom:1px solid #ddd; +} +#faq .listForm .question{ + width:100%; + padding:3% 20px; + cursor: pointer; + overflow:hidden; + position:relative; +} +#faq .listForm .question .lf_box{ + width:90%; + display:table; + float:left; +} +#faq .listForm .question.on .faq_icon { + background-color:#333; + transition:all 0.6s; +} +#faq .listForm .question .faq_icon { + display:table-cell; + vertical-align:middle; + width:50px; + height:50px; + border-radius:50%; + background-color:#c7c7c7; +} +#faq .listForm .question .faq_icon span { + font-size:18px; + font-weight:bold; + color:#fff; + display:block; + text-align:center; + line-height:50px; +} +#faq .listForm .question .tit { + display:table-cell; + vertical-align:middle; + font-size:18px; + font-weight:bold; + color:#333; + padding-left:20px; +} +#faq .listForm .question .rt_box { + position:absolute; + top:50%; + margin-top:-7.5px; + right:10px; +} +#faq .listForm .question.on .rt_box{ + transform:rotate(180deg); + transition:all 0.6s; +} +#faq .listForm .answer.on { + display:block; + transition:all 0.6s; +} +#faq .listForm .answer { + padding:3% 20px; + background-color:#f6f6f6; + display:none; + overflow:hidden; +} +#faq .listForm .answer .lf_box{ + width:90%; + float:left; +} +#faq .listForm .answer .faq_icon { + display:block; + width:50px; + height:50px; + border-radius:50%; + border:1px solid #ddd; + box-sizing:border-box; + background-color:#fff; +} +#faq .listForm .answer .faq_icon span { + font-size:18px; + font-weight:bold; + color:#333; + display:block; + text-align:center; + line-height:50px; +} +#faq .listForm .answer .tit { + display:table-cell; + vertical-align:middle; + font-size:17px; + font-weight:400; + color:#333; + padding-left:20px; +} +#faq .listForm .answer .rt_box { + width:15%; + float:right; + line-height:50px; +} +@media screen and (max-width:900px) { + #faq .listForm .question { + padding:5% 0; + } + #faq .listForm .question .tit { + font-size:14px; + padding-left:7px; + } + #faq .listForm .question .faq_icon { + width:60px; + height:60px; + background-color:transparent; + } + #faq .listForm .question.on .faq_icon { + background-color:transparent; + } + #faq .listForm .question .faq_icon span { + color:#333; + } + #faq .listForm .answer .faq_icon { + width:60px; + height:60px; + } + #faq .listForm .answer .tit { + padding-top:10px; + padding-left:0px; + } + #faq .listForm .question .rt_box img{ + width:10px; + } +} +#bo_w{ + padding-top:200px; +} +#fwrite{ + width:80% !important; + margin:0 auto; +} +#bo_v{ + padding-top:200px; + width:80% !important; + margin:0 auto; +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + +#bo_cate {margin:25px 0} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px} +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/faq/view.skin.php b/web/html/theme/FT_WEB20/skin/board/faq/view.skin.php new file mode 100644 index 0000000..2087ee8 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/faq/view.skin.php @@ -0,0 +1,303 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                        +
                                                                                        +

                                                                                        + + + + + +

                                                                                        +
                                                                                        + +
                                                                                        +

                                                                                        페이지 정보

                                                                                        +
                                                                                        +
                                                                                        +
                                                                                        + 작성자
                                                                                        + 댓글 + 조회 + 작성일 +
                                                                                        +
                                                                                        + + +
                                                                                        + + + + + +
                                                                                        + +
                                                                                        + +
                                                                                        +

                                                                                        본문

                                                                                        +
                                                                                        + + 스크랩 +
                                                                                        + + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "\n"; + } + ?> + + +
                                                                                        + + + +

                                                                                        + + + + +
                                                                                        + + + 추천 + + + + + + 비추천 + + + +
                                                                                        + +
                                                                                        + 추천 + 비추천 +
                                                                                        + + +
                                                                                        + + + + + +
                                                                                        +

                                                                                        첨부파일

                                                                                        +
                                                                                          + +
                                                                                        • + + + () + +
                                                                                          + 회 다운로드 | DATE : +
                                                                                        • + +
                                                                                        +
                                                                                        + + + + + + + + + + +
                                                                                          +
                                                                                        • 이전글
                                                                                        • +
                                                                                        • 다음글
                                                                                        • +
                                                                                        + + + +
                                                                                        + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/faq/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/faq/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/faq/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                        +

                                                                                        댓글목록

                                                                                        + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                        style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                        + +
                                                                                        + +
                                                                                        +

                                                                                        님의 댓글의 댓글

                                                                                        + + + 아이피 + () + + 작성일 + + +
                                                                                        + + +
                                                                                        +

                                                                                        + 비밀글 + +

                                                                                        + + +
                                                                                        + + + + " id="secret_comment_"> + +
                                                                                        + +
                                                                                        + + +
                                                                                        + + +
                                                                                        + +

                                                                                        등록된 댓글이 없습니다.

                                                                                        + +
                                                                                        + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/faq/write.skin.php b/web/html/theme/FT_WEB20/skin/board/faq/write.skin.php new file mode 100644 index 0000000..77ac30d --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/faq/write.skin.php @@ -0,0 +1,258 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + +
                                                                                        +

                                                                                        + + +
                                                                                        + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                      • '.PHP_EOL.'
                                                                                      • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                      • '.PHP_EOL.'
                                                                                      • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                      • '.PHP_EOL.'
                                                                                      • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                        + + +
                                                                                        + + +
                                                                                        + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + + +
                                                                                        + + +
                                                                                        + 옵션 +
                                                                                          + +
                                                                                        +
                                                                                        + + +
                                                                                        + + +
                                                                                        + + + + + +
                                                                                        + 임시 저장된 글 목록 +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          + +
                                                                                          + +
                                                                                          + + +

                                                                                          이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                          + + + + +
                                                                                          글자
                                                                                          + +
                                                                                          + +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          + + +
                                                                                          + + + + + + + + + + +
                                                                                          + + + + +
                                                                                          + +
                                                                                          + + +
                                                                                          + 취소 + +
                                                                                          +
                                                                                          + + +
                                                                                          + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/gallery01/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery01/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/img/chk.png b/web/html/theme/FT_WEB20/skin/board/gallery01/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery01/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/gallery01/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery01/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery01/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/list.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery01/list.skin.php new file mode 100644 index 0000000..c8e1ff7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery01/list.skin.php @@ -0,0 +1,286 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 383; +$board['bo_gallery_height']= 240; + +?> + + + + +
                                                                                          + + + +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          + + + + + + + + + + + + +
                                                                                          + +
                                                                                            +
                                                                                          • 관리자
                                                                                          • +
                                                                                          • RSS
                                                                                          • +
                                                                                          • + +
                                                                                          • +
                                                                                          • 글쓰기
                                                                                          • + +
                                                                                          • + + +
                                                                                              +
                                                                                            • +
                                                                                            • +
                                                                                            • +
                                                                                            + +
                                                                                          • + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          + +
                                                                                          + + + + + + + +
                                                                                          + + +
                                                                                          +
                                                                                          +

                                                                                          검색

                                                                                          +
                                                                                          + + + + + + +
                                                                                          + + +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          + + +
                                                                                          + + + + + + + + + +
                                                                                          +
                                                                                          +
                                                                                          + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/style.css b/web/html/theme/FT_WEB20/skin/board/gallery01/style.css new file mode 100644 index 0000000..e73318c --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery01/style.css @@ -0,0 +1,395 @@ +@charset "utf-8"; +.img_box2 { + padding-top:5%; + text-align:center; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:center; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } + .viewSkin .textBox .title2 { + font-size:3em; + } +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +#notice, #html { display: none; } +.selec_chk {position:absolute;top:10px;left:10px;width:17px;height:17px;overflow:hidden;z-index:99;} +.checkBtn input { border:none; } +.chk_box {position:relative;} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:0;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/view.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery01/view.skin.php new file mode 100644 index 0000000..7507425 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery01/view.skin.php @@ -0,0 +1,227 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + + + +
                                                                                          + + + +
                                                                                          +
                                                                                          +

                                                                                          게시판 리스트 옵션

                                                                                          +
                                                                                          + + + + + +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +

                                                                                          갤러리 카테고리

                                                                                          +
                                                                                          +

                                                                                          + + + +

                                                                                          +

                                                                                          +
                                                                                          +
                                                                                          등록일
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          +
                                                                                          + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                          \n"; + } + ?> +
                                                                                          +
                                                                                          +

                                                                                          + +
                                                                                          + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery01/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery01/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                          +

                                                                                          댓글목록

                                                                                          + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                          style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                          + +
                                                                                          + +
                                                                                          +

                                                                                          님의 댓글의 댓글

                                                                                          + + + 아이피 + () + + 작성일 + + +
                                                                                          + + +
                                                                                          +

                                                                                          + 비밀글 + +

                                                                                          + + +
                                                                                          + + + + " id="secret_comment_"> + +
                                                                                          + +
                                                                                          + + +
                                                                                          + + +
                                                                                          + +

                                                                                          등록된 댓글이 없습니다.

                                                                                          + +
                                                                                          + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery01/write.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery01/write.skin.php new file mode 100644 index 0000000..142aca5 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery01/write.skin.php @@ -0,0 +1,283 @@ + + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + +
                                                                                          + + + +
                                                                                          +
                                                                                          +
                                                                                          +

                                                                                          + + +
                                                                                          + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                        • '.PHP_EOL.'
                                                                                        • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                        • '.PHP_EOL.'
                                                                                        • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                        • '.PHP_EOL.'
                                                                                        • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                          + + +
                                                                                          + + +
                                                                                          + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                          + + +
                                                                                          + 옵션 +
                                                                                            + +
                                                                                          +
                                                                                          + + +
                                                                                          + + +
                                                                                          + + + + + +
                                                                                          + 임시 저장된 글 목록 +
                                                                                            +
                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            + +
                                                                                            + +
                                                                                            + + +

                                                                                            이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                            + + + + +
                                                                                            글자
                                                                                            + +
                                                                                            + +
                                                                                            + + + + + + +
                                                                                            +
                                                                                            + + +
                                                                                            + + + + + + + + + + +
                                                                                            + + + + +
                                                                                            + +
                                                                                            + + +
                                                                                            + 취소 + +
                                                                                            +
                                                                                            + + +
                                                                                            + +
                                                                                            +
                                                                                            +
                                                                                            + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/gallery02/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery02/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/img/chk.png b/web/html/theme/FT_WEB20/skin/board/gallery02/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery02/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/gallery02/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery02/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery02/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/list.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery02/list.skin.php new file mode 100644 index 0000000..698e4d6 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery02/list.skin.php @@ -0,0 +1,285 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 435; +$board['bo_gallery_height']= 350; + +?> + + + +
                                                                                            + + + +
                                                                                            +
                                                                                            + +
                                                                                            + +
                                                                                            + + + + + + + + + + + + +
                                                                                            + +
                                                                                              +
                                                                                            • 관리자
                                                                                            • +
                                                                                            • RSS
                                                                                            • +
                                                                                            • + +
                                                                                            • +
                                                                                            • 글쓰기
                                                                                            • + +
                                                                                            • + + +
                                                                                                +
                                                                                              • +
                                                                                              • +
                                                                                              • +
                                                                                              + +
                                                                                            • + +
                                                                                            +
                                                                                            + + + + + + +
                                                                                            + +
                                                                                            + + + + + + + +
                                                                                            + + +
                                                                                            +
                                                                                            +

                                                                                            검색

                                                                                            +
                                                                                            + + + + + + +
                                                                                            + + +
                                                                                            + +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            + + +
                                                                                            + + + + + + + + + +
                                                                                            +
                                                                                            +
                                                                                            + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/style.css b/web/html/theme/FT_WEB20/skin/board/gallery02/style.css new file mode 100644 index 0000000..12dd3cc --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery02/style.css @@ -0,0 +1,394 @@ +@charset "utf-8"; +.img_box2 { + padding-top:5%; + text-align:center; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:center; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } + .viewSkin .textBox .title2 { + font-size:3em; + } +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.checkBox {position:relative; top:5px; left:10px; z-index:8;} +.selec_chk {position:absolute;top:10px;left:10px;width:17px;height:17px;overflow:hidden;z-index:99;} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/view.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery02/view.skin.php new file mode 100644 index 0000000..5ff5dcc --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery02/view.skin.php @@ -0,0 +1,227 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +?> + + + + + + + +
                                                                                            + + + +
                                                                                            +
                                                                                            +

                                                                                            게시판 리스트 옵션

                                                                                            +
                                                                                            + + + + + +
                                                                                            + +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +

                                                                                            갤러리 카테고리

                                                                                            +
                                                                                            +

                                                                                            + + + +

                                                                                            +

                                                                                            +
                                                                                            +
                                                                                            등록일
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            +
                                                                                            + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                            \n"; + } + ?> +
                                                                                            +
                                                                                            +

                                                                                            + +
                                                                                            + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery02/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery02/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                            +

                                                                                            댓글목록

                                                                                            + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                            style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                            + +
                                                                                            + +
                                                                                            +

                                                                                            님의 댓글의 댓글

                                                                                            + + + 아이피 + () + + 작성일 + + +
                                                                                            + + +
                                                                                            +

                                                                                            + 비밀글 + +

                                                                                            + + +
                                                                                            + + + + " id="secret_comment_"> + +
                                                                                            + +
                                                                                            + + +
                                                                                            + + +
                                                                                            + +

                                                                                            등록된 댓글이 없습니다.

                                                                                            + +
                                                                                            + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery02/write.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery02/write.skin.php new file mode 100644 index 0000000..c1497b6 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery02/write.skin.php @@ -0,0 +1,282 @@ + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + +
                                                                                            + + + +
                                                                                            +
                                                                                            +
                                                                                            +

                                                                                            + + +
                                                                                            + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                          • '.PHP_EOL.'
                                                                                          • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                          • '.PHP_EOL.'
                                                                                          • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                          • '.PHP_EOL.'
                                                                                          • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                            + + +
                                                                                            + + +
                                                                                            + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                            + + +
                                                                                            + 옵션 +
                                                                                              + +
                                                                                            +
                                                                                            + + +
                                                                                            + + +
                                                                                            + + + + + +
                                                                                            + 임시 저장된 글 목록 +
                                                                                              +
                                                                                              +
                                                                                              + +
                                                                                              +
                                                                                              + +
                                                                                              + +
                                                                                              + + +

                                                                                              이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                              + + + + +
                                                                                              글자
                                                                                              + +
                                                                                              + +
                                                                                              + + + + + + +
                                                                                              +
                                                                                              + + +
                                                                                              + + + + + + + + + + +
                                                                                              + + + + +
                                                                                              + +
                                                                                              + + +
                                                                                              + 취소 + +
                                                                                              +
                                                                                              + + +
                                                                                              + +
                                                                                              +
                                                                                              +
                                                                                              + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/gallery03/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery03/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/img/chk.png b/web/html/theme/FT_WEB20/skin/board/gallery03/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery03/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/gallery03/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery03/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/gallery03/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/list.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery03/list.skin.php new file mode 100644 index 0000000..572348f --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery03/list.skin.php @@ -0,0 +1,288 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 383; +$board['bo_gallery_height']= 300; + +?> + + + + +
                                                                                              + + + +
                                                                                              +
                                                                                              + +
                                                                                              + +
                                                                                              + + + + + + + + + + + + +
                                                                                              + +
                                                                                                +
                                                                                              • 관리자
                                                                                              • +
                                                                                              • RSS
                                                                                              • +
                                                                                              • + +
                                                                                              • +
                                                                                              • 글쓰기
                                                                                              • + +
                                                                                              • + + +
                                                                                                  +
                                                                                                • +
                                                                                                • +
                                                                                                • +
                                                                                                + +
                                                                                              • + +
                                                                                              +
                                                                                              + + + + + + +
                                                                                              + +
                                                                                              + + + + + +
                                                                                              + + + +
                                                                                              + +
                                                                                              + + +
                                                                                              +
                                                                                              +

                                                                                              검색

                                                                                              +
                                                                                              + + + + + + +
                                                                                              + + +
                                                                                              + +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              + + +
                                                                                              + + + + + + + + + +
                                                                                              +
                                                                                              +
                                                                                              + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/style.css b/web/html/theme/FT_WEB20/skin/board/gallery03/style.css new file mode 100644 index 0000000..cd1f619 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery03/style.css @@ -0,0 +1,398 @@ +@charset "utf-8"; +.img_box2 { + padding-top:5%; + text-align:center; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:center; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } + .viewSkin .textBox .title2 { + font-size:3em; + } +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.checkBox {position:relative; top:5px; left:10px; z-index:8;} +.selec_chk {position:absolute;top:10px;left:10px;width:17px;height:17px;overflow:hidden;z-index:99;} +.chk_box {position:relative; } +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +/* .chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} */ +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} +#bo_list .allBox { display:table; padding-bottom:20px; } +#bo_list .allBox li { display:table-cell; vertical-align:revert; } +#bo_list .allBox li p { font-size:14px; font-weight:300; color:#333; padding-left:4px; } + + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/view.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery03/view.skin.php new file mode 100644 index 0000000..bc55102 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery03/view.skin.php @@ -0,0 +1,225 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + + +
                                                                                              + + + +
                                                                                              +
                                                                                              +

                                                                                              게시판 리스트 옵션

                                                                                              +
                                                                                              + + + + + +
                                                                                              + +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              +

                                                                                              갤러리 카테고리

                                                                                              +
                                                                                              +

                                                                                              + + + +

                                                                                              +

                                                                                              +
                                                                                              +
                                                                                              등록일
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              +
                                                                                              + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                              \n"; + } + ?> +
                                                                                              +
                                                                                              +

                                                                                              + +
                                                                                              + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery03/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery03/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                              +

                                                                                              댓글목록

                                                                                              + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                              style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                              + +
                                                                                              + +
                                                                                              +

                                                                                              님의 댓글의 댓글

                                                                                              + + + 아이피 + () + + 작성일 + + +
                                                                                              + + +
                                                                                              +

                                                                                              + 비밀글 + +

                                                                                              + + +
                                                                                              + + + + " id="secret_comment_"> + +
                                                                                              + +
                                                                                              + + +
                                                                                              + + +
                                                                                              + +

                                                                                              등록된 댓글이 없습니다.

                                                                                              + +
                                                                                              + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/gallery03/write.skin.php b/web/html/theme/FT_WEB20/skin/board/gallery03/write.skin.php new file mode 100644 index 0000000..9d50ca8 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/gallery03/write.skin.php @@ -0,0 +1,282 @@ + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + +
                                                                                              + + + +
                                                                                              +
                                                                                              +
                                                                                              +

                                                                                              + + +
                                                                                              + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                            • '.PHP_EOL.'
                                                                                            • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                            • '.PHP_EOL.'
                                                                                            • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                            • '.PHP_EOL.'
                                                                                            • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                              + + +
                                                                                              + + +
                                                                                              + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                              + + +
                                                                                              + 옵션 +
                                                                                                + +
                                                                                              +
                                                                                              + + +
                                                                                              + + +
                                                                                              + + + + + +
                                                                                              + 임시 저장된 글 목록 +
                                                                                                +
                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                + +
                                                                                                + +
                                                                                                + + +

                                                                                                이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                + + + + +
                                                                                                글자
                                                                                                + +
                                                                                                + +
                                                                                                + + + + + + +
                                                                                                +
                                                                                                + + +
                                                                                                + + + + + + + + + + +
                                                                                                + + + + +
                                                                                                + +
                                                                                                + + +
                                                                                                + 취소 + +
                                                                                                +
                                                                                                + + +
                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/list01/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/list01/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list01/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/list01/img/chk.png b/web/html/theme/FT_WEB20/skin/board/list01/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list01/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/list01/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/list01/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list01/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/list01/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/list01/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list01/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/list01/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/list01/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list01/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/list01/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/list01/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list01/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/list01/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/list01/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list01/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/list01/list.skin.php b/web/html/theme/FT_WEB20/skin/board/list01/list.skin.php new file mode 100644 index 0000000..2c03238 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/list01/list.skin.php @@ -0,0 +1,264 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                + + + +
                                                                                                +
                                                                                                + +
                                                                                                + +
                                                                                                + + + + + + + + + + + + +
                                                                                                + +
                                                                                                  +
                                                                                                • 관리자
                                                                                                • +
                                                                                                • RSS
                                                                                                • +
                                                                                                • + +
                                                                                                • +
                                                                                                • 글쓰기
                                                                                                • + +
                                                                                                • + + +
                                                                                                    +
                                                                                                  • +
                                                                                                  • +
                                                                                                  • +
                                                                                                  + +
                                                                                                • + +
                                                                                                +
                                                                                                + + + + + + +
                                                                                                +
                                                                                                  + + +
                                                                                                  + + +
                                                                                                  + +
                                                                                                • +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +

                                                                                                  + + +

                                                                                                  +

                                                                                                  + + +

                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  + +
                                                                                                  +
                                                                                                • + +
                                                                                                +

                                                                                                + 게시물이 없습니다.'; } ?> +

                                                                                                +
                                                                                                + + + + + + + +
                                                                                                + + +
                                                                                                +
                                                                                                +

                                                                                                검색

                                                                                                +
                                                                                                + + + + + + +
                                                                                                + + +
                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                + + +
                                                                                                + + + + + + + + + +
                                                                                                +
                                                                                                +
                                                                                                + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/list01/style.css b/web/html/theme/FT_WEB20/skin/board/list01/style.css new file mode 100644 index 0000000..4b59d12 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/list01/style.css @@ -0,0 +1,390 @@ +@charset "utf-8"; +.img_box2 { + padding-top:5%; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; + text-align:center; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:center; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/list01/view.skin.php b/web/html/theme/FT_WEB20/skin/board/list01/view.skin.php new file mode 100644 index 0000000..6db1cb9 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/list01/view.skin.php @@ -0,0 +1,228 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + + + +
                                                                                                + + + +
                                                                                                +
                                                                                                +

                                                                                                게시판 리스트 옵션

                                                                                                +
                                                                                                + + + + + +
                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +

                                                                                                갤러리 카테고리

                                                                                                +
                                                                                                +

                                                                                                + + + +

                                                                                                +

                                                                                                +
                                                                                                +
                                                                                                등록일
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                                \n"; + } + ?> +
                                                                                                + +
                                                                                                +

                                                                                                + +
                                                                                                + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/list01/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/list01/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/list01/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                                +

                                                                                                댓글목록

                                                                                                + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                                style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                                + +
                                                                                                + +
                                                                                                +

                                                                                                님의 댓글의 댓글

                                                                                                + + + 아이피 + () + + 작성일 + + +
                                                                                                + + +
                                                                                                +

                                                                                                + 비밀글 + +

                                                                                                + + +
                                                                                                + + + + " id="secret_comment_"> + +
                                                                                                + +
                                                                                                + + +
                                                                                                + + +
                                                                                                + +

                                                                                                등록된 댓글이 없습니다.

                                                                                                + +
                                                                                                + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/list01/write.skin.php b/web/html/theme/FT_WEB20/skin/board/list01/write.skin.php new file mode 100644 index 0000000..f597408 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/list01/write.skin.php @@ -0,0 +1,282 @@ + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + +
                                                                                                + + + +
                                                                                                +
                                                                                                +
                                                                                                +

                                                                                                + + +
                                                                                                + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                              • '.PHP_EOL.'
                                                                                              • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                              • '.PHP_EOL.'
                                                                                              • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                              • '.PHP_EOL.'
                                                                                              • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                                + + +
                                                                                                + + +
                                                                                                + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                                + + +
                                                                                                + 옵션 +
                                                                                                  + +
                                                                                                +
                                                                                                + + +
                                                                                                + + +
                                                                                                + + + + + +
                                                                                                + 임시 저장된 글 목록 +
                                                                                                  +
                                                                                                  +
                                                                                                  + +
                                                                                                  +
                                                                                                  + +
                                                                                                  + +
                                                                                                  + + +

                                                                                                  이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                  + + + + +
                                                                                                  글자
                                                                                                  + +
                                                                                                  + +
                                                                                                  + + + + + + +
                                                                                                  +
                                                                                                  + + +
                                                                                                  + + + + + + + + + + +
                                                                                                  + + + + +
                                                                                                  + +
                                                                                                  + + +
                                                                                                  + 취소 + +
                                                                                                  +
                                                                                                  + + +
                                                                                                  + +
                                                                                                  +
                                                                                                  +
                                                                                                  + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/list02/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/list02/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list02/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/list02/img/chk.png b/web/html/theme/FT_WEB20/skin/board/list02/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list02/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/list02/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/list02/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list02/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/list02/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/list02/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list02/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/list02/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/list02/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list02/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/list02/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/list02/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list02/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/list02/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/list02/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/list02/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/list02/list.skin.php b/web/html/theme/FT_WEB20/skin/board/list02/list.skin.php new file mode 100644 index 0000000..49fc84d --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/list02/list.skin.php @@ -0,0 +1,305 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                  + + + +
                                                                                                  +
                                                                                                  + +
                                                                                                  + +
                                                                                                  + + + + + + + + + + + + +
                                                                                                  + +
                                                                                                    +
                                                                                                  • 관리자
                                                                                                  • +
                                                                                                  • RSS
                                                                                                  • +
                                                                                                  • + +
                                                                                                  • +
                                                                                                  • 글쓰기
                                                                                                  • + +
                                                                                                  • + + +
                                                                                                      +
                                                                                                    • +
                                                                                                    • +
                                                                                                    • +
                                                                                                    + +
                                                                                                  • + +
                                                                                                  +
                                                                                                  + + + + + + +
                                                                                                  + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                                                                                                  목록
                                                                                                  + + + 번호제목글쓴이조회 추천 비추천 날짜
                                                                                                  + + + + 공지'; + else + echo $list[$i]['num']; + ?> + + + + +
                                                                                                  + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                                                                                                  +
                                                                                                  게시물이 없습니다.
                                                                                                  +
                                                                                                  + + + + + + + +
                                                                                                  + + +
                                                                                                  +
                                                                                                  +

                                                                                                  검색

                                                                                                  +
                                                                                                  + + + + + + +
                                                                                                  + + +
                                                                                                  + +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  + + +
                                                                                                  + + + + + + + + + +
                                                                                                  +
                                                                                                  +
                                                                                                  + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/list02/style.css b/web/html/theme/FT_WEB20/skin/board/list02/style.css new file mode 100644 index 0000000..57f2848 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/list02/style.css @@ -0,0 +1,404 @@ +@charset "utf-8"; +.img_box2 { + padding-top:5%; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:center; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } + .viewSkin .textBox .title2 { + font-size:3em; + } +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center; font-size:15px;} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0; font-size:15px; text-align: center;} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center;font-size:15px;} +#bo_list .td_num2 {width:50px;text-align:center;font-size:16px; font-weight: 600; color:#000;} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent;} +#bo_list tbody tr:hover {border-left:2px solid #ffd747; } +#bo_list tbody .even td {background:#fbfbfb;} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#333; font-size:16px;} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} +#bo_list { text-align: center;} +#bo_list .bo_tit { text-align: center;} +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + +@media screen and (max-width:900px) { + #bo_list .td_name { + width:53px; + } + #bo_list .td_datetime { + width:41px; + } + #bo_list .td_num2 { + width:25px; + } +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/list02/view.skin.php b/web/html/theme/FT_WEB20/skin/board/list02/view.skin.php new file mode 100644 index 0000000..8c2c0da --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/list02/view.skin.php @@ -0,0 +1,227 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +?> + + + + + + + +
                                                                                                  + + + +
                                                                                                  +
                                                                                                  +

                                                                                                  게시판 리스트 옵션

                                                                                                  +
                                                                                                  + + + + + +
                                                                                                  + +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +

                                                                                                  갤러리 카테고리

                                                                                                  +
                                                                                                  +

                                                                                                  + + + +

                                                                                                  +

                                                                                                  +
                                                                                                  +
                                                                                                  등록일
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  +
                                                                                                  + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                                  \n"; + } + ?> +
                                                                                                  +
                                                                                                  +

                                                                                                  + +
                                                                                                  + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/list02/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/list02/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/list02/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                                  +

                                                                                                  댓글목록

                                                                                                  + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                                  style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                                  + +
                                                                                                  + +
                                                                                                  +

                                                                                                  님의 댓글의 댓글

                                                                                                  + + + 아이피 + () + + 작성일 + + +
                                                                                                  + + +
                                                                                                  +

                                                                                                  + 비밀글 + +

                                                                                                  + + +
                                                                                                  + + + + " id="secret_comment_"> + +
                                                                                                  + +
                                                                                                  + + +
                                                                                                  + + +
                                                                                                  + +

                                                                                                  등록된 댓글이 없습니다.

                                                                                                  + +
                                                                                                  + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/list02/write.skin.php b/web/html/theme/FT_WEB20/skin/board/list02/write.skin.php new file mode 100644 index 0000000..72d2bd4 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/list02/write.skin.php @@ -0,0 +1,282 @@ + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + +
                                                                                                  + + + +
                                                                                                  +
                                                                                                  +
                                                                                                  +

                                                                                                  + + +
                                                                                                  + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                                • '.PHP_EOL.'
                                                                                                • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                                • '.PHP_EOL.'
                                                                                                • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                                • '.PHP_EOL.'
                                                                                                • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                                  + + +
                                                                                                  + + +
                                                                                                  + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                                  + + +
                                                                                                  + 옵션 +
                                                                                                    + +
                                                                                                  +
                                                                                                  + + +
                                                                                                  + + +
                                                                                                  + + + + + +
                                                                                                  + 임시 저장된 글 목록 +
                                                                                                    +
                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    + +
                                                                                                    + +
                                                                                                    + + +

                                                                                                    이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                    + + + + +
                                                                                                    글자
                                                                                                    + +
                                                                                                    + +
                                                                                                    + + + + + + +
                                                                                                    +
                                                                                                    + + +
                                                                                                    + + + + + + + + + + +
                                                                                                    + + + + +
                                                                                                    + +
                                                                                                    + + +
                                                                                                    + 취소 + +
                                                                                                    +
                                                                                                    + + +
                                                                                                    + +
                                                                                                    +
                                                                                                    +
                                                                                                    + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/notice/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/notice/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/notice/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/notice/img/chk.png b/web/html/theme/FT_WEB20/skin/board/notice/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/notice/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/notice/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/notice/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/notice/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/notice/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/notice/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/notice/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/notice/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/notice/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/notice/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/notice/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/notice/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/notice/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/notice/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/notice/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/notice/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/notice/list.skin.php b/web/html/theme/FT_WEB20/skin/board/notice/list.skin.php new file mode 100644 index 0000000..2a1155b --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/notice/list.skin.php @@ -0,0 +1,305 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                    + + + +
                                                                                                    +
                                                                                                    + +
                                                                                                    + +
                                                                                                    + + + + + + + + + + + + +
                                                                                                    + +
                                                                                                      +
                                                                                                    • 관리자
                                                                                                    • +
                                                                                                    • RSS
                                                                                                    • +
                                                                                                    • + +
                                                                                                    • +
                                                                                                    • 글쓰기
                                                                                                    • + +
                                                                                                    • + + +
                                                                                                        +
                                                                                                      • +
                                                                                                      • +
                                                                                                      • +
                                                                                                      + +
                                                                                                    • + +
                                                                                                    +
                                                                                                    + + + + + + +
                                                                                                    + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                                                                                                    목록
                                                                                                    + + + 번호제목글쓴이조회 추천 비추천 날짜
                                                                                                    + + + + 공지'; + else + echo $list[$i]['num']; + ?> + + + + +
                                                                                                    + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                                                                                                    +
                                                                                                    게시물이 없습니다.
                                                                                                    +
                                                                                                    + + + + + + + +
                                                                                                    + + +
                                                                                                    +
                                                                                                    +

                                                                                                    검색

                                                                                                    +
                                                                                                    + + + + + + +
                                                                                                    + + +
                                                                                                    + +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    + + +
                                                                                                    + + + + + + + + + +
                                                                                                    +
                                                                                                    +
                                                                                                    + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/notice/style.css b/web/html/theme/FT_WEB20/skin/board/notice/style.css new file mode 100644 index 0000000..398c719 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/notice/style.css @@ -0,0 +1,346 @@ +@charset "utf-8"; +#notice .sec1 .inner { + padding:5% 0; +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center;font-size:15px;} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0; text-align: center;font-size:15px;} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center; font-size:15px;} +#bo_list .td_num2 {width:50px;text-align:center; font-size:19px; font-weight: bold;} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent; text-align: center;} +#bo_list tbody tr:hover {border-left:2px solid #ffd747;} +#bo_list tbody .even td {background:#fbfbfb;} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f6f6f6 !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#333;} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000; font-size:17px; } +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000;} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + +@media screen and (max-width:900px) { + .col4 { + display:none; + } + .col5 { + display:none; + } + .td_num { + display:none; + } + .td_name { + display:none; + } +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/notice/view.skin.php b/web/html/theme/FT_WEB20/skin/board/notice/view.skin.php new file mode 100644 index 0000000..f86314a --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/notice/view.skin.php @@ -0,0 +1,226 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + + +
                                                                                                    + + + +
                                                                                                    +
                                                                                                    +

                                                                                                    게시판 리스트 옵션

                                                                                                    +
                                                                                                    + + + + + +
                                                                                                    + +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +

                                                                                                    갤러리 카테고리

                                                                                                    +
                                                                                                    +

                                                                                                    + + + +

                                                                                                    +

                                                                                                    +
                                                                                                    +
                                                                                                    등록일
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    +
                                                                                                    + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                                    \n"; + } + ?> +
                                                                                                    +
                                                                                                    +

                                                                                                    + +
                                                                                                    + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/notice/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/notice/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/notice/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                                    +

                                                                                                    댓글목록

                                                                                                    + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                                    style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                                    + +
                                                                                                    + +
                                                                                                    +

                                                                                                    님의 댓글의 댓글

                                                                                                    + + + 아이피 + () + + 작성일 + + +
                                                                                                    + + +
                                                                                                    +

                                                                                                    + 비밀글 + +

                                                                                                    + + +
                                                                                                    + + + + " id="secret_comment_"> + +
                                                                                                    + +
                                                                                                    + + +
                                                                                                    + + +
                                                                                                    + +

                                                                                                    등록된 댓글이 없습니다.

                                                                                                    + +
                                                                                                    + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/notice/write.skin.php b/web/html/theme/FT_WEB20/skin/board/notice/write.skin.php new file mode 100644 index 0000000..c5a6940 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/notice/write.skin.php @@ -0,0 +1,288 @@ +', 0); +?> + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + +
                                                                                                    + + + +
                                                                                                    +
                                                                                                    +
                                                                                                    +

                                                                                                    + + +
                                                                                                    + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                                  • '.PHP_EOL.'
                                                                                                  • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                                  • '.PHP_EOL.'
                                                                                                  • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                                  • '.PHP_EOL.'
                                                                                                  • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                                    + + +
                                                                                                    + + +
                                                                                                    + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                                    + + +
                                                                                                    + 옵션 +
                                                                                                      + +
                                                                                                    +
                                                                                                    + + +
                                                                                                    + + +
                                                                                                    + + + + + +
                                                                                                    + 임시 저장된 글 목록 +
                                                                                                      +
                                                                                                      +
                                                                                                      + +
                                                                                                      +
                                                                                                      + +
                                                                                                      + +
                                                                                                      + + +

                                                                                                      이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                      + + + + +
                                                                                                      글자
                                                                                                      + +
                                                                                                      + +
                                                                                                      + + + + + + +
                                                                                                      +
                                                                                                      + + +
                                                                                                      + + + + + + + + + + +
                                                                                                      + + + + +
                                                                                                      + +
                                                                                                      + + +
                                                                                                      + 취소 + +
                                                                                                      +
                                                                                                      + + +
                                                                                                      + +
                                                                                                      +
                                                                                                      +
                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product01/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/product01/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product01/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product01/img/chk.png b/web/html/theme/FT_WEB20/skin/board/product01/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product01/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product01/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/product01/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product01/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product01/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/product01/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product01/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product01/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/product01/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product01/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product01/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/product01/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product01/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product01/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/product01/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product01/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product01/list.skin.php b/web/html/theme/FT_WEB20/skin/board/product01/list.skin.php new file mode 100644 index 0000000..bb56f7f --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product01/list.skin.php @@ -0,0 +1,319 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 550; +$board['bo_gallery_height']= 320; +?> + + + + +
                                                                                                      + + + +
                                                                                                      +
                                                                                                      + +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + +
                                                                                                      + +
                                                                                                        +
                                                                                                      • 관리자
                                                                                                      • +
                                                                                                      • RSS
                                                                                                      • +
                                                                                                      • + +
                                                                                                      • +
                                                                                                      • 글쓰기
                                                                                                      • + +
                                                                                                      • + + +
                                                                                                          +
                                                                                                        • +
                                                                                                        • +
                                                                                                        • +
                                                                                                        + +
                                                                                                      • + +
                                                                                                      +
                                                                                                      + + + + + + +
                                                                                                      +
                                                                                                        + 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : ''; + ?> +
                                                                                                      • +
                                                                                                        +
                                                                                                        + + 공지 + '; + } else { + $img_content = 'no image'; + } + + echo run_replace('thumb_image_tag', $img_content, $thumb); + } + ?> +
                                                                                                        +
                                                                                                        + + + +

                                                                                                        + +

                                                                                                        + + more + + +
                                                                                                        +
                                                                                                        +
                                                                                                        + + 자세히 보기 + + +
                                                                                                        +
                                                                                                          +
                                                                                                        • +

                                                                                                          테마

                                                                                                          +

                                                                                                          +
                                                                                                        • +
                                                                                                        • +

                                                                                                          가격

                                                                                                          +

                                                                                                          +
                                                                                                        • +
                                                                                                        • +

                                                                                                          버전

                                                                                                          +

                                                                                                          +
                                                                                                        • +
                                                                                                        • +

                                                                                                          주요사업

                                                                                                          +

                                                                                                          +
                                                                                                        • +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                      • + + 게시물이 없습니다."; } ?> +
                                                                                                      +
                                                                                                      + + + + + + + +
                                                                                                      + + +
                                                                                                      +
                                                                                                      +

                                                                                                      검색

                                                                                                      +
                                                                                                      + + + + + + +
                                                                                                      + + +
                                                                                                      + +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      + + +
                                                                                                      + + + + + + + + + +
                                                                                                      +
                                                                                                      +
                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product01/style.css b/web/html/theme/FT_WEB20/skin/board/product01/style.css new file mode 100644 index 0000000..42437dd --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product01/style.css @@ -0,0 +1,567 @@ +@charset "utf-8"; +#product01 .pro_list > li{ + margin-bottom:50px; +} +#product01 .top_box{ + overflow: hidden; + padding-bottom:40px; +} +#product01 .lf_box { + float:left; + width:50%; +} +#product01 .rt_box { + float:right; + width:50%; + height:320px; + display:flex; + flex-direction:column; + justify-content:center; +} +#product01 .rt_box strong { + font-size:2em; + font-weight:bold; + color:#333; + padding-bottom:30px; + display:block; +} +#product01 .rt_box p { + font-size:1.4em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; + line-height:1.3; +} +#product01 .rt_box .moreBtn { + width:120px; + height:40px; + line-height:40px; + background-color:#333; + color:#fff; + display:block; + margin-top:20px; +} +#product01 .rt_box .moreBtn span { + display:block; + font-size:16px; + font-weight:400; + color:#fff; + text-align:center; +} +#product01 .bottom_box a { + width:100%; + padding:2% 0; + border-top:1px solid #797979; + border-bottom:0.5px solid #ccc; + display:block; + display:flex; + justify-content:center; + cursor: pointer; +} +#product01 .bottom_box a span { + position:relative; +} +#product01 .bottom_box a span:nth-child(1) { + font-size:1.5em; + font-weight:600; + color:#767676; +} +#product01 .bottom_box.on a span:nth-child(2)::after { + content: "\f106"; + transition:all 0.6s; +} +#product01 .bottom_box a span:nth-child(2)::after { + content: "\f107"; + position: absolute; + top: 50%; + transform: translateY(-50%); + right:-30px; + font-family: FontAwesome; + font-size: 2.3em; + opacity: 0.8; +} +#product01 .bottom_box ul { + overflow:hidden; + padding:4% 0; + border-bottom:0.5px solid #ccc; +} +#product01 .bottom_box ul li { + width:50%; + float:left; + display:table; +} +#product01 .bottom_box ul li p { + display:table-cell; + padding:10px 0; +} +#product01 .bottom_box ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +#product01 .bottom_box ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +#product01 .bottom_box.on .info{ + display:block; +} +#product01 .bottom_box .info { + display:none; +} +@media screen and (max-width:1200px) { + .listSkin .inner { + width:100%; + } + #product01 .lf_box { + width:100%; + float:none; + text-align:center; + } + #product01 .rt_box { + width:100%; + float:none; + text-align:center; + } + #product01 .rt_box .moreBtn { + margin:40px auto 0 auto; + } + #product01 .rt_box strong { + font-size:26px; + } + #product01 .rt_box p { + font-size:16px; + } + #product01 .rt_box .pc{ + display:block; + } + #product01 .rt_box .mo { + display:none; + } + #product01 .bottom_box ul li { + width:100%; + float:none; + } + #product01 .bottom_box ul li .tit { + padding-left:2%; + width:28%; + } + #product01 .bottom_box ul li .txt { + width:70%; + } +} +@media screen and (max-width:600px) { + #product01 .lf_box img{ + width:100%; + } +} +.img_box2 { + padding-top:5%; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:left; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } + .viewSkin .textBox .title2 { + font-size:3em; + } +} +.sec1 { + padding:3% 0; +} +.infoBox { + width:100%; +} +.infoBox ul { + margin:20px 0; +} +.infoBox ul li { + margin-bottom:5px; +} +.infoBox input { + width:100%; +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/product01/view.skin.php b/web/html/theme/FT_WEB20/skin/board/product01/view.skin.php new file mode 100644 index 0000000..de9b529 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product01/view.skin.php @@ -0,0 +1,247 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + + + +
                                                                                                      + + + +
                                                                                                      +
                                                                                                      +

                                                                                                      게시판 리스트 옵션

                                                                                                      +
                                                                                                      + + + + + +
                                                                                                      + +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +

                                                                                                      갤러리 카테고리

                                                                                                      +
                                                                                                      +

                                                                                                      + + + +

                                                                                                      +

                                                                                                      +
                                                                                                      +
                                                                                                      등록일
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      +
                                                                                                      + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                                      \n"; + } + ?> +
                                                                                                      +
                                                                                                      +
                                                                                                        +
                                                                                                      • +

                                                                                                        테마

                                                                                                        +

                                                                                                        +
                                                                                                      • +
                                                                                                      • +

                                                                                                        가격

                                                                                                        +

                                                                                                        +
                                                                                                      • +
                                                                                                      • +

                                                                                                        버전

                                                                                                        +

                                                                                                        +
                                                                                                      • +
                                                                                                      • +

                                                                                                        주요사업

                                                                                                        +

                                                                                                        +
                                                                                                      • +
                                                                                                      +
                                                                                                      +
                                                                                                      +

                                                                                                      + +
                                                                                                      + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product01/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/product01/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product01/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                                      +

                                                                                                      댓글목록

                                                                                                      + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                                      style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                                      + +
                                                                                                      + +
                                                                                                      +

                                                                                                      님의 댓글의 댓글

                                                                                                      + + + 아이피 + () + + 작성일 + + +
                                                                                                      + + +
                                                                                                      +

                                                                                                      + 비밀글 + +

                                                                                                      + + +
                                                                                                      + + + + " id="secret_comment_"> + +
                                                                                                      + +
                                                                                                      + + +
                                                                                                      + + +
                                                                                                      + +

                                                                                                      등록된 댓글이 없습니다.

                                                                                                      + +
                                                                                                      + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product01/write.skin.php b/web/html/theme/FT_WEB20/skin/board/product01/write.skin.php new file mode 100644 index 0000000..397c939 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product01/write.skin.php @@ -0,0 +1,299 @@ + + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                                      + + + +
                                                                                                      +
                                                                                                      +
                                                                                                      +

                                                                                                      + + +
                                                                                                      + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                                    • '.PHP_EOL.'
                                                                                                    • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                                    • '.PHP_EOL.'
                                                                                                    • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                                    • '.PHP_EOL.'
                                                                                                    • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                                      + + +
                                                                                                      + + +
                                                                                                      + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                                      + + +
                                                                                                      + 옵션 +
                                                                                                        + +
                                                                                                      +
                                                                                                      + + +
                                                                                                      + + +
                                                                                                      + + + + + +
                                                                                                      + 임시 저장된 글 목록 +
                                                                                                        +
                                                                                                        +
                                                                                                        + +
                                                                                                        +
                                                                                                        + +
                                                                                                        + +
                                                                                                        + + +

                                                                                                        이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                        + + + + +
                                                                                                        글자
                                                                                                        + +
                                                                                                        + +
                                                                                                        +
                                                                                                        +
                                                                                                          +
                                                                                                        • + + +
                                                                                                        • +
                                                                                                        • + + +
                                                                                                        • +
                                                                                                        • + + +
                                                                                                        • +
                                                                                                        • + + +
                                                                                                        • +
                                                                                                        +
                                                                                                        + + + + + +
                                                                                                        +
                                                                                                        + + +
                                                                                                        + + + + + + + + + + +
                                                                                                        + + + + +
                                                                                                        + +
                                                                                                        + + +
                                                                                                        + 취소 + +
                                                                                                        +
                                                                                                        + + +
                                                                                                        + +
                                                                                                        +
                                                                                                        +
                                                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product02/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/product02/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product02/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product02/img/chk.png b/web/html/theme/FT_WEB20/skin/board/product02/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product02/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product02/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/product02/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product02/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product02/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/product02/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product02/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product02/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/product02/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product02/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product02/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/product02/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product02/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product02/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/product02/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product02/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product02/list.skin.php b/web/html/theme/FT_WEB20/skin/board/product02/list.skin.php new file mode 100644 index 0000000..dd3193c --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product02/list.skin.php @@ -0,0 +1,319 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 550; +$board['bo_gallery_height']= 320; +?> + + + + +
                                                                                                        + + + +
                                                                                                        +
                                                                                                        + +
                                                                                                        + +
                                                                                                        + + + + + + + + + + + + +
                                                                                                        + +
                                                                                                          +
                                                                                                        • 관리자
                                                                                                        • +
                                                                                                        • RSS
                                                                                                        • +
                                                                                                        • + +
                                                                                                        • +
                                                                                                        • 글쓰기
                                                                                                        • + +
                                                                                                        • + + +
                                                                                                            +
                                                                                                          • +
                                                                                                          • +
                                                                                                          • +
                                                                                                          + +
                                                                                                        • + +
                                                                                                        +
                                                                                                        + + + + + + +
                                                                                                        +
                                                                                                          + 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : ''; + ?> +
                                                                                                        • +
                                                                                                          +
                                                                                                          + + + +

                                                                                                          + +

                                                                                                          + + more + + +
                                                                                                          +
                                                                                                          + + 공지 + '; + } else { + $img_content = 'no image'; + } + + echo run_replace('thumb_image_tag', $img_content, $thumb); + } + ?> +
                                                                                                          +
                                                                                                          +
                                                                                                          + + 자세히 보기 + + +
                                                                                                          +
                                                                                                            +
                                                                                                          • +

                                                                                                            테마

                                                                                                            +

                                                                                                            +
                                                                                                          • +
                                                                                                          • +

                                                                                                            가격

                                                                                                            +

                                                                                                            +
                                                                                                          • +
                                                                                                          • +

                                                                                                            버전

                                                                                                            +

                                                                                                            +
                                                                                                          • +
                                                                                                          • +

                                                                                                            주요사업

                                                                                                            +

                                                                                                            +
                                                                                                          • +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                        • + + 게시물이 없습니다."; } ?> +
                                                                                                        +
                                                                                                        + + + + + + + +
                                                                                                        + + +
                                                                                                        +
                                                                                                        +

                                                                                                        검색

                                                                                                        +
                                                                                                        + + + + + + +
                                                                                                        + + +
                                                                                                        + +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        + + +
                                                                                                        + + + + + + + + + +
                                                                                                        +
                                                                                                        +
                                                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product02/style.css b/web/html/theme/FT_WEB20/skin/board/product02/style.css new file mode 100644 index 0000000..3669920 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product02/style.css @@ -0,0 +1,568 @@ +@charset "utf-8"; +.sec1 { + padding:3% 0; +} +.infoBox { + width:100%; +} +.infoBox ul { + margin:20px 0; +} +.infoBox ul li { + margin-bottom:5px; +} +.infoBox input { + width:100%; +} +.img_box2 { + padding-top:5%; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:left; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } + .viewSkin .textBox .title2 { + font-size:3em; + } +} +#product01 .pro_list > li{ + margin-bottom:50px; +} +#product01 .top_box{ + overflow: hidden; + padding-bottom:40px; +} + +#product01 .lf_box { + float:left; + width:40%; + height:320px; + display:flex; + flex-direction:column; + justify-content:center; +} +#product01 .lf_box strong { + font-size:2em; + font-weight:bold; + color:#333; + padding-bottom:30px; + display:block; +} +#product01 .lf_box p { + font-size:1.4em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; + line-height:1.3; +} +#product01 .lf_box .moreBtn { + width:120px; + height:40px; + line-height:40px; + background-color:#333; + color:#fff; + display:block; + margin-top:20px; +} +#product01 .lf_box .moreBtn span { + display:block; + font-size:16px; + font-weight:400; + color:#fff; + text-align:center; +} +#product01 .rt_box { + float:right; + width:50%; +} +#product01 .bottom_box a { + width:100%; + padding:2% 0; + border-top:1px solid #797979; + border-bottom:0.5px solid #ccc; + display:block; + display:flex; + justify-content:center; + cursor: pointer; +} +#product01 .bottom_box a span { + position:relative; +} +#product01 .bottom_box a span:nth-child(1) { + font-size:1.5em; + font-weight:600; + color:#767676; +} +#product01 .bottom_box.on a span:nth-child(2)::after { + content: "\f106"; + transition:all 0.6s; +} +#product01 .bottom_box a span:nth-child(2)::after { + content: "\f107"; + position: absolute; + top: 50%; + transform: translateY(-50%); + right:-30px; + font-family: FontAwesome; + font-size: 2.3em; + opacity: 0.8; +} +#product01 .bottom_box ul { + overflow:hidden; + padding:4% 0; + border-bottom:0.5px solid #ccc; +} +#product01 .bottom_box ul li { + width:50%; + float:left; + display:table; +} +#product01 .bottom_box ul li p { + display:table-cell; + padding:10px 0; +} +#product01 .bottom_box ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +#product01 .bottom_box ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +#product01 .bottom_box.on .info{ + display:block; +} +#product01 .bottom_box .info { + display:none; +} +@media screen and (max-width:1200px) { + .listSkin .inner { + width:100%; + } + #product01 .lf_box { + width:100%; + float:none; + text-align:center; + } + #product01 .rt_box { + width:100%; + float:none; + text-align:center; + } + #product01 .lf_box .moreBtn { + margin:40px auto 0 auto; + } + #product01 .lf_box strong { + font-size:26px; + } + #product01 .lf_box p { + font-size:16px; + } + #product01 .lf_box .pc{ + display:block; + } + #product01 .lf_box .mo { + display:none; + } + #product01 .bottom_box ul li { + width:100%; + float:none; + } + #product01 .bottom_box ul li .tit { + padding-left:2%; + width:28%; + } + #product01 .bottom_box ul li .txt { + width:70%; + } +} +@media screen and (max-width:600px) { + #product01 .lf_box img{ + width:100%; + } +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/product02/view.skin.php b/web/html/theme/FT_WEB20/skin/board/product02/view.skin.php new file mode 100644 index 0000000..061cf84 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product02/view.skin.php @@ -0,0 +1,245 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + + +
                                                                                                        + + + +
                                                                                                        +
                                                                                                        +

                                                                                                        게시판 리스트 옵션

                                                                                                        +
                                                                                                        + + + + + +
                                                                                                        + +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +

                                                                                                        갤러리 카테고리

                                                                                                        +
                                                                                                        +

                                                                                                        + + + +

                                                                                                        +

                                                                                                        +
                                                                                                        +
                                                                                                        등록일
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        +
                                                                                                        + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                                        \n"; + } + ?> +
                                                                                                        +
                                                                                                        +
                                                                                                          +
                                                                                                        • +

                                                                                                          테마

                                                                                                          +

                                                                                                          +
                                                                                                        • +
                                                                                                        • +

                                                                                                          가격

                                                                                                          +

                                                                                                          +
                                                                                                        • +
                                                                                                        • +

                                                                                                          버전

                                                                                                          +

                                                                                                          +
                                                                                                        • +
                                                                                                        • +

                                                                                                          주요사업

                                                                                                          +

                                                                                                          +
                                                                                                        • +
                                                                                                        +
                                                                                                        +
                                                                                                        +

                                                                                                        + +
                                                                                                        + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product02/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/product02/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product02/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                                        +

                                                                                                        댓글목록

                                                                                                        + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                                        style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                                        + +
                                                                                                        + +
                                                                                                        +

                                                                                                        님의 댓글의 댓글

                                                                                                        + + + 아이피 + () + + 작성일 + + +
                                                                                                        + + +
                                                                                                        +

                                                                                                        + 비밀글 + +

                                                                                                        + + +
                                                                                                        + + + + " id="secret_comment_"> + +
                                                                                                        + +
                                                                                                        + + +
                                                                                                        + + +
                                                                                                        + +

                                                                                                        등록된 댓글이 없습니다.

                                                                                                        + +
                                                                                                        + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product02/write.skin.php b/web/html/theme/FT_WEB20/skin/board/product02/write.skin.php new file mode 100644 index 0000000..1c360ba --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product02/write.skin.php @@ -0,0 +1,298 @@ + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                                        + + + +
                                                                                                        +
                                                                                                        +
                                                                                                        +

                                                                                                        + + +
                                                                                                        + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                                      • '.PHP_EOL.'
                                                                                                      • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                                      • '.PHP_EOL.'
                                                                                                      • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                                      • '.PHP_EOL.'
                                                                                                      • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                                        + + +
                                                                                                        + + +
                                                                                                        + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                                        + + +
                                                                                                        + 옵션 +
                                                                                                          + +
                                                                                                        +
                                                                                                        + + +
                                                                                                        + + +
                                                                                                        + + + + + +
                                                                                                        + 임시 저장된 글 목록 +
                                                                                                          +
                                                                                                          +
                                                                                                          + +
                                                                                                          +
                                                                                                          + +
                                                                                                          + +
                                                                                                          + + +

                                                                                                          이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                          + + + + +
                                                                                                          글자
                                                                                                          + +
                                                                                                          + +
                                                                                                          +
                                                                                                          +
                                                                                                            +
                                                                                                          • + + +
                                                                                                          • +
                                                                                                          • + + +
                                                                                                          • +
                                                                                                          • + + +
                                                                                                          • +
                                                                                                          • + + +
                                                                                                          • +
                                                                                                          +
                                                                                                          + + + + + +
                                                                                                          +
                                                                                                          + + +
                                                                                                          + + + + + + + + + + +
                                                                                                          + + + + +
                                                                                                          + +
                                                                                                          + + +
                                                                                                          + 취소 + +
                                                                                                          +
                                                                                                          + + +
                                                                                                          + +
                                                                                                          +
                                                                                                          +
                                                                                                          + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product03/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/product03/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product03/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product03/img/chk.png b/web/html/theme/FT_WEB20/skin/board/product03/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product03/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product03/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/product03/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product03/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product03/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/product03/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product03/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product03/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/product03/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product03/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product03/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/product03/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product03/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product03/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/product03/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product03/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product03/list.skin.php b/web/html/theme/FT_WEB20/skin/board/product03/list.skin.php new file mode 100644 index 0000000..3a92090 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product03/list.skin.php @@ -0,0 +1,301 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 383; +$board['bo_gallery_height']= 240; + +?> + + + + +
                                                                                                          + + + +
                                                                                                          +
                                                                                                          + +
                                                                                                          + +
                                                                                                          + + + + + + + + + + + + +
                                                                                                          + +
                                                                                                            +
                                                                                                          • 관리자
                                                                                                          • +
                                                                                                          • RSS
                                                                                                          • +
                                                                                                          • + +
                                                                                                          • +
                                                                                                          • 글쓰기
                                                                                                          • + +
                                                                                                          • + + +
                                                                                                              +
                                                                                                            • +
                                                                                                            • +
                                                                                                            • +
                                                                                                            + +
                                                                                                          • + +
                                                                                                          +
                                                                                                          + + + + + + + + + + + + + + +
                                                                                                          + + +
                                                                                                          +
                                                                                                          +

                                                                                                          검색

                                                                                                          +
                                                                                                          + + + + + + +
                                                                                                          + + +
                                                                                                          + +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          + + +
                                                                                                          + + + + + + + + + +
                                                                                                          +
                                                                                                          +
                                                                                                          + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product03/style.css b/web/html/theme/FT_WEB20/skin/board/product03/style.css new file mode 100644 index 0000000..5e7731f --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product03/style.css @@ -0,0 +1,518 @@ +@charset "utf-8"; +.sec1 { + padding:3% 0; +} +.infoBox { + width:100%; +} +.infoBox ul { + margin:20px 0; +} +.infoBox ul li { + margin-bottom:5px; +} +.infoBox input { + width:100%; +} +/* s:#product03 */ +#product03 .listForm { + width:100%; + padding:4% 0; + overflow:hidden; +} +#product03 .listForm > li { + width:32%; /*갤러리 한줄 갯수 조절*/ + margin-right:1.33%; + margin-bottom:5%; + float:left; + position:relative; + overflow: hidden; + border:1px solid #ccc; + box-sizing:border-box; + z-index:2; +} +#product03 .listForm > li:hover { + box-shadow:1px 1px 10px rgba(0,0,0,.1) +} +#product03 .listForm > li:hover a:after { + content:""; + display:block; + position:absolute; + top:0; + left:0; + width:100%; + height:100%; + border:2px solid #333; +} +#product03 .listForm li .img_box { + width:100%; + height:240px; + overflow: hidden; + transition:0.6s; +} +#product03 .listForm li .img_box img { + width:100%; height:auto; +} +#product03 .listForm li .text_box h2 { + font-size:1.8em; + font-weight:bold; + font-family: 'Noto Sans KR', sans-serif; + padding-bottom:10px; + color:#333; + padding:20px; +} +#product03 .listForm li .text_box p { + font-size:1.2em; + font-weight:300; + font-family: 'Noto Sans KR', sans-serif; + color:#333; +} +#product03 .listForm li:hover .text_box p{ + font-size:1.1em; + transition:all 0.6s; +} +#product03 .listForm .infoBox { + padding:0 20px 20px 20px; +} +#product03 .listForm .infoBox ul li { + display:flex; + width:100%; + padding-bottom:5px; +} +#product03 .listForm .infoBox ul li:last-child { + padding-bottom:0; +} +#product03 .listForm .infoBox ul li .tit { + width:25%; + font-size:16px; + font-weight:bold; + color:#333; +} +#product03 .listForm .infoBox ul li .txt { + width:75%; + font-size:16px; + font-weight:400; + color:#333; +} +@media screen and (max-width:960px) { + #product03 .listForm > li { + width:48%; /*갤러리 한줄 갯수 조절*/ + margin-right:0; + margin-bottom:4%; + float:left; + position:relative; + overflow: hidden; + } + #product03 .listForm > li:nth-child(2n) { + margin-left:4%; + } +} +@media screen and (max-width:800px) { + #product03 .listForm > li { + width:384px; /*갤러리 한줄 갯수 조절*/ + margin-right:0; + margin-bottom:4%; + float:none; + position:relative; + overflow: hidden; + margin:0 auto; + } + #product03 .listForm > li:nth-child(2n) { + margin:20px auto; + } + #product03 .listForm > li:nth-child(3n) { + margin:20px auto; + } +} +/* e:#product03 */ +.img_box2 { + padding-top:5%; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:left; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } + .viewSkin .textBox .title2 { + font-size:3em; + } +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/product03/view.skin.php b/web/html/theme/FT_WEB20/skin/board/product03/view.skin.php new file mode 100644 index 0000000..318c277 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product03/view.skin.php @@ -0,0 +1,245 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + + +
                                                                                                          + + + +
                                                                                                          +
                                                                                                          +

                                                                                                          게시판 리스트 옵션

                                                                                                          +
                                                                                                          + + + + + +
                                                                                                          + +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +

                                                                                                          갤러리 카테고리

                                                                                                          +
                                                                                                          +

                                                                                                          + + + +

                                                                                                          +

                                                                                                          +
                                                                                                          +
                                                                                                          등록일
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          +
                                                                                                          + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                                          \n"; + } + ?> +
                                                                                                          +
                                                                                                          +
                                                                                                            +
                                                                                                          • +

                                                                                                            테마

                                                                                                            +

                                                                                                            +
                                                                                                          • +
                                                                                                          • +

                                                                                                            가격

                                                                                                            +

                                                                                                            +
                                                                                                          • +
                                                                                                          • +

                                                                                                            버전

                                                                                                            +

                                                                                                            +
                                                                                                          • +
                                                                                                          • +

                                                                                                            주요사업

                                                                                                            +

                                                                                                            +
                                                                                                          • +
                                                                                                          +
                                                                                                          +
                                                                                                          +

                                                                                                          + +
                                                                                                          + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product03/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/product03/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product03/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                                          +

                                                                                                          댓글목록

                                                                                                          + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                                          style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                                          + +
                                                                                                          + +
                                                                                                          +

                                                                                                          님의 댓글의 댓글

                                                                                                          + + + 아이피 + () + + 작성일 + + +
                                                                                                          + + +
                                                                                                          +

                                                                                                          + 비밀글 + +

                                                                                                          + + +
                                                                                                          + + + + " id="secret_comment_"> + +
                                                                                                          + +
                                                                                                          + + +
                                                                                                          + + +
                                                                                                          + +

                                                                                                          등록된 댓글이 없습니다.

                                                                                                          + +
                                                                                                          + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product03/write.skin.php b/web/html/theme/FT_WEB20/skin/board/product03/write.skin.php new file mode 100644 index 0000000..c95af17 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product03/write.skin.php @@ -0,0 +1,298 @@ + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                                          + + + +
                                                                                                          +
                                                                                                          +
                                                                                                          +

                                                                                                          + + +
                                                                                                          + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                                        • '.PHP_EOL.'
                                                                                                        • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                                        • '.PHP_EOL.'
                                                                                                        • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                                        • '.PHP_EOL.'
                                                                                                        • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                                          + + +
                                                                                                          + + +
                                                                                                          + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                                          + + +
                                                                                                          + 옵션 +
                                                                                                            + +
                                                                                                          +
                                                                                                          + + +
                                                                                                          + + +
                                                                                                          + + + + + +
                                                                                                          + 임시 저장된 글 목록 +
                                                                                                            +
                                                                                                            +
                                                                                                            + +
                                                                                                            +
                                                                                                            + +
                                                                                                            + +
                                                                                                            + + +

                                                                                                            이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                            + + + + +
                                                                                                            글자
                                                                                                            + +
                                                                                                            + +
                                                                                                            +
                                                                                                            +
                                                                                                              +
                                                                                                            • + + +
                                                                                                            • +
                                                                                                            • + + +
                                                                                                            • +
                                                                                                            • + + +
                                                                                                            • +
                                                                                                            • + + +
                                                                                                            • +
                                                                                                            +
                                                                                                            + + + + + +
                                                                                                            +
                                                                                                            + + +
                                                                                                            + + + + + + + + + + +
                                                                                                            + + + + +
                                                                                                            + +
                                                                                                            + + +
                                                                                                            + 취소 + +
                                                                                                            +
                                                                                                            + + +
                                                                                                            + +
                                                                                                            +
                                                                                                            +
                                                                                                            + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product04/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/product04/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product04/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product04/img/chk.png b/web/html/theme/FT_WEB20/skin/board/product04/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product04/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product04/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/product04/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product04/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product04/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/product04/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product04/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/product04/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/product04/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product04/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product04/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/product04/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product04/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product04/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/product04/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product04/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/product04/img/product04_img01.jpg b/web/html/theme/FT_WEB20/skin/board/product04/img/product04_img01.jpg new file mode 100644 index 0000000..35a7801 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/product04/img/product04_img01.jpg differ diff --git a/web/html/theme/FT_WEB20/skin/board/product04/list.skin.php b/web/html/theme/FT_WEB20/skin/board/product04/list.skin.php new file mode 100644 index 0000000..b614368 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product04/list.skin.php @@ -0,0 +1,156 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +$board['bo_gallery_width']= 383; +$board['bo_gallery_height']= 220; + +?> + + + + +
                                                                                                            + + + +
                                                                                                            + + + + + + + + + + + +
                                                                                                            +
                                                                                                            + +
                                                                                                            + +
                                                                                                              +
                                                                                                            • 관리자
                                                                                                            • +
                                                                                                            • RSS
                                                                                                            • +
                                                                                                            • + +
                                                                                                            • +
                                                                                                            • 글쓰기
                                                                                                            • + +
                                                                                                            • + + +
                                                                                                                +
                                                                                                              • +
                                                                                                              • +
                                                                                                              • +
                                                                                                              + +
                                                                                                            • + +
                                                                                                            +
                                                                                                            + +

                                                                                                            Lorem Ipsum dolor

                                                                                                            +
                                                                                                            + 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : ''; + ?> +
                                                                                                            +
                                                                                                            +
                                                                                                            + +
                                                                                                            + +

                                                                                                            +

                                                                                                            +

                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            + + 게시물이 없습니다."; } ?> +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +

                                                                                                            문의사항이 있으신가요?

                                                                                                            +

                                                                                                            문의사항을 빠르게 답변 드립니다. 온라인으로 문의해주세요!

                                                                                                            + LEARN MORE +

                                                                                                            +
                                                                                                            + +
                                                                                                            + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product04/style.css b/web/html/theme/FT_WEB20/skin/board/product04/style.css new file mode 100644 index 0000000..ef23c74 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product04/style.css @@ -0,0 +1,601 @@ +@charset "utf-8"; +* { + padding:0; + margin:0; + list-style:none; + text-decoration:none; +} +.slick-arrow{ + cursor: pointer; +} +body{ + background-color: #eee; +} +.sec{ + width:100%;height: 770px; + position: relative; + display: flex; +} + + + +.sec1 { + height: 870px; + background-color: #ddd; +} +.sec1-inner{ + width:1200px;height:100%; + display: flex;flex-flow: row wrap; + align-content: center;justify-content: center; + margin:0 auto; +} + +.sec1-inner>h3{ + font-size: 2.5rem; + margin-bottom: 50px; +} +.sec1-slick{ + width:100%;height: 520px; + + + +} +.slick-list, +.slick-track{ + width:100%;height: 100%; +} +.slick-track .slick-slide{ + position: relative; + margin:0px 10px; + overflow: visible; +} +.slick-slide .sec1-contents{ + width:100%;height: 70%; + background-color: #fff; + position: absolute; + top:50%;left:50%;transform: translate(-50%,-50%); + transition: .5s ease; + display: flex;align-content: center; + justify-content: center;flex-flow: row wrap; +} +.slick-current .sec1-contents{ + width:100%;height: 80%; +} +.slick-slide .sec1-contents a { + width:100%; + padding:0 20px; +} +.slick-slide .sec1-contents h3{ + font-size: 1.5rem; + width:100%;text-align: center; + margin-bottom: 10px; +} +.slick-slide .sec1-contents p{ + width:100%; + text-align: center; + font-size:1.1em; + font-weight:500; + color:#333; + letter-spacing:-0.6px; + padding:0 11px; + line-height:25px; + font-size:14px; +} +.slick-slide .sec1-contents p:nth-of-type(1){ + margin-bottom: 30px; + color:#333; +} +.thumbnail{ + width:70px;height:70px; + border-radius: 100%; + position: absolute; + background-color: #555; + top:0;left:50%; + transform: translate(-50%,-50%); +} +.thumbnail img { + width:100%; + height:100%; + border-radius: 100%; +} + +.sec1-controll .slick-arrow{ + font-size: 3rem; + color:#888; +} +.sec1-prev { + position:absolute; + top:55%; + left:15%; + transform:translateY(-50%); +} +.sec1-prev span::after { + content: "\f104"; + font-family: FontAwesome; + font-size:1.5em; +} +.sec1-next { + position:absolute; + top:55%; + right:15%; + transform:translateY(-50%); +} +.sec1-next span::after { + content: "\f105"; + font-family: FontAwesome; + font-size:1.5em; +} + + +.sec6{ + height: 590px; + background-color: rgba(0,0,0,0.3); +} + +.sec6-inner{ + width:1200px; + display: flex;flex-flow: row wrap; + align-content: center; + justify-content: center; + margin:0 auto; +} +.sec6-inner h3{ + font-size:36px; +} +.sec6-inner p{ + font-size:18px; + width:100%; + text-align: center; + margin:20px 0px; +} +.sec6-inner a{ + font-size:18px; + padding:10px 60px; + border-radius: 10px; + background-color: #333; + color:#fff; + display: inline-block; +} + +@media screen and (max-width:1240px){ + + .sec1-inner{ + width:100%; + } + .sec1-controll{ + width:100%; + } +} + +@media screen and (max-width:900px) { + .sec1{ + height: 670px; + } + .sec1-slick{ + width:100%;height: 420px; + } + .sec6 { + height:400px; + } + .sec6-inner { + width:100%; + } + .sec6-inner h3 { + font-size:26px; + } + .sec6-inner p { + font-size:16px; + } + .sec6-inner a { + font-size:16px; + } +} +.img_box2 { + padding-top:5%; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:left; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } + .viewSkin .textBox .title2 { + font-size:3em; + } +} +.sec1 { + padding:3% 0; +} +.infoBox { + width:100%; +} +.infoBox ul { + margin:20px 0; +} +.infoBox ul li { + margin-bottom:5px; +} +.infoBox input { + width:100%; +} +.sec6 { + padding:2% 0; +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/product04/view.skin.php b/web/html/theme/FT_WEB20/skin/board/product04/view.skin.php new file mode 100644 index 0000000..bc97519 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product04/view.skin.php @@ -0,0 +1,226 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + + + +
                                                                                                            + + + +
                                                                                                            +
                                                                                                            +

                                                                                                            게시판 리스트 옵션

                                                                                                            +
                                                                                                            + + + + + +
                                                                                                            + +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +

                                                                                                            갤러리 카테고리

                                                                                                            +
                                                                                                            +

                                                                                                            + + + +

                                                                                                            +

                                                                                                            +
                                                                                                            +
                                                                                                            등록일
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            +
                                                                                                            + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                                            \n"; + } + ?> +
                                                                                                            +
                                                                                                            +

                                                                                                            + +
                                                                                                            + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product04/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/product04/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product04/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                                            +

                                                                                                            댓글목록

                                                                                                            + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                                            style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                                            + +
                                                                                                            + +
                                                                                                            +

                                                                                                            님의 댓글의 댓글

                                                                                                            + + + 아이피 + () + + 작성일 + + +
                                                                                                            + + +
                                                                                                            +

                                                                                                            + 비밀글 + +

                                                                                                            + + +
                                                                                                            + + + + " id="secret_comment_"> + +
                                                                                                            + +
                                                                                                            + + +
                                                                                                            + + +
                                                                                                            + +

                                                                                                            등록된 댓글이 없습니다.

                                                                                                            + +
                                                                                                            + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/product04/write.skin.php b/web/html/theme/FT_WEB20/skin/board/product04/write.skin.php new file mode 100644 index 0000000..b5e9fdd --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/product04/write.skin.php @@ -0,0 +1,283 @@ +', 0); +?> + +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                                            + + + +
                                                                                                            +
                                                                                                            +
                                                                                                            +

                                                                                                            + + +
                                                                                                            + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                                          • '.PHP_EOL.'
                                                                                                          • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                                          • '.PHP_EOL.'
                                                                                                          • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                                          • '.PHP_EOL.'
                                                                                                          • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                                            + + +
                                                                                                            + + +
                                                                                                            + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                                            + + +
                                                                                                            + 옵션 +
                                                                                                              + +
                                                                                                            +
                                                                                                            + + +
                                                                                                            + + +
                                                                                                            + + + + + +
                                                                                                            + 임시 저장된 글 목록 +
                                                                                                              +
                                                                                                              +
                                                                                                              + +
                                                                                                              +
                                                                                                              + +
                                                                                                              + +
                                                                                                              + + +

                                                                                                              이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                              + + + + +
                                                                                                              글자
                                                                                                              + +
                                                                                                              + +
                                                                                                              + + + + + +
                                                                                                              +
                                                                                                              + + +
                                                                                                              + + + + + + + + + + +
                                                                                                              + + + + +
                                                                                                              + +
                                                                                                              + + +
                                                                                                              + 취소 + +
                                                                                                              +
                                                                                                              + + +
                                                                                                              + +
                                                                                                              +
                                                                                                              +
                                                                                                              + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/qna/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/qna/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/qna/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/qna/img/chk.png b/web/html/theme/FT_WEB20/skin/board/qna/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/qna/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/qna/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/qna/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/qna/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/qna/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/qna/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/qna/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/qna/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/qna/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/qna/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/qna/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/qna/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/qna/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/qna/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/qna/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/qna/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/qna/list.skin.php b/web/html/theme/FT_WEB20/skin/board/qna/list.skin.php new file mode 100644 index 0000000..93519fd --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/qna/list.skin.php @@ -0,0 +1,319 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                              + + + +
                                                                                                              +
                                                                                                              + +
                                                                                                              + +
                                                                                                              + + + + + + + + + + + + +
                                                                                                              + +
                                                                                                                +
                                                                                                              • 관리자
                                                                                                              • +
                                                                                                              • RSS
                                                                                                              • +
                                                                                                              • + +
                                                                                                              • +
                                                                                                              • 글쓰기
                                                                                                              • + +
                                                                                                              • + + +
                                                                                                                  +
                                                                                                                • +
                                                                                                                • +
                                                                                                                • +
                                                                                                                + +
                                                                                                              • + +
                                                                                                              +
                                                                                                              + + + + + + +
                                                                                                              + + + + + + + + + + + + + + + + + + + "> + + + + + + + + + + + + + + + '; } ?> + +
                                                                                                              목록
                                                                                                              + + + 진행상황제목글쓴이조회 추천 비추천 날짜
                                                                                                              + + + + +

                                                                                                              + + 공지사항 +

                                                                                                              + + + +

                                                                                                              + + 답변완료 +

                                                                                                              + +

                                                                                                              + + 접수완료 +

                                                                                                              + + +
                                                                                                              + + + +
                                                                                                              + + + + + + N새글"; + // if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; } + if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']); + if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']); + if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']); + ?> + 댓글 +
                                                                                                              +
                                                                                                              게시물이 없습니다.
                                                                                                              +
                                                                                                              + + + + + +
                                                                                                              + + + +
                                                                                                              + +
                                                                                                              + + +
                                                                                                              +
                                                                                                              +

                                                                                                              검색

                                                                                                              +
                                                                                                              + + + + + + +
                                                                                                              + + +
                                                                                                              + +
                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              + + +
                                                                                                              + + + + + + + + + +
                                                                                                              +
                                                                                                              +
                                                                                                              + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/qna/style.css b/web/html/theme/FT_WEB20/skin/board/qna/style.css new file mode 100644 index 0000000..6aa0ab9 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/qna/style.css @@ -0,0 +1,360 @@ +@charset "utf-8"; + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:60px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:150px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + +#bo_cate {margin:25px 0} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px} +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} +.td_subject img {margin-left:5px} + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + +@media screen and (max-width:900px) { + + .tbl_head01 .col4 { + display:none; + } + .tbl_head01 .col5 { + display:none; + } + .td_num { + display:none; + } + .tbl_head01 td { + padding:0; + } + #bo_list .td_name { + display:none; + } +} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/qna/view.skin.php b/web/html/theme/FT_WEB20/skin/board/qna/view.skin.php new file mode 100644 index 0000000..a00a842 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/qna/view.skin.php @@ -0,0 +1,315 @@ +', 0); +?> + + + + + + + + + +
                                                                                                              + + +
                                                                                                              +
                                                                                                              +
                                                                                                              +

                                                                                                              + + + + + +

                                                                                                              +
                                                                                                              + +
                                                                                                              +

                                                                                                              페이지 정보

                                                                                                              +
                                                                                                              +
                                                                                                              +
                                                                                                              + 작성자
                                                                                                              + 댓글 + 조회 + 작성일 +
                                                                                                              +
                                                                                                              + + +
                                                                                                              + + + + + +
                                                                                                              + +
                                                                                                              + +
                                                                                                              +

                                                                                                              본문

                                                                                                              +
                                                                                                              + + 스크랩 +
                                                                                                              + + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                                              \n"; + } + ?> + + +
                                                                                                              + + + +

                                                                                                              + + + + +
                                                                                                              + + + 추천 + + + + + + 비추천 + + + +
                                                                                                              + +
                                                                                                              + 추천 + 비추천 +
                                                                                                              + + + + + + + + +
                                                                                                              +

                                                                                                              첨부파일

                                                                                                              +
                                                                                                                + +
                                                                                                              • + + + () + +
                                                                                                                + 회 다운로드 | DATE : +
                                                                                                              • + +
                                                                                                              +
                                                                                                              + + + + + + + + + + +
                                                                                                                +
                                                                                                              • 이전글
                                                                                                              • +
                                                                                                              • 다음글
                                                                                                              • +
                                                                                                              + + + + + + +
                                                                                                              + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/qna/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/qna/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/qna/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                                              +

                                                                                                              댓글목록

                                                                                                              + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                                              style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                                              + +
                                                                                                              + +
                                                                                                              +

                                                                                                              님의 댓글의 댓글

                                                                                                              + + + 아이피 + () + + 작성일 + + +
                                                                                                              + + +
                                                                                                              +

                                                                                                              + 비밀글 + +

                                                                                                              + + +
                                                                                                              + + + + " id="secret_comment_"> + +
                                                                                                              + +
                                                                                                              + + +
                                                                                                              + + +
                                                                                                              + +

                                                                                                              등록된 댓글이 없습니다.

                                                                                                              + +
                                                                                                              + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/qna/write.skin.php b/web/html/theme/FT_WEB20/skin/board/qna/write.skin.php new file mode 100644 index 0000000..ceaf017 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/qna/write.skin.php @@ -0,0 +1,300 @@ +', 0); +?> + +', 0); +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + + + + + + + Document + + + + +
                                                                                                              + + + +
                                                                                                              +
                                                                                                              +
                                                                                                              +

                                                                                                              + + +
                                                                                                              + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                                            • '.PHP_EOL.'
                                                                                                            • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                                            • '.PHP_EOL.'
                                                                                                            • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                                            • '.PHP_EOL.'
                                                                                                            • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                                              + + +
                                                                                                              + + +
                                                                                                              + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                                              + + +
                                                                                                              + 옵션 +
                                                                                                                + +
                                                                                                              +
                                                                                                              + + +
                                                                                                              + + +
                                                                                                              + + + + + +
                                                                                                              + 임시 저장된 글 목록 +
                                                                                                                +
                                                                                                                +
                                                                                                                + +
                                                                                                                +
                                                                                                                + +
                                                                                                                + +
                                                                                                                + + +

                                                                                                                이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                                + + + + +
                                                                                                                글자
                                                                                                                + +
                                                                                                                + +
                                                                                                                + + + + + + +
                                                                                                                +
                                                                                                                + + +
                                                                                                                + + + + + + + + + + +
                                                                                                                + + + + +
                                                                                                                + +
                                                                                                                + + +
                                                                                                                + 취소 + +
                                                                                                                +
                                                                                                                + + +
                                                                                                                + +
                                                                                                                +
                                                                                                                +
                                                                                                                + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/video/_common.php b/web/html/theme/FT_WEB20/skin/board/video/_common.php new file mode 100644 index 0000000..b1cfd83 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/video/_common.php @@ -0,0 +1,3 @@ + diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/btn_close.gif b/web/html/theme/FT_WEB20/skin/board/video/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/btn_close.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/video/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/btn_next2.gif b/web/html/theme/FT_WEB20/skin/board/video/img/btn_next2.gif new file mode 100644 index 0000000..9ec9465 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/btn_next2.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/btn_prev2.gif b/web/html/theme/FT_WEB20/skin/board/video/img/btn_prev2.gif new file mode 100644 index 0000000..827e7be Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/btn_prev2.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/chk.png b/web/html/theme/FT_WEB20/skin/board/video/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/video/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/cmt_btn.png b/web/html/theme/FT_WEB20/skin/board/video/img/cmt_btn.png new file mode 100644 index 0000000..202f1ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/cmt_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_bad.png b/web/html/theme/FT_WEB20/skin/board/video/img/icon_bad.png new file mode 100644 index 0000000..e568b1d Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_bad.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_comment.png b/web/html/theme/FT_WEB20/skin/board/video/img/icon_comment.png new file mode 100644 index 0000000..c7e3acb Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_comment.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_file.gif b/web/html/theme/FT_WEB20/skin/board/video/img/icon_file.gif new file mode 100644 index 0000000..244af00 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_file.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_good.png b/web/html/theme/FT_WEB20/skin/board/video/img/icon_good.png new file mode 100644 index 0000000..69841a1 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_good.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_hot.gif b/web/html/theme/FT_WEB20/skin/board/video/img/icon_hot.gif new file mode 100644 index 0000000..2936de6 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_hot.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_img.gif b/web/html/theme/FT_WEB20/skin/board/video/img/icon_img.gif new file mode 100644 index 0000000..3ba495d Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_img.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_link.gif b/web/html/theme/FT_WEB20/skin/board/video/img/icon_link.gif new file mode 100644 index 0000000..e9cb955 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_link.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/video/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/video/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_movie.gif b/web/html/theme/FT_WEB20/skin/board/video/img/icon_movie.gif new file mode 100644 index 0000000..cb958f8 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_movie.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_new.gif b/web/html/theme/FT_WEB20/skin/board/video/img/icon_new.gif new file mode 100644 index 0000000..73fa06a Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_new.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/video/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/video/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_share.png b/web/html/theme/FT_WEB20/skin/board/video/img/icon_share.png new file mode 100644 index 0000000..6d64f62 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_share.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_sound.gif b/web/html/theme/FT_WEB20/skin/board/video/img/icon_sound.gif new file mode 100644 index 0000000..c518831 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_sound.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/icon_view.png b/web/html/theme/FT_WEB20/skin/board/video/img/icon_view.png new file mode 100644 index 0000000..ea76f54 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/icon_view.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/noimg.png b/web/html/theme/FT_WEB20/skin/board/video/img/noimg.png new file mode 100644 index 0000000..b42ac9f Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/noimg.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/sch_bg.png b/web/html/theme/FT_WEB20/skin/board/video/img/sch_bg.png new file mode 100644 index 0000000..729178d Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/sch_bg.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/sch_btn.png b/web/html/theme/FT_WEB20/skin/board/video/img/sch_btn.png new file mode 100644 index 0000000..94f98db Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/sch_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/img/video-player.png b/web/html/theme/FT_WEB20/skin/board/video/img/video-player.png new file mode 100644 index 0000000..beaac10 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/video/img/video-player.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/video/list.skin.php b/web/html/theme/FT_WEB20/skin/board/video/list.skin.php new file mode 100644 index 0000000..f12aa00 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/video/list.skin.php @@ -0,0 +1,267 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); + +?> + + + +
                                                                                                                + + + +
                                                                                                                +
                                                                                                                + +
                                                                                                                + +
                                                                                                                + + + + + + + + + + + + +
                                                                                                                + +
                                                                                                                  +
                                                                                                                • 관리자
                                                                                                                • +
                                                                                                                • RSS
                                                                                                                • +
                                                                                                                • + +
                                                                                                                • +
                                                                                                                • 글쓰기
                                                                                                                • + +
                                                                                                                • + + +
                                                                                                                    +
                                                                                                                  • +
                                                                                                                  • +
                                                                                                                  • +
                                                                                                                  + +
                                                                                                                • + +
                                                                                                                +
                                                                                                                + + + + + + +
                                                                                                                + +
                                                                                                                + + + + + +
                                                                                                                + + + +
                                                                                                                + +
                                                                                                                + + +
                                                                                                                +
                                                                                                                +

                                                                                                                검색

                                                                                                                +
                                                                                                                + + + + + + +
                                                                                                                + + +
                                                                                                                + +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                + + +
                                                                                                                + + + + + + + + + +
                                                                                                                +
                                                                                                                +
                                                                                                                + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/video/movie.lib.php b/web/html/theme/FT_WEB20/skin/board/video/movie.lib.php new file mode 100644 index 0000000..ec94333 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/video/movie.lib.php @@ -0,0 +1,151 @@ + $matches[1], //https + 'subdomain' => implode(".", $parts), //subdomain + 'domain' => "$host.$tld", //domain.co.kr + 'host'=>$host, //domain ̸ + 'tld'=>$tld //co.kr + ); + + return $host['host']; + +} + +// /޿ +function movie_id($path, $host) +{ + + if($host == "youtube"){ + + /*긵ũ ̵*/ + $youtube_link = $path; + $youtube_url = parse_url($youtube_link); + parse_str($youtube_url['query']); + $youtubeid = $v; + $movieid = $youtubeid;//$youtubeid; + + } + else if($host == "vimeo" || $host == "kakao" || $host == "naver" || $host == "dailymotion"){ + + /* ̵*/ + $vars =strrchr($path, "?"); // + $videoid = preg_replace('/'. preg_quote($vars, '/') . '$/', '', basename($path)); // + $movieid = $videoid;//$vimeoid; + + } + else if($host == "soundcloud"){ + + /* ̵*/ + $urls = parse_url($path, PHP_URL_PATH); + $videoid = explode("/",$urls); + $movieid = $videoid[1];//$vimeoid; + + } + + + else{ + $movieid = false; + } + + return $movieid; +} + +// image /޿ +function get_movie_thumb($movie_id, $movie_company) +{ + + if($movie_company == "youtube"){ + + $movieimg = "https://img.youtube.com/vi/".$movie_id."/maxresdefault.jpg"; + } + else if($movie_company == "vimeo"){ + $vimeo = unserialize(file_get_contents("http://vimeo.com/api/v2/video/{$movie_id}.php")); + //echo $small = $vimeo[0]['thumbnail_small']; + //echo $medium = $vimeo[0]['thumbnail_medium']; + $movieimg = $vimeo[0]['thumbnail_large']; + } + else if($movie_company == "kakao" || $movie_company == "dailymotion"){ + + if($movie_company == "kakao"){ + $sites_html = file_get_contents('http://tv.kakao.com/v/'.$movie_id); + }else if($movie_company == "dailymotion"){ + $sites_html = file_get_contents('https://www.dailymotion.com/video/'.$movie_id); + } + + $html = new DOMDocument(); + @$html->loadHTML($sites_html); + $meta_og_img = null; + //Get all meta tags and loop through them. + foreach($html->getElementsByTagName('meta') as $meta) { + //If the property attribute of the meta tag is og:image + if($meta->getAttribute('property')=='og:image'){ + //Assign the value from content attribute to $meta_og_img + $meta_og_img = $meta->getAttribute('content'); + } + } + $movieimg = $meta_og_img; + } + else if($movie_company == "naver" || $movie_company == "soundcloud"){ + $movieimg = xml_movie_frame($movie_id, $movie_company, 'thumb'); + } + else { + $movieimg = "noimg";// + } + +return $movieimg; +} + +//xml ҽ ° +function xml_movie_frame($movieid, $host, $type) +{ + if($host == "naver"){ + $xml=simplexml_load_file("https://tv.naver.com/oembed?url=https://tv.naver.com/v/".$movieid."&format=xml"); + //print_r($xml); + $movie_frame = $xml->html; + $movie_img = $xml->thumbnail_url; + } + + else if($host == "soundcloud"){ + //$json = file_get_contents("https://soundcloud.com/oembed?url=https%3A%2F%2Fsoundcloud.com%2F".$movieid."%2Fflox-the-words&format=json"); + $json = file_get_contents("https://soundcloud.com/oembed?url=https://soundcloud.com/".$movieid."&format=json"); + $obj = json_decode($json); + $movie_frame = $obj->html; + $movie_img = $obj->thumbnail_url; + } + if($type == "movie"){ + return $movie_frame; + }else{ + return $movie_img; + } +} + +function curl_get_contents($url) +{ + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0'); + + $data = curl_exec($ch); + curl_close($ch); + + return $data; +} + +?> \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/video/style.css b/web/html/theme/FT_WEB20/skin/board/video/style.css new file mode 100644 index 0000000..57f46e1 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/video/style.css @@ -0,0 +1,361 @@ +@charset "utf-8"; + +#video .sec1 { + padding:5% 0; +} +#video .sec1 .infoBox { + padding:20px 0; +} +#video .sec1 .infoBox strong{ + font-size:1.7em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +#video .sec1 .infoBox dt { + padding:10px 0; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +#video .sec1 .infoBox dd { + font-size:1.2em; + font-weight:400; + color:#333; + line-height:1.3; + letter-spacing:-0.6px; +} +.embed-responsive { + margin:0 auto; + text-align:center; + padding-bottom:20px; +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/video/view.skin.php b/web/html/theme/FT_WEB20/skin/board/video/view.skin.php new file mode 100644 index 0000000..8a58035 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/video/view.skin.php @@ -0,0 +1,262 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                                                + + + +
                                                                                                                +
                                                                                                                +

                                                                                                                게시판 리스트 옵션

                                                                                                                +
                                                                                                                + + + + + +
                                                                                                                + +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +

                                                                                                                갤러리 카테고리

                                                                                                                +
                                                                                                                +

                                                                                                                + + + +

                                                                                                                +

                                                                                                                +
                                                                                                                +
                                                                                                                등록일
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                +
                                                                                                                + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                                                \n"; + } + ?> +
                                                                                                                + + + +
                                                                                                                + +
                                                                                                                + +
                                                                                                                + +
                                                                                                                + + +
                                                                                                                + +
                                                                                                                + + +
                                                                                                                + +
                                                                                                                + + +
                                                                                                                + +
                                                                                                                + + + + + + +
                                                                                                                +

                                                                                                                + +
                                                                                                                + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/video/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/video/view_comment.skin.php new file mode 100644 index 0000000..9a22694 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/video/view_comment.skin.php @@ -0,0 +1,327 @@ + + + + + +
                                                                                                                +

                                                                                                                댓글목록

                                                                                                                + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + ?> + +
                                                                                                                style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                                                +

                                                                                                                님의 댓글의 댓글

                                                                                                                + + + 아이피 + () + + 작성일 + + +
                                                                                                                + + +
                                                                                                                +

                                                                                                                + 비밀글 + +

                                                                                                                + + + +
                                                                                                                + + + + " id="secret_comment_"> + + +
                                                                                                                + +

                                                                                                                등록된 댓글이 없습니다.

                                                                                                                + +
                                                                                                                + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/video/write.skin.php b/web/html/theme/FT_WEB20/skin/board/video/write.skin.php new file mode 100644 index 0000000..f540f0f --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/video/write.skin.php @@ -0,0 +1,291 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                                + + + +
                                                                                                                +
                                                                                                                +
                                                                                                                +

                                                                                                                + + +
                                                                                                                + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                                              • '.PHP_EOL.'
                                                                                                              • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                                              • '.PHP_EOL.'
                                                                                                              • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                                              • '.PHP_EOL.'
                                                                                                              • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                                                + + +
                                                                                                                + + +
                                                                                                                + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                                                + + +
                                                                                                                + 옵션 +
                                                                                                                  + +
                                                                                                                +
                                                                                                                + + +
                                                                                                                + + +
                                                                                                                + + + + + +
                                                                                                                + 임시 저장된 글 목록 +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  + +
                                                                                                                  + +
                                                                                                                  + + +

                                                                                                                  이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                                  + + + + +
                                                                                                                  글자
                                                                                                                  + +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  + + 동영상 링크 입력 방법 + +
                                                                                                                  +
                                                                                                                  1.인터넷 주소창 복사
                                                                                                                  +
                                                                                                                  유투브 : 인터넷 주소창 복사 예) https://www.youtube.com/watch?v=동영상ID
                                                                                                                  +
                                                                                                                  비메오 : 인터넷 주소창 복사 예) https://vimeo.com/동영상ID
                                                                                                                  +
                                                                                                                  데일리모션 : 인터넷 주소창 복사 예) https://www.dailymotion.com/video/동영상ID
                                                                                                                  +
                                                                                                                  2.공유하기 클릭 후 복사
                                                                                                                  +
                                                                                                                  카카오TV : 공유하기 클릭 후 링크복사 예) http://tv.kakao.com/v/동영상ID
                                                                                                                  +
                                                                                                                  네이버TV : 공유하기 클릭 후 url복사 예) https://tv.naver.com/v/동영상ID
                                                                                                                  +
                                                                                                                  * 외부링크 비허용일 경우 동영상 공유가 안됩니다.
                                                                                                                  +
                                                                                                                  * 외부링크 허용일 경우에만 동영상 게시판 이용이 가능합니다.
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + + + + + +
                                                                                                                  +
                                                                                                                  + + +
                                                                                                                  + + + + + + + + + + +
                                                                                                                  + + + + +
                                                                                                                  + +
                                                                                                                  + + +
                                                                                                                  + 취소 + +
                                                                                                                  +
                                                                                                                  + + +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/video/write_update.head.skin.php b/web/html/theme/FT_WEB20/skin/board/video/write_update.head.skin.php new file mode 100644 index 0000000..98ce37d --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/video/write_update.head.skin.php @@ -0,0 +1,43 @@ + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/webzine01/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine01/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/img/chk.png b/web/html/theme/FT_WEB20/skin/board/webzine01/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine01/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/webzine01/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine01/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine01/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/list.skin.php b/web/html/theme/FT_WEB20/skin/board/webzine01/list.skin.php new file mode 100644 index 0000000..96f1206 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/webzine01/list.skin.php @@ -0,0 +1,297 @@ +', 0); +add_stylesheet('', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                                  + + + +
                                                                                                                  +
                                                                                                                  + +
                                                                                                                  + +
                                                                                                                  + + + + + + + + + + + + +
                                                                                                                  + +
                                                                                                                    +
                                                                                                                  • 관리자
                                                                                                                  • +
                                                                                                                  • RSS
                                                                                                                  • +
                                                                                                                  • + +
                                                                                                                  • +
                                                                                                                  • 글쓰기
                                                                                                                  • + +
                                                                                                                  • + + +
                                                                                                                      +
                                                                                                                    • +
                                                                                                                    • +
                                                                                                                    • +
                                                                                                                    + +
                                                                                                                  • + +
                                                                                                                  +
                                                                                                                  + + + + + + +
                                                                                                                  +
                                                                                                                    + 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : ''; + ?> +
                                                                                                                  • + +
                                                                                                                    + + +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    + + + + + + + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + + 공지 + '; + } else { + $img_content = 'no image'; + } + + echo run_replace('thumb_image_tag', $img_content, $thumb); + } + ?> +
                                                                                                                    +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                  • + +

                                                                                                                    + 게시물이 없습니다.'; } ?> +

                                                                                                                    +
                                                                                                                  +
                                                                                                                  + + + + + + + +
                                                                                                                  + + +
                                                                                                                  +
                                                                                                                  +

                                                                                                                  검색

                                                                                                                  +
                                                                                                                  + + + + + + +
                                                                                                                  + + +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + + +
                                                                                                                  + + + + + + + + + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/style.css b/web/html/theme/FT_WEB20/skin/board/webzine01/style.css new file mode 100644 index 0000000..6f3eb1b --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/webzine01/style.css @@ -0,0 +1,396 @@ +@charset "utf-8"; + + +.img_box2 { + padding-top:5%; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:center; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } + .viewSkin .textBox .title2 { + font-size:3em; + } +} + + +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/view.skin.php b/web/html/theme/FT_WEB20/skin/board/webzine01/view.skin.php new file mode 100644 index 0000000..365d0c3 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/webzine01/view.skin.php @@ -0,0 +1,226 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + + +
                                                                                                                  + + + +
                                                                                                                  +
                                                                                                                  +

                                                                                                                  게시판 리스트 옵션

                                                                                                                  +
                                                                                                                  + + + + + +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +

                                                                                                                  갤러리 카테고리

                                                                                                                  +
                                                                                                                  +

                                                                                                                  + + + +

                                                                                                                  +

                                                                                                                  +
                                                                                                                  +
                                                                                                                  등록일
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                                                  \n"; + } + ?> +
                                                                                                                  +
                                                                                                                  +

                                                                                                                  + +
                                                                                                                  + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/webzine01/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/webzine01/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                                                  +

                                                                                                                  댓글목록

                                                                                                                  + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                                                  style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                                                  + +
                                                                                                                  + +
                                                                                                                  +

                                                                                                                  님의 댓글의 댓글

                                                                                                                  + + + 아이피 + () + + 작성일 + + +
                                                                                                                  + + +
                                                                                                                  +

                                                                                                                  + 비밀글 + +

                                                                                                                  + + +
                                                                                                                  + + + + " id="secret_comment_"> + +
                                                                                                                  + +
                                                                                                                  + + +
                                                                                                                  + + +
                                                                                                                  + +

                                                                                                                  등록된 댓글이 없습니다.

                                                                                                                  + +
                                                                                                                  + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/webzine01/write.skin.php b/web/html/theme/FT_WEB20/skin/board/webzine01/write.skin.php new file mode 100644 index 0000000..a48c344 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/webzine01/write.skin.php @@ -0,0 +1,290 @@ +', 0); +add_stylesheet('', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + +', 0); +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + + + +
                                                                                                                  + + + +
                                                                                                                  +
                                                                                                                  +
                                                                                                                  +

                                                                                                                  + + +
                                                                                                                  + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                                                • '.PHP_EOL.'
                                                                                                                • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                                                • '.PHP_EOL.'
                                                                                                                • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                                                • '.PHP_EOL.'
                                                                                                                • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                                                  + + +
                                                                                                                  + + +
                                                                                                                  + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                                                  + + +
                                                                                                                  + 옵션 +
                                                                                                                    + +
                                                                                                                  +
                                                                                                                  + + +
                                                                                                                  + + +
                                                                                                                  + + + + + +
                                                                                                                  + 임시 저장된 글 목록 +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    + +
                                                                                                                    + +
                                                                                                                    + + +

                                                                                                                    이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                                    + + + + +
                                                                                                                    글자
                                                                                                                    + +
                                                                                                                    + +
                                                                                                                    + + + + + + +
                                                                                                                    +
                                                                                                                    + + +
                                                                                                                    + + + + + + + + + + +
                                                                                                                    + + + + +
                                                                                                                    + +
                                                                                                                    + + +
                                                                                                                    + 취소 + +
                                                                                                                    +
                                                                                                                    + + +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/img/btn_cmt.png b/web/html/theme/FT_WEB20/skin/board/webzine02/img/btn_cmt.png new file mode 100644 index 0000000..0a58a1b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine02/img/btn_cmt.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/img/chk.png b/web/html/theme/FT_WEB20/skin/board/webzine02/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine02/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/img/close_btn.png b/web/html/theme/FT_WEB20/skin/board/webzine02/img/close_btn.png new file mode 100644 index 0000000..50e9f26 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine02/img/close_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_lock.png b/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_lock.png new file mode 100644 index 0000000..2a083a5 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_lock.png differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_mobile.gif b/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_mobile.gif new file mode 100644 index 0000000..43189ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_mobile.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_reply.gif b/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_reply.gif new file mode 100644 index 0000000..7fe2c65 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_reply.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_secret.gif new file mode 100644 index 0000000..7be6700 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/board/webzine02/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/list.skin.php b/web/html/theme/FT_WEB20/skin/board/webzine02/list.skin.php new file mode 100644 index 0000000..05e8d76 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/webzine02/list.skin.php @@ -0,0 +1,296 @@ +', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                                    + + + +
                                                                                                                    +
                                                                                                                    + +
                                                                                                                    + +
                                                                                                                    + + + + + + + + + + + + +
                                                                                                                    + +
                                                                                                                      +
                                                                                                                    • 관리자
                                                                                                                    • +
                                                                                                                    • RSS
                                                                                                                    • +
                                                                                                                    • + +
                                                                                                                    • +
                                                                                                                    • 글쓰기
                                                                                                                    • + +
                                                                                                                    • + + +
                                                                                                                        +
                                                                                                                      • +
                                                                                                                      • +
                                                                                                                      • +
                                                                                                                      + +
                                                                                                                    • + +
                                                                                                                    +
                                                                                                                    + + + + + + +
                                                                                                                    +
                                                                                                                      + 0) ? 'line-height:'.$board['bo_gallery_height'].'px' : ''; + ?> +
                                                                                                                    • + +
                                                                                                                      + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + 공지 + '; + } else { + $img_content = 'no image'; + } + + echo run_replace('thumb_image_tag', $img_content, $thumb); + } + ?> +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                    • + +

                                                                                                                      + 게시물이 없습니다.'; } ?> +

                                                                                                                      +
                                                                                                                    +
                                                                                                                    + + + + + + + +
                                                                                                                    + + +
                                                                                                                    +
                                                                                                                    +

                                                                                                                    검색

                                                                                                                    +
                                                                                                                    + + + + + + +
                                                                                                                    + + +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + + +
                                                                                                                    + + + + + + + + + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/style.css b/web/html/theme/FT_WEB20/skin/board/webzine02/style.css new file mode 100644 index 0000000..42518ce --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/webzine02/style.css @@ -0,0 +1,392 @@ +@charset "utf-8"; +.img_box2 { + padding-top:5%; +} +.viewSkin .textBox .title2 { + font-size: 5em; + font-weight: bold; + font-family: 'Noto Sans KR', sans-serif; + margin-bottom: 20px; + color: #333; +} +.viewSkin .info ul { + overflow:hidden; + padding:4% 0; + border-top:0.5px solid #ccc; + border-bottom:0.5px solid #ccc; +} +.viewSkin .info ul li { + width:50%; + float:left; + display:table; +} +.viewSkin .info ul li p { + display:table-cell; + padding:10px 0; +} +.viewSkin .info ul li .tit { + width:200px; + font-size:1.5em; + font-weight:bold; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .info ul li .txt { + font-size:1.5em; + font-weight:400; + color:#333; + letter-spacing:-0.6px; +} +.viewSkin .cont_box { + padding:5% 0 10% 0; +} +.viewSkin .cont_box p { + text-align:center; +} +@media screen and (max-width:1200px) { + .viewSkin .info ul li { + width:100%; + float:none; + } + .viewSkin .info ul li .tit { + padding-left:2%; + width:28%; + } + .viewSkin .info ul li .txt { + width:70%; + } + .viewSkin .cont_box p br { + display:none; + } + .viewSkin .textBox .title2 { + font-size:3em; + } +} +/* 게시판 목록 */ +#bo_list {position:relative;margin-bottom:20px} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1} +#bo_list .td_date {width:60px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:50px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list tbody tr {border-left:2px solid transparent} +#bo_list tbody tr:hover {border-left:2px solid #253dbe} +#bo_list tbody .even td {background:#fbfbfb} + + +/* 게시판 목록 공통 */ +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px} +.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + + +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff} +.btn_bo_user > li {position:relative} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee} +.bo_notice td a {font-weight:bold} +.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:20px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#333;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} + +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrap {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff; +-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2); +box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)} +#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent} +#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:center;margin:0 !important} +#autosave_pop button {margin:0;padding:0;border:0} +#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999} +.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em} +.autosave_close:hover {background:#f3f3f3;color:#3597d9} +.autosave_content {display:none} +.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box} + +#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v_title {} +#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} + +#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left} +#bo_v_info .profile_info .pf_img {float:left;margin-right:10px} +#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px} + +#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .profile_img {display:none} +#bo_v_info .sv_member {color:#000} +#bo_v_info .if_date {margin:0;color:#888} + +#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd} +#bo_v_file img {float:left;margin:0 10px 0 0} +#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_file li:hover i {color:#3a8afd} +#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc} + + +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_file ul {margin:0;list-style:none} +#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px; +-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%); +box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)} +#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px} +#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000} +#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd} +#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em} +#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4} +#bo_v_link li:hover i {color:#3a8afd} +#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc} + +#bo_v_top {zoom:1} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {padding:0;list-style:none} + +.bo_v_com {margin:20px 0;float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left} +.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""} +.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px} +.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1} +.bo_v_nb li:hover {background:#f6f6f6} +.bo_v_nb li i {font-size:13px;color:#b3b3b3} +.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3} +.bo_v_nb li .nb_date {float:right;color:#b3b3b3} + +#bo_v_atc {min-height:200px;height:auto !important;height:200px} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img a.view_image {display:block;text-align:center;} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act .bo_v_act_gng {position:relative} +#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158} +#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f} +#bo_v_act i {font-size:1.4em;margin-right:5px} +#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center} +#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} +#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px} + +#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left} +#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em} +#bo_v_sns li img {vertical-align:middle;margin-right:5px} +#bo_v_sns li .sns_f {display:block;background:#3b5997} +#bo_v_sns li .sns_t {display:block;background:#09aeee} +#bo_v_sns li .sns_g {display:block;background:#ea4026} +#bo_v_sns li .sns_k {display:block;background:#fbe300} + +#bo_v_share {position:relative;padding:20px 0} +#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px} +#bo_v_share .btn:hover {background:#fff} +#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle} + +/* 게시판 댓글 */ +.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px} +.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd} +.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px} +.cmt_btn_op span.cmt_more {background-position:right -8px} +.cmt_btn b {font-size:1.2em;color:#000} +.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px} +#bo_vc {} +#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0} +#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc article .profile_img img {border-radius:50%} +#bo_vc article .pf_img {float:left;margin-right:10px} +#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px} +#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%} +#bo_vc header {position:relative;width:100%} +#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc header .profile_img {display:none} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {color:#777} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px} +#bo_vc p a {text-decoration:underline} +#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479} +#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc .bo_vl_opt {position:absolute;top:0;right:0} + +.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999} +.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.bo_vc_act li {border-bottom:1px solid #f0f0f0} +.bo_vc_act li:last-child {border-bottom:0} +.bo_vc_act li a {display:inline-block;padding:10px 15px} +.bo_vc_act li a:hover {color:#3a8afd} + +.bo_vc_w {position:relative;margin:10px 0;display:block} +.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.bo_vc_w #char_cnt {display:block;margin:0 0 5px} +.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px; +-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1); +box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)} +#wr_secret {} +.bo_vc_w_info {margin:10px 0;float:left} +.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_w_info .frm_input {float:left;margin-right:5px} +.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both} +.bo_vc_w .btn_confirm {clear:both;margin-top:10px} +.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center} +.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} +.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important} +.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""} +.secret_cm {display:inline-block;float:left} + +#bo_vc_send_sns {display:inline-block;float:left} +#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 5px 0 0} +#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px} +#bo_vc_sns .sns_li_off {background:#bbb} +#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px} +#bo_vc_sns input {margin:0 5px 0 0} + +/*글쓰기*/ +#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0} +#bo_w .bo_v_option li label {vertical-align:baseline} +#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px} +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%} +#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%} +#bo_w .wr_content.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w .btn_cancel {border-radius:3px;font-size:1.167em} + diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/view.skin.php b/web/html/theme/FT_WEB20/skin/board/webzine02/view.skin.php new file mode 100644 index 0000000..87a7f53 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/webzine02/view.skin.php @@ -0,0 +1,227 @@ +', 0); +add_stylesheet('', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + + + +
                                                                                                                    + + + +
                                                                                                                    +
                                                                                                                    +

                                                                                                                    게시판 리스트 옵션

                                                                                                                    +
                                                                                                                    + + + + + +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +

                                                                                                                    갤러리 카테고리

                                                                                                                    +
                                                                                                                    +

                                                                                                                    + + + +

                                                                                                                    +

                                                                                                                    +
                                                                                                                    +
                                                                                                                    등록일
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    + \n"; + + foreach($view['file'] as $view_file) { + echo get_file_thumbnail($view_file); + } + + echo "
                                                                                                                    \n"; + } + ?> +
                                                                                                                    +
                                                                                                                    +

                                                                                                                    + +
                                                                                                                    + + + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/view_comment.skin.php b/web/html/theme/FT_WEB20/skin/board/webzine02/view_comment.skin.php new file mode 100644 index 0000000..e906ef7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/webzine02/view_comment.skin.php @@ -0,0 +1,352 @@ + + + + + +
                                                                                                                    +

                                                                                                                    댓글목록

                                                                                                                    + \]/i", "", $comment); + $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결 + $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w'; + $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w'; + $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0; + ?> + +
                                                                                                                    style="margin-left:px;border-top-color:#e0e0e0"> +
                                                                                                                    + +
                                                                                                                    + +
                                                                                                                    +

                                                                                                                    님의 댓글의 댓글

                                                                                                                    + + + 아이피 + () + + 작성일 + + +
                                                                                                                    + + +
                                                                                                                    +

                                                                                                                    + 비밀글 + +

                                                                                                                    + + +
                                                                                                                    + + + + " id="secret_comment_"> + +
                                                                                                                    + +
                                                                                                                    + + +
                                                                                                                    + + +
                                                                                                                    + +

                                                                                                                    등록된 댓글이 없습니다.

                                                                                                                    + +
                                                                                                                    + + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/board/webzine02/write.skin.php b/web/html/theme/FT_WEB20/skin/board/webzine02/write.skin.php new file mode 100644 index 0000000..c38201a --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/board/webzine02/write.skin.php @@ -0,0 +1,289 @@ +', 0); +add_stylesheet('', 0); +add_stylesheet('', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + +', 0); +$board['bo_gallery_width']= 380; +$board['bo_gallery_height']= 300; +?> + + + + + + +
                                                                                                                    + + + +
                                                                                                                    +
                                                                                                                    +
                                                                                                                    +

                                                                                                                    + + +
                                                                                                                    + + + + + + + + + + + + '.PHP_EOL.''; + } + if ($is_html) { + if ($is_dhtml_editor) { + $option_hidden .= ''; + } else { + $option .= PHP_EOL.'
                                                                                                                  • '.PHP_EOL.'
                                                                                                                  • '; + } + } + if ($is_secret) { + if ($is_admin || $is_secret==1) { + $option .= PHP_EOL.'
                                                                                                                  • '.PHP_EOL.'
                                                                                                                  • '; + } else { + $option_hidden .= ''; + } + } + if ($is_mail) { + $option .= PHP_EOL.'
                                                                                                                  • '.PHP_EOL.'
                                                                                                                  • '; + } + } + echo $option_hidden; + ?> + + +
                                                                                                                    + + +
                                                                                                                    + + +
                                                                                                                    + + + + + + + + class="frm_input half_input " placeholder="비밀번호"> + + + + + + + + + + + +
                                                                                                                    + + +
                                                                                                                    + 옵션 +
                                                                                                                      + +
                                                                                                                    +
                                                                                                                    + + +
                                                                                                                    + + +
                                                                                                                    + + + + + +
                                                                                                                    + 임시 저장된 글 목록 +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + + +

                                                                                                                      이 게시판은 최소 글자 이상, 최대 글자 이하까지 글을 쓰실 수 있습니다.

                                                                                                                      + + + + +
                                                                                                                      글자
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + + + + + + +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      + + + + + + + + + + +
                                                                                                                      + + + + +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + 취소 + +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/connect/basic/connect.skin.php b/web/html/theme/FT_WEB20/skin/connect/basic/connect.skin.php new file mode 100644 index 0000000..fd6d4b0 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/connect/basic/connect.skin.php @@ -0,0 +1,9 @@ +', 0); +?> + +', 0); +?> + + +
                                                                                                                      +
                                                                                                                        + ".$location.""; + else $display_location = $location; + ?> +
                                                                                                                      • + + +
                                                                                                                        + + +
                                                                                                                        +
                                                                                                                      • + 현재 접속자가 없습니다."; + ?> +
                                                                                                                      +
                                                                                                                      + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/connect/basic/style.css b/web/html/theme/FT_WEB20/skin/connect/basic/style.css new file mode 100644 index 0000000..9a303fc --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/connect/basic/style.css @@ -0,0 +1,18 @@ +@charset "utf-8"; + +/* 현재접속자 */ +#current_connect ul {margin:0;padding:0;list-style:none;zoom:1} +#current_connect ul:after {display:block;visibility:hidden;clear:both;content:""} +#current_connect li:after {display:block;visibility:hidden;clear:both;content:""} +#current_connect li {position:relative;padding:18px 0;border-bottom:1px solid #ececec;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0} +#current_connect li:first-child {border-top:1px solid #ececec} +#current_connect .crt_num {float:left;line-height:45px;margin-right:20px;color:#777;font-weight:bold} +#current_connect .crt_profile {float:left;margin-right:20px;line-height:45px} +#current_connect .crt_profile > img {width:45px;height:45px;border-radius:50%} +#current_connect .crt_info {float:left;margin-top:5px} +#current_connect .crt_name {display:block} +#current_connect .sv_member {font-weight:bold;line-height:20px;font-size:1.2em} +#current_connect .profile_img {display:none} +#current_connect .crt_lct {display:block} +#current_connect .crt_lct a {color:#797979} +#current_connect li.empty_li {width:100%;padding:200px 0;border:0;color:#666;text-align:center} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/content/basic/content.skin.php b/web/html/theme/FT_WEB20/skin/content/basic/content.skin.php new file mode 100644 index 0000000..d0bf64b --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/content/basic/content.skin.php @@ -0,0 +1,46 @@ +', 0); +?> + + + + + + + + Document + + + + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/content/basic/style.css b/web/html/theme/FT_WEB20/skin/content/basic/style.css new file mode 100644 index 0000000..556a4fd --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/content/basic/style.css @@ -0,0 +1,10 @@ +@charset "utf-8"; + +/* 내용관리 */ +#ctt {margin:10px 0;padding:20px;background:#fff} +.ctt_admin {text-align:right} +#ctt header h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ctt_con {padding:10px 0;line-height:1.6em} +#ctt_con img{max-width:100%;height:auto} +.ctt_img {text-align:center} + diff --git a/web/html/theme/FT_WEB20/skin/faq/basic/list.skin.php b/web/html/theme/FT_WEB20/skin/faq/basic/list.skin.php new file mode 100644 index 0000000..43af7b0 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/faq/basic/list.skin.php @@ -0,0 +1,150 @@ +', 0); +?> + + +'; + +// 상단 HTML +echo '
                                                                                                                      '.conv_content($fm['fm_head_html'], 1).'
                                                                                                                      '; +?> + +
                                                                                                                      + FAQ 검색 +
                                                                                                                      + FAQ 검색 + + + + +
                                                                                                                      +
                                                                                                                      + + + + + +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      목록

                                                                                                                      +
                                                                                                                        + $v){ + if(empty($v)) + continue; + ?> +
                                                                                                                      1. +

                                                                                                                        + Q + +

                                                                                                                        +
                                                                                                                        + + +
                                                                                                                        +
                                                                                                                      2. + +
                                                                                                                      +
                                                                                                                      + 검색된 게시물이 없습니다.

                                                                                                                      '; + } else { + echo '
                                                                                                                      등록된 FAQ가 없습니다.'; + if($is_admin) + echo '
                                                                                                                      FAQ를 새로 등록하시려면 FAQ관리 메뉴를 이용하십시오.'; + echo '
                                                                                                                      '; + } + } + ?> +
                                                                                                                      + + + +'.conv_content($fm['fm_tail_html'], 1).''; + +if ($timg_src) + echo '
                                                                                                                      '; +?> + + + + +FAQ 수정'; +?> + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/faq/basic/style.css b/web/html/theme/FT_WEB20/skin/faq/basic/style.css new file mode 100644 index 0000000..8a02508 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/faq/basic/style.css @@ -0,0 +1,33 @@ +@charset "utf-8"; + +#bo_cate {margin-bottom:28px} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px} +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} + +#faq_wrap {margin:10px 0 30px} +#faq_wrap h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.faq_admin {text-align:right} +#faq_wrap ol {margin:0;padding:0;list-style:none} +#faq_wrap li {border-bottom:1px solid #ececec;background:#fff;position:relative} +#faq_wrap li:first-child {border-top:1px solid #ececec} +#faq_wrap li h3 {min-height:50px;line-height:30px;padding:15px;padding-left:50px;position:relative} +#faq_wrap li h3 .tit_btn {position:absolute;right:15px;top:15px;border:0;width:30px;height:30px;background:#fff;color:#c5cdd8;font-size:1.2em} +#faq_wrap li h3 .tit_bg {display:inline-block;position:absolute;top:15px;left:15px;text-align:center;color:#000;font-size:1.6em} +#faq_wrap li h3.faq_li_open a {color:#3a8afd} + +#faq_con .con_inner {display:none;padding:5px 5px 20px 50px} +#faq_con .con_inner .tit_bg {display:inline-block;position:absolute;top:10px;left:10px;text-align:center;background:#777;color:#fff;border-radius:50%;width:30px;line-height:30px;height:30px} +#faq_con .con_inner .closer_btn {position:absolute;right:15px;top:15px;border:0;width:30px;height:30px;background:#fff;color:#3a8afd;font-size:1.2em} + +#faq_sch {background:#f7f7f7;padding:30px;text-align:center;margin:0 0 10px} +#faq_sch .sch_tit {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#faq_sch .frm_input {border:1px solid #d0d3db;width:300px;height:45px;border-radius:0;border-radius:3px} +#faq_sch .btn_submit {padding:0 10px;height:45px;width:88px;font-size:1.083em;font-weight:bold;color:#fff;background:#434a54} diff --git a/web/html/theme/FT_WEB20/skin/latest/basic/latest.skin.php b/web/html/theme/FT_WEB20/skin/latest/basic/latest.skin.php new file mode 100644 index 0000000..2ef6a63 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/latest/basic/latest.skin.php @@ -0,0 +1,41 @@ +', 0); +$thumb_width = 446; +$thumb_height = 343; +?> + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/latest/basic/style.css b/web/html/theme/FT_WEB20/skin/latest/basic/style.css new file mode 100644 index 0000000..06799f4 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/latest/basic/style.css @@ -0,0 +1,37 @@ +@charset "utf-8"; + +/* 새글 스킨 (latest) */ +.pic_li_lt {position:relative;width:33.3333%;float:left;padding:0 10px;background:#fff} +.pic_li_lt .lat_title {display:block;line-height:45px;font-size:1.2em;color:#253dbe} +.pic_li_lt .lat_title a {color:#000;display:inline-block;position:relative} +.latest_top_wr .pic_li_lt:nth-child(3n+1) {clear: both!important} + +.pic_li_lt .lt_more {position:absolute;top:11px;right:10px;display:block;width:25px;line-height:25px;color:#aaa;border-radius:3px;text-align:center} +.pic_li_lt .lt_more:hover {color:#777} +.pic_li_lt ul:after {display:block;visibility:hidden;clear:both;content:""} +.pic_li_lt li {border-bottom:1px solid #e5ecee;margin-bottom:10px} +.pic_li_lt li .lt_img {display:none} +.pic_li_lt li:first-child .lt_img {display:block;margin:0 0 10px;display:block} +.pic_li_lt li:first-child .lt_img img, .pic_li_lt li .lt_img video {width:100%;height:auto} +.pic_li_lt li .pic_li_tit {font-weight:bold;font-size:1.2em;line-height:20px;vertical-align:middle} + +.pic_li_lt li .fa-heart {color:#ff0000} +.pic_li_lt li .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +.pic_li_lt li .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +.pic_li_lt li .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +.pic_li_lt li .fa-caret-right {color:#bbb} +.pic_li_lt li .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;vertical-align:middle} +.pic_li_lt li .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;vertical-align:middle} + +.pic_li_lt .profile_img img{border-radius:50%} + +.lt_info {padding:10px 0} +.lt_info .lt_nick {} +.lt_info .lt_date {color:#888} + +.pic_li_lt .empty_li {line-height:145px;color:#666;text-align:center;padding:0} +.pic_li_lt .empty_li:before {background:none;padding:0} + +.pic_li_lt .lt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle} +.pic_li_lt .lt_more {position:absolute;top:11px;right:10px;display:block;width:40px;line-height:25px;color:#3a8afd;border-radius:3px;text-align:center} +.pic_li_lt .lt_more:hover {color:#777} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/formmail.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/formmail.skin.php new file mode 100644 index 0000000..28962ed --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/formmail.skin.php @@ -0,0 +1,103 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      님께 메일보내기

                                                                                                                      + +
                                                                                                                      + + + + + + + +
                                                                                                                      +

                                                                                                                      메일쓰기

                                                                                                                      +
                                                                                                                        + +
                                                                                                                      • + + +
                                                                                                                      • +
                                                                                                                      • + + +
                                                                                                                      • + +
                                                                                                                      • + + +
                                                                                                                      • +
                                                                                                                      • + 형식 + + + + + + + + +
                                                                                                                      • +
                                                                                                                      • + + +
                                                                                                                      • +
                                                                                                                      • +
                                                                                                                        + + +
                                                                                                                        +
                                                                                                                        첨부 파일은 누락될 수 있으므로 메일을 보낸 후 파일이 첨부 되었는지 반드시 확인해 주시기 바랍니다.
                                                                                                                        +
                                                                                                                      • +
                                                                                                                      • +
                                                                                                                        + + +
                                                                                                                        +
                                                                                                                      • +
                                                                                                                      • + 자동등록방지 + +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/img/chk.png b/web/html/theme/FT_WEB20/skin/member/basic/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/member/basic/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/member/basic/img/zip_ico_up.gif b/web/html/theme/FT_WEB20/skin/member/basic/img/zip_ico_up.gif new file mode 100644 index 0000000..a1eff70 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/member/basic/img/zip_ico_up.gif differ diff --git a/web/html/theme/FT_WEB20/skin/member/basic/login.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/login.skin.php new file mode 100644 index 0000000..a545058 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/login.skin.php @@ -0,0 +1,134 @@ +', 0); +?> + + +
                                                                                                                      + + + + + + + + +
                                                                                                                      +

                                                                                                                      비회원 구매

                                                                                                                      +

                                                                                                                      비회원으로 주문하시는 경우 포인트는 지급하지 않습니다.

                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + + + + +
                                                                                                                      + + +
                                                                                                                      +

                                                                                                                      비회원 주문조회

                                                                                                                      + +
                                                                                                                      + 비회원 주문조회 + +
                                                                                                                      + + + + + + + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      메일로 발송해드린 주문서의 주문번호 및 주문 시 입력하신 비밀번호를 정확히 입력해주십시오.

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + + + + +
                                                                                                                      + + + diff --git a/web/html/theme/FT_WEB20/skin/member/basic/login_check.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/login_check.skin.php new file mode 100644 index 0000000..aea2ee5 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/login_check.skin.php @@ -0,0 +1,4 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      + +

                                                                                                                      + 비밀번호를 한번 더 입력해주세요. + + 비밀번호를 입력하시면 회원탈퇴가 완료됩니다. + + 회원님의 정보를 안전하게 보호하기 위해 비밀번호를 한번 더 확인합니다. + +

                                                                                                                      + +
                                                                                                                      + + + +
                                                                                                                      + 회원아이디 + + + + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/memo.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/memo.skin.php new file mode 100644 index 0000000..119b8a8 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/memo.skin.php @@ -0,0 +1,57 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      + +
                                                                                                                      전체 쪽지
                                                                                                                      +

                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                        + +
                                                                                                                      • +
                                                                                                                        + + 안 읽은 쪽지 +
                                                                                                                        +
                                                                                                                        + +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + 삭제 +
                                                                                                                      • + + 자료가 없습니다.'; } ?> +
                                                                                                                      +
                                                                                                                      + + + + +

                                                                                                                      쪽지 보관일수는 최장 일 입니다. +

                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/memo_form.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/memo_form.skin.php new file mode 100644 index 0000000..04ebacb --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/memo_form.skin.php @@ -0,0 +1,60 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      쪽지 보내기

                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      쪽지쓰기

                                                                                                                      +
                                                                                                                        +
                                                                                                                      • + + + + 여러 회원에게 보낼때는 컴마(,)로 구분하세요. + +
                                                                                                                        쪽지 보낼때 회원당 점의 포인트를 차감합니다. + +
                                                                                                                      • +
                                                                                                                      • + + +
                                                                                                                      • +
                                                                                                                      • + 자동등록방지 + + + +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/memo_view.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/memo_view.skin.php new file mode 100644 index 0000000..4d710c4 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/memo_view.skin.php @@ -0,0 +1,64 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      +
                                                                                                                      + + + + + +
                                                                                                                      + 답장 + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/password.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/password.skin.php new file mode 100644 index 0000000..f786d9d --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/password.skin.php @@ -0,0 +1,46 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      +

                                                                                                                      + + 작성자만 글을 수정할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 수정할 수 있습니다. + + 작성자만 글을 삭제할 수 있습니다. + 작성자 본인이라면, 글 작성시 입력한 비밀번호를 입력하여 글을 삭제할 수 있습니다. + + 비밀글 기능으로 보호된 글입니다. + 작성자와 관리자만 열람하실 수 있습니다.
                                                                                                                      본인이라면 비밀번호를 입력하세요. + +

                                                                                                                      + +
                                                                                                                      + + + + + + + + +
                                                                                                                      + + + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/password_lost.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/password_lost.skin.php new file mode 100644 index 0000000..903b3a4 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/password_lost.skin.php @@ -0,0 +1,48 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      회원정보 찾기

                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      + 회원가입 시 등록하신 이메일 주소를 입력해 주세요.
                                                                                                                      + 해당 이메일로 아이디와 비밀번호 정보를 보내드립니다. +

                                                                                                                      + + +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/point.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/point.skin.php new file mode 100644 index 0000000..b0ea601 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/point.skin.php @@ -0,0 +1,77 @@ +', 0); +?> + +
                                                                                                                      +

                                                                                                                      + +
                                                                                                                      +
                                                                                                                        +
                                                                                                                      • + 보유포인트 + +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                        + 0) { + $point1 = '+' .number_format($row['po_point']); + $sum_point1 += $row['po_point']; + } else { + $point2 = number_format($row['po_point']); + $sum_point2 += $row['po_point']; + $point_use_class = 'point_use'; + } + + $po_content = $row['po_content']; + + $expr = ''; + if($row['po_expired'] == 1) + $expr = ' txt_expired'; + ?> +
                                                                                                                      • +
                                                                                                                        + + +
                                                                                                                        + + + + 만료 + + +
                                                                                                                      • + 자료가 없습니다.'; + else { + if ($sum_point1 > 0) + $sum_point1 = "+" . number_format($sum_point1); + $sum_point2 = number_format($sum_point2); + } + ?> + +
                                                                                                                      • + 소계 + + +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      + + + + +
                                                                                                                      \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/profile.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/profile.skin.php new file mode 100644 index 0000000..9bec4c9 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/profile.skin.php @@ -0,0 +1,52 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      님의 프로필

                                                                                                                      +
                                                                                                                      + + + + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      회원권한 포인트
                                                                                                                      회원가입일= $mb['mb_level']) ? substr($mb['mb_datetime'],0,10) ." (".number_format($mb_reg_after)." 일)" : "알 수 없음"; ?> 최종접속일= $mb['mb_level']) ? $mb['mb_today_login'] : "알 수 없음"; ?>
                                                                                                                      홈페이지
                                                                                                                      + + +
                                                                                                                      +

                                                                                                                      인사말

                                                                                                                      +

                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/register.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/register.skin.php new file mode 100644 index 0000000..68accef --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/register.skin.php @@ -0,0 +1,153 @@ +', 0); +add_stylesheet('', 0); +?> +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      + 회원가입 +

                                                                                                                      +
                                                                                                                        +
                                                                                                                      • + 01 +

                                                                                                                        약관동의

                                                                                                                        +
                                                                                                                      • +
                                                                                                                      • + +
                                                                                                                      • +
                                                                                                                      • + 02 +

                                                                                                                        정보입력

                                                                                                                        +
                                                                                                                      • +
                                                                                                                      • + +
                                                                                                                      • +
                                                                                                                      • + 03 +

                                                                                                                        가입완료

                                                                                                                        +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      + 약관동의 +

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      + (필수) + 회원가입약관 +

                                                                                                                      + + 전체보기 + + +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      + (필수) + 개인정보 수집 및 이용 +

                                                                                                                      + + 전체보기 + + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      개인정보처리방침안내
                                                                                                                      목적항목보유기간
                                                                                                                      이용자 식별 및 본인여부 확인아이디, 이름, 비밀번호회원 탈퇴 시까지
                                                                                                                      고객서비스 이용에 관한 통지,
                                                                                                                      CS대응을 위한 이용자 식별
                                                                                                                      연락처 (이메일, 휴대전화번호)회원 탈퇴 시까지
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + 취소 + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + + + diff --git a/web/html/theme/FT_WEB20/skin/member/basic/register_form.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/register_form.skin.php new file mode 100644 index 0000000..40e1655 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/register_form.skin.php @@ -0,0 +1,521 @@ +', 0); +add_stylesheet('', 0); +?> + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      + 회원가입 +

                                                                                                                      +
                                                                                                                        +
                                                                                                                      • + 01 +

                                                                                                                        약관동의

                                                                                                                        +
                                                                                                                      • +
                                                                                                                      • + +
                                                                                                                      • +
                                                                                                                      • + 02 +

                                                                                                                        정보입력

                                                                                                                        +
                                                                                                                      • +
                                                                                                                      • + +
                                                                                                                      • +
                                                                                                                      • + 03 +

                                                                                                                        가입완료

                                                                                                                        +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      + 사이트 이용정보 입력 +

                                                                                                                      +
                                                                                                                      + + + + + +
                                                                                                                      + + + + + + + + date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면 ?> + + + + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                        +
                                                                                                                      • + + class="frm_input full_input " minlength="3" maxlength="20" placeholder="아이디"> + +
                                                                                                                      • +
                                                                                                                      • + + class="frm_input full_input " minlength="3" maxlength="20" placeholder="비밀번호"> +
                                                                                                                      • +
                                                                                                                      • + + class="frm_input full_input " minlength="3" maxlength="20" placeholder="비밀번호 확인"> +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      개인정보 입력

                                                                                                                      +
                                                                                                                        +
                                                                                                                      • + + class="frm_input full_input " size="10" placeholder="이름"> + 아이핀 본인확인'.PHP_EOL; + if($config['cf_cert_hp']) + echo ''.PHP_EOL; + + echo ''.PHP_EOL; + } + ?> + + +
                                                                                                                        + 본인확인성인인증 완료 +
                                                                                                                        + + + + 아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다. + +
                                                                                                                      • + +
                                                                                                                      • + + + + + +
                                                                                                                      • + + +
                                                                                                                      • + + + + +
                                                                                                                      • + + +
                                                                                                                      • + + class="frm_input full_input " size="70" maxlength="255" placeholder="홈페이지"> +
                                                                                                                      • + + +
                                                                                                                      • + + + + class="frm_input full_input " maxlength="20" placeholder="전화번호"> + +
                                                                                                                      • +
                                                                                                                      • + + + + class="frm_input full_input " maxlength="20" placeholder="휴대폰번호"> + + + + +
                                                                                                                      • + + +
                                                                                                                      • + + 필수 + + class="frm_input twopart_input " size="5" maxlength="6" placeholder="우편번호"> +
                                                                                                                        + class="frm_input frm_address full_input " size="50" placeholder="기본주소"> +
                                                                                                                        + + +
                                                                                                                        + + + +
                                                                                                                      • + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      기타 개인설정

                                                                                                                      +
                                                                                                                        + +
                                                                                                                      • + + +
                                                                                                                      • + + + +
                                                                                                                      • + + +
                                                                                                                      • + + + = $config['cf_icon_level']) { ?> +
                                                                                                                      • + + + + + 회원아이콘 + + + + +
                                                                                                                      • + + + = $config['cf_icon_level'] && $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height']) { ?> +
                                                                                                                      • + + + + + 회원이미지 + + + + +
                                                                                                                      • + + +
                                                                                                                      • + class="selec_chk"> + + 정보 메일을 받겠습니다. +
                                                                                                                      • + + +
                                                                                                                      • + class="selec_chk"> + + 휴대폰 문자메세지를 받겠습니다. +
                                                                                                                      • + + + +
                                                                                                                      • + class="selec_chk"> + + 다른분들이 나의 정보를 볼 수 있도록 합니다. + + + 정보공개를 바꾸시면 앞으로 일 이내에는 변경이 안됩니다. + + +
                                                                                                                      • + +
                                                                                                                      • + 정보공개 + + + + 정보공개는 수정후 일 이내, 까지는 변경이 안됩니다.
                                                                                                                        + 이렇게 하는 이유는 잦은 정보공개 수정으로 인하여 쪽지를 보낸 후 받지 않는 경우를 막기 위해서 입니다. +
                                                                                                                        + +
                                                                                                                      • + + + + + +
                                                                                                                      • + + +
                                                                                                                      • + + +
                                                                                                                      • + 자동등록방지 + +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + 취소 + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/register_form_update.tail.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/register_form_update.tail.skin.php new file mode 100644 index 0000000..8b4e10e --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/register_form_update.tail.skin.php @@ -0,0 +1,59 @@ +SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $port_setting); + + $strDest = array(); + $strDest[] = $receive_number; + $strCallBack = $send_number; + $strCaller = iconv_euckr(trim($default['de_admin_company_name'])); + $strSubject = ''; + $strURL = ''; + $strData = iconv_euckr($sms_contents); + $strDate = ''; + $nCount = count($strDest); + + $res = $SMS->Add($strDest, $strCallBack, $strCaller, $strSubject, $strURL, $strData, $strDate, $nCount); + + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } else { + include_once(G5_LIB_PATH.'/icode.sms.lib.php'); + + $SMS = new SMS; // SMS 연결 + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + $SMS->Add($receive_number, $send_number, $config['cf_icode_id'], iconv_euckr(stripslashes($sms_contents)), ""); + $SMS->Send(); + $SMS->Init(); // 보관하고 있던 결과값을 지웁니다. + } + } +} +//---------------------------------------------------------- +// SMS 문자전송 끝 +//----------------------------------------------------------; \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/register_result.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/register_result.skin.php new file mode 100644 index 0000000..def77cd --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/register_result.skin.php @@ -0,0 +1,75 @@ +', 0); +add_stylesheet('', 0); +?> + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      + 회원가입 +

                                                                                                                      +
                                                                                                                        +
                                                                                                                      • + 01 +

                                                                                                                        약관동의

                                                                                                                        +
                                                                                                                      • +
                                                                                                                      • + +
                                                                                                                      • +
                                                                                                                      • + 02 +

                                                                                                                        정보입력

                                                                                                                        +
                                                                                                                      • +
                                                                                                                      • + +
                                                                                                                      • +
                                                                                                                      • + 03 +

                                                                                                                        가입완료

                                                                                                                        +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      님의 회원가입을 진심으로 축하합니다.

                                                                                                                      +
                                                                                                                      +
                                                                                                                      + +

                                                                                                                      + 회원 가입 시 입력하신 이메일 주소로 인증메일이 발송되었습니다.
                                                                                                                      + 발송된 인증메일을 확인하신 후 인증처리를 하시면 사이트를 원활하게 이용하실 수 있습니다. +

                                                                                                                      +
                                                                                                                      + 아이디 +
                                                                                                                      + 이메일 주소 + +
                                                                                                                      +

                                                                                                                      + 이메일 주소를 잘못 입력하셨다면, 사이트 관리자에게 문의해주시기 바랍니다. +

                                                                                                                      + + +

                                                                                                                      + 회원님의 비밀번호는 아무도 알 수 없는 암호화 코드로 저장되므로 안심하셔도 좋습니다.
                                                                                                                      + 아이디, 비밀번호 분실시에는 회원가입시 입력하신 이메일 주소를 이용하여 찾을 수 있습니다. +

                                                                                                                      + +

                                                                                                                      + 회원 탈퇴는 언제든지 가능하며 일정기간이 지난 후, 회원님의 정보는 삭제하고 있습니다.
                                                                                                                      + 감사합니다. +

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      diff --git a/web/html/theme/FT_WEB20/skin/member/basic/scrap.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/scrap.skin.php new file mode 100644 index 0000000..edc9425 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/scrap.skin.php @@ -0,0 +1,29 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      +
                                                                                                                        + +
                                                                                                                      • + + + + 삭제 +
                                                                                                                      • + + + 자료가 없습니다."; ?> +
                                                                                                                      + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/scrap_popin.skin.php b/web/html/theme/FT_WEB20/skin/member/basic/scrap_popin.skin.php new file mode 100644 index 0000000..a849f93 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/scrap_popin.skin.php @@ -0,0 +1,34 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      스크랩하기

                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +

                                                                                                                      제목 확인 및 댓글 쓰기

                                                                                                                      +
                                                                                                                        +
                                                                                                                      • + 제목 + +
                                                                                                                      • +
                                                                                                                      • + + +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      스크랩을 하시면서 감사 혹은 격려의 댓글을 남기실 수 있습니다.

                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/basic/style.css b/web/html/theme/FT_WEB20/skin/member/basic/style.css new file mode 100644 index 0000000..7a8feb1 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/basic/style.css @@ -0,0 +1,680 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ +#member_skin .inner { + width:1240px; + padding:5% 20px; + margin:0 auto; + position:relative; +} +#member_skin .top_box { + overflow: hidden; + width:100%; + padding-bottom:20px; + border-bottom:1px solid #ddd; +} +#member_skin .mem_tit { + font-size:2.5em; + font-weight:600; + float:left; +} +#member_skin .top_box ul { + float:right; + display:flex; +} +#member_skin .top_box ul li.on { + opacity:1; +} +#member_skin .top_box ul li { + height:40px; + line-height:40px; + display:table; + padding-left:10px; + opacity:0.5; +} +#member_skin .top_box ul li strong { + display:table-cell; + font-size:16px; + font-weight:bold; + color:#333; + padding-right:5px; +} +#member_skin .top_box ul li.on p { + font-weight:bold; +} +#member_skin .top_box ul li p { + display:table-cell; + font-size:16px; + font-weight:400; + color:#555; +} +#member_skin .top_box .fa-angle-right { + font-size:2em; + line-height:40px; +} +#member_skin .member_order { + width:700px; + margin:80px auto 50px auto; +} +#member_skin .member_order .sub_tit{ + font-size:18px; + font-weight:600; + color:#222222; + padding-bottom:10px; + border-bottom:1px solid #222222; +} +#member_skin .member_order .titleBox { + width:100%; + overflow: hidden; + padding:20px; + position:relative; + border-bottom:1px solid #dde7e9; +} +#member_skin .member_order .titleBox p { + font-size:14px; + letter-spacing:-0.6px; + padding-right:15px; + float:left; +} +#member_skin .member_order .titleBox p span:nth-child(1){ + font-weight:bold; + color:#666; +} +#member_skin .member_order .titleBox p span:nth-child(2) { + font-weight:600; + color:#333; +} +#member_skin .member_order .titleBox a { + float:left; + cursor: pointer; +} +#member_skin .member_order .titleBox a:hover span:nth-child(1){ + padding-right:0px; + transition:all 0.6s; +} +#member_skin .member_order .titleBox a span { + display:inline-block; +} +#member_skin .member_order .titleBox a span:nth-child(1) { + font-size:0.9em; + border-bottom:1px solid #333; + padding-right:4px; +} +#member_skin .member_order .titleBox a span:nth-child(2) i{ + font-size:0.9em; +} +#fregister_chkall {position:relative;text-align:center;background:#f6f6f6;line-height:50px;border:1px solid #e5e9f0;border-radius:3px;margin-bottom:15px} +.fregister_agree {position:absolute;top:0;right:0} +.fregister_agree input[type="checkbox"] + label {color:#676e70} +.fregister_agree input[type="checkbox"] + label:hover {color:#2172f8} +.fregister_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.fregister_agree input[type="checkbox"]:checked + label {color:#000} +.fregister_agree input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} +.fregister_agree.chk_all input[type="checkbox"] + label span {top:18px} +.btn_confirm { + display:flex; + justify-content:center; +} +.btn_confirm a { + display:block; + width:120px; + height:40px; + line-height:40px; + margin-right:5px; +} +.btn_confirm button { + display:block; + width:120px; + height:40px; + line-height:40px; +} +#member_skin .member_result { + width:100%; + padding:50px; + margin:50px auto; + background-color:#f6f6f6; + box-shadow:3px 3px 8px rgba(0,0,0,0.1); +} +#member_skin .member_result .titBox { + text-align:center; +} +#member_skin .member_result .titBox i { + font-size:5em; + color:#595959; +} +#member_skin .member_result .titBox p { + font-size:16px; + font-weight:500; + color:#595959; +} +#member_skin .member_result .titBox p span { + display:inline-block; +} +#member_skin .member_result .txtBox { + text-align:center; + padding-top:20px; +} +#member_skin .member_result .txtBox p, +#member_skin .member_result .txtBox span { + font-size:16px; + line-height:1.1; + letter-spacing:-0.6px; + color:#6d6d6d; +} +#member_skin .member_result .btn_confirm { + margin:40px auto 0 auto; +} +#member_skin .member_result .btn_confirm a { + width:160px; + height:45px; + line-height:45px; + background-color:#595959; + color:#fff; + text-align:center; + font-size:18px; + font-weight:500; +} +.login_skin { + margin:0 auto; +} +.login_skin .titleBox p{ + font-size:21px; + font-weight:bold; + color:#333; +} +.login_skin .frm_input { + height:55px; + font-size:14px; +} +.login_skin .box { + width:100%; +} +.login_skin #login_fs input { + padding-left:30px; +} +.login_skin .login_name { + position:relative; + display:block; +} +.login_skin #login_fs .login_name::after { + content: "\f007"; + position:absolute; + top:20px; + left:10px; + font-size:1.5em; + font-family:FontAwesome; + color:#989898; +} +.login_skin .login_pass { + position:relative; + display:block; +} +.login_skin .login_pass::after { + content: "\f023"; + position:absolute; + top:20px; + left:10px; + font-size:1.5em; + font-family:FontAwesome; + color:#989898; +} +.login_skin .auto_login { + padding:10px 0 20px 0; +} +.login_skin .auto_login .chk_box { + display:table; +} +.login_skin .auto_login .chk_box input[type="checkbox"] + label span { + margin-top:3px; +} +.login_skin .auto_login .chk_box input[type="checkbox"]:checked + label span { + background: url(./img/chk.png) no-repeat 50% 50% #333; + border-color:#333; +} +.login_skin .auto_login label { + display:table-cell; + vertical-align:middle; +} +.login_skin .auto_login .login_text { + font-size:14px; + font-weight:400; + display:inline-block; + padding-left:5px; + color:#333; +} +.login_skin .auto_login input { + display:table-cell; + vertical-align:middle; +} +.login_skin .login_submit { + width:100%; + height:45px; + line-height:45px; + font-size:1.3em; + font-weight:bold; + background-color:#333; + color:#fff; + border:none; + cursor: pointer; +} +.login_skin .login_search { + margin-top:20px; + display:flex; + justify-content:center; +} +.login_skin .login_search li { + padding-right:20px; + position:relative; +} +.login_skin .login_search li:after { + content:''; + width:1px; + height:15px; + background-color:rgb(161, 161, 161); + position:absolute; + top:3px; + left:90%; +} +.login_skin .login_search li a { + font-size:14px; + font-weight:500; + color:#333; + letter-spacing:-0.6px; +} +.login_skin .login_search li:last-child { + padding-right:0px; +} +.login_skin .login_search li:last-child::after { + display:none; +} +@media screen and (max-width:1200px) { + #member_skin .inner { + width:100%; + } + #member_skin .top_box { + padding-bottom:10px; + } + #member_skin .mem_tit { + font-size:21px; + line-height:56px; + } + #member_skin .top_box ul li { + height:56px; + line-height:56px; + } + #member_skin .top_box ul li p { + font-size:14px; + } + #member_skin .top_box .fa-angle-right { + font-size:1.3em; + line-height:45px; + } + #member_skin .member_order { + width:100%; + } +} +/* 버튼 */ +.mbskin a.btn01 {} +.mbskin a.btn01:focus, .mbskin .btn01:hover {} +.mbskin a.btn02 {} +.mbskin a.btn02:focus, .mbskin .btn02:hover {} +.mbskin .btn_confirm {} /* 서식단계 진행 */ +.mbskin .btn_submit {} +.mbskin button.btn_submit {} +.mbskin fieldset .btn_submit {} +.mbskin .btn_cancel {} +.mbskin button.btn_cancel {} +.mbskin .btn_cancel:focus, .mbskin .btn_cancel:hover {} +.mbskin a.btn_frmline, .mbskin button.btn_frmline {} /* 우편번호검색버튼 등 */ +.mbskin button.btn_frmline {} +.mbskin .win_btn {} /* 새창용 */ +.mbskin .win_btn button {} +.mbskin .win_btn input {} +.mbskin .win_btn a {} +.mbskin .win_btn a:focus, .mbskin .win_btn a:hover {} + +/* 게시판용 버튼 */ +.mbskin a.btn_b01 {} +.mbskin a.btn_b01:focus, .mbskin .btn_b01:hover {} +.mbskin a.btn_b02 {} +.mbskin a.btn_b02:focus, .mbskin .btn_b02:hover {} +.mbskin a.btn_admin {} /* 관리자 전용 버튼 */ +.mbskin a.btn_admin:focus, .mbskin a.btn_admin:hover {} + +/* 기본박스 */ +.mbskin {position:relative;margin:100px auto 0;width:360px;text-align:center} +.mbskin:after {right:10px;left:auto; + -webkit-transform:skew(8deg) rotate(3deg); + -moz-transform:skew(8deg) rotate(3deg); + -ms-transform:skew(8deg) rotate(3deg); + -o-transform:skew(8deg) rotate(3deg); + transform:skew(8deg) rotate(3deg)} +.mbskin .mbskin_box{border:1px solid #dde7e9;background:#fff} +.mbskin .frm_input {width:100%} +.mbskin .btn_submit {width:100%;margin:10px 0 0;height:45px;font-weight:bold;font-size:1.25em} +.mbskin h1 {margin:60px 0 30px;font-size:2em} + + +/* 기본테이블 */ +.mbskin .tbl_head01 {} +.mbskin .tbl_head01 caption {} +.mbskin .tbl_head01 thead th {} +.mbskin .tbl_head01 thead a {} +.mbskin .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +.mbskin .tbl_head01 tfoot th {} +.mbskin .tbl_head01 tfoot td {} +.mbskin .tbl_head01 tbody th {} +.mbskin .tbl_head01 td {} +.mbskin .tbl_head01 a {} +.mbskin td.empty_table {} + +/* 폼 테이블 */ +.mbskin table {} +.mbskin caption {} +.mbskin .frm_info {} +.mbskin .frm_file {} + +.mbskin .tbl_frm01 {} +.mbskin .tbl_frm01 th {width:85px} +.mbskin .tbl_frm01 td {} +.mbskin .tbl_frm01 textarea, .mb_skin tbl_frm01 .frm_input {} +.mbskin .tbl_frm01 textarea {} +.mbskin .tbl_frm01 a {} + +/* 필수입력 */ +.mbskin .required, .mbskin textarea.required {} + +/* 테이블 항목별 정의 */ +.mbskin .td_board {} +.mbskin .td_chk {} +.mbskin .td_date {} +.mbskin .td_datetime {} +.mbskin .td_group {} +.mbskin .td_mb_id {} +.mbskin .td_mng {} +.mbskin .td_name {} +.mbskin .td_nick {} +.mbskin .td_num {} +.mbskin .td_numbig {} + +.mbskin .txt_active {} +.mbskin .txt_expired {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ +/* 회원가입 약관 */ +.register {margin:0 auto} +.register:after {display:block;visibility:hidden;clear:both;content:""} +.register .btn_confirm .btn_submit, +.register .btn_confirm .btn_close {float:left;height:50px !important;width:49.5%;font-weight:bold;font-size:1.083em} +.register .btn_confirm {text-align:left} +.register .btn_confirm .btn_submit {margin-left:1%} + +/* #fregister p {position:relative;text-align:center;color:#fff;height:50px;line-height:50px;font-size:1.1em;background:#f2838f;margin:0 0 10px;border-radius:5px;font-weight:bold} */ +/* #fregister p:before {content:"";position:absolute;top:0;left:0;width:5px;height:50px;border-radius:5px 0 0 5px;background:#da4453} */ +#fregister p i {font-size:1.2em;vertical-align:middle} +#fregister section {margin:10px auto 15px;border:1px solid #dde7e9;position:relative;border-radius:3px} + +#fregister h2 {text-align:left;padding:20px;border-bottom:1px solid #dde7e9;font-size:1.2em} +#fregister textarea {display:block;padding:20px;width:100%;height:150px;background:#fff;border:0;line-height:1.6em} +#fregister_private {position:relative} +#fregister_private div {padding:20px;background:#fff} +#fregister_private table {width:100%;border-collapse:collapse} +#fregister_private table caption {position:absolute;font-size:0;line-height:0;overflow:hidden} +#fregister_private table th {background:#f7f7f9;width:33.33%;color:#000;padding:10px;border:1px solid #d8dbdf} +#fregister_private table td {border:1px solid #e7e9ec;padding:10px;border-top:0} + + + + + +.chk_li {padding-left:20px} + +#sns_register .login-sns, +#sns_register h2 {border:0 !important} + +/* 회원가입 입력 */ +#register_form {background:#fff;margin-bottom:20px} +#register_form h2 {padding:20px;border-bottom:1px solid #dde7e9} +.register_form_inner {background:#f7f7f7;border:1px solid #dde7e9;border-radius:3px} +.register_form_inner ul {padding:20px} +.register_form_inner label {display:block;margin-bottom:10px;line-height:24px} +.register_form_inner label.inline {display:inline} + +#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center} +#fregisterform .frm_address {margin:5px 0 0} +#fregisterform #mb_addr3 {display:inline-block;margin:5px 0 0;vertical-align:middle} +#fregisterform #mb_addr_jibeon {display:block;margin:5px 0 0} +#fregisterform .btn_confirm {text-align:center} +#fregisterform .form_01 div {margin:0 0 20px} +#fregisterform .captcha {display:block;margin:5px 0 0} +#fregisterform .reg_mb_img_file img {max-width:100%;height:auto} +#reg_mb_icon, #reg_mb_img {float:right} + +/* 회원가입 완료 */ +#reg_result {padding:40px 30px;text-align:center;background:#edf3fc;border:1px solid #d6e2f4;border-radius:5px} +#reg_result h2 {font-size:2em;margin:0 0 20px} +#reg_result h2 strong {color:#ed6478} +#reg_result #result_email {margin:20px 0;padding:10px 50px;border-top:1px solid #e9e9e9;border-bottom:1px solid #dde4e9;background:#fff;line-height:2em} +#reg_result #result_email span {display:inline-block;width:150px} +#reg_result #result_email strong {color:#e8180c;font-size:1.2em} +#reg_result p {line-height:1.8em} +#reg_result .result_txt {text-align:left} +#reg_result .btn_confirm {margin:50px 0} +#reg_result i {font-size:3em} +#reg_result .reg_result_p {font-size:1.25em;margin:0 0 10px;color:#3684fa} + +.btn_confirm_reg {margin:20px 0;text-align:center} +.reg_btn_submit {display:inline-block;background:#3a8afd;color:#fff;text-align:center;border-radius:3px;width:280px;height:57px;line-height:57px;font-size:1.2em;margin:0 auto;font-weight:bold} + +.mb_log_cate h2 {width:50%;float:left;padding:20px 0;text-align:center} +.mb_log_cate .join {width:50%;float:left;padding:20px 0;text-align:center;background:#f7f7f7;color:#6e6e6e} +.mb_log_cate:after {display:block;visibility:hidden;clear:both;content:""} + +.tooltip_icon {display:inline-block;vertical-align:baseline;color:#b3b5b8;border:0;font-size:1.4em;background:transparent;cursor:pointer} +.tooltip_icon:hover {color:#448bf5} +.tooltip {position:absolute;width:auto;color:#fff;background:#000;padding:10px;font-size:small;line-height:18px;display:none;z-index:9;font-weight:normal;margin-left:15px;margin-top:10px} +.tooltip:before {content:"";position:absolute;top:0;left:-10px;width:0;height:0;border-style:solid;border-top:0px solid transparent;border-bottom:10px solid transparent;border-left:0;border-right:10px solid #000} + + +/* 아이디/비밀번호 찾기 */ +#find_info #mb_hp_label {display:inline-block;margin-left:10px} +#find_info p {line-height:1.5em} +#find_info #mb_email {margin:10px 0} + +/* 로그인 */ + +#mb_login {} +#mb_login h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#login_fs {padding:35px} +#mb_login #login_fs .frm_input {margin:0 0 10px} +#mb_login #login_fs .btn_submit {margin:0 0 15px} + +#login_info {} +#login_info:after {display:block;visibility:hidden;clear:both;content:""} +#login_info .login_if_auto {float:left} +#login_info .login_if_auto label {vertical-align:baseline;padding-left:5px} +#login_info .login_if_lpl {float:right} +#login_password_lost {display:inline-block;border:1px solid #d5d9dd;color:#3a8afd;border-radius:2px;padding:2px 5px;line-height:20px} + +#mb_login_notmb {margin:30px auto;padding:20px 30px;border: 1px solid #dde7e9} +#mb_login_notmb h2 {font-size:1.25em;margin:20px 0 10px} +#guest_privacy {border:1px solid #ccc;text-align:left;line-height:1.6em;color:#666;background:#fafafa;padding:10px;height:150px;margin:10px 0;overflow-y:auto} +#mb_login_notmb .btn_submit {display:block;text-align:center;line-height:45px} + +#mb_login_od_wr {margin:30px auto;padding:20px 30px;border: 1px solid #dde7e9} +#mb_login_od_wr h2 {font-size:1.25em;margin:20px 0 10px} +#mb_login_od_wr .frm_input {margin:10px 0 0} +#mb_login_od_wr p {background:#f3f3f3;margin:20px 0 0;padding:15px 20px;line-height:1.5em} + +#mb_login #sns_login {margin-top:0;border-color:#edeaea;padding:25px} +#mb_login #sns_login:after {display:block;visibility:hidden;clear:both;content:""} +#mb_login #sns_login h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#mb_login #sns_login .sns-wrap {margin:0 !important} +#mb_login #sns_login .sns-icon {width:49% !important;float:left !important} +#mb_login #sns_login .sns-icon:nth-child(odd) {margin-right:2%} +#mb_login #sns_login .txt {font-size:0.95em;padding-left:5px !important;border-left:0 !important} + +/* 쪽지 */ +.memo_list {border-top:1px solid #ececec} +.memo_list li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative} +.memo_list li:after {display:block;visibility:hidden;clear:both;content:""} +.memo_list li.read {background:#f6f6f6} +.memo_list li.empty_li {text-align:center;padding:20px 0;color:#666} + +.memo_list .memo_li {float:left} +.memo_list .profile_big_img {position:relative;margin-right:15px} +.memo_list .profile_big_img img {border-radius:50%;width:52px;height:52px} +.memo_list .memo_li.memo_name {padding-top:5px;float:none} +.memo_list .memo_preview a{display:block;margin-right:30px;padding-top:10px;font-weight:normal !important;font-size:1.2em} +.memo_list .memo_preview a:hover{text-decoration:underline} +.memo_list .memo_name a, +.memo_list .memo_name .sv_wrap {font-weight:bold} +.memo_list .no_read {position:absolute;bottom:0;right:0;display:inline-block;background:#3a8afd;border:1px solid #e1edff;text-indent:-9999px;border-radius:10px;width:10px;height:10px;box-shadow:0 0 10px 3px #9ec3f9} +.memo_list .no_read {animation:blinker 1s linear infinite} + +@keyframes blinker { + 50% {opacity:0} + } + +#memo_list h1#win_title {padding:10px 10px 10px 20px} +#memo_list .memo_datetime {font-size:0.92em;color:#888d92} +#memo_list .memo_del {position:absolute;right:15px;top:15px;padding:10px;color:#c7c9cb;font-size:1.4em} +#memo_list .memo_cnt {margin-top:5px;font-weight:normal;display:inline-block;font-size:1.2em} +#memo_list .pg_wrap {margin-top:10px;width:100%;float:inherit;text-align:center} + +#memo_view_contents {margin-bottom:20px;border-top:1px solid #ececec;border-bottom:1px solid #ececec} +#memo_view_contents h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#memo_view_ul {margin:0;list-style:none;background:#f6f6f6} +#memo_view_ul:after {display:block;visibility:hidden;clear:both;content:""} +.memo_view_li {position:relative;/*padding:10px;float:left;width:50%*/} + +.memo_view_li .profile_img img {display:none} +.memo_from {position:relative;background:#fff;border-bottom:1px solid #ececec;padding:15px 20px} +.memo_from li {float:left} +.memo_from li.memo_profile img {width:40px;height:40px;border-radius:50%} +.memo_from li:first-child {margin-right:10px} +.memo_from li.memo_view_nick {width:80%} +.memo_from li.memo_view_nick a {font-weight:bold !important} +.memo_from li.memo_view_date {display:block;color:#555;line-height:24px} +.memo_from li.memo_op_btn {position:absolute} +.memo_from li.list_btn {right:53px;} +.memo_from li.del_btn {right:15px;padding} +.memo_from:after {display:block;visibility:hidden;clear:both;content:""} + +.memo_btn {width:100%} +.memo_btn a {display:inline-block;width:50%;font-size:1em;color:#888d92;padding:20px} +.memo_btn a.btn_right {float:right;text-align:right} +.memo_btn a i {font-size:1.2em;color:#acabab;vertical-align:bottom} + +#memo_view p {padding:10px;min-height:150px;height:auto !important;height:150px;background:#fff;line-height:1.8em} +#memo_view textarea {height:100px} + +#memo_write .form_01 {padding:20px;border-top:1px solid #ececec} + +.reply_btn {display:inline-block;width:150px;height:45px;line-height:50px;padding:0 10px;font-weight:bold;background:#3a8afd;color:#fff;border-radius:3px;vertical-align:bottom;margin-right:5px} +#memo_write .reply_btn {font-size:1em} + +/* 스크랩 */ +#scrap li:after {display:block;visibility:hidden;clear:both;content:""} +#scrap li {position:relative;padding:20px;border-bottom:1px solid #ececec} +#scrap .scrap_tit {font-weight:bold;display:block;font-size:1.083em;margin-bottom:10px;line-height:1.3em} +#scrap .scrap_cate {float:left;display:block;color:#ac92ec;background:#eeeaf8;padding:3px;border-radius:3px;font-size:0.92em;margin-right:10px} +#scrap .scrap_datetime {color:#777;line-height:18px} +#scrap .scrap_del {position:absolute;top:15px;right:15px;font-size:18px;color:#c7c9cb} +#scrap .scrap_del:hover {color:#3a8afd} + +#scrap_do .new_win_con {padding:0 20px} +#scrap_do textarea {width:100%;height:100px} +#scrap_do .scrap_tit {margin-bottom:10px;background:#f3f3f3;padding:10px 15px;font-size:1.2em;font-weight:bold} +#scrap_do label {display:block;margin:0 0 5px;font-size:1em} +#scrap_do .win_btn:after {display:block;visibility:hidden;clear:both;content:""} +#scrap .win_btn, #scrap_do .win_btn {margin:20px 0;text-align:center} +#scrap_do .win_btn .btn_submit {float:inherit} +#scrap_do .win_desc {margin:0 20px} + +/*포인트*/ +#point {text-align:center} +#point h1 {text-align:left} +#point .point_all {margin:20px 20px 15px;border-radius:5px;background:#edf3fc;border:1px solid #d6e2f4;color:#485172;font-size:1.083em} +#point .point_all:after {display:block;visibility:hidden;clear:both;content:""} +#point .point_all li {float:left;width:50%;padding:20px;text-align:left} +#point .point_all li span {float:right;color:#485172;font-weight:bold} +#point .point_all li:last-child {border-left:1px solid #d6e2f4} +#point .point_all .full_li {width:100%;border-bottom:1px solid #d6e2f4;text-align:left} +#point .point_all .full_li span {color:#000;font-weight:bold;font-size:1.2em} +#point .point_status{background:#737373;border:0;color:#fff;font-weight:bold;font-size:1.083em;text-align:left} +#point .point_status:after {display:block;visibility:hidden;clear:both;content:""} +#point .point_status span{margin-left:10px;float:right} + +.point_list {} +.point_list li:first-child {border-top:1px solid #ececec} +.point_list li {border-bottom:1px solid #ececec;background:#fff;padding:15px;list-style:none;position:relative} +.point_list li:after {display:block;visibility:hidden;clear:both;content:""} + +.point_list .point_use {background:#f6f6f6} +.point_list .point_use .point_num {font-size:1.25em;color:#ff4f76;font-weight:bold;float:right} +.point_list .point_num {font-size:1.25em;color:#3a8afd;font-weight:bold;position:absolute;right:15px;top:25px} +.point_list .point_top {line-height:15px;margin:0 0 5px} +.point_list .point_top:after {display:block;visibility:hidden;clear:both;content:""} +.point_list .point_tit {font-weight:bold;float:left;font-size:1.083em;display:block} +.point_list .point_date1 {float:left;color:#888d92} +.point_list .point_date {float:left;color:#888d92} +.point_list .txt_expired {color:red;margin-left:5px} + +#point .pg_wrap {width:100%;float:inherit;text-align:center} +#point .btn_close {margin:20px auto} + +/* 회원 비밀번호 확인 */ +#mb_confirm {} +#mb_confirm h1 {margin:60px 0 30px;font-size:2em} +#mb_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565} +#mb_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px} +#mb_confirm fieldset {;padding:50px;text-align:left} +#mb_confirm fieldset .frm_input {background-color:#fff !important} +#mb_confirm label {letter-spacing:-0.1em} +#mb_confirm_id {display:block;margin:5px 0 10px;font-weight:bold} +#mb_confirm .confirm_id {font-size:0.92em;color:#666} + +/* 비밀글 비밀번호 확인 */ +#pw_confirm h1 {margin:60px 20px 30px;font-size:2em} +#pw_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565} +#pw_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px} +#pw_confirm fieldset {padding:50px;text-align:center} +#pw_confirm fieldset .frm_input {background-color:#fff !important} +#pw_confirm label {letter-spacing:-0.1em} +#pw_confirm_id {display:inline-block;margin-right:20px;font-weight:bold} +#mb_confirm_id {} + +/* 폼메일 */ +#formmail textarea {height:100px} +#formmail .formmail_flie {position:relative} +#formmail .formmail_flie .file_wr {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#formmail .lb_icon {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#fff;text-align:center;color:#b2b2b2} +#formmail .frm_file {padding-left:50px} +#formmail .frm_info {color:#3497d9;font-size:0.92em} +.chk_box {position:relative} +.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70} +.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#f7f8f9;border:1px solid #cdd6df;border-radius:50%} +.chk_box input[type="radio"]:checked + label {color:#3a8afd} +.chk_box input[type="radio"]:checked + label span {border-color:#3a8afd} +.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:#3a8afd;content:'';position:absolute;top:3px;left:3px;border-radius:50%} +.chk_box input[type="checkbox"] + label {position:relative;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} + + +/* 자기소개 */ +#profile h1 a {} +#profile table {margin-bottom:0} +#profile table th {text-align:left;padding:10px;width:100px} +#profile section {color:#6794d3;background:#fff;padding:10px;border:1px solid #eee;margin:10px 0} +#profile h2 {margin:0 0 5px} +#profile .profile_name {text-align:center;font-weight:bold} +#profile .my_profile_img {display:block;margin:20px 0 5px} +#profile .my_profile_img img {border-radius:50%} +#profile .profile_img img {border-radius:50%} +#profile .profile_name .sv_wrap {font-weight:bold;text-align:left} \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/member/register_ b/web/html/theme/FT_WEB20/skin/member/register_ new file mode 100644 index 0000000..e69de29 diff --git a/web/html/theme/FT_WEB20/skin/member/register_standard.php b/web/html/theme/FT_WEB20/skin/member/register_standard.php new file mode 100644 index 0000000..f471b66 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/member/register_standard.php @@ -0,0 +1,207 @@ + +전자상거래(인터넷사이버몰) 표준약관 + + +표준약관 제10023호 +(2015. 6. 26. 개정) + + + + + +제2조(정의) + + + + + +제3조 (약관 등의 명시와 설명 및 개정) + + + + + + + +제4조(서비스의 제공 및 변경) + + ① “몰”은 다음과 같은 업무를 수행합니다. + + 1. 재화 또는 용역에 대한 정보 제공 및 구매계약의 체결 + 2. 구매계약이 체결된 재화 또는 용역의 배송 + 3. 기타 “몰”이 정하는 업무 + + + + +제5조(서비스의 중단) + + + + +제6조(회원가입) + + + + 2. 등록 내용에 허위, 기재누락, 오기가 있는 경우 + + ③ 회원가입계약의 성립 시기는 “몰”의 승낙이 회원에게 도달한 시점으로 합니다. + + +제7조(회원 탈퇴 및 자격 상실 등) + + + + 1. 가입 신청 시에 허위 내용을 등록한 경우 + + + +제8조(회원에 대한 통지) + + + +제9조(구매신청 및 개인정보 제공 동의 등) + + 1. 재화 등의 검색 및 선택 + 4. 이 약관에 동의하고 위 3.호의 사항을 확인하거나 거부하는 표시 + (예, 마우스 클릭) + 5. 재화등의 구매신청 및 이에 관한 확인 또는 “몰”의 확인에 대한 동의 + 6. 결제방법의 선택 + + + + + +제10조 (계약의 성립) + + + 1. 신청 내용에 허위, 기재누락, 오기가 있는 경우 + + + ③ “몰”의 승낙의 의사표시에는 이용자의 구매 신청에 대한 확인 및 판매가능 여부, 구매신청의 정정 취소 등에 관한 정보 등을 포함하여야 합니다. + +제11조(지급방법) “몰”에서 구매한 재화 또는 용역에 대한 대금지급방법은 다음 각 호의 방법중 가용한 방법으로 할 수 있습니다. 단, “몰”은 이용자의 지급방법에 대하여 재화 등의 대금에 어떠한 명목의 수수료도 추가하여 징수할 수 없습니다. + + 1. 폰뱅킹, 인터넷뱅킹, 메일 뱅킹 등의 각종 계좌이체 + 2. 선불카드, 직불카드, 신용카드 등의 각종 카드 결제 + 3. 온라인무통장입금 + 4. 전자화폐에 의한 결제 + 5. 수령 시 대금지급 + 6. 마일리지 등 “몰”이 지급한 포인트에 의한 결제 + 7. “몰”과 계약을 맺었거나 “몰”이 인정한 상품권에 의한 결제 + 8. 기타 전자적 지급 방법에 의한 대금 지급 등 + +제12조(수신확인통지․구매신청 변경 및 취소) + + ① “몰”은 이용자의 구매신청이 있는 경우 이용자에게 수신확인통지를 합니다. + + ② 수신확인통지를 받은 이용자는 의사표시의 불일치 등이 있는 경우에는 수신확인통지를 받은 후 즉시 구매신청 변경 및 취소를 요청할 수 있고 “몰”은 배송 전에 이용자의 요청이 있는 경우에는 지체 없이 그 요청에 따라 처리하여야 합니다. 다만 이미 대금을 지불한 경우에는 제15조의 청약철회 등에 관한 규정에 따릅니다. + +제13조(재화 등의 공급) + + ① “몰”은 이용자와 재화 등의 공급시기에 관하여 별도의 약정이 없는 이상, 이용자가 청약을 한 날부터 7일 이내에 재화 등을 배송할 수 있도록 주문제작, 포장 등 기타의 필요한 조치를 취합니다. 다만, “몰”이 이미 재화 등의 대금의 전부 또는 일부를 받은 경우에는 대금의 전부 또는 일부를 받은 날부터 3영업일 이내에 조치를 취합니다. 이때 “몰”은 이용자가 재화 등의 공급 절차 및 진행 사항을 확인할 수 있도록 적절한 조치를 합니다. + + ② “몰”은 이용자가 구매한 재화에 대해 배송수단, 수단별 배송비용 부담자, 수단별 배송기간 등을 명시합니다. 만약 “몰”이 약정 배송기간을 초과한 경우에는 그로 인한 이용자의 손해를 배상하여야 합니다. 다만 “몰”이 고의․과실이 없음을 입증한 경우에는 그러하지 아니합니다. + +제14조(환급) “몰”은 이용자가 구매신청한 재화 등이 품절 등의 사유로 인도 또는 제공을 할 수 없을 때에는 지체 없이 그 사유를 이용자에게 통지하고 사전에 재화 등의 대금을 받은 경우에는 대금을 받은 날부터 3영업일 이내에 환급하거나 환급에 필요한 조치를 취합니다. + +제15조(청약철회 등) + + ① “몰”과 재화등의 구매에 관한 계약을 체결한 이용자는 「전자상거래 등에서의 소비자보호에 관한 법률」 제13조 제2항에 따른 계약내용에 관한 서면을 받은 날(그 서면을 받은 때보다 재화 등의 공급이 늦게 이루어진 경우에는 재화 등을 공급받거나 재화 등의 공급이 시작된 날을 말합니다)부터 7일 이내에는 청약의 철회를 할 수 있습니다. 다만, 청약철회에 관하여 「전자상거래 등에서의 소비자보호에 관한 법률」에 달리 정함이 있는 경우에는 동 법 규정에 따릅니다. + + ② 이용자는 재화 등을 배송 받은 경우 다음 각 호의 1에 해당하는 경우에는 반품 및 교환을 할 수 없습니다. + + 1. 이용자에게 책임 있는 사유로 재화 등이 멸실 또는 훼손된 경우(다만, 재화 등의 내용을 확인하기 위하여 포장 등을 훼손한 경우에는 청약철회를 할 수 있습니다) + 2. 이용자의 사용 또는 일부 소비에 의하여 재화 등의 가치가 현저히 감소한 경우 + 3. 시간의 경과에 의하여 재판매가 곤란할 정도로 재화등의 가치가 현저히 감소한 경우 + 4. 같은 성능을 지닌 재화 등으로 복제가 가능한 경우 그 원본인 재화 등의 포장을 훼손한 경우 + + ③ 제2항제2호 내지 제4호의 경우에 “몰”이 사전에 청약철회 등이 제한되는 사실을 소비자가 쉽게 알 수 있는 곳에 명기하거나 시용상품을 제공하는 등의 조치를 하지 않았다면 이용자의 청약철회 등이 제한되지 않습니다. + + ④ 이용자는 제1항 및 제2항의 규정에 불구하고 재화 등의 내용이 표시·광고 내용과 다르거나 계약내용과 다르게 이행된 때에는 당해 재화 등을 공급받은 날부터 3월 이내, 그 사실을 안 날 또는 알 수 있었던 날부터 30일 이내에 청약철회 등을 할 수 있습니다. + +제16조(청약철회 등의 효과) + + ① “몰”은 이용자로부터 재화 등을 반환받은 경우 3영업일 이내에 이미 지급받은 재화 등의 대금을 환급합니다. 이 경우 “몰”이 이용자에게 재화등의 환급을 지연한때에는 그 지연기간에 대하여 「전자상거래 등에서의 소비자보호에 관한 법률 시행령」제21조의2에서 정하는 지연이자율을 곱하여 산정한 지연이자를 지급합니다. + + ② “몰”은 위 대금을 환급함에 있어서 이용자가 신용카드 또는 전자화폐 등의 결제수단으로 재화 등의 대금을 지급한 때에는 지체 없이 당해 결제수단을 제공한 사업자로 하여금 재화 등의 대금의 청구를 정지 또는 취소하도록 요청합니다. + + ③ 청약철회 등의 경우 공급받은 재화 등의 반환에 필요한 비용은 이용자가 부담합니다. “몰”은 이용자에게 청약철회 등을 이유로 위약금 또는 손해배상을 청구하지 않습니다. 다만 재화 등의 내용이 표시·광고 내용과 다르거나 계약내용과 다르게 이행되어 청약철회 등을 하는 경우 재화 등의 반환에 필요한 비용은 “몰”이 부담합니다. + + ④ 이용자가 재화 등을 제공받을 때 발송비를 부담한 경우에 “몰”은 청약철회 시 그 비용을 누가 부담하는지를 이용자가 알기 쉽도록 명확하게 표시합니다. + +제17조(개인정보보호) + + ① “몰”은 이용자의 개인정보 수집시 서비스제공을 위하여 필요한 범위에서 최소한의 개인정보를 수집합니다. + + ② “몰”은 회원가입시 구매계약이행에 필요한 정보를 미리 수집하지 않습니다. 다만, 관련 법령상 의무이행을 위하여 구매계약 이전에 본인확인이 필요한 경우로서 최소한의 특정 개인정보를 수집하는 경우에는 그러하지 아니합니다. + + ③ “몰”은 이용자의 개인정보를 수집·이용하는 때에는 당해 이용자에게 그 목적을 고지하고 동의를 받습니다. + + ④ “몰”은 수집된 개인정보를 목적외의 용도로 이용할 수 없으며, 새로운 이용목적이 발생한 경우 또는 제3자에게 제공하는 경우에는 이용·제공단계에서 당해 이용자에게 그 목적을 고지하고 동의를 받습니다. 다만, 관련 법령에 달리 정함이 있는 경우에는 예외로 합니다. + + ⑤ “몰”이 제2항과 제3항에 의해 이용자의 동의를 받아야 하는 경우에는 개인정보관리 책임자의 신원(소속, 성명 및 전화번호, 기타 연락처), 정보의 수집목적 및 이용목적, 제3자에 대한 정보제공 관련사항(제공받은자, 제공목적 및 제공할 정보의 내용) 등 「정보통신망 이용촉진 및 정보보호 등에 관한 법률」 제22조제2항이 규정한 사항을 미리 명시하거나 고지해야 하며 이용자는 언제든지 이 동의를 철회할 수 있습니다. + + ⑥ 이용자는 언제든지 “몰”이 가지고 있는 자신의 개인정보에 대해 열람 및 오류정정을 요구할 수 있으며 “몰”은 이에 대해 지체 없이 필요한 조치를 취할 의무를 집니다. 이용자가 오류의 정정을 요구한 경우에는 “몰”은 그 오류를 정정할 때까지 당해 개인정보를 이용하지 않습니다. + + ⑦ “몰”은 개인정보 보호를 위하여 이용자의 개인정보를 취급하는 자를 최소한으로 제한하여야 하며 신용카드, 은행계좌 등을 포함한 이용자의 개인정보의 분실, 도난, 유출, 동의 없는 제3자 제공, 변조 등으로 인한 이용자의 손해에 대하여 모든 책임을 집니다. + + ⑧ “몰” 또는 그로부터 개인정보를 제공받은 제3자는 개인정보의 수집목적 또는 제공받은 목적을 달성한 때에는 당해 개인정보를 지체 없이 파기합니다. + + ⑨ “몰”은 개인정보의 수집·이용·제공에 관한 동의 란을 미리 선택한 것으로 설정해두지 않습니다. 또한 개인정보의 수집·이용·제공에 관한 이용자의 동의거절시 제한되는 서비스를 구체적으로 명시하고, 필수수집항목이 아닌 개인정보의 수집·이용·제공에 관한 이용자의 동의 거절을 이유로 회원가입 등 서비스 제공을 제한하거나 거절하지 않습니다. + +제18조(“몰“의 의무) + + ① “몰”은 법령과 이 약관이 금지하거나 공서양속에 반하는 행위를 하지 않으며 이 약관이 정하는 바에 따라 지속적이고, 안정적으로 재화․용역을 제공하는데 최선을 다하여야 합니다. + + ② “몰”은 이용자가 안전하게 인터넷 서비스를 이용할 수 있도록 이용자의 개인정보(신용정보 포함)보호를 위한 보안 시스템을 갖추어야 합니다. + + ③ “몰”이 상품이나 용역에 대하여 「표시․광고의 공정화에 관한 법률」 제3조 소정의 부당한 표시․광고행위를 함으로써 이용자가 손해를 입은 때에는 이를 배상할 책임을 집니다. + + ④ “몰”은 이용자가 원하지 않는 영리목적의 광고성 전자우편을 발송하지 않습니다. + +제19조(회원의 ID 및 비밀번호에 대한 의무) + + ① 제17조의 경우를 제외한 ID와 비밀번호에 관한 관리책임은 회원에게 있습니다. + + ② 회원은 자신의 ID 및 비밀번호를 제3자에게 이용하게 해서는 안됩니다. + + ③ 회원이 자신의 ID 및 비밀번호를 도난당하거나 제3자가 사용하고 있음을 인지한 경우에는 바로 “몰”에 통보하고 “몰”의 안내가 있는 경우에는 그에 따라야 합니다. + +제20조(이용자의 의무) 이용자는 다음 행위를 하여서는 안 됩니다. + + 1. 신청 또는 변경시 허위 내용의 등록 + 2. 타인의 정보 도용 + 3. “몰”에 게시된 정보의 변경 + 4. “몰”이 정한 정보 이외의 정보(컴퓨터 프로그램 등) 등의 송신 또는 게시 + 5. “몰” 기타 제3자의 저작권 등 지적재산권에 대한 침해 + 6. “몰” 기타 제3자의 명예를 손상시키거나 업무를 방해하는 행위 + 7. 외설 또는 폭력적인 메시지, 화상, 음성, 기타 공서양속에 반하는 정보를 몰에 공개 또는 게시하는 행위 + +제21조(연결“몰”과 피연결“몰” 간의 관계) + + ① 상위 “몰”과 하위 “몰”이 하이퍼링크(예: 하이퍼링크의 대상에는 문자, 그림 및 동화상 등이 포함됨)방식 등으로 연결된 경우, 전자를 연결 “몰”(웹 사이트)이라고 하고 후자를 피연결 “몰”(웹사이트)이라고 합니다. + + ② 연결“몰”은 피연결“몰”이 독자적으로 제공하는 재화 등에 의하여 이용자와 행하는 거래에 대해서 보증 책임을 지지 않는다는 뜻을 연결“몰”의 초기화면 또는 연결되는 시점의 팝업화면으로 명시한 경우에는 그 거래에 대한 보증 책임을 지지 않습니다. + +제22조(저작권의 귀속 및 이용제한) + + ① “몰“이 작성한 저작물에 대한 저작권 기타 지적재산권은 ”몰“에 귀속합니다. + + ② 이용자는 “몰”을 이용함으로써 얻은 정보 중 “몰”에게 지적재산권이 귀속된 정보를 “몰”의 사전 승낙 없이 복제, 송신, 출판, 배포, 방송 기타 방법에 의하여 영리목적으로 이용하거나 제3자에게 이용하게 하여서는 안됩니다. + + ③ “몰”은 약정에 따라 이용자에게 귀속된 저작권을 사용하는 경우 당해 이용자에게 통보하여야 합니다. + +제23조(분쟁해결) + + ① “몰”은 이용자가 제기하는 정당한 의견이나 불만을 반영하고 그 피해를 보상처리하기 위하여 피해보상처리기구를 설치․운영합니다. + + ② “몰”은 이용자로부터 제출되는 불만사항 및 의견은 우선적으로 그 사항을 처리합니다. 다만, 신속한 처리가 곤란한 경우에는 이용자에게 그 사유와 처리일정을 즉시 통보해 드립니다. + + ③ “몰”과 이용자 간에 발생한 전자상거래 분쟁과 관련하여 이용자의 피해구제신청이 있는 경우에는 공정거래위원회 또는 시·도지사가 의뢰하는 분쟁조정기관의 조정에 따를 수 있습니다. + +제24조(재판권 및 준거법) + + ① “몰”과 이용자 간에 발생한 전자상거래 분쟁에 관한 소송은 제소 당시의 이용자의 주소에 의하고, 주소가 없는 경우에는 거소를 관할하는 지방법원의 전속관할로 합니다. 다만, 제소 당시 이용자의 주소 또는 거소가 분명하지 않거나 외국 거주자의 경우에는 민사소송법상의 관할법원에 제기합니다. + + ② “몰”과 이용자 간에 제기된 전자상거래 소송에는 한국법을 적용합니다. diff --git a/web/html/theme/FT_WEB20/skin/new/basic/new.skin.php b/web/html/theme/FT_WEB20/skin/new/basic/new.skin.php new file mode 100644 index 0000000..d2afd24 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/new/basic/new.skin.php @@ -0,0 +1,155 @@ +', 0); +?> + + +
                                                                                                                      + 상세검색 +
                                                                                                                      + + + + + + +

                                                                                                                      회원 아이디만 검색 가능

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + + +
                                                                                                                      + + + + + + + + + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
                                                                                                                      + + + 그룹게시판제목이름일시
                                                                                                                      + + + + +
                                                                                                                      게시물이 없습니다.
                                                                                                                      +
                                                                                                                      + + + + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/new/basic/style.css b/web/html/theme/FT_WEB20/skin/new/basic/style.css new file mode 100644 index 0000000..5304fe7 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/new/basic/style.css @@ -0,0 +1,23 @@ +@charset "utf-8"; + +/* 최근게시물 스킨 (new) */ +#new_sch {background:#f7f7f7;padding:30px;text-align:center;margin:0 0 10px} +#new_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#new_sch select {border:1px solid #d0d3db;width:175px;height:45px;padding:0 5px;border-radius:3px} +#new_sch .frm_input {border:1px solid #d0d3db;width:300px;height:45px;border-radius:0;border-radius:3px} +#new_sch .sch_wr {position:relative;display:inline-block} +#new_sch .btn_submit {padding:0 10px;height:45px;width:88px;font-size:1.083em;font-weight:bold;color:#fff;background:#434a54} +#new_sch p {padding:10px 0 0;font-size:0.95em;text-align:center;letter-spacing:-0.1em} + +#fnewlist .profile_img img {border-radius:50%} +#fnewlist .td_group a {background:#edfbde;color:#8cc152;padding:3px 4px;border-radius:5px;font-weight:normal} +#fnewlist .td_board a {background:#eeeaf8;color:#ac92ec;padding:3px 4px;border-radius:5px;font-weight:normal} + +.admin_new_btn {float:right;margin-bottom:10px} + +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box input[type="checkbox"] + label {position:relative;padding-left:20px;color:#676e70} +.chk_box input[type="checkbox"] + label:hover {color:#2172f8} +.chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(../../../img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} diff --git a/web/html/theme/FT_WEB20/skin/outlogin/basic/img/chk.png b/web/html/theme/FT_WEB20/skin/outlogin/basic/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/outlogin/basic/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/outlogin/basic/img/info_edit.png b/web/html/theme/FT_WEB20/skin/outlogin/basic/img/info_edit.png new file mode 100644 index 0000000..ce5eae3 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/outlogin/basic/img/info_edit.png differ diff --git a/web/html/theme/FT_WEB20/skin/outlogin/basic/outlogin.skin.1.php b/web/html/theme/FT_WEB20/skin/outlogin/basic/outlogin.skin.1.php new file mode 100644 index 0000000..3e38cc8 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/outlogin/basic/outlogin.skin.1.php @@ -0,0 +1,69 @@ +', 0); +?> + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      회원로그인

                                                                                                                      + 회원가입 +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + + + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + diff --git a/web/html/theme/FT_WEB20/skin/outlogin/basic/outlogin.skin.2.php b/web/html/theme/FT_WEB20/skin/outlogin/basic/outlogin.skin.2.php new file mode 100644 index 0000000..a932044 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/outlogin/basic/outlogin.skin.2.php @@ -0,0 +1,52 @@ +', 0); +?> + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      나의 회원정보

                                                                                                                      + + + + + 정보수정 + 관리자 +
                                                                                                                      + + +
                                                                                                                      + + + diff --git a/web/html/theme/FT_WEB20/skin/outlogin/basic/style.css b/web/html/theme/FT_WEB20/skin/outlogin/basic/style.css new file mode 100644 index 0000000..f233abd --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/outlogin/basic/style.css @@ -0,0 +1,64 @@ +@charset "utf-8"; + +/* 아웃로그인 스킨 */ +.ol {position:relative;border:1px solid #dde7e9;margin-bottom:15px;border-radius:3px} +.ol h2 {width:117px;float:left;padding:15px 0;text-align:center} +.ol .join {width:116px;float:left;padding:15px 0;text-align:center;background:#f7f7f7;color:#6e6e6e} +.ol #ol_be_cate:after {display:block;visibility:hidden;clear:both;content:""} +.ol form {padding:20px} +.ol a.btn_admin {display:inline-block;padding:0 10px;height:25px;text-decoration:none;line-height:25px;vertical-align:middle} /* 관리자 전용 버튼 */ +.ol a.btn_admin:focus, .ol a.btn_admin:hover {text-decoration:none} +.ol .login-sns{padding-bottom:0px} + +#ol_before {} +#ol_before:after {display:block;visibility:hidden;clear:both;content:""} +#ol_before .ol_wr {position:relative;margin-bottom:5px} +#ol_id {display:block;width:100%;border:1px solid #d0d3db;padding:0 10px;height:35px;margin-bottom:5px;border-radius:3px} +#ol_pw {display:block;width:100%;border:1px solid #d0d3db;padding:0 10px;height:35px;margin-bottom:5px;border-radius:3px} +#ol_submit {width:100%;height:35px;background:#3a8afd;border-left:1px solid #ccc;color:#fff;font-weight:bold;font-size:1.167em;border-radius:3px} +#ol_svc {float:right;line-height:20px} +#ol_svc a {display:inline-block;border:1px solid #d5d9dd;color:#3a8afd;border-radius:2px;padding:2px 5px} +#ol_auto {float:left;line-height:20px;margin-top:5px} +#ol_auto label {color:#555;vertical-align:baseline} +#ol_auto input {width:13px;height:13px} +.ol_auto_wr:after {display:block;visibility:hidden;clear:both;content:""} +#sns_login {margin-top:0 !important;border-top:0 !important} +#sns_login h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#ol_after {} +#ol_after_hd {position:relative;padding:10px;padding-left:80px;height:80px} +#ol_after_hd strong {display:block;margin:5px 0 10px} +#ol_after_hd .profile_img {position:absolute;top:15px;left:15px;display:inline-block} +#ol_after_hd .profile_img img {border:1px solid #bbb;border-radius:50%;width:50px;height:50px} +#ol_after_hd .profile_img a {text-align:center;font-size:17px;width:30px;line-height:30px;color:#777} +#ol_after_info {display:inline-block;height:28px;line-height:22px;border:1px solid #d5d9dd;color:#3a8afd;border-radius:2px;padding:2px 5px} +#ol_after h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} +#ol_after_hd .btn_admin {border-radius:3px;height:28px;line-height:28px;vertical-align:baseline} +#ol_after_hd .btn_b04 {line-height:23px;padding:0 5px} +#ol_after_private {zoom:1} +#ol_after_private:after {display:block;visibility:hidden;clear:both;content:""} +#ol_after_private li {text-align:left;position:relative;text-align:left} +#ol_after_private li:first-child a {border-left:0} +#ol_after_private a {display:block;color:#465168;line-height:18px;padding:10px 10px 10px 20px} +#ol_after_private a strong {display:inline-block;float:right;max-width:87px;overflow:hidden;white-space:nowrap;text-overflow:clip;color:#3a8afd;padding:0 5px;border-radius:15px;font-size:0.92em} +#ol_after_private a:hover strong {background:#4b8bff} +#ol_after_private li a:hover {color:#4b8bff;background:#f7f7f7} +#ol_after_private li a:hover:after {position:absolute;left:-1px;top:0;width:2px;height:38px;background:#3a8afd;content:""} +#ol_after_private li i {width:25px;color:#8c9eb0;margin-right:5px} +#ol_after_private li:hover i {color:#3a8afd} +#ol_after_private .win_point:hover strong {background:#37bc9b;color:#fff} +#ol_after_private .win_memo:hover strong {background:#8cc152;color:#fff} +#ol_after_private .win_scrap:hover strong {background:#ff8b77;color:#fff} + +#ol_after_logout {text-align:center;font-weight:bold;display:block;padding:15px 0;color:#a0a0a1;border-top:1px solid #dde7e9} +#ol_after_logout:hover {color:#3c8bfd} +#ol_after_memo {margin-right:1px} +#ol_after_pt {margin-right:1px} + +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {padding-left:20px;color:#676e70} +.chk_box input[type="checkbox"] + label:hover{color:#2172f8} +.chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} diff --git a/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/img/chk.png b/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/outlogin.skin.1.php b/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/outlogin.skin.1.php new file mode 100644 index 0000000..b229594 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/outlogin.skin.1.php @@ -0,0 +1,55 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      회원로그인

                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + + + +
                                                                                                                      + + +
                                                                                                                      + + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + diff --git a/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/outlogin.skin.2.php b/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/outlogin.skin.2.php new file mode 100644 index 0000000..36bf6b2 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/outlogin.skin.2.php @@ -0,0 +1,43 @@ +', 0); +?> + + + + + +
                                                                                                                      +

                                                                                                                      회원정보

                                                                                                                      + + +
                                                                                                                      + + + diff --git a/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/style.css b/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/style.css new file mode 100644 index 0000000..05f59e4 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/outlogin/shop_basic/style.css @@ -0,0 +1,44 @@ +@charset "utf-8"; + +/* 아웃로그인 스킨 */ +.ol {position:relative} +.ol h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} + +.ol a.btn_admin {display:inline-block;padding:0 10px;height:25px;background:#d13f4a;color:#fff;text-decoration:none;line-height:25px;vertical-align:middle} /* 관리자 전용 버튼 */ +.ol a.btn_admin:focus, .ol a.btn_admin:hover {text-decoration:none} + +#ol_before {} +#ol_before fieldset {position:relative} +#ol_id {display:block;width:100%;margin:5px 0 10px} +.ol_idlabel {color:#333} +#ol_pw {display:block;width:100%;margin:5px 0} +.ol_pwlabel {color:#333} +#auto_login {} +#auto_login_label {letter-spacing:-0.1em} +#ol_submit {width:100%;height:40px;border:0;border-radius:3px;color:#fff;font-weight:bold} +#ol_before a {letter-spacing:-0.15em} +#ol_svc {text-align:center;margin:10px 0 0} +#ol_svc a {display:inline-block;color:#333;margin:0 5px} +#ol_auto {position:relative;margin:5px 0;font-size:0.92em;color:#555} +#ol_auto label {letter-spacing:-0.1em} +#ol_auto input {width:13px;height:13px;vertical-align:bottom} + +.btn_member_mn {min-width:150px;padding:5px 0;border:0;background:transparent;color:#fff;text-align:center} +.btn_member_mn .profile_img {display:inline-block;margin-right:5px} +.btn_member_mn .profile_img img {border-radius:50%} +.btn_member_mn .profile_name {display:inline-block;max-width:70px;line-height:34px;vertical-align: bottom;text-overflow:ellipsis;overflow:hidden;white-space:nowrap} +.btn_member_mn i {display:inline-block;margin-left:5px;font-size:1.2em;font-weight:bold} +.btn_member_mn_on {background:#fff;color:#000;border:1px solid #d0d0d0;border-bottom:0} +.member_mn {display:none;position:absolute;left:0;width:150px;background:#fff;z-index:99;border:1px solid #d0d0d0;border-top:0} + +#ol_after {} +#ol_after_private {text-align:left} +#ol_after_private:after {display:block;visibility:hidden;clear:both;content:""} +#ol_after_private li {margin-bottom:1px;position:relative} +#ol_after_private li:hover a {background:#f7f7f7} +#ol_after_private a {display:block;color:#444;padding:10px 15px;line-height:20px} +#ol_after_private a strong {float:right;display:inline-block;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:clip;padding:0 5px;border-radius:15px;font-weight:normal;font-size:0.92em} +#ol_after_private .win_point strong {background:#37bc9b} +#ol_after_private .win_coupon strong {background:#a352c1} +#ol_after_private .win_memo strong {background:#ff8b77} +#ol_after_logout {display:block;font-size:1.083em;line-height:45px;text-align:center;color:#3a8afd;border-top:1px solid #f6f6f6} diff --git a/web/html/theme/FT_WEB20/skin/outlogin/shop_side/img/chk.png b/web/html/theme/FT_WEB20/skin/outlogin/shop_side/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/outlogin/shop_side/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/outlogin/shop_side/outlogin.skin.1.php b/web/html/theme/FT_WEB20/skin/outlogin/shop_side/outlogin.skin.1.php new file mode 100644 index 0000000..6ff0d91 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/outlogin/shop_side/outlogin.skin.1.php @@ -0,0 +1,65 @@ +', 0); +?> + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      회원로그인

                                                                                                                      + 회원가입 +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + + + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + diff --git a/web/html/theme/FT_WEB20/skin/outlogin/shop_side/outlogin.skin.2.php b/web/html/theme/FT_WEB20/skin/outlogin/shop_side/outlogin.skin.2.php new file mode 100644 index 0000000..471185d --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/outlogin/shop_side/outlogin.skin.2.php @@ -0,0 +1,70 @@ +', 0); + +// 쿠폰 +$cp_count = 0; +$sql = " select cp_id + from {$g5['g5_shop_coupon_table']} + where mb_id IN ( '{$member['mb_id']}', '전체회원' ) + and cp_start <= '".G5_TIME_YMD."' + and cp_end >= '".G5_TIME_YMD."' "; +$res = sql_query($sql); + +for($k=0; $cp=sql_fetch_array($res); $k++) { + if(!is_used_coupon($member['mb_id'], $cp['cp_id'])) + $cp_count++; +} +?> + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      나의 회원정보

                                                                                                                      + + + 관리자 + + + 정보수정 + 로그아웃 +
                                                                                                                      + +
                                                                                                                      + + + diff --git a/web/html/theme/FT_WEB20/skin/outlogin/shop_side/style.css b/web/html/theme/FT_WEB20/skin/outlogin/shop_side/style.css new file mode 100644 index 0000000..e1b300b --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/outlogin/shop_side/style.css @@ -0,0 +1,64 @@ +@charset "utf-8"; + +/* 아웃로그인 스킨 */ +.s_ol {position:relative;border-bottom:1px solid #f6f6f6} +.s_ol h2 {width:115px;float:left;padding:15px 0;text-align:center} +.s_ol .join {width:114px;float:left;padding:15px 0;text-align:center;background:#f7f7f7;color:#6e6e6e} +.s_ol #s_ol_be_cate:after {display:block;visibility:hidden;clear:both;content:""} +.s_ol form {padding:20px} +.s_ol a.btn_admin {display:inline-block;padding:0 10px;height:25px;text-decoration:none;line-height:25px;vertical-align:middle} /* 관리자 전용 버튼 */ +.s_ol a.btn_admin:focus, .s_ol a.btn_admin:hover {text-decoration:none} + +#s_ol_before {} +#s_ol_before:after {display:block;visibility:hidden;clear:both;content:""} +#s_ol_before .s_ol_wr {position:relative;margin-bottom:5px} +#ol_id {display:block;width:100%;border:1px solid #d0d3db;padding:0 10px;height:35px;margin-bottom:5px;border-radius:3px} +#ol_pw {display:block;width:100%;border:1px solid #d0d3db;padding:0 10px;height:35px;margin-bottom:5px;border-radius:3px} +#ol_submit {width:100%;height:35px;background:#3a8afd;border-left:1px solid #ccc;color:#fff;font-weight:bold;font-size:1.167em;border-radius:3px} +#ol_svc {float:right;margin-top:5px;line-height:20px} +#ol_svc a {display:inline-block;border:1px solid #d5d9dd;color:#3a8afd;border-radius:2px;padding:2px 5px} +#ol_auto {float:left;line-height:20px;margin-top:5px} +#ol_auto label {color:#555;vertical-align:baseline} +#ol_auto input {width:13px;height:13px} +.ol_auto_wr:after {display:block;visibility:hidden;clear:both;content:""} +#sns_login {margin-top:0 !important;border-top:0 !important} +#sns_login h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#s_ol_after {border-bottom:1px solid #f6f6f6} +#s_ol_after_hd {position:relative;padding:10px;padding-left:80px;height:80px} +#s_ol_after_hd strong {display:block;margin:5px 0 10px} +#s_ol_after_hd .profile_img {position:absolute;top:15px;left:15px;display:inline-block} +#s_ol_after_hd .profile_img img {border-radius:50%;width:50px;height:50px} +#s_ol_after_hd .btn_admin {position:absolute;right:0;bottom:0;width:20px;height:20px;line-height:20px;padding:0;text-align:center;border-radius:50%;background:#000;vertical-align:baseline} + +#s_ol_after_info {display:inline-block;height:28px;line-height:22px;border:1px solid #d5d9dd;color:#3a8afd;border-radius:2px;padding:2px 5px} +#s_ol_after h2 {margin:0;padding:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden} +#s_ol_after_hd .btn_b04 {line-height:23px;padding:0 5px} +#s_ol_after_private {zoom:1} +#s_ol_after_private:after {display:block;visibility:hidden;clear:both;content:""} +#s_ol_after_private li {text-align:left;position:relative;text-align:left} +#s_ol_after_private li:first-child a {border-left:0} +#s_ol_after_private a {display:block;background:#fff;color:#465168;line-height:18px;padding:10px 20px 10px 25px} +#s_ol_after_private a strong {display:inline-block;float:right;max-width:87px;overflow:hidden;white-space:nowrap;text-overflow:clip;color:#3a8afd;padding:0 5px;border-radius:15px;font-size:0.92em} +#s_ol_after_private a:hover strong {background:#4b8bff} +#s_ol_after_private li a:hover {color:#4b8bff;background:#f7f7f7} +#s_ol_after_private li a:hover:after {position:absolute;left:0;top:0;width:2px;height:38px;background:#3a8afd;content:""} +#s_ol_after_private li i {width:25px;color:#8c9eb0;margin-right:5px} +#s_ol_after_private li:hover i {color:#3a8afd} +#s_ol_after_private .win_point:hover strong {background:#37bc9b;color:#fff} +#s_ol_after_private .win_memo:hover strong {background:#ff8b77;color:#fff} +#s_ol_after_private .win_scrap:hover strong {background:#8cc152;color:#fff} +#s_ol_after_private .win_coupon:hover strong {background:#a352c1;color:#fff} + +#s_ol_after_logout {display:inline-block;height:28px;line-height:22px;border:1px solid #d5d9dd;color:#8a8a8a;border-radius:2px;padding:2px 5px} +#s_ol_after_logout:hover {color:#3c8bfd} +#ol_after_memo {margin-right:1px} +#ol_after_pt {margin-right:1px} + +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {padding-left:20px;color:#676e70} +.chk_box input[type="checkbox"] + label:hover{color:#2172f8} +.chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} diff --git a/web/html/theme/FT_WEB20/skin/poll/basic/poll.skin.php b/web/html/theme/FT_WEB20/skin/poll/basic/poll.skin.php new file mode 100644 index 0000000..b34c21a --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/poll/basic/poll.skin.php @@ -0,0 +1,75 @@ +', 0); +?> + + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      설문조사

                                                                                                                      + 설문관리 + " target="_blank" onclick="poll_result(this.href); return false;" class="btn_result">결과보기 +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      +
                                                                                                                        + +
                                                                                                                      • + + +
                                                                                                                      • + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/poll/basic/poll_result.skin.php b/web/html/theme/FT_WEB20/skin/poll/basic/poll_result.skin.php new file mode 100644 index 0000000..cebaf1f --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/poll/basic/poll_result.skin.php @@ -0,0 +1,124 @@ + 0){ + foreach( $list as $k => $v ) { + $get_max_cnt = max( array( $get_max_cnt, $v['cnt'] ) ); // 가장 높은 투표수를 뽑습니다. + } +} + +// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 +add_stylesheet('', 0); +?> + + +
                                                                                                                      +

                                                                                                                      +
                                                                                                                      + + 전체 +
                                                                                                                      +

                                                                                                                      결과

                                                                                                                      +
                                                                                                                        + +
                                                                                                                      1. + +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + + % +
                                                                                                                        +
                                                                                                                      2. + +
                                                                                                                      +
                                                                                                                      + + + + +
                                                                                                                      +

                                                                                                                      이 설문에 대한 기타의견

                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      님의 의견

                                                                                                                      + + + 삭제"; } ?> +
                                                                                                                      +

                                                                                                                      + +

                                                                                                                      +
                                                                                                                      + + + = $po['po_level']) { ?> +
                                                                                                                      + + + + +
                                                                                                                      +

                                                                                                                      기타의견

                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + + + +
                                                                                                                      + + +
                                                                                                                      + + + + + + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/poll/basic/style.css b/web/html/theme/FT_WEB20/skin/poll/basic/style.css new file mode 100644 index 0000000..6c8f934 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/poll/basic/style.css @@ -0,0 +1,107 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +#poll a.btn_admin {} /* 관리자 전용 버튼 */ +#poll a.btn_admin:focus, #poll a.btn_admin:hover {} + +#poll_result .tbl_frm table {} +#poll_result .tbl_frm .frm_info {} +#poll_result .tbl_frm .frm_address {} +#poll_result .tbl_frm .frm_file {} +#poll_result .tbl_frm caption {} + +#poll_result .tbl_frm01 {} +#poll_result .tbl_frm01 th {} +#poll_result .tbl_frm01 td {} +#poll_result .tbl_frm01 textarea, #poll_result tbl_frm01 .frm_input {} +#poll_result .tbl_frm01 textarea {} +#poll_result .tbl_frm01 a {} + +/* 필수입력 */ +#poll_result .required, #poll_result textarea.required {} + +#poll_result .btn_confirm {} /* 서식단계 진행 */ +#poll_result .btn_submit {} +#poll_result button.btn_submit {} +#poll_result .win_btn {text-align:center} /* 새창용 */ +#poll_result .win_btn button {} +#poll_result .win_btn input {} +#poll_result .win_btn a {} +#poll_result .win_btn a:focus, #poll_result .win_btn a:hover {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 설문조사 스킨 */ +#poll {border:1px solid #dde7e9;background:#f7f7f7;position:relative;border-radius:3px;margin-bottom:15px} +#poll header {position:relative;border-bottom:1px solid #e8e8e8;padding:15px} +#poll header:after {display:block;visibility:hidden;clear:both;content:""} +#poll header h2 {display:inline-block;float:left;font-size:1.167em;color:#000;line-height:28px} +#poll header h2:after {display:block;visibility:hidden;clear:both;content:""} +#poll header .btn_result {float:right;display:inline-block;line-height:20px;height:28px;border:1px solid #d5d9dd;color:#3a8afd;border-radius:2px;padding:2px 5px;background:#fff} +#poll header .btn_admin {float:right;margin-left:5px;line-height:28px;font-size:1.4em} +#poll ul {padding:0 20px;list-style:none} +#poll li {padding:5px 0} + +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70} +.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#fff;border:1px solid #cdd6df;border-radius:50%} +.chk_box input[type="radio"]:checked + label {color:#305af9} +.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:#305af9;content:'';position:absolute;top:3px;left:3px;border-radius:50%} + +#poll .poll_con {} +#poll .poll_con p {font-weight:bold;padding:15px 20px;color:#000;font-size:1.167em} +#poll_btn {padding:10px 20px 20px;text-align:center} +#poll_btn:after {display:block;visibility:hidden;clear:both;content:""} +#poll_btn .btn_poll {display:block;width:100%;height:40px;line-height:40px;padding:0 10px;border:0;font-weight:bold;background:#3a8afd;color:#fff;border-radius:3px} + +/* 설문조사 결과 (새창) */ +#poll_result {} +#poll_result section {} +#poll_result .tbl_wrap {margin:0} +#poll_result .sv_member, +#poll_result .sv_guest {font-weight:bold} +#poll_result .poll_all {position:absolute;top:10px;right:10px;display:inline-block;margin:0 0 10px;line-height:30px;font-size:0.92em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px} +#poll_result_list {clear:both;margin:20px;border:1px solid #d6e2f4;border-top:0;background:#fff;border-radius:5px} +#poll_result_list h2 {margin:0;font-size:1.25em;padding:15px;margin:0 0 15px;border-top:1px solid #d6e2f4;border-bottom:1px solid #d6e2f4;text-align:center;background:#edf3fc;color:#375582;border-radius:5px} +#poll_result_list dt {margin-right:5%;color:#e8180d;text-align:right} +#poll_result_list ol {margin:0;padding:0 20px} +#poll_result_list li {margin:20px 0;position:relative;list-style-position:inside} + +.poll_1st .poll_result_graph span {background:#3a8afd} +.poll_result_graph {position:relative;width:90%;margin:5px 0;height:15px;background:#fff;border-radius:10px;-moz-box-shadow:inset 0px 2px 8px #dadada;-webkit-box-shadow:inset 0px 2px 8px #dadada;box-shadow:inset 0px 2px 8px #dadada} +.poll_result_graph span {position:absolute;top:0;left:0;height:15px;background:#8395b3;border-radius:10px 10px;white-space:nowrap} + +.poll_numerical {display:inline-block;position:absolute;top:0;right:0;text-align:center} +.poll_numerical .poll_percent {display:block;font-size:1.2em;color:#3a8afd;font-weight:bold;letter-spacing:-0.5px} +.poll_numerical .poll_cnt {font-size:1em;text-align:right;color:#8d8d8d} + +#poll_result_cmt {margin:20px} +#poll_result_cmt h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#poll_result_cmt article {margin:15px 0;position:relative;border-bottom:1px solid #eaeaea} +#poll_result_cmt h1 {position:absolute;margin:0;padding:0;border:0;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#poll_result_cmt header {margin:0 0 5px} +#poll_result_cmt .poll_datetime {display:inline-block;font-size:0.92em;color:#777} +#poll_result_cmt .profile_img img {border-radius:50%} +#poll_result_cmt p {padding:10px;line-height:1.5em} + +#poll_other_q h3 {margin:0;font-size:1.25em;padding:10px;border-bottom:1px solid #eaeaea;text-align:left} +#poll_other_q h3 span {background:#f7f8e3;color:#c97600;padding:3px;display:inline-block;border-radius:5px;margin-right:5px;font-weight:normal;font-size:0.8em} +#poll_result_wcmt {border:1px solid #cfd4db;margin-bottom:10px} +#poll_result_wcmt input {border:0;height:80px;padding:10px} +#poll_result_cmt .btn_submit {padding:0 20px;float:right} + +.poll_guest input {border: 1px solid #cfd4db;padding:10px;margin-bottom:10px;display:inline-block} + +.poll_cmt_del {float:right} +.poll_cmt_del a {display:inline-block;margin:0 0 5px 10px;color:#c7c9cb;font-size:15px} +.poll_cmt_del:hover a {color:#3a8afd} + +#poll_result_oth {clear:both;margin:20px} +#poll_result_oth h2 {padding:0 0 10px} +#poll_result_oth ul {margin:0;padding:0;list-style:none;border:1px solid #ddd;background:#fff;border-top:0} +#poll_result_oth ul li{border-top:1px solid #eaeaea;position:relative;line-height:20px} +#poll_result_oth a {display:block;padding:10px} +#poll_result_oth li span {position:absolute;bottom:10px;right:15px;color:#777;font-size:0.92em} diff --git a/web/html/theme/FT_WEB20/skin/poll/shop_basic/poll.skin.php b/web/html/theme/FT_WEB20/skin/poll/shop_basic/poll.skin.php new file mode 100644 index 0000000..0a03a1b --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/poll/shop_basic/poll.skin.php @@ -0,0 +1,75 @@ +', 0); +?> + + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      설문조사

                                                                                                                      + 설문관리 + " target="_blank" onclick="poll_result(this.href); return false;" class="btn_result">결과보기 +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      +
                                                                                                                        + +
                                                                                                                      • + + +
                                                                                                                      • + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/poll/shop_basic/poll_result.skin.php b/web/html/theme/FT_WEB20/skin/poll/shop_basic/poll_result.skin.php new file mode 100644 index 0000000..333854c --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/poll/shop_basic/poll_result.skin.php @@ -0,0 +1,125 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      +
                                                                                                                      + + 전체 +
                                                                                                                      +

                                                                                                                      결과

                                                                                                                      +
                                                                                                                        + +
                                                                                                                      1. + 현재 가장 높은 득표율 +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + 500 표 + 90 % +
                                                                                                                        +
                                                                                                                      2. + + + +
                                                                                                                      3. + +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + + % +
                                                                                                                        +
                                                                                                                      4. + +
                                                                                                                      +
                                                                                                                      + + + + +
                                                                                                                      +

                                                                                                                      이 설문에 대한 기타의견

                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      님의 의견

                                                                                                                      + + + 삭제"; } ?> +
                                                                                                                      +

                                                                                                                      + +

                                                                                                                      +
                                                                                                                      + + + = $po['po_level']) { ?> +
                                                                                                                      + + + + +
                                                                                                                      +

                                                                                                                      기타의견

                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + + + +
                                                                                                                      + + +
                                                                                                                      + + + + + + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/poll/shop_basic/style.css b/web/html/theme/FT_WEB20/skin/poll/shop_basic/style.css new file mode 100644 index 0000000..e5b660e --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/poll/shop_basic/style.css @@ -0,0 +1,107 @@ +@charset "utf-8"; + +/* ### 기본 스타일 커스터마이징 시작 ### */ + +#poll a.btn_admin {} /* 관리자 전용 버튼 */ +#poll a.btn_admin:focus, #poll a.btn_admin:hover {} + +#poll_result .tbl_frm table {} +#poll_result .tbl_frm .frm_info {} +#poll_result .tbl_frm .frm_address {} +#poll_result .tbl_frm .frm_file {} +#poll_result .tbl_frm caption {} + +#poll_result .tbl_frm01 {} +#poll_result .tbl_frm01 th {} +#poll_result .tbl_frm01 td {} +#poll_result .tbl_frm01 textarea, #poll_result tbl_frm01 .frm_input {} +#poll_result .tbl_frm01 textarea {} +#poll_result .tbl_frm01 a {} + +/* 필수입력 */ +#poll_result .required, #poll_result textarea.required {} + +#poll_result .btn_confirm {} /* 서식단계 진행 */ +#poll_result .btn_submit {} +#poll_result button.btn_submit {} +#poll_result .win_btn {text-align:center} /* 새창용 */ +#poll_result .win_btn button {} +#poll_result .win_btn input {} +#poll_result .win_btn a {} +#poll_result .win_btn a:focus, #poll_result .win_btn a:hover {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 설문조사 스킨 */ +#poll {border:1px solid #dde7e9;background:#fff;position:relative;border-radius:3px;margin-bottom:15px} +#poll header {position:relative;border-bottom:1px solid #e8e8e8;padding:15px} +#poll header:after {display:block;visibility:hidden;clear:both;content:""} +#poll header h2 {display:inline-block;float:left;font-size:1.167em;color:#000;line-height:28px} +#poll header h2:after {display:block;visibility:hidden;clear:both;content:""} +#poll header .btn_result {float:right;display:inline-block;line-height:20px;height:28px;border:1px solid #d5d9dd;color:#3a8afd;border-radius:2px;padding:2px 5px;background:#fff} +#poll header .btn_admin {float:right;margin-left:5px;line-height:28px;font-size:1.4em} +#poll ul {padding:0 20px;list-style:none} +#poll li {padding:5px 0} + +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70} +.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#fff;border:1px solid #cdd6df;border-radius:50%} +.chk_box input[type="radio"]:checked + label {color:#305af9} +.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:#305af9;content:'';position:absolute;top:3px;left:3px;border-radius:50%} + +#poll .poll_con {} +#poll .poll_con p {font-weight:bold;padding:15px 20px;color:#000;font-size:1.167em} +#poll_btn {padding:10px 20px 20px;text-align:center} +#poll_btn:after {display:block;visibility:hidden;clear:both;content:""} +#poll_btn .btn_poll {display:block;width:100%;height:40px;line-height:40px;padding:0 10px;border:0;font-weight:bold;background:#3a8afd;color:#fff;border-radius:3px} + +/* 설문조사 결과 (새창) */ +#poll_result {} +#poll_result section {} +#poll_result .tbl_wrap {margin:0} +#poll_result .sv_member, +#poll_result .sv_guest {font-weight:bold} +#poll_result .poll_all {position:absolute;top:10px;right:10px;display:inline-block;margin:0 0 10px;line-height:30px;font-size:0.92em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px} +#poll_result_list {clear:both;margin:20px;border:1px solid #d6e2f4;border-top:0;background:#fff;border-radius:5px} +#poll_result_list h2 {margin:0;font-size:1.25em;padding:15px;margin:0 0 15px;border-top:1px solid #d6e2f4;border-bottom:1px solid #d6e2f4;text-align:center;background:#edf3fc;color:#375582;border-radius:5px} +#poll_result_list dt {margin-right:5%;color:#e8180d;text-align:right} +#poll_result_list ol {margin:0;padding:0 20px} +#poll_result_list li {margin:20px 0;position:relative;list-style-position:inside} + +.poll_1st .poll_result_graph span {background:#3a8afd} +.poll_result_graph {position:relative;width:90%;margin:5px 0;height:15px;background:#fff;border-radius:10px;-moz-box-shadow:inset 0px 2px 8px #dadada;-webkit-box-shadow:inset 0px 2px 8px #dadada;box-shadow:inset 0px 2px 8px #dadada} +.poll_result_graph span {position:absolute;top:0;left:0;height:15px;background:#8395b3;border-radius:10px 10px;white-space:nowrap} + +.poll_numerical {display:inline-block;position:absolute;top:0;right:0;text-align:center} +.poll_numerical .poll_percent {display:block;font-size:1.2em;color:#3a8afd;font-weight:bold;letter-spacing:-0.5px} +.poll_numerical .poll_cnt {font-size:1em;text-align:right;color:#8d8d8d} + +#poll_result_cmt {margin:20px} +#poll_result_cmt h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#poll_result_cmt article {margin:15px 0;position:relative;border-bottom:1px solid #eaeaea} +#poll_result_cmt h1 {position:absolute;margin:0;padding:0;border:0;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#poll_result_cmt header {margin:0 0 5px} +#poll_result_cmt .poll_datetime {display:inline-block;font-size:0.92em;color:#777} +#poll_result_cmt .profile_img img {border-radius:50%} +#poll_result_cmt p {padding:10px;line-height:1.5em} + +#poll_other_q h3 {margin:0;font-size:1.25em;padding:10px;border-bottom:1px solid #eaeaea;text-align:left} +#poll_other_q h3 span {background:#f7f8e3;color:#c97600;padding:3px;display:inline-block;border-radius:5px;margin-right:5px;font-weight:normal;font-size:0.8em} +#poll_result_wcmt {border:1px solid #cfd4db;margin-bottom:10px} +#poll_result_wcmt input {border:0;height:80px;padding:10px} +#poll_result_cmt .btn_submit {padding:0 20px;float:right} + +.poll_guest input {border: 1px solid #cfd4db;padding:10px;margin-bottom:10px;display:inline-block} + +.poll_cmt_del {float:right} +.poll_cmt_del a {display:inline-block;margin:0 0 5px 10px;color:#c7c9cb;font-size:15px} +.poll_cmt_del:hover a {color:#3a8afd} + +#poll_result_oth {clear:both;margin:20px} +#poll_result_oth h2 {padding:0 0 10px} +#poll_result_oth ul {margin:0;padding:0;list-style:none;border:1px solid #ddd;background:#fff;border-top:0} +#poll_result_oth ul li{border-top:1px solid #eaeaea;position:relative;line-height:20px} +#poll_result_oth a {display:block;padding:10px} +#poll_result_oth li span {position:absolute;bottom:10px;right:15px;color:#777;font-size:0.92em} diff --git a/web/html/theme/FT_WEB20/skin/popular/basic/popular.skin.php b/web/html/theme/FT_WEB20/skin/popular/basic/popular.skin.php new file mode 100644 index 0000000..af1c808 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/popular/basic/popular.skin.php @@ -0,0 +1,70 @@ +', 0); +add_javascript('', 10); +add_stylesheet('', 10); +?> + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/popular/basic/style.css b/web/html/theme/FT_WEB20/skin/popular/basic/style.css new file mode 100644 index 0000000..29d6ae6 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/popular/basic/style.css @@ -0,0 +1,16 @@ +@charset "utf-8"; + +/* 인기검색어 */ +#popular {position:relative;margin:15px 0 0} +#popular h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#popular .popular_inner {width:400px;height:20px;overflow:hidden} +#popular ul {padding:0;margin:0} +#popular ul:after {display:block;visibility:hidden;clear:both;content:""} +#popular li {float:left;width:auto !important;height:18px;line-height:18px;padding-right:20px} +#popular li a {color:#8d8c8c} +#popular li:first-child {border-left:0} +#popular li a:hover {text-decoration:underline} + +.popular_inner .popular_btns{display:none} +.popular_btns .pp-next {position:absolute;top:68%;right:0px;width:18px;height:18px;line-height:15px;text-align:center;border:1px solid #53555a;margin-top:-12px;color:#d3d2d2} +.popular_btns .pp-prev {position:absolute;top:68%;right:17px;width:18px;height:18px;line-height:15px;text-align:center;border:1px solid #53555a;margin-top:-12px;color:#d3d2d2} diff --git a/web/html/theme/FT_WEB20/skin/qa/basic/img/btn_close.gif b/web/html/theme/FT_WEB20/skin/qa/basic/img/btn_close.gif new file mode 100644 index 0000000..040b180 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/qa/basic/img/btn_close.gif differ diff --git a/web/html/theme/FT_WEB20/skin/qa/basic/img/icon_answer.gif b/web/html/theme/FT_WEB20/skin/qa/basic/img/icon_answer.gif new file mode 100644 index 0000000..91c1359 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/qa/basic/img/icon_answer.gif differ diff --git a/web/html/theme/FT_WEB20/skin/qa/basic/list.skin.php b/web/html/theme/FT_WEB20/skin/qa/basic/list.skin.php new file mode 100644 index 0000000..3ae5b35 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/qa/basic/list.skin.php @@ -0,0 +1,189 @@ +', 0); +?> + +
                                                                                                                      + + + + + + + +
                                                                                                                      +
                                                                                                                      + Total + 페이지 +
                                                                                                                      + + +
                                                                                                                        +
                                                                                                                      • 관리자
                                                                                                                      • +
                                                                                                                      • + + +
                                                                                                                        +
                                                                                                                        +

                                                                                                                        검색

                                                                                                                        + 게시물 검색 +
                                                                                                                        + + +
                                                                                                                        + + +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        + + +
                                                                                                                      • +
                                                                                                                      • 문의등록
                                                                                                                      • +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + + + + + +
                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; } ?> + +
                                                                                                                      목록
                                                                                                                      + + + 번호제목글쓴이등록일상태
                                                                                                                      + + + + + + + " ; ?> + +
                                                                                                                      게시물이 없습니다.
                                                                                                                      +
                                                                                                                      + + + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/qa/basic/style.css b/web/html/theme/FT_WEB20/skin/qa/basic/style.css new file mode 100644 index 0000000..35f198e --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/qa/basic/style.css @@ -0,0 +1,388 @@ +@charset "utf-8"; +/* ### 기본 스타일 커스터마이징 시작 ### */ + +/* 게시판 버튼 */ +/* 목록 버튼 */ +#bo_list a.btn_b01 {} +#bo_list a.btn_b01:focus, #bo_list a.btn_b01:hover {} +#bo_list a.btn_b02 {} +#bo_list a.btn_b02:focus, #bo_list a.btn_b02:hover {} +#bo_list a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_list a.btn_admin:focus, #bo_list .btn_admin:hover {} + +/* 읽기 버튼 */ +#bo_v a.btn_b01 {} +#bo_v a.btn_b01:focus, #bo_v a.btn_b01:hover {} +#bo_v a.btn_b02 {} +#bo_v a.btn_b02:focus, #bo_v a.btn_b02:hover {} +#bo_v a.btn_admin {} /* 관리자 전용 버튼 */ +#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {} + +/* 쓰기 버튼 */ +#bo_w .btn_confirm {} /* 서식단계 진행 */ +#bo_w .btn_submit {padding:0 20px;font-size:1.167em} +#bo_w button.btn_submit {} +#bo_w fieldset .btn_submit {} +#bo_w .btn_cancel {font-size:1.167em;border-radius:3px} +#bo_w button.btn_cancel {} +#bo_w .btn_cancel:focus, #bo_w .btn_cancel:hover {} +#bo_w a.btn_frmline, #bo_w button.btn_frmline {} /* 우편번호검색버튼 등 */ +#bo_w button.btn_frmline {} + +/* 기본 테이블 */ +/* 목록 테이블 */ +#bo_list {position:relative} +#bo_list:after {display:block;visibility:hidden;clear:both;content:""} +#bo_list .tbl_head01 {} +#bo_list .tbl_head01 caption {} +#bo_list .tbl_head01 thead th {} +#bo_list .tbl_head01 thead a {} +#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_list .tbl_head01 tfoot th {} +#bo_list .tbl_head01 tfoot td {} +#bo_list .tbl_head01 tbody th {} +#bo_list .tbl_head01 td {} +#bo_list .tbl_head01 a {} +#bo_list td.empty_table {} +#bo_list tbody .even td {background:#fbfbfb} + +/* 읽기 내 테이블 */ +#bo_v .tbl_head01 {} +#bo_v .tbl_head01 caption {} +#bo_v .tbl_head01 thead th {} +#bo_v .tbl_head01 thead a {} +#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */ +#bo_v .tbl_head01 tfoot th {} +#bo_v .tbl_head01 tfoot td {} +#bo_v .tbl_head01 tbody th {} +#bo_v .tbl_head01 td {} +#bo_v .tbl_head01 a {} +#bo_v td.empty_table {} + +/* 쓰기 테이블 */ +#bo_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_w table {} +#bo_w caption {} +#bo_w .frm_info {} +#bo_w .frm_address {} +#bo_w .frm_file {} + +#bo_w .tbl_frm01 {} +#bo_w .tbl_frm01 th {} +#bo_w .tbl_frm01 td {} +#bo_w .tbl_frm01 textarea, #bo_w tbl_frm01 .frm_input {} +#bo_w .tbl_frm01 textarea {} +#bo_w .tbl_frm01 a {} + +/* 필수입력 */ +#bo_w .required, #bo_w textarea.required {} + +#bo_w .cke_sc {} +#bo_w button.btn_cke_sc {} +#bo_w .cke_sc_def {} +#bo_w .cke_sc_def dl {} +#bo_w .cke_sc_def dl:after {} +#bo_w .cke_sc_def dt, #bo_w .cke_sc_def dd {} +#bo_w .cke_sc_def dt {} +#bo_w .cke_sc_def dd {} + +/* ### 기본 스타일 커스터마이징 끝 ### */ + +/* 게시판 목록 */ +#bo_list .td_board {width:120px;text-align:center} +#bo_list .td_chk {width:30px;text-align:center} +#bo_list .td_date {width:80px;text-align:center} +#bo_list .td_datetime {width:60px;text-align:center;font-style:italic} +#bo_list .td_group {width:100px;text-align:center} +#bo_list .td_mb_id {width:100px;text-align:center} +#bo_list .td_mng {width:80px;text-align:center} +#bo_list .td_name {width:90px;text-align:left;padding:10px 0} +#bo_list .td_nick {width:100px;text-align:center} +#bo_list .td_num {width:40px;text-align:center} +#bo_list .td_num2 {width:50px;text-align:center} +#bo_list .td_numbig {width:80px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list .td_stat, #bo_v_rel .td_stat {width:100px;text-align:center} +#bo_list .txt_active {color:#5d910b} +#bo_list .txt_expired {color:#ccc} +#bo_list .txt_done, #bo_v_rel .txt_done {display:inline-block;height:30px;line-height:30px;padding:0 10px;border-radius:3px;color:#fff;font-size:1em;background:#f6bb42;font-weight:bold} +#bo_list .txt_done i, #bo_v_rel .txt_done i {font-size:13px} +#bo_list .txt_rdy, #bo_v_rel .txt_rdy {display:inline-block;height:30px;line-height:28px;padding:0 10px;border-radius:3px;color:#fff;font-size:1em;background:#ccd1d9;font-weight:bold} +#bo_list .txt_rdy i, #bo_v_rel .txt_rdy i {font-size:13px} + +/* 게시판 목록 */ +#bo_cate {margin:25px 0} +#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_cate ul {zoom:1} +#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#bo_cate li {display:inline-block;padding:2px} +#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff} +#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} +.td_subject img {margin-left:5px} + + +/* 게시판 목록 공통 */ +#bo_btn_top {margin:10px 0} +#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx {margin-bottom:5px;float:right;zoom:1} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +.bo_fx:after {display:block;visibility:hidden;clear:both;content:""} +.bo_fx ul {margin:0;padding:0;list-style:none} +#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f} + +.btn_bo_user {float:right;margin:0;padding:0;list-style:none} +.btn_bo_user li {float:left;margin-left:5px} +.btn_bo_adm {float:left} +.btn_bo_adm li {float:left;margin-right:5px} +.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle} +.bo_notice td {background:#f5f6fa} +.bo_notice td a {font-weight:bold} + +.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999} +.more_opt:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.more_opt:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.more_opt li {border-bottom:1px solid #f1f1f1;float:inherit;width:64px;margin:0;color:#6b757c;text-align:left} +.more_opt li a {font-size:1em} +.more_opt li:last-child {border-bottom:0} +.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c} +.more_opt li:hover a, +.more_opt li:hover button {color:#000} +.more_opt li i {float:right;line-height:36px} + +.td_num strong {color:#000} +.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */ +.bo_cate_link:hover {text-decoration:none} +.bo_tit {display:block;color:#000;font-weight:bold} +.td_subject .fa-download {width:16px;height:16px;line-height:16px;background:#ecaa30;color:#fff;text-align:center;font-size:10px;border-radius:2px} + +.bo_current {color:#e8180c} +#bo_list .profile_img img {border-radius:50%} +#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold;color:#ed6478} +#bo_list .bo_tit .title_icon {margin-right:2px} +#bo_list .bo_tit .fa-heart {color:#ff0000} +#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle} +#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle} +#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-caret-right {color:#bbb} +#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;vertical-align:middle} +#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;vertical-align:middle} + +.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.bo_sch:after {display:block;visibility:hidden;clear:both;content:""} +.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8} +.bo_sch legend {background:red} +.bo_sch form {padding:15px;display:block} +.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left} +.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px} +.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} +.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%} + + +/* 게시판 쓰기 */ +#char_count_desc {display:block;margin:0 0 5px;padding:0} +#char_count_wrp {margin:5px 0 0;text-align:right} +#char_count {font-weight:bold} + +#autosave_wrapper {position:relative} +#autosave_pop {display:none;z-index:10;position:absolute;top:24px;right:117px;padding:8px;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;overflow-y:scroll} +html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */ +#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden} +#autosave_pop div {text-align:right} +#autosave_pop button {margin:0;padding:0;border:0;background:transparent} +#autosave_pop ul {margin:10px 0;padding:0;border-top:1px solid #e9e9e9;list-style:none} +#autosave_pop li {padding:8px 5px;border-bottom:1px solid #e9e9e9;zoom:1} +#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""} +#autosave_pop a {display:block;float:left} +#autosave_pop span {display:block;float:right} +.autosave_close {cursor:pointer} +.autosave_content {display:none} + +/* 게시판 읽기 */ +#bo_v {margin-bottom:20px;padding-bottom:20px} +#bo_v_table {position:absolute;top:0;right:15px;margin:0;padding:0 5px;height:25px;background:#565e60;color:#fff;font-weight:bold;line-height:2.2em} + +#bo_v header {background:#fff;border:1px solid #dde7e9;border-bottom:0;border-radius:3px 3px 0 0} +#bo_v_title {font-size:1.6em;padding:20px 20px 10px} +#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all} +#bo_v_title .bo_v_cate {display:inline-block;line-height:23px;font-size:0.6em;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;vertical-align:middle} + +#bo_v_info {position:relative;padding:0 20px 20px;background:#fff;border:1px solid #dde7e9;border-bottom:1px solid #f1f1f1;color:#555;border-top:0} +#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_info strong {display:inline-block;margin:0 7px 0 0;font-weight:normal} +#bo_v_info .sv_member, +#bo_v_info .sv_guest, +#bo_v_info .member, +#bo_v_info .guest {font-weight:bold} +#bo_v_info .bo_date {} +#bo_v_info .profile_img img {border-radius:50%} + +#bo_v_file {margin:10px 0 0;background:#f3f3f3} +#bo_v_file h2 {margin:0;padding:0;height:0;overflow:hidden} +#bo_v_file ul {margin:0;padding:5px 0;list-style:none} +#bo_v_file li {padding:5px 10px;position:relative} +#bo_v_file a {display:inline-block;color:#3497d9;text-decoration:underline;word-wrap:break-word} +#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none} +#bo_v_file img {float:left;margin:0 10px 0 0} +.bo_v_file_cnt {position:absolute;top:5px;right:10px;color:#888;font-size:0.92em} + +#bo_v_link {} +#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_link ul {margin:0;padding:0;list-style:none} +#bo_v_link li {padding:0 10px;border-bottom:1px solid #eee;background:#f5f6fa} +#bo_v_link a {display:inline-block;padding:8px 0 7px;width:100%;color:#000;word-wrap:break-word} +#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none} +.bo_v_link_cnt {display:inline-block;margin:0 0 3px 16px} + +#bo_v_contact {border-bottom:1px solid #ddd} +#bo_v_contact h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_contact dl {margin:0;padding:0;list-style:none;zoom:1} +#bo_v_contact dl:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_contact dt, #bo_v_contact dd {float:left;margin:0;border-bottom:1px solid #eee;background:#f5f6fa} +#bo_v_contact dt {clear:both;padding:8px 0 8px 30px;width:100px;font-weight:bold} +#bo_v_contact dd {padding:8px 0;width:598px} + +#bo_v_top {zoom:1;position:absolute;top:-10px;right:20px} +#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff} + +#bo_v_bot {zoom:1} +#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_v_bot ul {margin:0;padding:0;list-style:none} + +.bo_v_nb {display:inline-block;width:100%} +.bo_v_nb li {margin:10px 0;float:left;width:49.5%;text-align:right;color:#b3b3b3;font-size:0.75em} +.bo_v_nb li:first-child {margin-right:1%;text-align:left} +.bo_v_nb li:hover {background:#f6f6f6} + +.bo_v_com {float:right} +.bo_v_com > li {position:relative;float:left;margin-left:5px} + +#bo_v_atc {min-height:100px;background:#fff;height:auto !important;height:100px;padding:20px;border:1px solid #dde7e9;border-top:0} +#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_img {margin:0 0 10px;width:100%;overflow:hidden;zoom:1} +#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto} + +#bo_v_con {margin-bottom:30px;width:100%;line-height:1.7em;word-break:break-all;overflow:hidden} +#bo_v_con a {color:#000;text-decoration:underline} +#bo_v_con img {max-width:100%;height:auto} + +#bo_v_act {margin-bottom:30px;text-align:center} +#bo_v_act a {margin-right:5px;vertical-align:top} +#bo_v_act span {display:inline-block;margin-right:5px;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:2.15em;vertical-align:top} +#bo_v_act strong {color:#ff3061} +#bo_v_act_good, +#bo_v_act_nogood {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#bo_v_sns {margin:0 0 20px;padding:0;list-style:none;zoom:1} +#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_v_sns li {float:left;margin:0 5px 0 0} + +#bo_v_addq {margin:0 0 30px;text-align:right} + +#bo_v_ans {margin:15px 0 30px;border:1px solid #dde7e9;background:#fff;border-radius:3px} +#bo_v_ans header {position:relative;border:0;background:pink} +#bo_v_ans h2 {font-size:1.6em;padding:20px 20px 10px} +#bo_v_ans h2 span {display:inline-block;font-size:11px;background:#fff;border-radius:30px;vertical-align:text-bottom;height:22px;line-height:22px;border:1px solid #a9c6fe;line-height:22px;padding:0 5px;color:#3a8afd;font-weight:normal} +#bo_v_ans #ans_datetime {padding:0 20px 20px;font-size:0.92em;background:#fff;border-bottom:1px solid #f1f1f1;color:#666} +#bo_v_ans #ans_con {margin:0 0 10px;padding:15px;line-height:1.8em} +#bo_v_ans #ans_con img {max-width:100%;height:auto} +#bo_v_ans #ans_add {position:absolute;top:-10px;right:15px;text-align:right} +#bo_v_ans .more_add {display:none;position:relative;margin-top:10px;border:1px solid #b8bfc4;background:#fff} +#bo_v_ans .more_add:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +#bo_v_ans .more_add:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +#bo_v_ans .more_add li:first-child {border-bottom:1px solid #f1f1f1} +#bo_v_ans .more_add a {font-size:1em} +#ans_msg {padding:40px 0;background:#f2f5f9;text-align:center} + +.bo_v_btn {text-align:center} +.bo_v_btn .add_qa {display:inline-block;background:#3a8afd;color:#fff;text-align:center;border-radius:3px;width:280px;height:57px;line-height:57px;font-size:1.2em;margin:0 auto;font-weight:bold} + +#bo_v_rel {margin:0 0 30px;padding:30px 0 0} +#bo_v_rel h2 {margin:0 0 10px;font-size:1.2em} + +#bo_v_ans_form h2 {margin:10px 0;font-size:1.167em} +#bo_v_ans_form .btn_submit {height:50px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em} + +/* 게시판 댓글 */ +#bo_vc {padding:20px 20px 10px;border-top:1px solid #cfded8;border-bottom:1px solid #cfded8;background:#f5f6fa} +#bo_vc h2 {margin-bottom:10px} +#bo_vc article {padding:0 0 10px;border-top:1px dotted #ccc} +#bo_vc header {position:relative;padding:15px 0 5px} +#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px} +#bo_vc .sv_wrap {margin-right:15px} +#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold} +.bo_vc_hdinfo {display:inline-block;margin:0 15px 0 5px} +#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc a {color:#000;text-decoration:none} +#bo_vc p {padding:0 0 5px;line-height:1.8em} +#bo_vc p a {text-decoration:underline} +#bo_vc_empty {margin:0;padding:20px !important;text-align:center} +#bo_vc fieldset {margin:0 0 10px;padding:0} +#bo_vc #bo_vc_winfo {float:left} +#bo_vc footer {zoom:1} +#bo_vc footer:after {display:block;visibility:hidden;clear:both;content:""} + +.bo_vc_act {float:right;margin:0;list-style:none;zoom:1} +.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""} +.bo_vc_act li {float:left;margin-left:5px} + +#bo_vc_w {position:relative;margin:0 0 10px;padding:0 0 20px;border-bottom:1px solid #cfded8} +#bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#bo_vc_w #char_cnt {display:block;margin:0 0 5px} + +#bo_vc_sns {margin:0;padding:0;list-style:none;zoom:1} +#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""} +#bo_vc_sns li {float:left;margin:0 20px 0 0} +#bo_vc_sns input {margin:0 0 0 5px} + +#bo_vc form {padding:0} + +/*글쓰기*/ +#bo_w .write_div {margin:10px 0;position:relative} +#bo_w li {position:relative} +#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""} +#bo_w .bo_w_info .frm_input {float:left;width:33%} +#bo_w #wr_password {margin:0 0.5%} +.qa_content_wrap.smarteditor2 iframe {background:#fff} +#bo_w .bo_w_tit {position:relative} +#bo_w .bo_w_tit .frm_input {padding-right:120px} +#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px} +#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_link .frm_input {padding-left:50px} +#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2} +#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px} +#bo_w .bo_w_flie .file_wr {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0} +#bo_w .bo_w_flie .frm_input {margin:10px 0 0} +#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d} +#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px} + +#bo_w .bo_w_mail {float:left;width:49.5%} +#bo_w .bo_w_hp {float:right;width:49.5%} +#bo_w .bo_w_sbj {clear:both} +#bo_w .frm_info {position:relative;line-height:18px;color:#3497d9;margin:10px 0;display:inline-block;font-size:1em} + +.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden} +.chk_box {position:relative} +.chk_box input[type="checkbox"] + label {position:relative;padding-left:10px;color:#676e70} +.chk_box input[type="checkbox"] + label:hover{color:#2172f8} +.chk_box input[type="checkbox"] + label span {position:absolute;top:0;left:0;width:17px;height:17px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px} +.chk_box input[type="checkbox"]:checked + label {color:#000} +.chk_box input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px} + diff --git a/web/html/theme/FT_WEB20/skin/qa/basic/view.answer.skin.php b/web/html/theme/FT_WEB20/skin/qa/basic/view.answer.skin.php new file mode 100644 index 0000000..5024b61 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/qa/basic/view.answer.skin.php @@ -0,0 +1,40 @@ + + +
                                                                                                                      +

                                                                                                                      답변

                                                                                                                      +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + + + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + diff --git a/web/html/theme/FT_WEB20/skin/qa/basic/view.answerform.skin.php b/web/html/theme/FT_WEB20/skin/qa/basic/view.answerform.skin.php new file mode 100644 index 0000000..90eca8c --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/qa/basic/view.answerform.skin.php @@ -0,0 +1,141 @@ + + +
                                                                                                                      + +

                                                                                                                      답변등록

                                                                                                                      + +
                                                                                                                      + + + + + + + '; + } else { + $option .= "\n".''."\n".''; + } + + echo $option_hidden; + ?> + +
                                                                                                                      +
                                                                                                                        + +
                                                                                                                      • + 옵션 + +
                                                                                                                      • + +
                                                                                                                      • + + +
                                                                                                                      • +
                                                                                                                      • + + + + +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + +

                                                                                                                      고객님의 문의에 대한 답변을 준비 중입니다.

                                                                                                                      + +
                                                                                                                      \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/qa/basic/view.skin.php b/web/html/theme/FT_WEB20/skin/qa/basic/view.skin.php new file mode 100644 index 0000000..fddc9ea --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/qa/basic/view.skin.php @@ -0,0 +1,192 @@ +', 0); +?> + + + + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      + '.$view['category'].' '; // 분류 출력 끝 + ?> + +

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      페이지 정보

                                                                                                                      + 작성자 + 작성일 + + + 이메일 + + + + 휴대폰 + + + + + +
                                                                                                                      + + + + + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      본문

                                                                                                                      + + \n"; + + for ($i=0; $i<$view['img_count']; $i++) { + //echo $view['img_file'][$i]; + echo get_view_thumbnail($view['img_file'][$i], $qaconfig['qa_image_width']); + } + + echo "\n"; + } + ?> + + +
                                                                                                                      + + + + + + + + + +
                                                                                                                      +

                                                                                                                      첨부파일

                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + + + + + + + + +
                                                                                                                      +

                                                                                                                      연관질문

                                                                                                                      + +
                                                                                                                      + + + + + + + + + + + + + + + + + +
                                                                                                                      제목등록일상태
                                                                                                                      + + + + + + 답변완료' : ' 답변대기'); ?>
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + + +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/qa/basic/write.skin.php b/web/html/theme/FT_WEB20/skin/qa/basic/write.skin.php new file mode 100644 index 0000000..8d09898 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/qa/basic/write.skin.php @@ -0,0 +1,195 @@ +', 0); +?> + +
                                                                                                                      +

                                                                                                                      1:1문의 작성

                                                                                                                      + +
                                                                                                                      + + + + + + + '; + } else { + $option .= "\n".''."\n".''; + } + + echo $option_hidden; + ?> + +
                                                                                                                      +
                                                                                                                        + +
                                                                                                                      • + + +
                                                                                                                      • + + + +
                                                                                                                      • + + class="frm_input full_input email" size="50" maxlength="100" placeholder="이메일"> + class="selec_chk"> + +
                                                                                                                      • + + + +
                                                                                                                      • + + class="frm_input full_input" size="30" placeholder="휴대폰"> + + class="selec_chk"> + + +
                                                                                                                      • + + +
                                                                                                                      • + + +
                                                                                                                      • + +
                                                                                                                      • + + + +
                                                                                                                      • + + +
                                                                                                                      • + 옵션 + +
                                                                                                                      • + + +
                                                                                                                      • +
                                                                                                                        + + + + + +
                                                                                                                        +
                                                                                                                      • + +
                                                                                                                      • +
                                                                                                                        + + + + + +
                                                                                                                        +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + 취소 + +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/search/basic/search.skin.php b/web/html/theme/FT_WEB20/skin/search/basic/search.skin.php new file mode 100644 index 0000000..4c5cf32 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/search/basic/search.skin.php @@ -0,0 +1,146 @@ +', 0); +?> + + +
                                                                                                                      + +
                                                                                                                      + 상세검색 + + + + + + + + + + + + + + +
                                                                                                                      + id="sop_and" name="sop"> + + id="sop_or" name="sop" > + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      전체검색 결과

                                                                                                                      +
                                                                                                                        +
                                                                                                                      • 게시판
                                                                                                                      • +
                                                                                                                      • 게시물
                                                                                                                      • +
                                                                                                                      • / 페이지 열람 중
                                                                                                                      • +
                                                                                                                      +
                                                                                                                      + + + + + +
                                                                                                                      검색된 자료가 하나도 없습니다.
                                                                                                                      + + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      게시판 내 결과

                                                                                                                      + 더보기 +
                                                                                                                        + 댓글 '; + $comment_href = '#c_'.$list[$idx][$i]['wr_id']; + } + else + { + $comment_def = ''; + $comment_href = ''; + } + ?> + +
                                                                                                                      • +
                                                                                                                        + + 새창 +
                                                                                                                        +

                                                                                                                        +
                                                                                                                        + + +
                                                                                                                        +
                                                                                                                      • + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + + +
                                                                                                                      + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/search/basic/style.css b/web/html/theme/FT_WEB20/skin/search/basic/style.css new file mode 100644 index 0000000..b711f02 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/search/basic/style.css @@ -0,0 +1,64 @@ +@charset "utf-8"; + +/* 전체검색결과 스킨 */ +#sch_res_detail {background:#f7f7f7;padding:30px;text-align:center;margin:0 0 10px} +#sch_res_detail legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden} +#sch_res_detail select {border:1px solid #d0d3db;width:175px;height:45px;padding:0 5px;border-radius:3px} +#sch_res_detail .frm_input {border:1px solid #d0d3db;width:300px;height:45px;border-radius:0;border-radius:3px} +#sch_res_detail .sch_wr {position:relative;display:inline-block} +#sch_res_detail .btn_submit {padding:0 10px;height:45px;width:88px;font-size:1.083em;font-weight:bold;color:#fff;background:#434a54} + +/* 검색 OR+ADN 버튼 */ +.switch_field {display:inline-block;vertical-align:middle;padding:10px 5px} +.switch_field input {position:absolute !important;clip:rect(0, 0, 0, 0);height:1px;width:1px;border:0;overflow:hidden} +.switch_field label {float:left} +.switch_field label {display:inline-block;width:50px;background-color:#fff;color:rgba(0, 0, 0, 0.6);font-size:1em;font-weight:normal;text-align:center;text-shadow:none;padding:6px 14px;border:1px solid #bbc0c6; +-webkit-box-shadow:inset 0 5px 8px rgb(234, 234, 234), 0 1px rgba(255, 255, 255, 0.1); +box-shadow:inset 0 5px 8px rgb(234, 234, 234), 0 1px rgba(255, 255, 255, 0.1); +-webkit-transition:all 0.1s ease-in-out; +-moz-transition:all 0.1s ease-in-out; +-ms-transition:all 0.1s ease-in-out; +-o-transition:all 0.1s ease-in-out; +transition:all 0.1s ease-in-out} +.switch_field label:hover {cursor:pointer} +.switch_field input:checked + label {background-color:#3a8afd;border:1px solid #3a8afd;color:#fff;-webkit-box-shadow:none;box-shadow:none} +.switch_field label:first-of-type {border-radius:4px 0 0 4px;border-right:0} +.switch_field label:last-of-type {border-radius:0 4px 4px 0} + +#sch_res_ov {text-align:center;zoom:1;height:55px;line-height:55px;background:#edf3fc;border-radius:5px;border:1px solid #d6e2f4;margin-bottom:15px;padding:0 20px} +#sch_res_ov:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_ov h2 {float:left;display:inline-block;font-size:1.25em;color:#293d58;font-weight:normal} +#sch_res_ov h2 strong {color:#ff005a} +#sch_res_ov ul {display:inline-block;float:right;line-height:12px;font-size:0.92em;color:#5977a4;margin-top:20px} +#sch_res_ov ul:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_ov li {float:left;margin-right:5px;padding-right:5px;border-right:1px solid #5977a4} +#sch_res_ov li:last-child {margin:0;padding:0;border:0} + +#sch_res_board {margin-bottom:28px} +#sch_res_board h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sch_res_board ul {zoom:1} +#sch_res_board ul:after {display:block;visibility:hidden;clear:both;content:""} +#sch_res_board li {display:inline-block;padding:2px} +#sch_res_board a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3} +#sch_res_board a:focus, #sch_res_board a:hover {text-decoration:none;background:#3a8afd;color:#fff} +#sch_res_board .cnt_cmt {font-weight:normal !important;display:inline-block;margin-left:3px;color:#3497d9;line-height:18px;font-size:0.92em} +#sch_res_board a:hover .cnt_cmt {color:#fff} +#sch_res_board .sch_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd; +-webkit-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +-moz-box-shadow: inset 0 2px 5px rgb(33, 135, 202); +box-shadow:inset 0 2px 5px rgb(33, 135, 202)} + +.sch_res_list {position:relative;margin-bottom:10px} +.sch_res_list .search_board_result{position:relative} +.sch_res_list h2 {margin:0 0 15px;font-size:1.2em} +.sch_res_list ul {margin:0 0 20px 0;padding:0;list-style:none;border-top:1px solid #ececec} +.sch_res_list li {border-bottom:1px solid #ececec;background:#fff;position:relative} +.sch_res_list .sch_tit {display:block;padding:20px 0 10px} +.sch_res_list .pop_a {display:inline-block;background:#e8eeef;color:#6f777f;border-radius:50%;text-align:center;width:26px;height:26px;line-height:26px} +.sch_res_title {display:inline-block;margin:0 0 5px;font-size:1.2em} +.sch_res_list p {padding-bottom:10px;color:#666;line-height:1.5em} +.sch_res_list .sch_info {padding:10px 0;color:#777} +.sch_res_list .sch_info:after {display:block;visibility:hidden;clear:both;content:""} +.sch_res_list .profile_img img {border-radius:50%} +.sch_res_list .sch_datetime {margin-left:5px} +.sch_more {position:absolute;right:0;top:5px;text-align:right;font-weight:normal;color:#3a8afd} diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/boxbanner.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/boxbanner.skin.php new file mode 100644 index 0000000..ec456f4 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/boxbanner.skin.php @@ -0,0 +1,48 @@ +', 0); +add_javascript('', 10); +?> + +

                                                                                                                      쇼핑몰 배너

                                                                                                                      '.PHP_EOL; +?> + + diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/boxcart.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/boxcart.skin.php new file mode 100644 index 0000000..f7d39ab --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/boxcart.skin.php @@ -0,0 +1,82 @@ +', 0); +$cart_action_url = G5_SHOP_URL.'/cartupdate.php'; +?> + + + + + + diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/boxcategory.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/boxcategory.skin.php new file mode 100644 index 0000000..70b2207 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/boxcategory.skin.php @@ -0,0 +1,44 @@ +', 0); + +$mshop_categories = get_shop_category_array(true); +?> + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/boxcommunity.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/boxcommunity.skin.php new file mode 100644 index 0000000..f9fb616 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/boxcommunity.skin.php @@ -0,0 +1,25 @@ +', 0); +?> + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/boxevent.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/boxevent.skin.php new file mode 100644 index 0000000..6977f3f --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/boxevent.skin.php @@ -0,0 +1,77 @@ +', 0); +?> +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      이벤트

                                                                                                                      +
                                                                                                                      +
                                                                                                                        +
                                                                                                                        '; + $href = G5_SHOP_URL.'/event.php?ev_id='.$row['ev_id']; + + $event_img = G5_DATA_PATH.'/event/'.$row['ev_id'].'_m'; // 이벤트 이미지 + + if (file_exists($event_img)) { // 이벤트 이미지가 있다면 이미지 출력 + echo ''.$row['ev_subject'].''.PHP_EOL; + } else { // 없다면 텍스트 출력 + echo ''; + if ($row['ev_subject_strong']) echo ''; + echo $row['ev_subject']; + if ($row['ev_subject_strong']) echo ''; + echo ''.PHP_EOL; + } + + // 이벤트 상품 + $sql2 = " select b.* + from `{$g5['g5_shop_event_item_table']}` a left join `{$g5['g5_shop_item_table']}` b on (a.it_id = b.it_id) + where a.ev_id = '{$row['ev_id']}' + order by it_id desc + limit 0, 3 "; + $result2 = sql_query($sql2); + for($k=1; $row2=sql_fetch_array($result2); $k++) { + if($k == 1) { + echo '
                                                                                                                          '.PHP_EOL; + } + + $item_href = shop_item_url($row2['it_id']); + + echo '
                                                                                                                        • '.PHP_EOL; + echo ''.get_it_image($row2['it_id'], 110, 110, get_text($row2['it_name'])).''.PHP_EOL; + echo '
                                                                                                                          '.get_text(cut_str($row2['it_name'], 30)).''.PHP_EOL; + echo ''.display_price(get_price($row2), $row2['it_tel_inq']).'
                                                                                                                          '.PHP_EOL; + echo '
                                                                                                                        • '.PHP_EOL; + } + if($k > 1) { + echo '
                                                                                                                        • 더보기
                                                                                                                        • '.PHP_EOL; + echo '
                                                                                                                        '.PHP_EOL; + } + + if($k == 1) { + echo '
                                                                                                                          '.PHP_EOL; + echo '
                                                                                                                        • 등록된 상품이 없습니다.
                                                                                                                        • '.PHP_EOL; + echo '
                                                                                                                        '.PHP_EOL; + } + //echo '더보기'.PHP_EOL; + echo '
                                                                                                                        '.PHP_EOL; + echo ''.PHP_EOL; + + } + + if ($i==0) + echo '
                                                                                                                      • 이벤트 없음
                                                                                                                      • '.PHP_EOL; + ?> +
                                                                                                                      +
                                                                                                                      +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      오늘 본 상품

                                                                                                                      + + + '.PHP_EOL; + echo '
                                                                                                                    • '.PHP_EOL; + echo '
                                                                                                                      '; + echo $img; + echo '
                                                                                                                      '.PHP_EOL; + echo '
                                                                                                                      '; + echo ''; + echo cut_str($it_name, 10, '').PHP_EOL; + echo ''; + echo ''; + echo $print_price.PHP_EOL; + echo ''.PHP_EOL; + echo '
                                                                                                                      '.PHP_EOL; + echo '
                                                                                                                    • '.PHP_EOL; + + $tv_tot_count++; + $i++; + } + if ($tv_tot_count > 0) echo ''.PHP_EOL; + ?> +
                                                                                                                      + + + + + + +

                                                                                                                      없음

                                                                                                                      + + +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/boxwish.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/boxwish.skin.php new file mode 100644 index 0000000..2995955 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/boxwish.skin.php @@ -0,0 +1,42 @@ +', 0); +?> + + + + diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/couponzone.10.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/couponzone.10.skin.php new file mode 100644 index 0000000..20fe25f --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/couponzone.10.skin.php @@ -0,0 +1,208 @@ +', 0); +?> + +
                                                                                                                      +

                                                                                                                      다운로드 쿠폰

                                                                                                                      +

                                                                                                                      회원이시라면 쿠폰 다운로드 후 바로 사용하실 수 있습니다.

                                                                                                                      + + '.get_text($row3['it_name']).''; + $coupon_info_class = 'cp_2'; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_target = '카테고리할인'; + $cp_link = ''.get_text($row3['ca_name']).''; + $coupon_info_class = 'cp_1'; + break; + case '2': + $cp_link = $cp_target = '주문금액할인'; + $coupon_info_class = 'cp_3'; + break; + case '3': + $cp_link = $cp_target = '배송비할인'; + $coupon_info_class = 'cp_4'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + // $row['cp_type'] 값이 있으면 % 이며 없으면 원 입니다. + $print_cp_price = $row['cp_type'] ? ''.$row['cp_price'].' %' : ''.number_format($row['cp_price']).' 원'; + + $coupon .= '
                                                                                                                    • '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.$subj.''.PHP_EOL; + $coupon .= '
                                                                                                                      '.$subj.'
                                                                                                                      '.$print_cp_price.'
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '적용'.PHP_EOL; + $coupon .= '
                                                                                                                      +

                                                                                                                      '.$cp_target.'

                                                                                                                      +
                                                                                                                        +
                                                                                                                      • 적용 : '.$cp_link.'
                                                                                                                      • '; + + if( $row['cp_minimum'] ){ // 쿠폰에 최소주문금액이 있다면 + $coupon .= '
                                                                                                                      • 최소주문금액 : '.number_format($row['cp_minimum']).'
                                                                                                                      • '; + } + + $coupon .='
                                                                                                                      + +
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      기한다운로드 후 '.number_format($row['cz_period']).'일
                                                                                                                      '.PHP_EOL; + //cp_1 카테고리할인 + //cp_2 개별상품할인 + //cp_3 주문금액할인 + //cp_4 배송비할인 + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                    • '.PHP_EOL; + } + + if($coupon) + echo '
                                                                                                                        '.PHP_EOL.$coupon.'
                                                                                                                      '.PHP_EOL; + else + echo '

                                                                                                                      사용할 수 있는 쿠폰이 없습니다.

                                                                                                                      '; + ?> +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      포인트 쿠폰

                                                                                                                      +

                                                                                                                      보유하신 회원 포인트를 쿠폰으로 교환하실 수 있습니다.

                                                                                                                      + + '.get_text($row3['it_name']).''; + $cp_target = '개별상품할인'; + $coupon_info_class = 'cp_2'; + break; + case '1': + $sql3 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id = '{$row['cp_target']}' "; + $row3 = sql_fetch($sql3); + $cp_link = ''.get_text($row3['ca_name']).''; + $cp_target = '카테고리할인'; + $coupon_info_class = 'cp_1'; + break; + case '2': + $cp_link = $cp_target = '주문금액할인'; + $coupon_info_class = 'cp_3'; + break; + case '3': + $cp_link = $cp_target = '배송비할인'; + $coupon_info_class = 'cp_4'; + break; + } + + // 다운로드 쿠폰인지 + $disabled = ''; + if(is_coupon_downloaded($member['mb_id'], $row['cz_id'])) + $disabled = ' disabled'; + + // $row['cp_type'] 값이 있으면 % 이며 없으면 원 입니다. + $print_cp_price = $row['cp_type'] ? ''.$row['cp_price'].' %' : ''.number_format($row['cp_price']).' 원'; + + $coupon .= '
                                                                                                                    • '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.$subj.''.PHP_EOL; + $coupon .= '
                                                                                                                      '.$subj.'
                                                                                                                      '.$print_cp_price.'
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '적용'.PHP_EOL; + + $coupon .= '
                                                                                                                      +

                                                                                                                      '.$cp_target.'

                                                                                                                      +
                                                                                                                        +
                                                                                                                      • 적용 : '.$cp_link.'
                                                                                                                      • '; + + if( $row['cp_minimum'] ){ // 쿠폰에 최소주문금액이 있다면 + $coupon .= '
                                                                                                                      • 최소주문금액 : '.number_format($row['cp_minimum']).'
                                                                                                                      • '; + } + + $coupon .= '
                                                                                                                      + +
                                                                                                                      '.PHP_EOL; + + $coupon .= '
                                                                                                                      '.PHP_EOL; + + $coupon .= '
                                                                                                                      기한다운로드 후 '.number_format($row['cz_period']).'일
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                      '.PHP_EOL; + $coupon .= '
                                                                                                                    • '.PHP_EOL; + } + + if($coupon) + echo '
                                                                                                                        '.PHP_EOL.$coupon.'
                                                                                                                      '.PHP_EOL; + else + echo '

                                                                                                                      사용할 수 있는 쿠폰이 없습니다.

                                                                                                                      '; + ?> +
                                                                                                                      + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_next.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_next.png new file mode 100644 index 0000000..2cfd493 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_next.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_prev.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_prev.png new file mode 100644 index 0000000..4fdda64 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_prev.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_sb_next.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_sb_next.png new file mode 100644 index 0000000..2cfd493 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_sb_next.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_sb_prev.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_sb_prev.png new file mode 100644 index 0000000..4fdda64 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/btn_sb_prev.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/chk.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/chk.png new file mode 100644 index 0000000..2841a67 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/chk.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/facebook.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/facebook.png new file mode 100644 index 0000000..cf737d6 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/facebook.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/gnb_bg.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/gnb_bg.png new file mode 100644 index 0000000..419b3a2 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/gnb_bg.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/gplus.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/gplus.png new file mode 100644 index 0000000..8ab2fa6 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/gplus.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/icon_arw_toleft.gif b/web/html/theme/FT_WEB20/skin/shop/basic/img/icon_arw_toleft.gif new file mode 100644 index 0000000..a9d338b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/icon_arw_toleft.gif differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/icon_secret.gif b/web/html/theme/FT_WEB20/skin/shop/basic/img/icon_secret.gif new file mode 100644 index 0000000..c04899f Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/icon_secret.gif differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/is_button.gif b/web/html/theme/FT_WEB20/skin/shop/basic/img/is_button.gif new file mode 100644 index 0000000..15f3c87 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/is_button.gif differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/personal.jpg b/web/html/theme/FT_WEB20/skin/shop/basic/img/personal.jpg new file mode 100644 index 0000000..c8956ec Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/personal.jpg differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/sbn_btn.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/sbn_btn.png new file mode 100644 index 0000000..ebd38ec Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/sbn_btn.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/sct_bg_toright.gif b/web/html/theme/FT_WEB20/skin/shop/basic/img/sct_bg_toright.gif new file mode 100644 index 0000000..1617dc3 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/sct_bg_toright.gif differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow.png new file mode 100644 index 0000000..3ba8b73 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_left.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_left.png new file mode 100644 index 0000000..9e729ff Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_left.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_next.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_next.png new file mode 100644 index 0000000..f9ca78b Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_next.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_prev.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_prev.png new file mode 100644 index 0000000..75d70dc Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_prev.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_right.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_right.png new file mode 100644 index 0000000..f70cff7 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/select_arrow_right.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/sit_siblings.jpg b/web/html/theme/FT_WEB20/skin/shop/basic/img/sit_siblings.jpg new file mode 100644 index 0000000..41555fd Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/sit_siblings.jpg differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/twitter.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/twitter.png new file mode 100644 index 0000000..8fbf091 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/twitter.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/img/use_reply.png b/web/html/theme/FT_WEB20/skin/shop/basic/img/use_reply.png new file mode 100644 index 0000000..14a3908 Binary files /dev/null and b/web/html/theme/FT_WEB20/skin/shop/basic/img/use_reply.png differ diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/item.form.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/item.form.skin.php new file mode 100644 index 0000000..4f1095f --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/item.form.skin.php @@ -0,0 +1,528 @@ +', 0); +?> +
                                                                                                                      +
                                                                                                                      + + + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + '.$img.''; + } + } + + if($big_img_count == 0) { + echo ''; + } + ?> + 확대보기 +
                                                                                                                      + 0) { + echo ''; + } + ?> +
                                                                                                                      + + + +
                                                                                                                      +

                                                                                                                      요약정보 및 구매

                                                                                                                      +

                                                                                                                      + +

                                                                                                                      + 상품 선택옵션 개, 추가옵션 개 +

                                                                                                                      + + +
                                                                                                                      + + 고객평점 + + + + + 사용후기 + +
                                                                                                                      + 위시리스트 + +
                                                                                                                      + + 추천하기 +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ + ?> + + + + + + + + 배송비결제'; + $sc_method = ''; + } + else + $sc_method = '주문시 결제'; + } + ?> + + + + + + + + + + + + + + + + + +
                                                                                                                      판매가격판매중지
                                                                                                                      판매가격전화문의
                                                                                                                      시중가격
                                                                                                                      판매가격 + + +
                                                                                                                      제조사
                                                                                                                      원산지
                                                                                                                      브랜드
                                                                                                                      모델
                                                                                                                      재고수량
                                                                                                                      포인트 + +
                                                                                                                      최소구매수량
                                                                                                                      최대구매수량
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +

                                                                                                                      선택옵션

                                                                                                                      + + +
                                                                                                                      + + + + + +
                                                                                                                      +

                                                                                                                      추가옵션

                                                                                                                      + +
                                                                                                                      + + + + + +
                                                                                                                      +

                                                                                                                      선택된 옵션

                                                                                                                      + +
                                                                                                                        +
                                                                                                                      • + + + + + +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + + + + + +0원 +
                                                                                                                        +
                                                                                                                      • +
                                                                                                                      + + +
                                                                                                                      + + + +
                                                                                                                      + + + +

                                                                                                                      상품의 재고가 부족하여 구매할 수 없습니다.

                                                                                                                      + + +
                                                                                                                      + + + + + 위시리스트 + + + 재입고알림 + + +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + 이 분류에 등록된 다른 상품이 없습니다.'; + } + ?> +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/item.info.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/item.info.skin.php new file mode 100644 index 0000000..84bf356 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/item.info.skin.php @@ -0,0 +1,332 @@ +', 0); +?> + + + + + +
                                                                                                                      +

                                                                                                                      관련상품

                                                                                                                      + set_query($sql); + echo $list->run(); + ?> +
                                                                                                                      + + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                        +
                                                                                                                      • +
                                                                                                                      • +
                                                                                                                      • +
                                                                                                                      • +
                                                                                                                      +
                                                                                                                        + + +
                                                                                                                      • +

                                                                                                                        상품 정보

                                                                                                                        + + +

                                                                                                                        상품 상세설명

                                                                                                                        +
                                                                                                                        + +
                                                                                                                        + + + +

                                                                                                                        상품 정보 고시

                                                                                                                        + + + $val) { + $ii_title = $info_array[$key][0]; + $ii_value = $val; + ?> + + + + + + +
                                                                                                                        + + 상품 정보 고시 정보가 올바르게 저장되지 않았습니다.
                                                                                                                        config.php 파일의 G5_ESCAPE_FUNCTION 설정을 addslashes 로
                                                                                                                        변경하신 후 관리자 > 상품정보 수정에서 상품 정보를 다시 저장해주세요.

                                                                                                                        '; + } + } + } //if + ?> + +
                                                                                                                      • + +
                                                                                                                      • +

                                                                                                                        사용후기

                                                                                                                        +
                                                                                                                        +
                                                                                                                      • + + + +
                                                                                                                      • +

                                                                                                                        상품문의

                                                                                                                        +
                                                                                                                        +
                                                                                                                      • + + + +
                                                                                                                      • +

                                                                                                                        배송/교환정보

                                                                                                                        + + + +
                                                                                                                        +

                                                                                                                        배송

                                                                                                                        + +
                                                                                                                        + + + + + +
                                                                                                                        +

                                                                                                                        교환

                                                                                                                        + +
                                                                                                                        + + + +
                                                                                                                      • + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +

                                                                                                                      선택옵션

                                                                                                                      + +
                                                                                                                      + + + + + +
                                                                                                                      +

                                                                                                                      추가옵션

                                                                                                                      + +
                                                                                                                      + + + + + +
                                                                                                                      +

                                                                                                                      선택된 옵션

                                                                                                                      +
                                                                                                                        + +
                                                                                                                      • +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + + + + + +0원 +
                                                                                                                        +
                                                                                                                      • + +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/itemqa.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/itemqa.skin.php new file mode 100644 index 0000000..09dd0a6 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/itemqa.skin.php @@ -0,0 +1,143 @@ +', 0); +?> + + + + +
                                                                                                                      +

                                                                                                                      등록된 상품문의

                                                                                                                      + + + + '; + + if($is_admin || $member['mb_id' ] == $row['mb_id']) { + $iq_question = get_view_thumbnail(conv_content($row['iq_question'], 1), $thumbnail_width); + } else { + $iq_question = '비밀글로 보호된 문의입니다.'; + $is_secret = true; + } + } else { + $iq_question = get_view_thumbnail(conv_content($row['iq_question'], 1), $thumbnail_width); + } + $iq_time = substr($row['iq_time'], 2, 8); + + $hash = md5($row['iq_id'].$row['iq_time'].$row['iq_ip']); + + $iq_stats = ''; + $iq_style = ''; + $iq_answer = ''; + + if ($row['iq_answer']) + { + $iq_answer = get_view_thumbnail(conv_content($row['iq_answer'], 1), $thumbnail_width); + $iq_stats = '답변완료'; + $iq_style = 'sit_qaa_done'; + $is_answer = true; + } else { + $iq_stats = '답변대기'; + $iq_style = 'sit_qaa_yet'; + $iq_answer = '답변이 등록되지 않았습니다.'; + $is_answer = false; + } + + if ($i == 0) echo '
                                                                                                                        '; + ?> + +
                                                                                                                      1. + +
                                                                                                                        +
                                                                                                                        작성자/작성일
                                                                                                                        +
                                                                                                                        +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        +
                                                                                                                        + 문의내용 + Q + +
                                                                                                                        + +
                                                                                                                        + 답변 + A + +
                                                                                                                        + +
                                                                                                                        + + + + +
                                                                                                                        +
                                                                                                                      2. + + 0) echo '
                                                                                                                      '; + + if (!$i) echo '

                                                                                                                      상품문의가 없습니다.

                                                                                                                      '; + ?> +
                                                                                                                      + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/itemqaform.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/itemqaform.skin.php new file mode 100644 index 0000000..d566c4f --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/itemqaform.skin.php @@ -0,0 +1,62 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      상품문의 쓰기

                                                                                                                      + +
                                                                                                                      + + + + +
                                                                                                                      +
                                                                                                                        +
                                                                                                                      • + 옵션 + class="selec_chk"> + +
                                                                                                                      • +
                                                                                                                      • +
                                                                                                                        + +
                                                                                                                        + 이메일을 입력하시면 답변 등록 시 답변이 이메일로 전송됩니다. +
                                                                                                                        +
                                                                                                                        + +
                                                                                                                        + 휴대폰번호를 입력하시면 답변 등록 시 답변등록 알림이 SMS로 전송됩니다. +
                                                                                                                        +
                                                                                                                      • +
                                                                                                                      • + + +
                                                                                                                      • +
                                                                                                                      • + + +
                                                                                                                      • +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/itemqalist.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/itemqalist.skin.php new file mode 100644 index 0000000..1cc82f6 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/itemqalist.skin.php @@ -0,0 +1,144 @@ +', 0); +?> + + + + + +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      + + + +
                                                                                                                      + 전체보기 +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + '; + + if($is_admin || $member['mb_id' ] == $row['mb_id']) { + $iq_question = get_view_thumbnail(conv_content($row['iq_question'], 1), $thumbnail_width); + } else { + $iq_question = '비밀글로 보호된 문의입니다.'; + $is_secret = true; + } + } else { + $iq_question = get_view_thumbnail(conv_content($row['iq_question'], 1), $thumbnail_width); + } + + $it_href = shop_item_url($row['it_id']); + + if ($row['iq_answer']) + { + $iq_answer = get_view_thumbnail(conv_content($row['iq_answer'], 1), $thumbnail_width); + $iq_stats = '답변완료'; + $iq_style = 'sit_qaa_done'; + $is_answer = true; + } else { + $iq_stats = '답변대기'; + $iq_style = 'sit_qaa_yet'; + $iq_answer = '답변이 등록되지 않았습니다.'; + $is_answer = false; + } + + if ($i == 0) echo '
                                                                                                                        '; + ?> +
                                                                                                                      1. + + +
                                                                                                                        +

                                                                                                                        + + +
                                                                                                                        +
                                                                                                                        작성자
                                                                                                                        +
                                                                                                                        +
                                                                                                                        작성일
                                                                                                                        +
                                                                                                                        +
                                                                                                                        + + + +
                                                                                                                        +
                                                                                                                        + +
                                                                                                                      2. + 0) echo '
                                                                                                                      '; + if ($i == 0) echo '

                                                                                                                      자료가 없습니다.

                                                                                                                      '; + ?> +
                                                                                                                      + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/itemuse.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/itemuse.skin.php new file mode 100644 index 0000000..c2918db --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/itemuse.skin.php @@ -0,0 +1,134 @@ +', 0); +?> + + + + +
                                                                                                                      +

                                                                                                                      등록된 사용후기

                                                                                                                      + +
                                                                                                                      + +

                                                                                                                      구매고객 총평점 (총 건 상품평 기준)

                                                                                                                      + + + +
                                                                                                                      + + '; + ?> + +
                                                                                                                    • + +
                                                                                                                      +
                                                                                                                      평점
                                                                                                                      +
                                                                                                                      별<?php echo $is_star; ?>개
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      작성자/작성일
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + +
                                                                                                                    • + + 0) echo ''; + + if (!$i) echo '

                                                                                                                      사용후기가 없습니다.

                                                                                                                      '; + ?> +
                                                                                                                      + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/itemuseform.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/itemuseform.skin.php new file mode 100644 index 0000000..49ddb74 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/itemuseform.skin.php @@ -0,0 +1,75 @@ +', 0); +?> + + +
                                                                                                                      +

                                                                                                                      사용후기 쓰기

                                                                                                                      + +
                                                                                                                      + + + + +
                                                                                                                      +
                                                                                                                        +
                                                                                                                      • + + +
                                                                                                                      • +
                                                                                                                      • + 내용 + +
                                                                                                                      • +
                                                                                                                      • + 평점 +
                                                                                                                          +
                                                                                                                        • + > + + 매우만족 +
                                                                                                                        • +
                                                                                                                        • + > + + 만족 +
                                                                                                                        • +
                                                                                                                        • + > + + 보통 +
                                                                                                                        • +
                                                                                                                        • + > + + 불만 +
                                                                                                                        • +
                                                                                                                        • + > + + 매우불만 +
                                                                                                                        • +
                                                                                                                        +
                                                                                                                      • +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/itemuselist.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/itemuselist.skin.php new file mode 100644 index 0000000..32bd240 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/itemuselist.skin.php @@ -0,0 +1,172 @@ +', 0); +?> + + + + +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      + + + +
                                                                                                                      + 전체보기 +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + + '; + ?> +
                                                                                                                    • +
                                                                                                                      +
                                                                                                                      + + + + + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + 평가점수 + 별<?php echo $star; ?>개 + + + + + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      작성자
                                                                                                                      +
                                                                                                                      +
                                                                                                                      작성일
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + + +
                                                                                                                      +
                                                                                                                      +

                                                                                                                      사용후기

                                                                                                                      +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      작성자
                                                                                                                      +
                                                                                                                      +
                                                                                                                      작성일
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      +
                                                                                                                      + + + 평가점수별<?php echo $star; ?>개 +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + + +
                                                                                                                      +

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      +
                                                                                                                    • + 0) echo ''; + if ($i == 0) echo '

                                                                                                                      자료가 없습니다.

                                                                                                                      '; + ?> +
                                                                                                                      + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/largeimage.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/largeimage.skin.php new file mode 100644 index 0000000..38365c0 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/largeimage.skin.php @@ -0,0 +1,93 @@ +', 0); +?> + +
                                                                                                                      +

                                                                                                                      상품 이미지 새창 보기

                                                                                                                      +
                                                                                                                      + $imgs){ + $thumbnails[$i] = $imgs['thumb']; + ?> + + + + + + +
                                                                                                                      + + 0) { + echo '
                                                                                                                        '; + foreach($thumbnails as $key=>$val) { + echo '
                                                                                                                      • '.$val.'
                                                                                                                      • '; + } + echo '
                                                                                                                      '; + } + ?> +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/list.10.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/list.10.skin.php new file mode 100644 index 0000000..5d038bc --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/list.10.skin.php @@ -0,0 +1,166 @@ +', 0); + +// 장바구니 또는 위시리스트 ajax 스크립트 +add_javascript('', 10); +?> + + +view_star = (method_exists($this, 'view_star')) ? $this->view_star : true; + +foreach((array) $list as $row){ + if( empty($row) ) continue; + + $item_link_href = shop_item_url($row['it_id']); // 상품링크 + $star_score = $row['it_use_avg'] ? (int) get_star($row['it_use_avg']) : ''; //사용자후기 평균별점 + $list_mod = $this->list_mod; // 분류관리에서 1줄당 이미지 수 값 또는 파일에서 지정한 가로 수 + $is_soldout = is_soldout($row['it_id'], true); // 품절인지 체크 + + $classes = array(); + + $classes[] = 'col-row-'.$list_mod; + + if( $i && ($i % $list_mod == 0) ){ + $classes[] = 'row-clear'; + } + + $i++; // 변수 i 를 증가 + + if ($i === 1) { + if ($this->css) { + echo "
                                                                                                                        css}\">\n"; + } else { + echo "
                                                                                                                          \n"; + } + } + + echo "
                                                                                                                        • \n"; + echo "
                                                                                                                          \n"; + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_img) { + echo get_it_image($row['it_id'], $this->img_width, $this->img_height, '', '', stripslashes($row['it_name']))."\n"; + } + + if ($this->href) { + echo "\n"; + } + + if ( !$is_soldout ){ // 품절 상태가 아니면 출력합니다. + echo "
                                                                                                                          + \n"; + echo "
                                                                                                                          \n"; + } + + echo "
                                                                                                                          \n"; + + if ($this->view_it_icon) { + // 품절 + if ($is_soldout) { + echo 'SOLD OUT'; + } + } + echo "
                                                                                                                          \n"; + + echo "
                                                                                                                          \n"; + + // 사용후기 평점표시 + if ($this->view_star && $star_score) { + echo "
                                                                                                                          고객평점\"별점
                                                                                                                          \n"; + } + + if ($this->view_it_id) { + echo "
                                                                                                                          <".stripslashes($row['it_id']).">
                                                                                                                          \n"; + } + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_basic && $row['it_basic']) { + echo "
                                                                                                                          ".stripslashes($row['it_basic'])."
                                                                                                                          \n"; + } + + echo "
                                                                                                                          \n"; + + if ($this->view_it_cust_price || $this->view_it_price) { + + echo "
                                                                                                                          \n"; + if ($this->view_it_price) { + echo display_price(get_price($row), $row['it_tel_inq'])."\n"; + } + if ($this->view_it_cust_price && $row['it_cust_price']) { + echo "".display_price($row['it_cust_price'])."\n"; + } + echo "
                                                                                                                          \n"; + } + + // 위시리스트 + 공유 버튼 시작 + echo "
                                                                                                                          \n"; + echo "\n"; + if ($this->view_sns) { + echo "\n"; + } + + echo "
                                                                                                                          "; + if ($this->view_sns) { + $sns_top = $this->img_height + 10; + $sns_url = $item_link_href; + $sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']); + echo "
                                                                                                                          "; + echo "

                                                                                                                          SNS 공유

                                                                                                                          "; + echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/facebook.png'); + echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/twitter.png'); + echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/gplus.png'); + echo ""; + echo "
                                                                                                                          \n"; + } + echo "
                                                                                                                          "; + echo "
                                                                                                                          \n"; + // 위시리스트 + 공유 버튼 끝 + + echo "
                                                                                                                          "; + + if ($this->view_it_icon) { + echo "
                                                                                                                          ".item_icon($row)."
                                                                                                                          \n"; + } + + echo "
                                                                                                                          \n"; + + echo "
                                                                                                                        • \n"; +} //end foreach + +if ($i >= 1) echo "
                                                                                                                        \n"; + +if($i === 0) echo "

                                                                                                                        등록된 상품이 없습니다.

                                                                                                                        \n"; +?> + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/list.20.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/list.20.skin.php new file mode 100644 index 0000000..c031168 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/list.20.skin.php @@ -0,0 +1,106 @@ +', 0); +?> + + +list_mod >= 2) { // 1줄 이미지 : 2개 이상 + if ($i%$this->list_mod == 0) $sct_last = ' sct_last'; // 줄 마지막 + else if ($i%$this->list_mod == 1) $sct_last = ' sct_clear'; // 줄 첫번째 + else $sct_last = ''; + } else { // 1줄 이미지 : 1개 + $sct_last = ' sct_clear'; + } + + if ($i == 1) { + if ($this->css) { + echo "
                                                                                                                          css}\">\n"; + } else { + echo "\n"; + +if($i == 0) echo "

                                                                                                                          등록된 상품이 없습니다.

                                                                                                                          \n"; +?> + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/list.30.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/list.30.skin.php new file mode 100644 index 0000000..3035663 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/list.30.skin.php @@ -0,0 +1,117 @@ +', 0); +?> + + += 2) { // 1줄 이미지 : 2개 이상 + if ($i%$list_mod == 0) $sct_last = ' sct_last'; // 줄 마지막 + else if ($i%$list_mod == 1) $sct_last = ' sct_clear'; // 줄 첫번째 + else $sct_last = ''; + } else { // 1줄 이미지 : 1개 + $sct_last = ' sct_clear'; + } + + if ($i == 1) { + if ($this->css) { + echo "
                                                                                                                            css}\">\n"; + } else { + echo "
                                                                                                                              \n"; + } + } + + $list_top_pad = 20; + $list_right_pad = 10; + $list_bottom_pad = 20; + $list_left_pad = $this->img_width + 10; + $list_real_width = 360; + $list_width = $list_real_width - $list_right_pad - $list_left_pad; + $list_height = $this->img_height - $list_top_pad - $list_bottom_pad; + + echo "
                                                                                                                            • \n"; + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_icon) { + echo "
                                                                                                                              ".item_icon($row)."
                                                                                                                              \n"; + } + + if ($this->view_it_id) { + echo "
                                                                                                                              <".stripslashes($row['it_id']).">
                                                                                                                              \n"; + } + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_basic && $row['it_basic']) { + echo "
                                                                                                                              ".stripslashes($row['it_basic'])."
                                                                                                                              \n"; + } + + if ($this->view_it_cust_price || $this->view_it_price) { + + echo "
                                                                                                                              \n"; + + if ($this->view_it_cust_price && $row['it_cust_price']) { + echo "".display_price($row['it_cust_price'])."\n"; + } + + if ($this->view_it_price) { + echo display_price(get_price($row), $row['it_tel_inq'])."\n"; + } + + echo "
                                                                                                                              \n"; + + } + + if ($this->view_sns) { + $sns_url = $item_link_href; + $sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']); + echo "
                                                                                                                              "; + echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_fb_s.png'); + echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_twt_s.png'); + echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/sns_goo_s.png'); + echo "
                                                                                                                              \n"; + } + + $arrow_left = $this->img_width - 10; + echo "
                                                                                                                              "; + + echo "
                                                                                                                            • \n"; +} + +if ($i >= 1) echo "
                                                                                                                            \n"; + +if($i == 0) echo "

                                                                                                                            등록된 상품이 없습니다.

                                                                                                                            \n"; +?> + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/list.40.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/list.40.skin.php new file mode 100644 index 0000000..a7152c2 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/list.40.skin.php @@ -0,0 +1,137 @@ +', 0); + +// 관련상품 스킨은 사품을 한줄에 하나만 표시하며 해당 상품에 관련상품이 등록되어 있는 경우 기본으로 7개까지 노출합니다. +?> + + += 2) { // 1줄 이미지 : 2개 이상 + if ($i%$list_mod == 0) $sct_last = ' sct_last'; // 줄 마지막 + else if ($i%$list_mod == 1) $sct_last = ' sct_clear'; // 줄 첫번째 + else $sct_last = ''; + } else { // 1줄 이미지 : 1개 + $sct_last = ' sct_clear'; + } + + if ($i == 1) { + if ($this->css) { + echo "
                                                                                                                              css}\">\n"; + } else { + echo "
                                                                                                                                \n"; + } + } + + //$list_top_pad = 20; + //$list_right_pad = 10; + //$list_bottom_pad = 20; + //$list_left_pad = $this->img_width + 10; + //$list_real_width = 740; + //$list_width = $list_real_width - $list_right_pad - $list_left_pad; + //$list_height = $this->img_height - $list_top_pad - $list_bottom_pad; + + echo "
                                                                                                                              • \n"; + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_icon) { + echo "
                                                                                                                                ".item_icon($row)."
                                                                                                                                \n"; + } + + if ($this->view_it_id) { + echo "
                                                                                                                                <".stripslashes($row['it_id']).">
                                                                                                                                \n"; + } + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_basic && $row['it_basic']) { + echo "
                                                                                                                                ".stripslashes($row['it_basic'])."
                                                                                                                                \n"; + } + + if ($this->view_it_cust_price || $this->view_it_price) { + + echo "
                                                                                                                                \n"; + + if ($this->view_it_cust_price && $row['it_cust_price']) { + echo "".display_price($row['it_cust_price'])."\n"; + } + + if ($this->view_it_price) { + echo display_price(get_price($row), $row['it_tel_inq'])."\n"; + } + + echo "
                                                                                                                                \n"; + + } + + echo "
                                                                                                                                + \n"; + echo "
                                                                                                                                \n"; + + // 위시리스트 + 공유 버튼 시작 + echo "
                                                                                                                                \n"; + echo "\n"; + if ($this->view_sns) { + echo "\n"; + } + + echo "
                                                                                                                                "; + if ($this->view_sns) { + $sns_top = $this->img_height + 10; + $sns_url = $item_link_href; + $sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']); + echo "
                                                                                                                                "; + echo "

                                                                                                                                SNS 공유

                                                                                                                                "; + echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/facebook.png'); + echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/twitter.png'); + echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/gplus.png'); + echo ""; + echo "
                                                                                                                                \n"; + } + echo "
                                                                                                                                "; + echo "
                                                                                                                                \n"; + // 위시리스트 + 공유 버튼 끝 + + // 관련상품 + echo "
                                                                                                                                ".relation_item($row['it_id'], 70, 0, 5)."
                                                                                                                                \n"; + + echo "
                                                                                                                              • \n"; +} + +if ($i >= 1) echo "
                                                                                                                              \n"; + +if($i == 0) echo "

                                                                                                                              등록된 상품이 없습니다.

                                                                                                                              \n"; +?> + diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/list.sort.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/list.sort.skin.php new file mode 100644 index 0000000..5b576f5 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/list.sort.skin.php @@ -0,0 +1,45 @@ +', 0); +?> + + +
                                                                                                                              +

                                                                                                                              상품 정렬

                                                                                                                              + + + + +
                                                                                                                              + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/list.sub.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/list.sub.skin.php new file mode 100644 index 0000000..7e6a899 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/list.sub.skin.php @@ -0,0 +1,12 @@ +', 0); +?> + +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              • +
                                                                                                                              +'.$row['ca_name'].' ('.$row2['cnt'].')'; + $exists = true; +} + +if ($exists) { + + // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 + add_stylesheet('', 0); +?> + + + + + +'; + if ($cnt) { + $str .= ''.$row['ca_name'].''; + $sql2 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id like '{$row['ca_id']}%' and ca_use = '1' and length(ca_id) = $len4 order by ca_order, ca_id "; + $result2 = sql_query($sql2); + $k=0; + while ($row2=sql_fetch_array($result2)) { + $str .= ''.$row2['ca_name'].''; + $k++; + } + } else { + $str .= ''.$row['ca_name'].''; + } + $str .= ''; + $exists = true; + } +} + +if ($exists) { + // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 + add_stylesheet('', 0); +?> + + + + + +'.$row['ca_name'].''; + $exists = true; +} + +if ($exists) { + + // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 + add_stylesheet('', 0); +?> + + + + + +', 0); +?> + + +list_mod >= 2) { // 1줄 이미지 : 2개 이상 + if ($i%$this->list_mod == 0) $sct_last = 'sct_last'; // 줄 마지막 + else if ($i%$this->list_mod == 1) $sct_last = 'sct_clear'; // 줄 첫번째 + else $sct_last = ''; + } else { // 1줄 이미지 : 1개 + $sct_last = 'sct_clear'; + } + + if ($i == 1) { + if ($this->css) { + echo "
                                                                                                                                css}\">\n"; + } else { + echo "\n"; + +if($i == 0) echo "

                                                                                                                                등록된 상품이 없습니다.

                                                                                                                                \n"; +?> + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/main.20.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/main.20.skin.php new file mode 100644 index 0000000..2f7c0f5 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/main.20.skin.php @@ -0,0 +1,280 @@ +', 0); + +/* +상품리스트가 일정 시간마다 위로 롤링되는 스킨 +롤링되기 위해서는 상품이 2줄 이상이어야 함 +*/ +?> + + +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +
                                                                                                                                + + + +1 && $i%$this->list_mod == 0) + $sct_last = ' sct_last'; // 줄 마지막 + + if ($i == 1) { + if ($this->css) { + echo "
                                                                                                                                type}\" class=\"{$this->css}\">\n"; + } else { + echo "
                                                                                                                                type}\" class=\"sct smt_20\">\n"; + } + echo "
                                                                                                                                  \n"; + } + + if ($i>1 && $i%$this->list_mod == 1) { + echo "
                                                                                                                                \n"; + echo "\n"; + echo "
                                                                                                                                \n"; +} + +if($i == 0) echo "

                                                                                                                                등록된 상품이 없습니다.

                                                                                                                                \n"; +?> + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/main.30.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/main.30.skin.php new file mode 100644 index 0000000..993f7ff --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/main.30.skin.php @@ -0,0 +1,162 @@ +', 0); + +// 관련상품 스킨은 사품을 한줄에 하나만 표시하며 해당 상품에 관련상품이 등록되어 있는 경우 기본으로 7개까지 노출합니다. +add_javascript('', 10); +?> + + += 2) { // 1줄 이미지 : 2개 이상 + if ($i%$list_mod == 0) $sct_last = ' sct_last'; // 줄 마지막 + else if ($i%$list_mod == 1) $sct_last = ' sct_clear'; // 줄 첫번째 + else $sct_last = ''; + } else { // 1줄 이미지 : 1개 + $sct_last = ' sct_clear'; + } + + if ($i == 1) { + if ($this->css) { + echo "
                                                                                                                                  css}\">\n"; + } else { + echo "
                                                                                                                                    \n"; + } + } + + echo "
                                                                                                                                  • \n"; + + echo "
                                                                                                                                    \n"; + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_img) { + echo get_it_image($row['it_id'], $this->img_width, $this->img_height, '', '', stripslashes($row['it_name']))."\n"; + } + + if ($this->href) { + echo "\n"; + } + + // 할인율 표시 ( 전화문의가 아니며 판매가격 과 시중가격 이 있을때 표시 (시중가격-판매가격)/시중가격*100 ) + if ($row['it_cust_price'] && $row['it_price'] && !$row['it_tel_inq']) { + + $sale_per = round( (((int) $row['it_cust_price'] - get_price($row))/$row['it_cust_price']) * 100 , 1).'%'; + + echo ''.$sale_per.''.PHP_EOL; + } + + if ($this->view_it_icon) { + // 품절 + if (is_soldout($row['it_id'], true)) { + echo 'SOLD OUT'; + } + } + echo "
                                                                                                                                    \n"; + + echo "
                                                                                                                                    \n"; + + // 사용후기 평점표시 + if ($this->view_star && $star_score) { + echo "
                                                                                                                                    고객평점\"별점
                                                                                                                                    \n"; + } + + if ($this->view_it_id) { + echo "
                                                                                                                                    <".stripslashes($row['it_id']).">
                                                                                                                                    \n"; + } + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_basic && $row['it_basic']) { + echo "
                                                                                                                                    ".stripslashes($row['it_basic'])."
                                                                                                                                    \n"; + } + + if ($this->view_it_cust_price || $this->view_it_price) { + + echo "
                                                                                                                                    \n"; + + if ($this->view_it_cust_price && $row['it_cust_price']) { + echo "".display_price($row['it_cust_price'])."\n"; + } + + if ($this->view_it_price) { + echo display_price(get_price($row), $row['it_tel_inq'])."\n"; + } + echo "
                                                                                                                                    \n"; + } + + + // 위시리스트 + 공유 버튼 시작 { + echo "
                                                                                                                                    \n"; + echo "\n"; + if ($this->view_sns) { + echo "\n"; + } + + echo "
                                                                                                                                    "; + if ($this->view_sns) { + $sns_top = $this->img_height + 10; + $sns_url = $item_link_href; + $sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']); + echo "
                                                                                                                                    "; + echo "

                                                                                                                                    SNS 공유

                                                                                                                                    "; + echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/facebook.png'); + echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/twitter.png'); + echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/gplus.png'); + echo ""; + echo "
                                                                                                                                    \n"; + } + echo "
                                                                                                                                    "; + echo "
                                                                                                                                    \n"; + // } 위시리스트 + 공유 버튼 끝 + + echo "
                                                                                                                                    \n"; + + if ($this->view_it_icon) { + echo "
                                                                                                                                    ".item_icon($row)."
                                                                                                                                    \n"; + } + + echo "
                                                                                                                                  • \n"; +} + +if ($i >= 1) echo "
                                                                                                                                  \n"; + +if($i == 0) echo "

                                                                                                                                  등록된 상품이 없습니다.

                                                                                                                                  \n"; +?> + + + + diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/main.40.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/main.40.skin.php new file mode 100644 index 0000000..3f05221 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/main.40.skin.php @@ -0,0 +1,154 @@ +', 0); + +// 관련상품 스킨은 사품을 한줄에 하나만 표시하며 해당 상품에 관련상품이 등록되어 있는 경우 기본으로 7개까지 노출합니다. +add_javascript('', 10); +?> + + += 2) { // 1줄 이미지 : 2개 이상 + if ($i%$list_mod == 0) $sct_last = ' sct_last'; // 줄 마지막 + else if ($i%$list_mod == 1) $sct_last = ' sct_clear'; // 줄 첫번째 + else $sct_last = ''; + } else { // 1줄 이미지 : 1개 + $sct_last = ' sct_clear'; + } + + if ($i == 1) { + if ($this->css) { + echo "
                                                                                                                                    css}\">\n"; + } else { + echo "
                                                                                                                                      \n"; + } + } + + echo "
                                                                                                                                    • \n"; + + echo "
                                                                                                                                      \n"; + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_img) { + echo get_it_image($row['it_id'], $this->img_width, $this->img_height, '', '', stripslashes($row['it_name']))."\n"; + } + + if ($this->href) { + echo "\n"; + } + + echo "
                                                                                                                                      + \n"; + echo "
                                                                                                                                      \n"; + + echo "
                                                                                                                                      \n"; + + if ($this->view_it_icon) { + // 품절 + if (is_soldout($row['it_id'], true)) { + echo 'SOLD OUT'; + } + } + echo "
                                                                                                                                      \n"; + + echo "
                                                                                                                                      \n"; + + // 사용후기 평점표시 + if ($this->view_star && $star_score) { + echo "
                                                                                                                                      고객평점\"별점
                                                                                                                                      \n"; + } + + if ($this->view_it_id) { + echo "
                                                                                                                                      <".stripslashes($row['it_id']).">
                                                                                                                                      \n"; + } + + if ($this->href) { + echo "\n"; + } + + if ($this->view_it_basic && $row['it_basic']) { + echo "
                                                                                                                                      ".stripslashes($row['it_basic'])."
                                                                                                                                      \n"; + } + + if ($this->view_it_cust_price || $this->view_it_price) { + + echo "
                                                                                                                                      \n"; + if ($this->view_it_price) { + echo display_price(get_price($row), $row['it_tel_inq'])."\n"; + } + echo "
                                                                                                                                      \n"; + } + + + // 위시리스트 + 공유 버튼 시작 { + echo "
                                                                                                                                      \n"; + echo "\n"; + if ($this->view_sns) { + echo "\n"; + } + + echo "
                                                                                                                                      "; + if ($this->view_sns) { + $sns_top = $this->img_height + 10; + $sns_url = $item_link_href; + $sns_title = get_text($row['it_name']).' | '.get_text($config['cf_title']); + echo "
                                                                                                                                      "; + echo "

                                                                                                                                      SNS 공유

                                                                                                                                      "; + echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/facebook.png'); + echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/twitter.png'); + echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_SHOP_SKIN_URL.'/img/gplus.png'); + echo ""; + echo "
                                                                                                                                      \n"; + } + echo "
                                                                                                                                      "; + echo "
                                                                                                                                      \n"; + // } 위시리스트 + 공유 버튼 끝 + + echo "
                                                                                                                                      \n"; + + if ($this->view_it_icon) { + echo "
                                                                                                                                      ".item_icon($row)."
                                                                                                                                      \n"; + } + + echo "
                                                                                                                                    • \n"; +} + +if ($i >= 1) echo "
                                                                                                                                    \n"; + +if($i == 0) echo "

                                                                                                                                    등록된 상품이 없습니다.

                                                                                                                                    \n"; +?> + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/main.50.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/main.50.skin.php new file mode 100644 index 0000000..99a0b22 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/main.50.skin.php @@ -0,0 +1,83 @@ +', 0); +?> + + +1 && $i%$this->list_mod == 0) + $sct_last = ' sct_last'; // 줄 마지막 + if ($i == 1) { + if ($this->css) { + echo "
                                                                                                                                      css}\">\n"; + } else { + echo "\n"; +if($i == 0) echo "

                                                                                                                                      등록된 상품이 없습니다.

                                                                                                                                      \n"; +?> + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/mainbanner.10.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/mainbanner.10.skin.php new file mode 100644 index 0000000..15dc366 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/mainbanner.10.skin.php @@ -0,0 +1,143 @@ +', 0); +add_javascript('', 10); +add_stylesheet('', 10); + +$max_width = $max_height = 0; +$bn_first_class = ' class="bn_first"'; +$bn_slide_btn = ''; +$bn_sl = ' class="bn_sl"'; +$main_banners = array(); + +for ($i=0; $row=sql_fetch_array($result); $i++) +{ + $main_banners[] = $row; + + // 테두리 있는지 + $bn_border = ($row['bn_border']) ? ' class="sbn_border"' : '';; + // 새창 띄우기인지 + $bn_new_win = ($row['bn_new_win']) ? ' target="_blank"' : ''; + + $bimg = G5_DATA_PATH.'/banner/'.$row['bn_id']; + $item_html = ''; + + if (file_exists($bimg)) + { + $banner = ''; + $size = getimagesize($bimg); + + if($size[2] < 1 || $size[2] > 16) + continue; + + if($max_width < $size[0]) + $max_width = $size[0]; + + if($max_height < $size[1]) + $max_height = $size[1]; + + $item_html .= ''; + } + + $banner_style = $max_height ? 'style="min-height:'.($max_height + 25).'px"' : ''; + if ($i==0) echo '
                                                                                                                                      '.PHP_EOL; + + echo '
                                                                                                                                      '.PHP_EOL; + + echo '
                                                                                                                                      '.PHP_EOL; + + echo '
                                                                                                                                      '.PHP_EOL; + echo '
                                                                                                                                      + +
                                                                                                                                      '.PHP_EOL; + echo '
                                                                                                                                      '.PHP_EOL; + echo '
                                                                                                                                      '.PHP_EOL; +?> + + + substr($ca_id,0,2), + 'ca_id2' => substr($ca_id,0,4), + 'ca_id3' => substr($ca_id,0,6), + ); +} else if( $is_item_view && isset($it) && is_array($it) ) { + $navi_datas = get_shop_navigation_data(true, $it['ca_id']); + $ca_ids = array( + 'ca_id' => substr($it['ca_id'],0,2), + 'ca_id2' => substr($it['ca_id'],0,4), + 'ca_id3' => substr($it['ca_id'],0,6) + ); +} + +$location_class = array(); +if($is_item_view){ + $location_class[] = 'view_location'; // view_location는 리스트 말고 상품보기에서만 표시 +} else { + $location_class[] = 'is_list is_right'; // view_location는 리스트 말고 상품보기에서만 표시 +} + +// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 +add_stylesheet('', 0); +add_javascript('', 10); +?> + +
                                                                                                                                      + 메인으로 + + + + + + + + + + + + + + + + + +
                                                                                                                                      + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/personalpay.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/personalpay.skin.php new file mode 100644 index 0000000..771ed55 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/personalpay.skin.php @@ -0,0 +1,34 @@ +', 0); +?> + += 2) { // 1줄 이미지 : 2개 이상 + if ($i%$list_mod == 0) $sct_last = ' sct_last'; // 줄 마지막 + else if ($i%$list_mod == 1) $sct_last = ' sct_clear'; // 줄 첫번째 + else $sct_last = ''; + } else { // 1줄 이미지 : 1개 + $sct_last = ' sct_clear'; + } + + if ($i == 1) { + echo "
                                                                                                                                        \n"; + } + + $href = G5_SHOP_URL.'/personalpayform.php?pp_id='.$row['pp_id'].'&page='.$page; +?> +
                                                                                                                                      • +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                      • + 1) echo "
                                                                                                                                      \n"; + +if($i == 1) echo "

                                                                                                                                      등록된 개인결제가 없습니다.

                                                                                                                                      \n"; \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/relation.10.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/relation.10.skin.php new file mode 100644 index 0000000..541d806 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/relation.10.skin.php @@ -0,0 +1,109 @@ +', 0); +add_javascript('', 10); +?> + + +list_mod >= 2) { // 1줄 이미지 : 2개 이상 + if ($i%$this->list_mod == 0) $sct_last = ' sct_last'; // 줄 마지막 + else if ($i%$this->list_mod == 1) $sct_last = ' sct_clear'; // 줄 첫번째 + else $sct_last = ''; + } else { // 1줄 이미지 : 1개 + $sct_last = ' sct_clear'; + } + + if ($i == 1) { + if ($this->css) { + echo "
                                                                                                                                        css}\">\n"; + } else { + echo "\n"; + +if($i == 1) echo "

                                                                                                                                        등록된 상품이 없습니다.

                                                                                                                                        \n"; +?> + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/search.skin.php b/web/html/theme/FT_WEB20/skin/shop/basic/search.skin.php new file mode 100644 index 0000000..5cf9637 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/search.skin.php @@ -0,0 +1,134 @@ + + + + + +
                                                                                                                                        +

                                                                                                                                        검색 결과

                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + + + +
                                                                                                                                        + + + + + + 상세검색을 선택하지 않거나, 상품가격을 입력하지 않으면 전체에서 검색합니다.
                                                                                                                                        + 검색어는 최대 30글자까지, 여러개의 검색어를 공백으로 구분하여 입력 할수 있습니다. +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + 검색범위 + > + > + > + > + 상품가격 (원) + + 원 ~ + + 원 +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        + +
                                                                                                                                        + + + + +
                                                                                                                                        + +
                                                                                                                                        + set_is_page(true); + $list->set_view('it_img', true); + $list->set_view('it_name', true); + $list->set_view('it_basic', true); + $list->set_view('it_cust_price', false); + $list->set_view('it_price', true); + $list->set_view('it_icon', true); + $list->set_view('sns', true); + $list->set_view('star', true); + echo $list->run(); + } + else + { + $i = 0; + $error = '

                                                                                                                                        '.$list_file.' 파일을 찾을 수 없습니다.
                                                                                                                                        관리자에게 알려주시면 감사하겠습니다.

                                                                                                                                        '; + } + + if ($i==0) + { + echo '
                                                                                                                                        '.$error.'
                                                                                                                                        '; + } + + $query_string = 'qname='.$qname.'&qexplan='.$qexplan.'&qid='.$qid; + if($qfrom && $qto) $query_string .= '&qfrom='.$qfrom.'&qto='.$qto; + $query_string .= '&qcaid='.$qcaid.'&q='.urlencode($q); + $query_string .='&qsort='.$qsort.'&qorder='.$qorder; + echo get_paging($config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$query_string.'&page='); + ?> +
                                                                                                                                        + +
                                                                                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/shop/basic/style.css b/web/html/theme/FT_WEB20/skin/shop/basic/style.css new file mode 100644 index 0000000..9622b37 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/shop/basic/style.css @@ -0,0 +1,970 @@ +@charset "utf-8"; + +/* 리스트 공통 */ +.lists-row{margin-right:-10px;margin-left:-10px} +.lists-row .col-row-0,.lists-row .col-row-1,.lists-row .col-row-2,.lists-row .col-row-3,.lists-row .col-row-4,.lists-row .col-row-5,.lists-row .col-row-6,.lists-row .col-row-7,.lists-row .col-row-8,.lists-row .col-row-9,.lists-row .col-row-10{position:relative;min-height:1px;padding-left:10px;*padding-left:0;padding-right:10px;*padding-right:0;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0;} +.lists-row .col-row-0,.lists-row .col-row-1{width:100%} +.lists-row .col-row-2{width:50%} +.lists-row .col-row-3{width:33.33333333%} +.lists-row .col-row-4{width:25%} +.lists-row .col-row-5{width:20%} +.lists-row .col-row-6{width:16.66666667%} +.lists-row .col-row-7{width:14.28571428%} +.lists-row .col-row-8{width:12.5%} +.lists-row .col-row-9{width:11.11111111%} +.lists-row .col-row-10{width:10%} +.row-clear{clear:both!important} +.lists-row .sct_img img{max-width:100%;height:auto} + +/* aside:gnb */ +#gnb {margin-bottom:15px;background:#fff;border:1px solid #e8e8e8;border-top:0} +#gnb h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.gnb_1dli {position:relative;word-wrap:break-word} +.gnb_1dli_on {color:#fff;text-decoration:none} +.gnb_1da {display:block;padding:0 20px;line-height:48px;color:#010101;text-decoration:none;font-size:1.167em} +.gnb_1da i {position:absolute;right:0;top:0;display:inline-block;color:#c4c4c4;padding:15px;font-size:1.45em} + +.gnb_1dam {background:url('img/gnb_bg.png') center right no-repeat} +.gnb_1dli_on .gnb_1da {background-color:#f5f5f5;color:#3a8afd;font-weight:bold;text-decoration:none} +.gnb_1dli_on .gnb_1da:after {position:absolute;left:-1px;top:0;content:"";background:#3a8afd;width:3px;height:100%} + +.gnb_1dli_on .gnb_1dam {text-decoration:none} +.gnb_2dul {display:none;z-index:1000;position:absolute;border:1px solid #e8e8e8;padding:10px} +.gnb_1dli_over .gnb_2dul, .gnb_1dli_over2 .gnb_2dul {display:inline-block;top:0;left:263px;width:200px;background:#fff} +.gnb_1dli_over .gnb_2dul:after, .gnb_1dli_over2 .gnb_2dul:after {content:"";position:absolute;top:10px;left:-6px;display:inline-block;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid #fff} +.gnb_1dli_over .gnb_2dul:before, .gnb_1dli_over2 .gnb_2dul:before {content:"";position:absolute;top:9px;left:-7px;display:inline-block;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid #e8e8e8} + +.gnb_2da {} +.gnb_1dli_over .gnb_2da {display:block;padding:5px 10px;line-height:20px;font-size:1.083em} +.gnb_2da:focus, .gnb_2da:hover {text-decoration:none;color:#3a8afd} + +/* 오늘 본 상품 */ +#stv {position:relative;height:100%} +#stv .li_empty {text-align:center;line-height:100px} +#stv_pg {display:block;position:fixed;right:0;bottom:0;width:229px;text-align:center;margin:10px 0 0;padding:15px;line-height:20px;background:#fff} +.stv_item {display:none;padding:15px;word-break:break-all;border-bottom:1px solid #f6f6f6} +.stv_item:after {display:block;visibility:hidden;clear:both;content:""} +.stv_item .prd_img {display:inline-block;float:left;margin-right:10px} +.stv_item .prd_cnt {display:inline-block;float:left} +.stv_item .prd_cnt span {display:block;max-width:105px} +.stv_item .prd_cnt .prd_name {font-weight:bold;margin-bottom:3px} + +#stv_btn {position:absolute;top:10px;right:10px;width:60px;height:50px} +#up {position:absolute;top:0;left:0;background:url('img/btn_sb_prev.png') no-repeat 50% 50%;width:30px;height:30px;text-indent:-999px;overflow:hidden;border:0} +#down {position:absolute;top:0;right:0;background:url('img/btn_sb_next.png') no-repeat 50% 50%;width:30px;height:30px;text-indent:-999px;overflow:hidden;border:0} + +/* 이벤트 링크 */ +#sev {margin:20px 0;text-align:center} +#sev header {margin:0 0 20px} +#sev header:after {display:block;visibility:hidden;clear:both;content:""} +#sev h2 {float:left;font-size:1.5em;margin:0 0 10px 0;display:inline-block;line-height:1em} +#sev h2:after {display:block;visibility:hidden;clear:both;content:""} +#sev ul:after {display:block;visibility:hidden;clear:both;content:""} +#sev>ul {margin:0 -10px} +#sev .ev_li {float:left;padding:0 10px;width:33.333%} +#sev .ev_li:first-child {margin-left:0} +#sev .ev_li .sev_img img {width:100%;height:auto} +#sev .ev_prd {border:1px solid #ddd;text-align:center;background:#fff} +#sev .ev_prd li {position:relative;display:block;padding:15px;text-align:left;vertical-align:top;border-bottom:1px solid #f6f6f6} +#sev .ev_prd li:last-child {border-bottom:0} +#sev .ev_prd li:after {display:block;visibility:hidden;clear:both;content:""} +#sev .ev_prd .ev_prd_tit {display:block;color:#000;font-size:1.1em;margin-bottom:5px} +#sev .ev_prd .ev_prd_img {float:left;display:inline-block} +#sev .ev_prd .ev_txt_wr {float:left;max-width:139px;margin-left:10px} +#sev .ev_prd .ev_prd_price {font-weight:bold;display:block;margin:5px 0 10px;font-size:1.25em;font-weight:bold} +#sev .ev_prd .sev_more {color:#3a8afd;background:#fff;display:block;text-align:center} + + +/* 커뮤니티 링크 */ +#scomm {padding:20px} +#scomm h2 {margin:0 0 5px} +#scomm li {display:block;margin:3px} +#scomm li a {line-height:25px;color:#555} +#scomm li a:hover {color:#be334a} + +/* 메인배너 */ +#main_bn {border:1px solid #e3e5e8;position:relative;margin:19px 0 30px} +#main_bn:after {display:block;visibility:hidden;clear:both;content:""} +#main_bn .slide-wrap {padding:0;margin:0} +#main_bn .slide-wrap img {max-width:100%;height:auto} +#main_bn .main_image_area{position:relative} +#main_bn .owl_pager {position:relative;width:100%;background:#fff;border-top:1px solid #e3e5e8} +#main_bn .owl_pager ul:after {display:block;visibility:hidden;clear:both;content:""} +#main_bn .owl_pager li {float:left;position:relative;width:20%;border-left:1px solid #e3e5e8;text-align:center;line-height:45px;height:45px;font-size:1.2em} +#main_bn .owl_pager li:first-child, #main_bn .owl_pager li:nth-child(5n+1) {border-left:0} +#main_bn .owl_pager li a {display:block} +#main_bn .owl_pager li a:after {content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:#e3e5e8} +#main_bn .owl_pager li.active a {color:#3a8afd} +#main_bn .owl_pager li.active a:after {background:#3a8afd;top:-1px} + +.btn_wr {background:rgba(0,0,0,0.5);display:inline-block;position:absolute;right:20px;bottom:65px;border-radius:30px;padding:3px 5px} +#main_bn .btn_wr{z-index:2} +.btn_wr .pager-prev {margin-left:5px;font-weight:bold} +.btn_wr .pager-next {margin-right:5px;font-weight:bold} +.btn_wr .pager-prev, .btn_wr .pager-next, #slide-counter {float:left;display:inline-block;padding:5px;color:#fff} +#slide-counter {margin:0 5px} + +/*서브배너*/ +#sbn_side {position:relative;width:100%;margin-bottom:20px} +.sb_bn {} +.sb_bn img {width:100%;height:auto} +#sbn_side h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sbn_side .bx-controls {position:absolute;bottom:10px;left:15px} +#sbn_side .bx-pager-item {display:inline-block} +#sbn_side .bx-pager-item a {float:left;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#fff;text-indent:-9999px;opacity:0.5} +#sbn_side .bx-pager-item a.active {opacity:1} +#sbn_side .bx-controls-direction {display:none} + +/*장바구니*/ +#sbsk {position:relative} +#sbsk li {position:relative;border-bottom:1px solid #f6f6f6;padding:15px} +#sbsk li:after {display:block;visibility:hidden;clear:both;content:""} +#sbsk .go_cart {position:absolute;top:11px;right:15px;display:inline-block;height:28px;line-height:22px;border:1px solid #d5d9dd;color:#3a8afd;border-radius:2px;background:#fff;padding:2px 5px} +#sbsk .btn_buy {padding:15px;font-weight:bold;text-align:center} +#sbsk .btn_buy .btn_submit {width:100%;height:40px} +#sbsk .li_empty {text-align:center;line-height:100px} +#sbsk .prd_img {display:inline-block;float:left;margin-right:10px} +#sbsk .prd_cnt {display:inline-block;float:left} +#sbsk .prd_cnt a, #sbsk .prd_cnt span {display:block;max-width:105px} +#sbsk .prd_cnt .prd_name {font-weight:bold;margin-bottom:3px} +#sbsk .cart_del {border:0;width:35px;height:35px;text-align:center;position:absolute;right:0;bottom:0;color:#c5c8ca;background:#fff;font-size:1.25em} + +/*위시리스트*/ +#wish {} +#wish li {position:relative;border-bottom:1px solid #f6f6f6;padding:15px} +#wish li:after {display:block;visibility:hidden;clear:both;content:""} +#wish .li_empty {text-align:center;line-height:100px} +#wish .prd_img {display:inline-block;float:left;margin-right:10px} +#wish .prd_cnt {display:inline-block;float:left} +#wish .prd_cnt a {display:block;max-width:105px} +#wish .prd_cnt .prd_name {font-weight:bold;margin-bottom:3px} + +/* ##### main(nn).skin.php, list.(nn).skin.php 공통 적용 시작 ##### */ + +/* 공통 */ +.sct_wrap {position:relative;margin:0 0 20px} +.sct_wrap .sctrl {position:absolute;top:0;right:0} /* 애니메이션 효과 사용 시 재생 정지 버튼 등 */ +.sct_wrap:after {display:block;visibility:hidden;clear:both;content:""} +.sct_wrap header {padding:10px 0 20px} +.sct_wrap header:after {display:block;visibility:hidden;clear:both;content:""} +.sct_wrap h2 {float:left;font-size:1.5em;margin:0 0 10px 0;display:inline-block;line-height:1em} +.sct_wrap h2:after {display:block;visibility:hidden;clear:both;content:""} +.sct_wrap h2 a {text-decoration:none} + +#sct {clear:both} + +.sct {clear:both;margin:0;padding:0;list-style:none} +.sct:after {display:block;visibility:hidden;clear:both;content:""} +.sct_li {position:relative} +.sct_noitem {padding:100px 0;text-align:center} +.sct img {position:relative} /* 리스트뷰 갤러리뷰 변경 시 ie6,7 에서 이미지 사라지는 문제 해결하기 위해 */ +.shop_icon {display:inline-block;color:#fff;line-height:20px;padding:0 5px;font-size:0.92em;margin:1px;border-radius:2px} +.shop_icon_1 {background:#3ec1d3} +.shop_icon_2 {background:#ffb722} +.shop_icon_3 {background:#2dd49f} +.shop_icon_4 {background:#556ee6} +.shop_icon_5 {background:#ff5081} + +.shop_icon_soldout {position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;background:#000;background:rgba(0,0,0,0.5);text-align:center;line-height:215px;color:#fff;font-size:18px;font-weight:bold;letter-spacing:1px} +.shop_icon_soldout.h160{line-height:160px} +.shop_icon_coupon {background:#d45959} + +/* 재생/정지/이전/다음 버튼 */ +.sctrl {margin:0;padding:0;list-style:none} +.sctrl:after {display:block;visibility:hidden;clear:both;content:""} +.sctrl li {position:relative;float:left} +.sctrl button {position:relative;margin:0;padding:0;width:20px;height:20px;border:0;cursor:pointer;overflow:hidden} +.sctrl button span {position:absolute;top:0;left:0;width:20px;height:20px;border:0;background:url('img/is_button.gif') no-repeat} +.sctrl button.sctrl_play span {background-position:-60px 0} +.sctrl button.sctrl_play span.sctrl_on {background-position:-60px -30px} +.sctrl button.sctrl_stop span {background-position:-90px 0} +.sctrl button.sctrl_stop span.sctrl_on {background-position:-90px -30px} +.sctrl button.sctrl_prev span {background-position:-120px 0} +.sctrl button.sctrl_prev span.sctrl_on {background-position:-120px -30px} +.sctrl button.sctrl_next span {background-position:-150px 0} +.sctrl button.sctrl_next span.sctrl_on {background-position:-150px -30px} + +/* 메인리스트 별점 공통 */ +.sct_li .sct_star img, .sct_li img.sit_star{width:72px !important;height:auto} + +/* 상품 목록 스킨 10 */ +.sct_10 {margin:25px 0} +.sct_10.lists-row{margin-right:-10px;margin-left:-10px} +.sct_10 .sct_li {position:relative;float:left;margin-bottom:40px;text-align:left} +.sct_10 .sct_last {margin-right:0} +.sct_10 .sct_clear {clear:both} +.sct_10 .sct_a {text-decoration:none} +.sct_10 .sct_a:focus, .sct_10 .sct_a:hover {text-decoration:none} + +.sct_10 .sct_img {position:relative;text-align:center} +.sct_10 .sct_img a {display:block} +.sct_10 .sct_cart {display:none;position:absolute;left:0;bottom:0;border:0;width:100%;padding:15px 0;background:#000;background:rgba(0,0,0,0.5);color:#fff;font-size:1em;font-weight:bold} +.sct_10 .sct_img:hover .sct_cart {display:block} +.sct_10 .sct_cart i {display:inline-block;margin-right:5px;font-size:1.2em} +.sct_10 .sct_disc {position:absolute;right:15px;bottom:15px;background:red;color:#fff;padding:0 8px;line-height:24px;font-weight:bold;font-size:1.2em;background:#000;background:rgba(0,0,0,0.5)} + +.sct_10 .sct_ct_wrap {position:relative} +.sct_10 .sct_ct_wrap:after {display:block;visibility:hidden;clear:both;content:""} +.sct_10 .sct_star {margin: 10px 0 5px} +.sct_10 .sct_txt {border-bottom:1px solid #d9dde2;font-size:1.1em;margin:10px 0;padding-bottom:10px} +.sct_10 .sct_basic {margin-bottom:5px;color:#6e7f88} +.sct_10 .sct_bottom {position:relative;min-height:20px} +.sct_10 .sct_cost {margin:5px 0 10px;font-size:1.25em;font-weight:bold} +.sct_10 .sct_dict {display:block;text-decoration:line-through;font-weight:normal;font-size:0.85em;color:#858a8d} + +.sct_10 .sct_sns_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.sct_10 .sct_sns {position:absolute;top:50%;left:50%;background:#fff;text-align:center;width:245px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow: 1px 1px 18px rgba(0,0,0,0.2);box-shadow: 1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.sct_10 .sct_sns h3 {padding:15px;border-bottom:1px solid #e8e8e8;text-align:left} +.sct_10 .sct_sns a {display:inline-block;border-radius:50%;width:50px;height:50px;line-height:25px;text-align:center;padding:10px 0;margin:20px 5px} +.sct_10 .sct_sns .share-facebook {background:#415b92} +.sct_10 .sct_sns .share-twitter {background:#35b3dc} +.sct_10 .sct_sns .share-googleplus {background:#ea3838} +.sct_10 .sct_sns img {width:24px} +.sct_10 .sct_sns_bg {background:rgba(0,0,0,0.1);width:100%;height:100%} +.sct_10 .sct_sns_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} + +.sct_10 .sct_op_btn {position:absolute;right:5px;bottom:0} +.sct_10 .sct_op_btn>button {border:0;width:25px;height:20px;font-size:1.25em;text-align:center;color:#949494;background:transparent} + +/* 상품 목록 스킨 20 */ +.sct_20 .sct_li {position:relative;float:left;margin:0 25px 15px 0} +.sct_20 .sct_last {margin:0 0 15px !important} +.sct_20 .sct_clear {clear:both} +.sct_20 .sct_a {display:block;position:relative;text-decoration:none} +.sct_20 .sct_a:focus, .sct_20 .sct_a:hover {text-decoration:none} +.sct_20 .sct_img {} +.sct_20 .sct_icon {position:absolute;top:10px;left:-5px;margin:0 !important} +.sct_20 .sct_icon img {display:block;margin:0 0 3px} +.sct_20 .sct_id {display:block;padding:5px 10px 0;background:#f2f5f9} +.sct_20 .sct_txt {padding:10px;background:#f2f5f9} +.sct_20 .sct_basic {padding:0 10px 5px;background:#f2f5f9;line-height:1.5em} +.sct_20 .sct_cost {display:block;padding:0 10px 10px;background:#f2f5f9;font-weight:bold} +.sct_20 .sct_dict {text-decoration:line-through;display:block;margin:0 0 5px;color:#999;font-weight:normal} +.sct_20 .sct_sns {position:absolute;bottom:10px;right:10px} + +/* 상품 목록 스킨 30 */ +.sct_30 .sct_li {position:relative;float:left;margin:0 16px 15px 0;border:1px solid #e9e9e9;background:#f5f6fa} +.sct_30 .sct_last {margin:0 0 15px !important} +.sct_30 .sct_clear {clear:both} +.sct_30 .sct_arw_toleft {display:block;z-index:2;position:absolute;top:20px;left:221px;width:10px;height:19px;background:url('img/icon_arw_toleft.gif') no-repeat} +.sct_30 .sct_a {text-decoration:none} +.sct_30 .sct_img {position:absolute;top:0;left:0} +.sct_30 .sct_icon {position:absolute;bottom:25px;left:-5px;margin:0 !important} +.sct_30 .sct_icon img {display:block;margin:0 0 3px} +.sct_30 .sct_txt {display:inline-block;margin:0 0 20px} +.sct_30 .sct_basic {margin:0 0 15px;padding:0;line-height:1.5em} +.sct_30 .sct_cost {display:block;margin:0 0 10px;font-weight:bold} +.sct_30 .sct_dict {text-decoration:line-through;display:block;margin:0 0 5px;color:#999;font-weight:normal} +.sct_30 .sct_sns {position:absolute;bottom:20px;right:10px} + +/* 상품 목록 스킨 40 */ +.sct_40 {margin:20px 0} +.sct_40 .sct_clear {border-top:1px solid #dadada} +.sct_40 .sct_li {position:relative;padding:15px 0;border-bottom:1px solid #dadada} +.sct_40 .sct_li:after {display:block;visibility:hidden;clear:both;content:""} +.sct_40 .sct_a {text-decoration:none} +.sct_40 .sct_a:focus, .sct_40 .sct_a:hover {text-decoration:none} + +.sct_40 .sct_img {text-align:center;float:left;margin-right:20px} +.sct_40 .sct_img a {display:block} +.sct_40 .sct_cart {position:absolute;right:0;bottom:0;border:0;width:150px;padding:15px 0;background:#000;background:rgba(0,0,0,0.5);color:#fff;font-size:1em;font-weight:bold;z-index:99999} +.sct_40 .list-10-btn .sct_cart{z-index:1;top:40px;right:10px;bottom:initial;padding:8px 0;width:140px;border:1px solid #1c70e9;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px} +.sct_40 .list-10-btn .sct_cart:hover {background:#2375eb} +.sct_40 .list-10-btn .sct_cart i{display:none} +.sct_40 .sct_img:hover .sct_cart {display:block} +.sct_40 .sct_cart i {display:inline-block;margin-right:5px;font-size:1.2em} +.sct_40 .sct_disc {position:absolute;right:15px;bottom:15px;background:red;color:#fff;padding:0 8px;line-height:24px;font-weight:bold;font-size:1.2em;background:#000;background:rgba(0,0,0,0.5)} +.sct_40 .sit_icon_li{margin-top:10px} + +.sct_40 .sct_ct_wrap {position:relative} +.sct_40 .sct_ct_wrap:after {display:block;visibility:hidden;clear:both;content:""} +.sct_40 .sct_star {margin:10px 0 5px} +.sct_40 .sct_txt {font-size:1.1em;margin:10px 0;padding-bottom:10px} +.sct_40 .sct_txt a{font-weight:600;font-size:1.2em} +.sct_40 .sct_basic {margin-bottom:5px;color:#6e7f88} +.sct_40 .sct_cost {position:absolute;right:200px;top:15px;font-size:1.35em;font-weight:bold} +.sct_40 .sct_dict {text-decoration:line-through;font-weight:normal;display:block;font-size:0.85em;color:#858a8d} + +.sct_40 .sct_sns_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.sct_40 .sct_sns {position:absolute;top:50%;left:50%;background:#fff;text-align:center;width:245px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow: 1px 1px 18px rgba(0,0,0,0.2);box-shadow: 1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.sct_40 .sct_sns h3 {padding:15px;border-bottom:1px solid #e8e8e8;text-align:left} +.sct_40 .sct_sns a {display:inline-block;border-radius:50%;width:50px;height:50px;line-height:25px;text-align:center;padding:10px 0;margin:20px 5px} +.sct_40 .sct_sns .share-facebook {background:#415b92} +.sct_40 .sct_sns .share-twitter {background:#35b3dc} +.sct_40 .sct_sns .share-googleplus {background:#ea3838} +.sct_40 .sct_sns img {width:24px} +.sct_40 .sct_sns_bg {background:rgba(0,0,0,0.1);width:100%;height:100%} +.sct_40 .sct_sns_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} + +.sct_40 .sct_op_btn {position:absolute;right:20px;bottom:20px} +.sct_40 .sct_op_btn>button {border:0;width:25px;height:20px;font-size:1.25em;text-align:center;color:#949494;background:transparent} + + + +/* 개인결제 목록 */ +.sct_pv .sct_li {position:relative;float:left;margin:0 18px 15px 0} +.sct_pv .sct_last {margin:0 0 15px !important} +.sct_pv .sct_clear {clear:both} +.sct_pv .sct_a {display:inline-block;position:relative;text-decoration:none;font-size:1.1em} +.sct_pv .sct_a:focus, .sct_pv .sct_a:hover {text-decoration:none} +.sct_pv .sct_img {margin:0 0 10px} +.sct_pv .sct_txt {margin:0 0 5px} +.sct_pv .sct_icon {margin:0 0 10px} +.sct_pv .sct_id {display:block;margin:0 0 5px} +.sct_pv .sct_basic {margin:0 0 10px} +.sct_pv .sct_cost {display:block;margin:5px 0 10px;font-size:1.25em;font-weight:bold} +.sct_pv .sct_dict {text-decoration:line-through;display:block;margin:0 0 5px;color:#999;font-weight:normal} +.sct_pv .sct_sns {} + +/* 메인 상품 목록 스킨 10 */ +.smt_10 {margin:0 -5px} +.smt_10 .sct_li {position:relative;float:left;width:215px;margin-right:15px;margin-bottom:15px;text-align:left} +.smt_10 .sct_last {margin-right:0} +.smt_10 .sct_clear {clear:both} +.smt_10 .sct_a {text-decoration:none} +.smt_10 .sct_a:focus, .smt_10 .sct_a:hover {text-decoration:none} +.smt_10 .sct_ct_wrap {position:relative} +.smt_10 .sct_ct_wrap:after {display:block;visibility:hidden;clear:both;content:""} + +.smt_10 .sct_img {position:relative;text-align:center} +.smt_10 .sct_img a {display:block} +.smt_10 .sct_cart {display:none;position:absolute;left:0;bottom:0;border:0;width:100%;padding:15px 0;background:#000;background:rgba(0,0,0,0.5);color:#fff;font-size:1em;font-weight:bold} +.smt_10 .sct_img:hover .sct_cart {display:block} +.smt_10 .sct_li.overlay .sct_cart{display:none !important} +.smt_10 .sct_cart i {display:inline-block;margin-right:5px;font-size:1.2em} +.smt_10 .sct_disc {position:absolute;right:15px;bottom:15px;background:red;color:#fff;padding:0 8px;line-height:24px;font-weight:bold;font-size:1.2em;background:#000;background:rgba(0,0,0,0.5)} + +.smt_10 .sct_star {margin: 10px 0 5px} +.smt_10 .sct_txt {border-bottom:1px solid #d9dde2;font-size:1.1em;margin:10px 0;padding-bottom:10px} +.smt_10 .sct_basic {margin-bottom:5px;color:#6e7f88} +.smt_10 .sct_cost {margin:5px 0 10px;font-size:1.25em;font-weight:bold} +.smt_10 .sct_dict {text-decoration:line-through;font-weight:normal;display:block;font-size:0.85em;color:#858a8d} + +.smt_10 .sct_sns_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999} +.smt_10 .sct_sns {position:absolute;top:50%;left:50%;background:#fff;text-align:center;width:245px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow: 1px 1px 18px rgba(0,0,0,0.2);box-shadow: 1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px} +.smt_10 .sct_sns h3 {padding:15px;border-bottom:1px solid #e8e8e8;text-align:left} +.smt_10 .sct_sns a {display:inline-block;border-radius:50%;width:50px;height:50px;line-height:25px;text-align:center;padding:10px 0;margin:20px 5px} +.smt_10 .sct_sns .share-facebook {background:#415b92} +.smt_10 .sct_sns .share-twitter {background:#35b3dc} +.smt_10 .sct_sns .share-googleplus {background:#ea3838} +.smt_10 .sct_sns img {width:24px} +.smt_10 .sct_sns_bg {background:rgba(0,0,0,0.1);width:100%;height:100%} +.smt_10 .sct_sns_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} + +.smt_10 .sct_op_btn {position:absolute;right:5px;bottom:0} +.smt_10 .sct_op_btn>button {border:0;width:25px;height:20px;font-size:1.25em;text-align:center;color:#949494;background:transparent} + +.sct_cartop_wr {position:absolute;top:0;left:0;z-index:3;width:100%;height:100%;padding:10px;text-align:left;background:rgba(0,0,0,0.5);opacity:0.98} +.sct_cartop_wr .it_option {width:100%;height:35px;margin-bottom:5px;} +.sct_cartop_wr .cartopt_cart_btn {width:100%;border:1px solid #1c70e9;padding:8px 5px;margin-bottom:5px;background:#3a8afd;color:#fff;border-radius:3px} +.sct_cartop_wr .cartopt_close_btn {width:100%;border:1px solid #1c70e9;padding:8px 5px;background:#fff;color:#1c70e9;border-radius:3px} + +/* 메인 상품 목록 스킨 20 */ +.smt_20 {position:relative;overflow-y:hidden;margin:0 -5px} +.smt_20 .sct_ul {width:100%;position:absolute;top:0;left:0;margin:0;padding:0;list-style:none} +.smt_20 .sct_ul_first {display:block;top:0} +.smt_20 .sct_li {position:relative;float:left;width:215px;margin-right:15px;margin-bottom:15px;text-align:left} +.smt_20 .sct_last {margin:0 0 15px !important} +.smt_20 .sct_clear {clear:both} +.smt_20 .sct_a {display:inline-block;position:relative;text-decoration:none} +.smt_20 .sct_a:focus, .smt_20 .sct_a:hover {text-decoration:none} +.smt_20 .sct_img {position:relative;text-align:center} +.smt_20 .sct_img a {display:block} +.smt_20 .sct_cart {display:none;position:absolute;left:0;bottom:0;border:0;width:100%;padding:15px 0;background:#000;background:rgba(0,0,0,0.5);color:#fff;font-size:1em;font-weight:bold} +.smt_20 .sct_img:hover .sct_cart {display:block} +.smt_20 .sct_txt {border-bottom:1px solid #d9dde2;font-size:1.1em;margin:10px 0;padding-bottom:10px} +.smt_20 .sct_basic {margin-bottom:5px;color:#6e7f88} +.smt_20 .sct_cost {margin:5px 0 10px;font-size:1.25em;font-weight:bold} +.smt_20 .sct_dict {text-decoration:line-through;display:block;font-size:0.85em;color:#858a8d} + +.smt_20 .sct_sns {margin-bottom:10px} +.smt_20 .sct_sns a {display:inline-block;border-radius:50%;width:30px;height:30px;line-height:28px;margin-right:5px;text-align:center} +.smt_20 .sct_sns .share-facebook {background:#415b92} +.smt_20 .sct_sns .share-twitter {background:#35b3dc} +.smt_20 .sct_sns .share-googleplus {background:#ea3838} +.smt_20 .sct_sns img {width:20px} + +.smt_20 .sct_icon {margin:0 0 10px} +.smt_20 .sct_id {display:block;margin:0 0 5px} + + +/* 메인 상품 목록 스킨 30 */ +.smt_30 {position:relative} +.smt_30 li {position:relative;min-height:50px;padding:10px 15px;background:#fff} +.smt_30 li:after {display:block;visibility:hidden;clear:both;content:""} +.smt_30 .sct_clear {clear:both} +.smt_30 .sct_img {float:left;width:80px;margin-right:10px} +.smt_30 .sct_img img {width:100%;height:auto} +.smt_30 .sct_cnt {display:inline-block;float:left;max-width:143px;line-height:20px} +.smt_30 .sct_txt a {display:block;font-size:1em;color:#000;max-height:40px;overflow:hidden;text-overflow:ellipsis;list-style:none} +.smt_30 .sct_cost {font-weight:bold;font-size:1.2em} + + +/* 메인 상품 목록 스킨 40 */ +.smt_40 {background:#fff;padding:20px;border:1px solid #e3e5e8} +.smt_40 .sct_li {position:relative;float:left;width:20%;margin:0 8px} +.smt_40 .sct_last {} +.smt_40 .sct_clear {clear:both} +.smt_40 .sct_img {position:relative;text-align:center} +.smt_40 .sct_star {margin:10px 0 5px} +.smt_40 .sct_txt {display:block;margin:5px 0;font-size:1.1em} +.smt_40 .sct_cost {margin:5px 0;font-size:1.25em;font-weight:bold} + + +/* 관련상품 목록 스킨 10 */ +#sit_rel {position:relative;border:1px solid #e8e8e8;padding:35px;margin-top:20px;background:#fff} +#sit_rel:after {display:block;visibility:hidden;clear:both;content:""} +#sit_rel h2 {font-size:1.6em;margin:0 0 30px;text-align:center} +#sit_rel .bx-wrapper {margin:0 auto} +#sit_rel .bx-controls-direction {position:absolute;top:25px;right:35px} +#sit_rel .bx-prev {display:inline-block;width:30px;height:30px;border:1px solid #dee3eb;border-right:0;text-indent:-999px;overflow:hidden;background:url('img/select_arrow_left.png') no-repeat 50% 50%} +#sit_rel .bx-next {display:inline-block;width:30px;height:30px;border:1px solid #dee3eb;text-indent:-999px;overflow:hidden;background:url('img/select_arrow_right.png') no-repeat 50% 50%} +.scr_10 li img {width:100%;height:auto} +.scr_10 .sct_txt {display:block;margin:5px 0;font-size:1.1em} +.scr_10 .sct_cost {margin:5px 0;font-size:1.25em;font-weight:bold} + +/* ##### main(nn).skin.php, list.(nn).skin..php 공통 적용 끝 ##### */ + +/* 상품 목록 */ +#sct {margin:0} +.sct_admin {text-align:right} +.sct_admin a {} + +/* 상품 목록 현재 위치 */ +#sct_location {display:inline-block;float:right;padding:12px 0;position:absolute;right:0;top:12px} +#sct_location .go_home {display:inline-block;font-size:1.4em;color:#a2a2a2;line-height:17px;text-decoration:none;vertical-align:top;padding:0 12px} +#sct_location i.dividing-line {vertical-align:top;font-size:1.2em;color:#a2a2a2;display:inline-block;margin:0;line-height:17px} +#sct_location select {float:left;border:1px solid #d3d3d3;height:26px;padding:0 5px;margin:0 12px} +#sct_location.is_right select{float:right} +#sct_location.view_location{display:block;float:none!important;position:relative;top:0;left:0} +#sct_location.view_location:after{display:block;visibility:hidden;clear:both;content:""} +.view_location .go_home{float:left} +.view_location i.dividing-line{float:left} +.view_location .shop_select_to_html.shop_hover_selectbox{float:left} +.shop_select_to_html{position:relative;display:inline-block} +.shop_select_to_html span{padding:10px 20px 15px} +.shop_select_to_html .menulist{position:absolute;top:20px;display:none;opacity:0;transition:all .2s ease-in-out} +.view_location .shop_select_to_html .menulist{left:0} +.is_right .shop_select_to_html .menulist{right:0} +.shop_select_to_html:hover .category_title,.shop_select_to_html:hover .category_title i{color:#69aa6f} +.shop_select_to_html:hover .menulist{display:block;opacity:1;transition:all .2s ease-in-out} +.shop_select_to_html .menulist{background-color:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(68,88,112,0.11);box-sizing:border-box;margin-top:4px;overflow:hidden;padding:6px 0;-webkit-transition:all .2s cubic-bezier(0.5,0,0,1.25),opacity .15s ease-out;transition:all .2s cubic-bezier(0.5,0,0,1.25),opacity .15s ease-out;z-index:9;white-space:nowrap;width:auto} +.shop_select_to_html .menulist ul.wide{display:inline-block!important;width:146px;vertical-align:top;min-height:360px} +.shop_select_to_html .menulist ul.left-border{border-left:1px dashed #e6e9ed} +.shop_select_to_html .option{font-weight:400;line-height:40px;list-style:none;min-height:40px;outline:none;text-align:left;-webkit-transition:all .2s;transition:all .2s} +.shop_select_to_html .option:hover,.shop_select_to_html .option.focus,.shop_select_to_html .option.selected.focus{background-color:#f6f7f9} +.shop_select_to_html .option.selected,.shop_select_to_html .option.selected a{font-weight:700;color:#69aa6f} +.shop_select_to_html .option.disabled{background-color:transparent;color:#90a1b5;cursor:default} +.shop_select_to_html .option a{display:block;padding-left:28px;padding-right:49px} +.shop_select_to_html .category_title{color:#4F4F4F;font-size:1.1em} +.shop_select_to_html .category_title i{margin-left:5px;color:#a2a2a2} + +.sct_here {font-weight:bold} +.sct_bg {padding-right:15px !important;background:url('img/sct_bg_toright.gif') right 50% no-repeat} + +/* 상품 목록 카테고리 목록 */ +.sct_ct {clear:both;margin:10px 0 20px;background:#fff;border:1px solid #d3d3d3;border-top:2px solid #000;padding:10px} +.sct_ct h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.sct_ct ul:after {display:block;visibility:hidden;clear:both;content:""} +.sct_ct a {text-decoration:none} +.sct_ct_parent {font-weight:bold} +.sct_ct_here {color:#ff3600 !important} + +#sct_ct_1 li {float:left;width:20%;border-right:1px solid #f6f6f6} +#sct_ct_1 li:nth-child(5n) {border-right:0} +#sct_ct_1 li a {display:block;padding:0 10px;line-height:40px;font-weight:bold} +#sct_ct_1 li a:hover {color:#3a8afd} + +#sct_ct_2 li {margin:0 0 10px} +#sct_ct_2 a {display:inline-block;width:120px} + +#sct_ct_3 li {float:left;margin:0 10px 10px 0;width:120px} + +/* 상품 정렬 리스트 스타일 선택 공통 */ +#sct_sortlst {clear:both;background:#fff;border:1px solid #e3e5e8} +#sct_sortlst:after {display:block;visibility:hidden;clear:both;content:""} + +/* 상품 정렬 */ +#sct_sort {float:left;width:80%} +#sct_sort:after {display:block;visibility:hidden;clear:both;content:""} +#sct_sort h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#sct_sort ul {margin:0;padding:0 0 0 1px;list-style:none} +#sct_sort ul:after {display:block;visibility:hidden;clear:both;content:""} +#sct_sort li {float:left;position:relative;margin-left:-1px;height:45px;padding:15px 0;line-height:15px} +#sct_sort li a {border-left:1px solid #ddd;display:block;padding:0 10px} +#sct_sort li a:hover {color:#be334a} +#sct_sort li:first-child a {border:0} + +/* 상품 리스트 스타일 선택 */ +#sct_lst {float:right;margin:0 0;padding:0;list-style:none} +#sct_lst:after {display:block;visibility:hidden;clear:both;content:""} +#sct_lst li {position:relative;float:left} +#sct_lst button {position:relative;margin:0;padding:0;width:45px;height:45px;border:0;cursor:pointer;background:#fff;color:#adadad;font-size:15px} +#sct_lst button:hover {color:#000} +#sct_lst button.sct_lst_list {} +#sct_lst button .icon {display:block} + +/* 상품 상세보기 */ +#sit {margin:0 0 10px} +.sit_admin {position:absolute;right:0;top:2px;text-align:right} +.sit_admin a {line-height:35px;padding:0 10px} +.sit_empty {padding:60px 0;text-align:center} + +.is_search #wrapper_title, .is_item #wrapper_title{display:none} + +/* 상품 상세보기 - 개요 */ +#sit_ov_from {background:#fff;border-bottom:1px solid #e3e3e3;clear:both} +#sit_ov_wrap {width:1200px;margin:0 auto;padding:45px;border-top:1px solid #e3e3e3} +#sit_ov_wrap:after {display:block;visibility:hidden;clear:both;content:""} + +/* 상품 상세보기 - 이미지 미리보기 */ +#sit_pvi {float:left;position:relative} +#sit_pvi_big {float:right;text-align:center} +#sit_pvi_big a {display:none} +#sit_pvi_big a.visible {display:block} +#sit_pvi_big #popup_item_image {display:inline-block;position:absolute;bottom:0;right:0;width:43px;height:43px;line-height:43px;background:#fff;color:#8c9195;border:1px solid #e0e0e0;font-size:1.4em} +#sit_pvi_big img {width:500px;height:auto} +#sit_pvi_thumb {float:left;margin:0;padding:0;list-style:none;text-align:center} +#sit_pvi_thumb:after {display:block;visibility:hidden;clear:both;content:""} +#sit_pvi_thumb li {margin:0 15px 15px 0} +#sit_pvi_thumb img {border:1px solid #dbdbdb} +#sit_pvi_thumb img:hover {border:1px solid #010101} + +#sit_pvi_nwbig {padding:10px 0;text-align:center} +#sit_pvi_nwbig span {display:none} +#sit_pvi_nwbig span.visible {display:inline} +#sit_pvi_nw ul {margin:0 0 20px;text-align:center;padding:0 10px;list-style:none} +#sit_pvi_nw ul:after {display:block;visibility:hidden;clear:both;content:""} +#sit_pvi_nw li {display:inline-block;margin:0 0 1px 1px} +#sit_pvi_nw li img {width:60px;height:60px} + +/* 상품 상세보기 - 간략정보 및 구매기능 */ +#sit_ov {position:relative;float:right;width:448px;height:auto !important;height:355px;min-height:355px;padding-bottom:20px} +#sit_ov h3 {margin:0 0 10px} + +#sit_title {margin:0 0 10px;font-size:2.4em} +#sit_desc {margin:0 0 10px;padding:0;color:#474747;font-size:1.167em} +#sit_opt_info {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} + +#sit_star_sns {position:relative} +#sit_star_sns span {display:inline-block;margin:0 5px 0 0;color:#666;letter-spacing:0} +#sit_star_sns .sit_star {position:relative;top:-2px;margin:0 5px 0 0} + +#sit_star_sns a {display:inline-block;vertical-align:middle} +#sit_star_sns .btn_sns_share {float:left;background:transparent;width:35px;height:25px;border:0;color:#4b5259;font-size:1.6em;font-weight:bold} +#sit_star_sns .btn_sns_share:hover {color:#3a8afd} +#sit_star_sns .sns_area {display:none;position:absolute;top:45px;right:0;max-width:175px;text-align:center;background:#fff;border:1px solid #e2e2e2;padding:10px;z-index:10} +#sit_star_sns .sns_area:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #e2e2e2 transparent} +#sit_star_sns .sns_area:after {content:"";position:absolute;top:-7px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +#sit_star_sns .sns_area a {display:inline-block;width:35px;height:35px;line-height:35px;margin-bottom:5px;background:#eee;text-align:center;border-radius:50%} +#sit_star_sns .sns_area a img {width:24px;height:auto} +#sit_star_sns .sns_area #sit_btn_rec {font-size:15px} +#sit_star_sns .sns_area .share-googleplus {background:#ea3838} +#sit_star_sns .sns_area .share-facebook {background:#415b92} +#sit_star_sns .sns_area .share-twitter {background:#35b3dc} + +#sit_btn_opt {position:absolute;right:0;bottom:0} +#btn_wish {float:left;position:relative;display:inline-block;padding-right:5px;color:#4b5259;width:35px;height:25px;text-align:center;font-size:1.25em;font-weight:bold} +#btn_wish i {font-size:1.6em;font-weight:bold} +#btn_wish .btn_wish_num {position:absolute;right:0;bottom:-2px;margin:0;padding:0 2px;height:17px;line-height:15px;border-radius:30px;background:#fff;color:#4b5259;font-size:0.75em} + +.sit_info {padding:10px 0;border-top:1px solid #e2e2e2;margin:10px 0 0;border-bottom:1px solid #e2e2e2} +.sit_info .tr_price {border-bottom:1px solid #e2e2e2} +.sit_info .tr_price th, +.sit_info .tr_price td {padding-bottom:15px} + +.sit_ov_tbl {width:100%;border:0;border-collapse:collapse;color:#666} +.sit_ov_tbl th {font-weight:normal;text-align:left} +.sit_ov_tbl td {padding:10px 0} +.sit_ov_tbl td strong {color:#000;line-height:5px;vertical-align:top;font-size:1.25em} +.sit_ov_ro {padding:2px 2px 3px;border:0;background:transparent;text-align:right;vertical-align:middle} +.sit_ov_opt {padding:2px 2px 3px;border:0;background:transparent;vertical-align:middle} +.sit_ov_input {margin:0 1px 0 0;padding:2px 2px 3px;border:1px solid #b8c9c2;background:transparent;vertical-align:middle} +#sit_ov_tbl button {margin:0 1px 0 0} + +.sit_option {padding:10px 0;margin:10px 0 0} +.sit_option label {display:block;margin:0 0 5px;color:#666} +.sit_option label.label-title{display:none} +.sit_option select {width:100%;margin:0 0 10px;height:50px;padding:0 10px;border:1px solid #cdcdcd; +-webkit-appearance:none; /* 화살표 없애기 for chrome*/ +-moz-appearance:none; /* 화살표 없애기 for firefox*/ +appearance:none; /* 화살표 없애기 공통*/ +background:url('img/select_arrow.png') no-repeat 96% 50%/* 화살표 아이콘 추가 */ +} +.sit_option select::-ms-expand {display:none/* 화살표 없애기 for IE10, 11*/} + +.sit_option h3 {font-size:1.083em} +.sit_sel_btn {position:relative} /* 선택옵션용 추가 버튼 */ +.sit_sel_btn button {position:absolute;top:-51px;right:0 !important;right:15px} + +#sit_sel_option h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#sit_tot_price {font-size:1.167em;line-height:45px;font-weight:bold;text-align:right} +#sit_tot_price:after {display:block;visibility:hidden;clear:both;content:""} +#sit_tot_price span {float:left} +#sit_tot_price strong {font-size:1.5em;margin-left:15px} + +#sit_ov_soldout {padding:20px 0;margin:10px 0;color:#ff3061;background:#fff6f6;font-weight:bold;text-align:center} + +#sit_ov_btn:after {display:block;visibility:hidden;clear:both;content:""} +#sit_ov_btn button {width:186px;float:left;margin-right:5px;height:50px;margin-bottom:10px;font-weight:bold;font-size:1.25em} +.sit_btn_buy {background:#3a8afd;border-radius:3px;border:1px solid #1c70e9;color:#fff} +.sit_btn_buy:hover {background:#2176f1} +.sit_btn_cart {background:#fff;border-radius:3px;border:1px solid #98a3b3;color:#000} +.sit_btn_cart:hover {background:#f3f3f3} +#sit_btn_alm {float:left;display:inline-block;width:186px;height:50px;margin-left:5px;line-height:50px;margin-bottom:10px;font-weight:bold;font-size:1.25em;background:#d50c0c;border-radius:3px;color:#fff;border:0;text-align:center} +.sit_btn_wish {float:left;display:inline-block;width:65px;height:50px;margin-bottom:10px;line-height:50px;color:#8c9195;font-size:1.6em;border:1px solid #98a3b3;text-align:center;border-radius:3px;font-weight:bold} +.sit_btn_wish:hover {color:red} + +/* 상품 상세보기 - 다른 상품 보기 */ +#sit_siblings {clear:both;width:100%;border-top:1px solid #f1f3f6;background:#fff;text-align:center;position:relative} +#sit_siblings:after {display:block;visibility:hidden;clear:both;content:""} +#sit_siblings h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} +#sit_siblings a {display:block;position:relative;padding:0;margin: 15px;line-height:35px;color:#999} +#sit_siblings a#siblings_prev {float:left;padding-left:20px} +#sit_siblings a#siblings_prev:after {content:"";background:url('img/sit_siblings.jpg') no-repeat;position:absolute;left:0;top:10px;width:10px;height:15px;display:inline-block} +#sit_siblings a#siblings_next {float:right;padding-right:20px} +#sit_siblings a#siblings_next:after {content:"";background:url('img/sit_siblings.jpg') -14px 0px no-repeat;position:absolute;right:0;top:10px;width:10px;height:15px;display:inline-block} +#sit_siblings a span {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden} + +#sit_info {display:inline-flex;position:relative;width:100%;min-height:600px;margin-top:20px;margin-bottom:30px;border:1px solid #e8e8e8;background:#fff} +#sit_info:after {display:block;visibility:hidden;clear:both;content:""} + +#sit_tab {width:928px;display:table-cell} +#sit_tab:after {display:block;visibility:hidden;clear:both;content:""} +#sit_tab .tab_tit {border-bottom:1px solid #e8e8e8;background:#fff;padding:0 10px} +#sit_tab .tab_tit:after {display:block;visibility:hidden;clear:both;content:""} +#sit_tab .tab_tit li {display:inline-block;float:left} +#sit_tab .tab_tit li button {display:block;width:100%;position:relative;font-size:1.2em;padding:10px 15px;border:0;color:#666;background:#fff;line-height:38px;text-align:center;z-index:1} +#sit_tab .tab_tit li .selected {background:#fff;z-index:2;border-bottom-color:#fff;color:#000;font-weight:bold} +#sit_tab .tab_tit li .selected:after {content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:#3a8afd;display:inline-block} +#sit_tab .tab_con {background:#fff;padding:15px} +#sit_tab .item_use_count, #sit_tab .item_qa_count {display:inline-block;min-width:20px;height:20px;font-size:0.75em;line-height:20px;padding:0 5px;background:#eee;border-radius:10px;color:#777} + +#sit_buy {display:table-cell;width:270px;border-left:1px solid #e8e8e8;vertical-align:top} +.sit_buy_inner {position:relative;top:0 !important;vertical-align:top} +.sit_side_option {padding:15px 15px 10px;border-bottom:1px solid #ebeff3} +.sit_side_option h3 {margin-bottom:10px} +.sit_side_option label {display:block;margin:0 0 5px;color:#666} +.sit_side_option label.label-title{display:none} +.sit_side_option select {width:100%;margin:0 0 10px;height:50px;padding:0 10px;border:1px solid #cdcdcd; +-webkit-appearance:none; /* 화살표 없애기 for chrome*/ +-moz-appearance:none; /* 화살표 없애기 for firefox*/ +appearance:none; /* 화살표 없애기 공통*/ +background:url('img/select_arrow.png') no-repeat 96% 50%/* 화살표 아이콘 추가 */} +.sit_side_option select::-ms-expand {display:none/* 화살표 없애기 for IE10, 11*/} + +.sit_sel_option {overflow-y:auto;height:300px} +.sit_sel_option h3 {position:absolute;font-size:0;line-height:0;overflow:hidden} +.sit_sel_option:after {display:block;visibility:hidden;clear:both;content:""} +.sit_sel_option li {position:relative;padding:15px;border-bottom:1px solid #e6e9ed} +.sit_sel_option li:after {display:block;visibility:hidden;clear:both;content:""} +.sit_sel_option .sit_opt_del {position:absolute;top:0;right:0;width:30px;height:30px;font-size:15px;border:0;border-left:1px solid #e6e9ed;border-bottom:1px solid #e6e9ed;background:#fff;color:#c6c8ca} +.sit_sel_option .opt_name {font-weight:bold;line-height:28px} +.sit_sel_option .num_input {float:left;border:0;height:30px;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;text-align:center} +.sit_sel_option .sit_opt_prc {display:block;float:right;width:100px;padding:0 3px;text-align:right;line-height:30px;font-size:1.183em;font-weight:bold} +.sit_sel_option button {float:left;width:30px;height:30px;border:1px solid #bdc9dc;border-radius:0;background:#fff;color:#666;font-size:0.92em} +.sit_sel_option button:hover {color:#000} + +.sum_section {padding:15px;z-index:3} +.sum_section:after {display:block;visibility:hidden;clear:both;content:""} +.sit_tot_price {font-weight:bold;padding-bottom:10px;line-height:25px;font-size:1.167em;text-align:right} +.sit_tot_price strong {font-size: 1.5em;margin-left:15px} +.sit_tot_price span {float:left} +.sit_order_btn button {display:block;width:100%;padding:15px 0;font-size:1.25em;font-weight:bold} +.sit_order_btn .sit_btn_cart {margin-bottom:5px} + +/* 상품 재입고 알림 (SMS) */ +#sit_sms_new {} +#sit_sms_new .form_01 {padding:20px} +#sit_sms_new #sms_agree {padding:5px 0 20px} +#sit_sms_new li strong {display:inline-block;margin:10px 0} +#sit_sms_new textarea {line-height:1.5em;color:#555} +#sit_sms_new .prd_name {background:#f3f3f3;padding:15px 20px;font-weight:bold;font-size:1.167em} +#sit_sms_new .chk_box input[type="checkbox"]:checked + label span {background:url('img/chk.png') no-repeat 50% 50% #3a8afd} + +/* 상품 상세보기 - 상품정보 */ +#sit_inf {margin:20px 0} +#sit_inf h2 {position:absolute;font-size:0;line-height:0;content:""} +#sit_inf h3 {position:absolute;font-size:0;line-height:0;content:""} + +#sit_inf_basic {margin:0 0 20px;line-height:1.7em} +#sit_inf_explan {margin:0 0 10px;width:auto !important;line-height:1.7em;overflow:hidden} /* ie6 미대응시 #sit_inf_explan {margin:0 0 10px} 만으로 충분 */ +#sit_inf_explan img {max-width:100%;height:auto} + +#sit_inf_open {width:100%;border:0;border-top:1px solid #777;border-collapse:collapse} +#sit_inf_open th {padding:10px;border-bottom:1px solid #e5e5e5;background:#f3f3f3;vertical-align:top;text-align:left} +#sit_inf_open td {padding:10px;border-bottom:1px solid #e5e5e5;background:#fff;vertical-align:top} + +/* 상품 상세보기 - 사용후기 */ +#sit_use {} +#sit_use h2 {position:absolute;font-size:0;line-height:0;content:""} +#sit_use h3 {position:absolute;font-size:0;line-height:0;content:""} + +.sit_use_top {position:relative;background:#fff;border:2px solid #efeff1;margin:0 0 15px;padding:15px;min-height:90px;vertical-align:middle} +.sit_use_top h4 {font-size:1.2em;margin-bottom:10px} +.sit_use_top h4 span {color:#aaa;font-size:0.85em;font-weight:normal} +.sit_use_top .sit_star {height:20px} +.sit_use_top .st_bg {background:#666} + +#sit_use_wbtn {position:absolute;top:20px;right:30px} +#sit_use_wbtn a {padding:0 20px;line-height:45px;font-weight:bold;font-size:1.167em} + +#sit_use_ol {margin:0 0 5px;padding:0;border-top:1px solid #e0e0e0;list-style:none} +.sit_use_li {position:relative;padding:10px 0;padding-left:110px;min-height:120px;border-bottom:1px solid #e0e0e0} +.sit_use_li:after {display:block;visibility:hidden;clear:both;content:""} +.sit_use_li_title {position:absolute;right:20px;bottom:20px;border:1px solid #ddd;padding:8px 10px;border-radius:3px;color:#666;font-size:0.92em;background:#fff} +.sit_use_li_title:hover {background:#6b99ee;border-color:#6b99ee;color:#fff} + +.sit_thum {margin:0;position:absolute;top:10px;left:0} +.sit_use_dl:after {display:block;visibility:hidden;clear:both;content:""} +.sit_use_dl dt {position:absolute;font-size:0;line-height:0;content:""} +.sit_use_dl dd {color:#7f7f7f;line-height:1.5em} +.sit_use_dl .sit_use_star {margin:0 0 5px} +.sit_use_dl .sit_use_tit {font-weight:bold;font-size:1.167em;color:#000 !important} + +.sit_use_con {display:none;margin-right:110px;margin-bottom:10px} +.sit_use_p {margin:10px 0;padding:10px 0} +.sit_use_cmd {} + +.sit_use_reply {position:relative;border-top:1px dotted #bbb;margin:10px 0 0;padding:10px 0 0 40px} +.use_reply_icon {position:absolute;top:10px;left:5px;background:url('./img/use_reply.png') no-repeat 0 0;width:28px;height:17px;text-indent:-999px;overflow:hidden} +.use_reply_tit {font-weight:bold;line-height:1.5em;padding-right:100px} +.use_reply_name {font-size:0.92em;color:#777;margin:5px;position:absolute;top:10px;right:0} +.use_reply_p {padding:10px 0;background:#fff;line-height:1.5em} + +#sit_use_write_star:after {display:block;visibility:hidden;clear:both;content:""} +#sit_use_write_star li {float:left;width:33.333%} +#sit_use_write_star li img {width:100px} + +/* 상품 상세보기 - 상품문의 */ +#sit_qa {margin:20px 0} +#sit_qa h2 {position:absolute;font-size:0;line-height:0;content:""} +#sit_qa h3 {position:absolute;font-size:0;line-height:0;content:""} + +#sit_qa_ol {margin:0 0 5px;padding:0;border-top:1px solid #f0f0f0;list-style:none} +.sit_qa_li:after {display:block;visibility:hidden;clear:both;content:""} +.sit_qa_li {position:relative;border-bottom:1px solid #f0f0f0;padding:15px 10px} +.sit_qa_li_title {display:block;float:left;width:80%;text-align:left;background:none;border:0;line-height:25px;font-weight:bold;font-size:1.167em} + +.sit_qa_dl {float:right;width:20%;line-height:30px;color:#7f7f7f;text-align:right;margin:0} +.sit_qa_dl:after {display:block;visibility:hidden;clear:both;content:""} +.sit_qa_dl dt {position:absolute;font-size:0;line-height:0;content:""} +.sit_qa_dl dd {display:inline-block;margin-left:10px} +.sit_qaa_done {display:inline-block;height:30px;line-height:30px;background:#f6bb42;color:#fff;padding:0 8px;margin-right:10px;font-size:12px;font-weight:normal;border-radius:3px} +.sit_qaa_yet {display:inline-block;height:30px;line-height:30px;background:#ccd1d9;color:#fff;padding:0 8px;margin-right:10px;font-size:12px;font-weight:normal;border-radius:3px} + +.sit_qa_con {display:none;clear:both} +.sit_qa_p {margin:10px 0;background:#f3f3f3;line-height:1.5em} +.sit_qa_p .qa_alp {position:absolute;top:13px;left:15px;font-size:2em;color:#000} +.sit_qa_qaa {padding:15px 20px;padding-left:50px;position:relative;min-height:50px;border-top:1px solid #fff} +.sit_qa_qaq {padding:15px 20px;padding-left:50px;position:relative;min-height:50px} +.sit_qa_con textarea {display:none} +.sit_qa_cmd {text-align:right} + +.sit_qa_pw {display:none;position:absolute;top:30px;left:175px;padding:10px;width:348px;border:1px solid #000;background:#fff;text-align:center} +.sit_qa_pw span {display:block;margin:0 0 5px} + +#sit_qa_wbtn {text-align:right;margin:0 0 20px} +#sit_qa_wbtn a {padding:0 20px;line-height:45px;font-weight:bold;font-size:1.167em} + +#sit_qa_write {} +#sit_qa_write #iq_subject {width:100%} +#sit_qa_write .chk_box input[type="checkbox"]:checked + label span {background:url('img/chk.png') no-repeat 50% 50% #3a8afd} + +/* 상품 상세보기 - 배송정보 */ +#sit_dvr {margin:20px 0} +#sit_dvr h2 {position:absolute;font-size:0;line-height:0;content:""} + +/* 상품 상세보기 - 교환정보 */ +#sit_ex {margin:20px 0} +#sit_ex h2 {position:absolute;font-size:0;line-height:0;content:""} + + +/* 사용후기 모음 */ +#sps_sch {margin:0 0 10px} +#sps_sch a {display:inline-block;padding:0 8px;height:40px;line-height:40px;vertical-align:top;border-radius:3px;background:#434a54;color:#fff;font-weight:bold;text-decoration:none} +#sps_sch .sch_wr {width:300px;border:1px solid #d0d3db;border-radius:3px;display:inline-block;background:#fff} +#sps_sch:after {display:block;visibility:hidden;clear:both;content:""} +#sps_sch select {float:left;border:0;width:175px;height:40px;margin-right:5px;border:1px solid #d0d3db;border-radius:3px} +#sps_sch .sch_input {width:258px;height:38px;border:0;padding:0;background-color:transparent;float:left} +#sps_sch .sch_btn {height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + +#sps {} +#sps ol {margin:0;padding:0;list-style:none} +#sps li {position:relative;padding:15px;border-bottom:1px solid #f0f0f0;background:#fff} +#sps li:after {display:block;visibility:hidden;clear:both;content:""} + +.sps_img {position:absolute;top:15px;left:15px} +.sps_img_inner {float:left;position:relative} +.sps_img a span {position:absolute;font-size:0;line-height:0;overflow:hidden} +.sps_img .prd_detail {position:absolute;right:0;bottom:0;border:0;color:#fff;background:#078601;width:34px;height:34px;text-align:center;opacity:0.8} +.sps_img .prd_detail:hover {opacity:1} + +.review_detail_cnt {display:none;position:fixed;width:100%;height:100%;top:0;left:0;z-index:999;background:rgba(0,0,0,0.1)} +.review_detail_in {position:absolute;top:50%;left:50%;width:590px;max-height:450px;background:#fff;text-align:left;margin-left:-300px;margin-top:-180px;overflow-y:auto;border-radius:3px;border:1px solid #dde7e9;background:#fff;border-radius:3px} +.review_detail_in h3 {padding:15px;border-bottom:1px solid #e8e8e8;font-size:1.4em} +.review_cnt {padding:25px} +.rd_cls {position:absolute;top:0;right:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff} + +.review_tp_cnt {position:relative;padding:0 0 10px;margin-bottom:15px;border-bottom:1px solid #f1f1f1} +.review_tp_cnt>span {font-size:1.2em;display:block} +.review_tp_cnt:after {display:block;visibility:hidden;clear:both;content:""} +.review_tp_cnt .sps_opt_btn_more {position:absolute;top:0;right:0;border:0;padding:5px 5px 5px 10px;background:#fff;color:#c4c8cb;font-size:1.4em} +.review_tp_cnt .sps_opt_li {display:none;position:absolute;top:40px;right:0;border:1px solid #b8bfc4} +.review_tp_cnt .sps_opt_li:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent} +.review_tp_cnt .sps_opt_li:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent} +.review_tp_cnt .sps_opt_li li {border-bottom:1px solid #f1f1f1;padding:10px !important;color:#6b757c} + +.review_summ {background:#fcfcfc;border:2px solid #efeff1;padding:10px} +.review_bt_cnt {margin:15px 0} + +.sps_reply {margin-top:10px;padding-top:10px;border-top:1px dotted #bbb} +.sps_reply .sps_img {text-align:right;width:70px} +.sps_reply .sps_section h2 {background:url('./img/use_reply.png') no-repeat 0 0;text-indent:30px;line-height:1.5em} + +#sps dl {margin:5px 0} +#sps dl:after {display:block;visibility:hidden;clear:both;content:""} +#sps dt {float:left} +#sps dd {float:left;margin:0 10px 0 0;color:#999} +#sps dd img {position:relative;top:-2px} + +.sps_section {float:left;width:100%;padding-left:115px} +.sps_section .sps_pd_name {display:block;color:#3a8afd;padding:10px 0 5px} +.sps_section .sps_rv_tit {display:block;font-size:1.2em;font-weight:bold} +.sps_section .sps_rv_thum {position:absolute;top:15px;right:15px} +.sps_section p {padding:0;width:100%} +.sps_con_full {padding:0;height:auto !important} +.sps_con_btn {clear:both;margin:5px 0} +.sps_con_btn:after {display:block;visibility:hidden;clear:both;content:""} +.sps_con_btn .sps_dl {float:left} +.sps_con_btn button.review_detail {float:right;border-radius:3px;border:1px solid #d4d6db;color:#666;font-size:0.92em;padding:5px 7px;background:#fff} +.sps_con_btn button.review_detail:hover {background:#6b99ee;border-color:#6b99ee;color:#fff} + +/* 상품문의 모음 */ +#sqa_sch {margin:0 0 10px} +#sqa_sch a {display:inline-block;padding:0 8px;height:40px;line-height:40px;vertical-align:top;border-radius:3px;background:#434a54;color:#fff;font-weight:bold;text-decoration:none} +#sqa_sch .sch_wr {width:300px;border:1px solid #d0d3db;border-radius:3px;display:inline-block;background:#fff} +#sqa_sch:after {display:block;visibility:hidden;clear:both;content:""} +#sqa_sch select {float:left;border:0;width:175px;height:40px;margin-right:5px;border:1px solid #d0d3db;border-radius:3px} +#sqa_sch .sch_input {width:258px;height:38px;border:0;padding:0;background-color:transparent;float:left} +#sqa_sch .sch_btn {height:38px;float:left;background:none;border:0;width:40px;font-size:15px} + +#sqa {margin-bottom:20px} +#sqa ol {margin:0;padding:0;list-style:none} +#sqa li {position:relative;padding:15px 20px 15px 15px;border-bottom:1px solid #f0f0f0;background:#fff} +#sqa li:after {display:block;visibility:hidden;clear:both;content:""} +#sqa li .sit_qaa_yet {position:absolute;right:20px;top:20px;margin-right:0} +#sqa li .sit_qaa_done {position:absolute;right:20px;top:20px;margin-right:0} + +.sqa_img {float:left;margin:0 10px 0 0} +.sqa_img span {position:absolute;font-size:0;line-height:0;overflow:hidden} + +#sqa dl {margin:5px 0} +#sqa dl:after {display:block;visibility:hidden;clear:both;content:""} +#sqa dt {float:left} +#sqa dd {float:left;margin:0 10px 0 0;color:#999} + +#sqa dd img {position:relative;top:-2px} +.sqa_con {margin:10px 0;background:#f3f3f3;line-height:1.5em} +.sqa_con .qa_alp {position:absolute;top:13px;left:15px;font-size:2em;color:#000} + +.sqa_section {float:left;width:1100px} +.sqa_section h2 {padding-right:70px;font-size:1.2em;font-weight:bold} +.sqa_section .sqa_con {line-height:1.7em} +.sqa_section p {padding:0;width:100%} +.sqa_con_full {padding:0;height:auto !important} +.sqa_con_btn button {border:1px solid #ddd;padding:5px 8px;color:#666;font-size:0.92em;margin:5px 0;background:#fff} +.sqa_con_btn button:hover {background:#6b99ee;border-color:#6b99ee;color:#fff} + +/* 상품검색 */ +#ssch {margin:20px 0} +#ssch h2 {font-size:1.8em;line-height:30px;margin:10px 0} +#ssch h2 .ssch_result_total {float:right;color:#6f6f6f;font-size:0.55em;font-weight:normal} +#ssch h2 strong {color:#ff005a} +#ssch_frm {background:#fff;border:1px solid #e3e5e8} +#ssch_frm .ssch_scharea {padding:15px;border-bottom:1px solid #e3e5e8} +#ssch_frm .ssch_scharea:after {display:block;visibility:hidden;clear:both;content:""} +#ssch_frm .ssch_scharea label {display:inline-block;margin:0 8px 0 0} +#ssch_frm .ssch_scharea .ssch_input {height:45px;padding:0 10px;margin-right:5px;border:1px solid #d0d3db;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} +#ssch_frm .ssch_scharea .btn_submit {width:90px;height:45px;margin-right:5px;padding:0 5px;font-weight:bold;border:1px solid #2e3745;background:#434a54} + +#ssch_frm .ssch_left {} +#ssch_frm .ssch_option {padding:15px;border-bottom:1px solid #e3e5e8} +#ssch_frm .ssch_option .ssch_input {height:32px;padding:0 10px;margin-right:5px;border:1px solid #d0d3db;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075); +box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)} + +#ssch_frm p {padding:15px;color:#737373;border-bottom:1px solid #e3e5e8} + +#ssch_cate {background:#fff;border-bottom:1px solid #e3e5e8;padding:15px} +#ssch_cate ul:after {display:block;visibility:hidden;clear:both;content:""} +#ssch_cate li {float:left;width:20%;border-right:1px solid #f6f6f6} +#ssch_cate li:nth-child(5n) {border-right:0} +#ssch_cate li span {font-weight:normal} +#ssch_cate a {display:block;padding:0 10px;line-height:40px} +#ssch_cate a:hover {color:#3a8afd} + +#ssch_sort {float:left;width:80%} +#ssch_sort:after {display:block;visibility:hidden;clear:both;content:""} +#ssch_sort h2 {position:absolute;font-size:0;line-height:0;overflow:hidden} +#ssch_sort ul {margin:0;padding:0 0 0 1px;list-style:none} +#ssch_sort ul:after {display:block;visibility:hidden;clear:both;content:""} +#ssch_sort li {float:left;position:relative;margin-left:-1px;height:45px;padding:15px 0;line-height:15px} +#ssch_sort li a {border-left:1px solid #ddd;display:block;padding:0 10px} +#ssch_sort li:hover:after {content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:#3a8afd} +#ssch_sort li:hover a {color:#3a8afd} +#ssch_sort li:first-child a {border:0} + +#ssch_sort_all {margin:0;padding:0 15px;list-style:none} +#ssch_sort_all:after {display:block;visibility:hidden;clear:both;content:""} +#ssch_sort_all li {float:left;position:relative;margin-left:-1px;height:45px;padding:15px 0;line-height:15px} +#ssch_sort_all li a {display:block;padding:0 10px} +#ssch_sort_all li:hover:after {content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:#3a8afd} +#ssch_sort_all li:hover a {color:#3a8afd} +#ssch_sort_all li:first-child a {border:0} + +/*쿠폰존 리스트*/ +.couponzone_list {margin:0 0 20px;position:relative} +.couponzone_list h2 {padding:15px 20px;font-size:1.25em;border:1px solid #e3e5e8;background:#fff} +.couponzone_list p {position:absolute;top:5px;right:0;margin:15px 20px;color:#666} +.couponzone_list ul {padding:30px;margin:0;list-style:none;background:#fff;border:1px solid #e3e5e8;border-top:0} +.couponzone_list ul:after {display:block;visibility:hidden;clear:both;content:""} +.couponzone_list ul li {float:left;width:262px;margin:0 0 30px 30px;background:#fff} +.couponzone_list ul li:nth-child(4n+1) {clear:both;margin-left:0} +.couponzone_list ul li img {width:100%;height:auto;line-height:1.2em;border-radius:5px 5px 0 0} +.couponzone_list ul li .cp_inner {border:1px solid #ddd;border-radius:5px; +-webkit-box-shadow:0px 1px 6px 0 #dedede; +-moz-box-shadow:0px 1px 6px 0 #dedede; +box-shadow:0px 1px 6px 0 #dedede +} +.couponzone_list ul li .coupon_img {position:relative;height:98px;overflow:hidden;border-bottom:1px dashed #ccc} +.couponzone_list ul li .coupon_tit {position:absolute;top:0;left:0;width:100%;height:98px;padding-top:30px;text-align:center;font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap} +.couponzone_list ul li .coupon_tit strong {display:inline-block;font-size:1.3em} +.couponzone_list ul li .coupon_tit .cp_evt, +.couponzone_list ul li .coupon_tit .cp_evt b {font-size:1.4em} +.couponzone_list ul li .cp_cnt {padding:10px} +.couponzone_list ul li .coupon_date {display:inline-block;float:right;padding:2px 3px;margin:5px 0px;font-size:0.92em;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:#777} +.couponzone_list ul li .coupon_target {display:inline-block;margin:5px 0px} +.couponzone_list ul li .coupon_target>button {display:inline-block;max-width:125px;padding:2px 3px;font-size:0.92em;border:0;border-radius:3px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap} +.couponzone_list ul li .coupon_target .cp_1 {background:#edfbde;color:#8cc152}/*카테고리할인*/ +.couponzone_list ul li .coupon_target .cp_2 {background:#fbdef3;color:#c15293}/*개별상품할인*/ +.couponzone_list ul li .coupon_target .cp_3 {background:#fbf1de;color:#c18b52}/*주문금액할인*/ +.couponzone_list ul li .coupon_target .cp_4 {background:#f2defb;color:#7c52c1}/*배송비할인*/ + +.couponzone_list ul li .coupon_info {display:none;position:absolute;min-width:235px;background:#fff;border:1px solid #000;padding:15px} +.couponzone_list ul li .coupon_info:after {display:block;visibility:hidden;clear:both;content:""} +.couponzone_list ul li .coupon_info h4 {font-size:1.2em;margin-bottom:10px} +.couponzone_list ul li .coupon_info ul {padding:0;margin:0;position:relative;border:0} +.couponzone_list ul li .coupon_info li {width:auto;margin:0;float:inherit;color:#5e5e5e;line-height:18px} +.couponzone_list ul li .coupon_info li a {text-decoration:underline;color:#5e5e5e} +.couponzone_list ul li .coupon_info .coupon_info_cls {position:absolute;right:0;top:0;color:#c7c9cc;border:0;background:#fff;padding:10px;font-size:1.2em} + +.couponzone_list ul li .coupon_btn {text-align:center} +.couponzone_list ul li .coupon_btn .btn02 {width:100%;height:42px;line-height:28px;margin-top:15px;border:0;color:#fff;background:#3a8afd;border-radius:5px;font-weight:bold} +.couponzone_list ul li .coupon_btn .btn02:hover {background:#2176f1;color:#fff} +.couponzone_list ul li .coupon_btn .disabled {background:#c6c6c6;border:1px;color:#fff;border-color:#c6c6c6} +.couponzone_list ul li .coupon_btn .disabled:hover {background:#c6c6c6;border:1px;color:#fff;border-color:#c6c6c6} +.couponzone_list .no_coupon {position:relative;padding:100px 0;text-align:center;color:#999} diff --git a/web/html/theme/FT_WEB20/skin/visit/basic/style.css b/web/html/theme/FT_WEB20/skin/visit/basic/style.css new file mode 100644 index 0000000..a8b4436 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/visit/basic/style.css @@ -0,0 +1,12 @@ +@charset "utf-8"; + +/* 방문자 집계 */ +#visit {position:relative} +#visit .btn_admin {position:absolute;top:0;right:20px;height:25px;line-height:25px;padding:0 5px;border-radius:3px} +#visit h2 {font-size:1.2em;margin-bottom:20px;text-align:left;color:#fff;position:relative} +#visit dl {padding:10px 0} +#visit dl:after {display:block;visibility:hidden;clear:both;content:""} +#visit dt {float:left;width:50%;text-align:left;line-height:23px;height:23px;color:#e3e3e3} +#visit dt span {display:inline-block;width:5px;height:5px;border-radius:50%;vertical-align:middle;margin-right:10px;background:#3a8afd} +#visit dd {float:left;width:50%;padding:0 5px;text-align:right;text-align:right;font-weight:bold;line-height:23px;height:23px;font-size:0.92em} +#visit dd strong {display:inline-block;padding:0 5px;border-radius:20px;line-height:15px;color:#fff} diff --git a/web/html/theme/FT_WEB20/skin/visit/basic/visit.skin.php b/web/html/theme/FT_WEB20/skin/visit/basic/visit.skin.php new file mode 100644 index 0000000..c761e1f --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/visit/basic/visit.skin.php @@ -0,0 +1,25 @@ +', 0); +?> + + +
                                                                                                                                        +

                                                                                                                                        접속자집계

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        오늘
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        어제
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        최대
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        전체
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + 관리자 +
                                                                                                                                        + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/skin/visit/shop_basic/style.css b/web/html/theme/FT_WEB20/skin/visit/shop_basic/style.css new file mode 100644 index 0000000..a8b4436 --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/visit/shop_basic/style.css @@ -0,0 +1,12 @@ +@charset "utf-8"; + +/* 방문자 집계 */ +#visit {position:relative} +#visit .btn_admin {position:absolute;top:0;right:20px;height:25px;line-height:25px;padding:0 5px;border-radius:3px} +#visit h2 {font-size:1.2em;margin-bottom:20px;text-align:left;color:#fff;position:relative} +#visit dl {padding:10px 0} +#visit dl:after {display:block;visibility:hidden;clear:both;content:""} +#visit dt {float:left;width:50%;text-align:left;line-height:23px;height:23px;color:#e3e3e3} +#visit dt span {display:inline-block;width:5px;height:5px;border-radius:50%;vertical-align:middle;margin-right:10px;background:#3a8afd} +#visit dd {float:left;width:50%;padding:0 5px;text-align:right;text-align:right;font-weight:bold;line-height:23px;height:23px;font-size:0.92em} +#visit dd strong {display:inline-block;padding:0 5px;border-radius:20px;line-height:15px;color:#fff} diff --git a/web/html/theme/FT_WEB20/skin/visit/shop_basic/visit.skin.php b/web/html/theme/FT_WEB20/skin/visit/shop_basic/visit.skin.php new file mode 100644 index 0000000..c761e1f --- /dev/null +++ b/web/html/theme/FT_WEB20/skin/visit/shop_basic/visit.skin.php @@ -0,0 +1,25 @@ +', 0); +?> + + +
                                                                                                                                        +

                                                                                                                                        접속자집계

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        오늘
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        어제
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        최대
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        전체
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + 관리자 +
                                                                                                                                        + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/_common.php b/web/html/theme/FT_WEB20/sub/_common.php new file mode 100644 index 0000000..a849a18 --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/_common.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/about.php b/web/html/theme/FT_WEB20/sub/about.php new file mode 100644 index 0000000..7efddb4 --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/about.php @@ -0,0 +1,88 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                                                        + + + +
                                                                                                                                        +

                                                                                                                                        몸만 떠나는 가벼운 피크닉

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        + 몸만 떠나는 가벼운 피크닉 +

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + + 가득피크닉에 오신걸 환영합니다 + +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        + “준비물은 오직 설레는 마음뿐, 퍼스트가든이 선물하는 완벽한 유럽식 피크닉” + 파주 퍼스트가든의 새로운 랜드마크, 희가든 가든피크닉에서 일상의 쉼표를 찍는 특별한 피크닉을 시작해보세요. + 무거운 짐을 챙겨야 하는 번거로움 없이, 빈손으로 방문하셔도 유럽의 어느 평화로운 교외에 온 듯한 완벽한 피크닉을 즐기실 수 있습니다. + 가든피크닉은 감성 가득한 피크닉 텐트와 테이블 등 모든 집기류를 현장에서 간편하게 대여해 드리는 원스톱 서비스를 제공합니다. +

                                                                                                                                        +

                                                                                                                                        + 특히, 도시락을 미리 준비하지 않아도 피크닉장 내에서 신선하고 맛있는 먹거리를 모두 구매할 수 있어, 부모님을 모시고 오거나 아이와 함께하는 나들이길이 더욱 가벼워집니다. + 모든 텐트 내부에 개별 에어컨이 완비되어 있어, 한여름에도 시원하고 쾌적한 프라이빗 피크닉을 즐기실 수 있습니다 + 피크닉장 바로 옆에는 고즈넉한 습지원이 자리하고 있어, 기분 좋은 식사 후에는 사랑하는 이들과 함께 초록빛 자연을 따라 여유로운 산책을 즐기기에도 안성맞춤입니다. + 사랑하는 가족, 연인과 함께 정원에서의 낭만가득 피크닉을 즐겨보세요 +

                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/amenities.php b/web/html/theme/FT_WEB20/sub/amenities.php new file mode 100644 index 0000000..b988063 --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/amenities.php @@ -0,0 +1,235 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                                                                        + + + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        Property Map

                                                                                                                                        +

                                                                                                                                        시설 배치도

                                                                                                                                        + + 가든 피크닉의 시설 배치도입니다. + +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        Facilities

                                                                                                                                        +

                                                                                                                                        시설소개

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                        • + + +
                                                                                                                                          + 매점 +

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + + +
                                                                                                                                          + 각 동 개별 에어컨 +

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + +
                                                                                                                                          + 주차장 +

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + + +
                                                                                                                                          + 중앙 대형 불멍존 +

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + + +
                                                                                                                                          + 화장실 +

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + + +
                                                                                                                                          + 샤워실 +

                                                                                                                                          여름 시즌 운영

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/business1.php b/web/html/theme/FT_WEB20/sub/business1.php new file mode 100644 index 0000000..0fcf91b --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/business1.php @@ -0,0 +1,238 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                                                        + + + +
                                                                                                                                        +

                                                                                                                                        이용안내

                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        이용안내

                                                                                                                                        + + +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                          +
                                                                                                                                          운영시간
                                                                                                                                          +
                                                                                                                                          + 연중무휴 +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • +
                                                                                                                                          +
                                                                                                                                          이용시간
                                                                                                                                          +
                                                                                                                                          + 1부 : 12:00 ~ 16:00
                                                                                                                                          + 2부 : 18:00 ~ 22:00
                                                                                                                                          + 이용시간 내 3시간 이용 +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • +
                                                                                                                                          +
                                                                                                                                          이용금액
                                                                                                                                          +
                                                                                                                                          + 4인기준 50,000원
                                                                                                                                          + 인원추가 : 10,000원 / 1인
                                                                                                                                          + 시간추가 : 20,000원 / 1시간
                                                                                                                                          + 퍼스트가든 입장료, 희가든가든피크닉 텐트 이용료, 숯, 그릴, 식기 등 모든 집기류 대여 포함
                                                                                                                                          + 고기, 음료 등 먹거리류 별도 구매(매점 이용) + +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        이용 시 주의사항

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        이용 시 주의사항

                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                          + +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          외부음식 반입 금지
                                                                                                                                          +
                                                                                                                                          +

                                                                                                                                          + 영유아 이유식 및 환자식 제외 +

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • +
                                                                                                                                          + +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          반입 불가 물품
                                                                                                                                          +
                                                                                                                                          +

                                                                                                                                          개인 버너 및 그릴, 기타 화기용품 +

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • +
                                                                                                                                          + +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          안전사고 주의
                                                                                                                                          +
                                                                                                                                          +

                                                                                                                                          + 매우 뜨거운 숯과 그릴을 이용하므로 자녀 동반 시 안전사고에 유의하시기 바랍니다. +

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • + +
                                                                                                                                          +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        예약방법

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        + 예약방법 +

                                                                                                                                        +

                                                                                                                                        + 네이버에서 '희가든 가든피크닉 검색' 또는 아래 링크 클릭 후 예약 +

                                                                                                                                        + + 예약하기 + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        이용방법
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + 이용방법 +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                        • + 희가든 가든피크닉 매점에서 예약 확인 후 자리배정(예약자 성함, 연락처) +
                                                                                                                                        • +
                                                                                                                                        • + 매점에서 필요물품 구매 및 셀프바 이용 +
                                                                                                                                        • +
                                                                                                                                        • + 맛있게 피크닉 즐기기 +
                                                                                                                                        • +
                                                                                                                                        • + 쓰레기는 매점 맞은 편 분리수거장에 분리 배출 +
                                                                                                                                        • + + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/business2.php b/web/html/theme/FT_WEB20/sub/business2.php new file mode 100644 index 0000000..331be1d --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/business2.php @@ -0,0 +1,253 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                                                                        + + + +
                                                                                                                                        +

                                                                                                                                        사업영역

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        사업영역

                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                        • + 명칭 +

                                                                                                                                          (주)페이스메이커

                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + 설립일 +

                                                                                                                                          2021.11.12

                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + 사업영역 +

                                                                                                                                          플랫폼사업

                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + 사업안내 +

                                                                                                                                          웹사이트 제작, 테마제작, 유지보수

                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + 소재지 +

                                                                                                                                          서울 가산디지털1로 128

                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + 대표전화 +

                                                                                                                                          1661-4222

                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + 문의전화 +

                                                                                                                                          평일 10:00~17:30

                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        사업영역

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        함께 나아가는 페이스메이커입니다.

                                                                                                                                        +

                                                                                                                                        + 잘 만든 홈페이지는 시간이 지나도 그 가치를 간직합니다. 다년간의 노하우와 경험으로 가장최적화된 디자인과 기술력을 선보입니다. 제작이 완성 된 후에도 꾸준한 소통으로 항상 만족할 수 있도록 노력하겠습니다. 기능은 동일하지만 다양한 효과를 주어 시각적으로 다른 것처럼 보여질 수 있습니다. 고객에게 홍보와 상품구매로 이어지는 최적화된 절차, 컨슈머의 이목을 끌기 위한 기능 개발 등 가치있는 홈페이지로써의 최적화된 '기술' 을 개발하기 위해 노력합니다. +

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                        • + + + + + EASY AND FAST + +

                                                                                                                                          + 쉽게 사이트를 제작할수 있으며 빠른 시간안에 웹사이트를 만나볼 수 있습니다. +

                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + + + + + STRATEGY DEVELOPMENT + +

                                                                                                                                          + 전문적 제작 컨설팅 및 다양한 경험을 바탕으로 제대로 된 웹 서비스를 재공합니다. +

                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + + + + + HIGH QUALITY + +

                                                                                                                                          + 차별화된 디자인과 체계적인 제작으로 고객님이 만족하는 웹사이트를 제작합니다. +

                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + + + + + PROJECT MANAGEMENT + +

                                                                                                                                          + 고객의 목적과 상황에 맞게 컨설팅 및 분석을 하여 고객의 맞는 웹서비스를 제공합니다. +

                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        STRATEGY

                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        STRATEGY

                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                          + + + +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          미래비전
                                                                                                                                          +
                                                                                                                                          + 미래에 대한 통찰과 + 끊임없는 혁신을 통해 + 더 나은 고객가치를 창출한다. +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • +
                                                                                                                                          + + + +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          가치창출
                                                                                                                                          +
                                                                                                                                          + 선진기술을 보급하고 + 안전 및 환경 우선 경영으로 + 기업의 사회적 책임을 다한다. +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • +
                                                                                                                                          + + + +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                          창조
                                                                                                                                          +
                                                                                                                                          + 개인의 인격을 존중하고 + 역량 발휘 기회를 최대화하여 + 개인과 회사가 함께 성장한다. +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        경영이념

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        경영이념

                                                                                                                                        +

                                                                                                                                        + 페이스메이커에서 제작한 다양한 컨셉의 + 고급 스킨으로 멋진 홈페이지를 구현해보세요! +

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                        • + +
                                                                                                                                          +
                                                                                                                                          Web Design
                                                                                                                                          +
                                                                                                                                          + 페이스메이커에서 제작한 다양한 컨셉의 고급 스킨으로 + 멋진 홈페이지를 구현해보세요! +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + +
                                                                                                                                          +
                                                                                                                                          Web Design
                                                                                                                                          +
                                                                                                                                          + 페이스메이커에서 제작한 다양한 컨셉의 고급 스킨으로 + 멋진 홈페이지를 구현해보세요! +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + +
                                                                                                                                          +
                                                                                                                                          Web Design
                                                                                                                                          +
                                                                                                                                          + 페이스메이커에서 제작한 다양한 컨셉의 고급 스킨으로 + 멋진 홈페이지를 구현해보세요! +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + +
                                                                                                                                          +
                                                                                                                                          Web Design
                                                                                                                                          +
                                                                                                                                          + 페이스메이커에서 제작한 다양한 컨셉의 고급 스킨으로 + 멋진 홈페이지를 구현해보세요! +
                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/ceo.php b/web/html/theme/FT_WEB20/sub/ceo.php new file mode 100644 index 0000000..b1640b2 --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/ceo.php @@ -0,0 +1,88 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                                                        + + + +
                                                                                                                                        +

                                                                                                                                        몸만 떠나는 가벼운 피크닉

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        + 몸만 떠나는 가벼운 피크닉 +

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + + 가득피크닉에 오신걸 환영합니다 + +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        + “준비물은 오직 설레는 마음뿐, 퍼스트가든이 선물하는 완벽한 유럽식 피크닉” + 파주 퍼스트가든의 새로운 랜드마크, 희가든 가든피크닉에서 일상의 쉼표를 찍는 특별한 피크닉을 시작해보세요. + 무거운 짐을 챙겨야 하는 번거로움 없이, 빈손으로 방문하셔도 유럽의 어느 평화로운 교외에 온 듯한 완벽한 피크닉을 즐기실 수 있습니다. + 가든피크닉은 감성 가득한 피크닉 텐트와 테이블 등 모든 집기류를 현장에서 간편하게 대여해 드리는 원스톱 서비스를 제공합니다. +

                                                                                                                                        +

                                                                                                                                        + 특히, 도시락을 미리 준비하지 않아도 피크닉장 내에서 신선하고 맛있는 먹거리를 모두 구매할 수 있어, 부모님을 모시고 오거나 아이와 함께하는 나들이길이 더욱 가벼워집니다. + 모든 텐트 내부에 개별 에어컨이 완비되어 있어, 한여름에도 시원하고 쾌적한 프라이빗 피크닉을 즐기실 수 있습니다 + 피크닉장 바로 옆에는 고즈넉한 습지원이 자리하고 있어, 기분 좋은 식사 후에는 사랑하는 이들과 함께 초록빛 자연을 따라 여유로운 산책을 즐기기에도 안성맞춤입니다. + 사랑하는 가족, 연인과 함께 정원에서의 낭만가득 피크닉을 즐겨보세요 +

                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/company.php b/web/html/theme/FT_WEB20/sub/company.php new file mode 100644 index 0000000..d4f27dd --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/company.php @@ -0,0 +1,240 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                                                                        + + + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +

                                                                                                                                        몸만 떠나는 가벼운 피크닉

                                                                                                                                        + + "준비물은 오직 설레는 마음 뿐, 퍼스트가든이 선물하는 완벽한 유럽식 피크닉" + 파주 퍼스트가든의 새로운 랜드마크, 희가든 가든피크닉에서 일상의 쉼표를 찍는 특별한 피크닉을 시작해보세요. + 무거운 짐을 챙겨야 하는 번거로움 없이, 빈손으로 방문하셔도 유럽의 어느 평화로운 교외에 온 듯한 완벽한 피크닉을 즐기실 수 있습니다. + 가든피크닉은 감성 가득한 피크닉 텐트와 테이블 등 모든 집기류를 현장에서 간편하게 대여해 드리는 원스톱 서비스를 제공합니다. + 특히 도시락을 미리 준비하지 않아도 피크닉장 내에서 신선하고 맛있는 먹거리를 모두 구매할 수 있어, 부모님을 모시고 오거나 아이와 함께하는 나들이길이 더욱 가벼워집니다. + 모든 텐트 내부에 개별 에어컨이 완비되어 있어, 한여름에도 시원하고 쾌적한 프라이빗 피크닉을 즐기실 수 있습니다. + 피크닉장 바로 옆에는 고즈넉한 습지원이 자리하고 있어, 기분 좋은 식사 후에는 사랑하는 이들과 함께 초록빛 자연을 따라 여유로운 산책을 즐기기에도 안성맞춤입니다. + 사랑하는 가족, 연인과 함께 정원에서의 낭만가득 피크닉을 즐겨보세요 + +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        Face-maker Template

                                                                                                                                        +

                                                                                                                                        귀사의 성공적인 홈페이지를 열어드리겠습니다.

                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                        • + + +
                                                                                                                                          + UI/UX 기반 철저한 기획 +

                                                                                                                                          웹표준/웹접근성 준수 코딩

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + + +
                                                                                                                                          + 높은 품질과 안정성 +

                                                                                                                                          제작이 완성된 후에도 꾸준한 소통으로 항상 만족할수 있도록 노력하겠습니다.

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + +
                                                                                                                                          + 다양한 아이디어 기반 홈페이지 +

                                                                                                                                          가치있는 홈페이지를 만들기 위해 페이스메이커는 노력합니다.

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + + +
                                                                                                                                          + 고객과 소통하는 페이스메이커 +

                                                                                                                                          고객사의 원하는 바를 지속적인 협의를 통해 요구사항을 최대한 반영하도록 노력하겠습니다.

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + + +
                                                                                                                                          + 기술 개발에 많은 시간 투자 +

                                                                                                                                          가치있는 홈페이지로써의 최적화된 '기술' 을 개발하기 위해 노력합니다.

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        • + + +
                                                                                                                                          + 100% 반응형 모바일구현 +

                                                                                                                                          모든IT기기 자유로운 호환 최상의 상태를 보여주는 반응형WEB

                                                                                                                                          +
                                                                                                                                          +
                                                                                                                                        • +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        웹 사이트를 위해
                                                                                                                                        제작한 아름다운 템플릿

                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                        • 아름답고 이해하기 쉬운 UI, + 전문 애니메이션
                                                                                                                                        • +
                                                                                                                                        • 가장 최적화된 디자인과 기술력
                                                                                                                                        • +
                                                                                                                                        • 유연하고 편리하며 다양한 용도로 서비스 제공
                                                                                                                                        • +
                                                                                                                                        • 다양한 경험을 기반으로 창의적인 아이디어 찾기
                                                                                                                                        • +
                                                                                                                                        • 제한 없는 전원 및 사용자 지정 가능성
                                                                                                                                        • +
                                                                                                                                        • 다양한 동적 모션이 가능한 웹홈페이지
                                                                                                                                        • +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +

                                                                                                                                        완벽한 설계 기반100% 반응형 홈페이지

                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        + +
                                                                                                                                        이용자의 기기화면이나 환경에 맞게 자유자재로 변하는 웹홈페이지입니다.
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        + 단 하나의 웹사이트로 다양한 디바이스에 대응을 하며 유지보수 및 추가 수정에 대해 시간과 비용면에서도 보다 효율적입니다. +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        + 같은 도메인을 사용하므로 비용적 절감이 가능하며 유지보수가 간편합니다. 구축비용의 감소와 더불어 검색엔진(SEO)노출이 용이합니다. 브라우저 크기에 따라 디바이스의 모드에 따라 자연스럽게 레이아웃이 반응합니다. +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                        • + Build perfect websites +

                                                                                                                                          페이스메이커의 다양한
                                                                                                                                          디자인의 웹사이트 구축

                                                                                                                                          +

                                                                                                                                          + 텍스트를 입력해주세요 텍스트를 입력해주세요.텍스트를 입력해주세요 텍스트를 입력해주세요 +텍스트를 입력해주세요 텍스트를 입력해주세요. 텍스트를 입력해주세요 텍스트를 입력해주세요. +

                                                                                                                                          + VIEW MORE +
                                                                                                                                        • +
                                                                                                                                        • Build perfect websites +

                                                                                                                                          페이스메이커의 다양한
                                                                                                                                          디자인의 웹사이트 구축

                                                                                                                                          +

                                                                                                                                          + 텍스트를 입력해주세요 텍스트를 입력해주세요.텍스트를 입력해주세요 텍스트를 입력해주세요 +텍스트를 입력해주세요 텍스트를 입력해주세요. 텍스트를 입력해주세요 텍스트를 입력해주세요. 텍스트를 입력해주세요 텍스트를 입력해주세요. +

                                                                                                                                          + VIEW MORE +
                                                                                                                                        • +
                                                                                                                                        • Build perfect websites +

                                                                                                                                          페이스메이커의 다양한
                                                                                                                                          디자인의 웹사이트 구축

                                                                                                                                          +

                                                                                                                                          + 텍스트를 입력해주세요 텍스트를 입력해주세요.텍스트를 입력해주세요 텍스트를 입력해주세요 +텍스트를 입력해주세요 텍스트를 입력해주세요. 텍스트를 입력해주세요 텍스트를 입력해주세요. 텍스트를 입력해주세요 텍스트를 입력해주세요. +

                                                                                                                                          + VIEW MORE +
                                                                                                                                        • +
                                                                                                                                        + +
                                                                                                                                      +
                                                                                                                                + + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                새로운 프로젝트를 원하세요?

                                                                                                                                +

                                                                                                                                우리는 귀사의 프로젝트에 대해 듣고 싶습니다.

                                                                                                                                + VIEW MORE +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/history.php b/web/html/theme/FT_WEB20/sub/history.php new file mode 100644 index 0000000..ff417f7 --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/history.php @@ -0,0 +1,453 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + +
                                                                                                                                + + + +
                                                                                                                                +

                                                                                                                                연혁

                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                  + +

                                                                                                                                  1974~1990

                                                                                                                                  +

                                                                                                                                  1990년대 이전

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                    + 1974 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 1

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 1976 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 2

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 1980 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 3

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 1986 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 4

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 1987 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 5

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • + +
                                                                                                                                • +
                                                                                                                                  + + +

                                                                                                                                  1991~1999

                                                                                                                                  +

                                                                                                                                  1990년대

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                    + 1991 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 6

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 1992 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 7

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 1993 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 8

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 1996 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 9

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 1997 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 10

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 1999 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 11

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • + +
                                                                                                                                • +
                                                                                                                                  + + +

                                                                                                                                  2000~2009

                                                                                                                                  +

                                                                                                                                  2000년대

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                    + 2002 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 12

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 2003 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 13

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 2009 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 14

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +
                                                                                                                                  + + +

                                                                                                                                  2010~2019

                                                                                                                                  +

                                                                                                                                  2010년대

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                    + 2010 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 15

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 2011 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 16

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 2012 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 17

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 2013 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 18

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 2014 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 19

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                  • +
                                                                                                                                    + 2015 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 20

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • + +
                                                                                                                                • +
                                                                                                                                  + + +

                                                                                                                                  2019~2020년대

                                                                                                                                  +

                                                                                                                                  2020년대

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                    + 2020 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 21

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                    + 2020 +
                                                                                                                                    +
                                                                                                                                    +

                                                                                                                                    텍스트를 입력하세요 22

                                                                                                                                    +
                                                                                                                                    +
                                                                                                                                  • +
                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/info.php b/web/html/theme/FT_WEB20/sub/info.php new file mode 100644 index 0000000..a33cebb --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/info.php @@ -0,0 +1,247 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                                                + + + +
                                                                                                                                +

                                                                                                                                이용안내

                                                                                                                                +
                                                                                                                                +

                                                                                                                                이용안내

                                                                                                                                + + +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                  +
                                                                                                                                  운영시간
                                                                                                                                  +
                                                                                                                                  + 연중무휴 +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +
                                                                                                                                  +
                                                                                                                                  이용시간
                                                                                                                                  +
                                                                                                                                  + 1부 : 12:00 ~ 16:00
                                                                                                                                  + 2부 : 18:00 ~ 22:00
                                                                                                                                  + 이용시간 내 3시간 이용 +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +
                                                                                                                                  +
                                                                                                                                  이용금액
                                                                                                                                  +
                                                                                                                                  + 4인기준 50,000원
                                                                                                                                  + 인원추가 : 10,000원 / 1인
                                                                                                                                  + 시간추가 : 20,000원 / 1시간
                                                                                                                                  + 퍼스트가든 입장료, 희가든가든피크닉 텐트 이용료, 숯, 그릴, 식기 등 모든 집기류 대여 포함
                                                                                                                                  + 고기, 음료 등 먹거리류 별도 구매(매점 이용) + +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                이용 시 주의사항

                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                이용 시 주의사항

                                                                                                                                + +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                  + + +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  외부음식 반입 금지
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  + 영유아 이유식 및 환자식 제외 +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +
                                                                                                                                  + + +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  반입 불가 물품
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  개인 버너 및 그릴, 기타 화기용품 +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +
                                                                                                                                  + + +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  안전사고 주의
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  + 매우 뜨거운 숯과 그릴을 이용하므로 자녀 동반 시 안전사고에 유의하시기 바랍니다. +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • + +
                                                                                                                                  +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                예약방법

                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                + 예약방법 +

                                                                                                                                +

                                                                                                                                + 네이버에서 '희가든 가든피크닉 검색' 또는 아래 링크 클릭 후 예약 +

                                                                                                                                + + 예약하기 + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                이용방법
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + 이용방법 +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • + + 매점에서 예약 확인 후 입장 +
                                                                                                                                • +
                                                                                                                                • + + 매점에서 필요물품 구매 및 셀프바 이용 +
                                                                                                                                • +
                                                                                                                                • + + 맛있게 피크닉 즐기기 +
                                                                                                                                • +
                                                                                                                                • + + 쓰레기는 매점 맞은 편 분리수거장에 분리 배출 +
                                                                                                                                • + + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/map.php b/web/html/theme/FT_WEB20/sub/map.php new file mode 100644 index 0000000..919b546 --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/map.php @@ -0,0 +1,219 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + +
                                                                                                                                + + + +
                                                                                                                                +

                                                                                                                                오시는 길

                                                                                                                                +
                                                                                                                                +

                                                                                                                                오시는 길

                                                                                                                                + + +
                                                                                                                                + + + + + + +
                                                                                                                                +
                                                                                                                                + + + +
                                                                                                                                +
                                                                                                                                + 희가든 가든피크닉 +

                                                                                                                                + ADDRESS + 경기 파주시 상지석동 110-35 +

                                                                                                                                +

                                                                                                                                + Tel + 031-957-6861 +

                                                                                                                                +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                + +

                                                                                                                                +

                                                                                                                                자차로 오시는 방법

                                                                                                                                +
                                                                                                                                + +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                + +

                                                                                                                                +

                                                                                                                                지하철로 오시는 길

                                                                                                                                +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • +

                                                                                                                                  + 2 +

                                                                                                                                  +

                                                                                                                                  + 2호선 잠실역 +

                                                                                                                                  +

                                                                                                                                  + 5번출구에서 3314, 3315번 버스 환승 후 송파구민회관에서 하차 +

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +

                                                                                                                                  + 2 +

                                                                                                                                  +

                                                                                                                                  + 3호선 학여울역 +

                                                                                                                                  +

                                                                                                                                  + 5번 출구에서 하차 +

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +

                                                                                                                                  + 3 +

                                                                                                                                  +

                                                                                                                                  + 2호선 신촌역 +

                                                                                                                                  +

                                                                                                                                  + 2번 출구에서 하차 +

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +

                                                                                                                                  + 1 +

                                                                                                                                  +

                                                                                                                                  + 1호선 가산디지털 +

                                                                                                                                  +

                                                                                                                                  + 2번 출구에서 하차 +

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                + +

                                                                                                                                +

                                                                                                                                버스로 오시는 길

                                                                                                                                +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                  +
                                                                                                                                  가산디지털단지역
                                                                                                                                  +
                                                                                                                                  1. 간선버스(파랑색) 342
                                                                                                                                  +
                                                                                                                                  2. 지선버스(초록색) 3318,2523
                                                                                                                                  +
                                                                                                                                  3. 일반버스 : 30-3 , 30-5, 88
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +
                                                                                                                                  +
                                                                                                                                  대림역
                                                                                                                                  +
                                                                                                                                  1. 간선버스(파랑색) 342
                                                                                                                                  +
                                                                                                                                  2. 지선버스(초록색) 3318,2523
                                                                                                                                  +
                                                                                                                                  3. 일반버스 : 30-3 , 30-5, 88
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/menu.php b/web/html/theme/FT_WEB20/sub/menu.php new file mode 100644 index 0000000..0c11468 --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/menu.php @@ -0,0 +1,134 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                                                                + + + +
                                                                                                                                +

                                                                                                                                매점안내

                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                고기류

                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • + 삼겹살 +

                                                                                                                                  00,000 / 150g

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 목살 +

                                                                                                                                  00,000 / 150g

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 소갈비살 +

                                                                                                                                  00,000 / 150g

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                사이드

                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • + 새우 +

                                                                                                                                  00,000 / 100g

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 구워먹는치즈 +

                                                                                                                                  00,000 / 50g

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 모듬소세지 +

                                                                                                                                  00,000 / 1세트

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 고구마 +

                                                                                                                                  00,000 / 1개

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 마시멜로우 +

                                                                                                                                  00,000 / 10개

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 라면류 +

                                                                                                                                  00,000 / 개

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 과자류 +

                                                                                                                                  00,000 / 개

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 햇반 +

                                                                                                                                  00,000 / 개

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                음주류

                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • + 음료 +

                                                                                                                                  00,000 / 캔

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 주류 +

                                                                                                                                  00,000 / 병

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 생수 +

                                                                                                                                  00,000 / 개

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/organizations.php b/web/html/theme/FT_WEB20/sub/organizations.php new file mode 100644 index 0000000..13ecff1 --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/organizations.php @@ -0,0 +1,91 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + + +
                                                                                                                                + + + +
                                                                                                                                +

                                                                                                                                조직도

                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                + CEO +

                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • +

                                                                                                                                  team manager

                                                                                                                                  +

                                                                                                                                  team 1

                                                                                                                                  +

                                                                                                                                  team 2

                                                                                                                                  +

                                                                                                                                  team 3

                                                                                                                                  +

                                                                                                                                  team 3

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +

                                                                                                                                  team manager

                                                                                                                                  +

                                                                                                                                  team 1

                                                                                                                                  +

                                                                                                                                  team 2

                                                                                                                                  +

                                                                                                                                  team 3

                                                                                                                                  +

                                                                                                                                  team 3

                                                                                                                                  +

                                                                                                                                  team 3

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +

                                                                                                                                  team manager

                                                                                                                                  +

                                                                                                                                  team 1

                                                                                                                                  +

                                                                                                                                  team 2

                                                                                                                                  +

                                                                                                                                  team 3

                                                                                                                                  +

                                                                                                                                  team 3

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +

                                                                                                                                  team manager

                                                                                                                                  +

                                                                                                                                  team 1

                                                                                                                                  +

                                                                                                                                  team 2

                                                                                                                                  +

                                                                                                                                  team 3

                                                                                                                                  +

                                                                                                                                  team 3

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +

                                                                                                                                  team manager

                                                                                                                                  +

                                                                                                                                  team 1

                                                                                                                                  +

                                                                                                                                  team 2

                                                                                                                                  +

                                                                                                                                  team 3

                                                                                                                                  +

                                                                                                                                  team 3

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/product1.php b/web/html/theme/FT_WEB20/sub/product1.php new file mode 100644 index 0000000..883b7db --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/product1.php @@ -0,0 +1,888 @@ + + + + + + + + + + + Document + + + + + +
                                                                                                                                + + + +
                                                                                                                                +
                                                                                                                                + IMG +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                Lorem Ipsum

                                                                                                                                +

                                                                                                                                Lorem ipsum, dolor sit amet consectetur adipisicing elit. Libero facilis doloribus illum. Placeat error, molestias facere consectetur excepturi facilis tempore culpa ad pariatur sunt, cupiditate earum delectus quibusdam impedit? Nemo!

                                                                                                                                +

                                                                                                                                Lorem ipsum dolor sit amet consectetur adipisicing elit. Magni molestias minima nulla vel ducimus tempora, quasi ipsa, rerum quae iure eligendi facere vitae facilis totam officiis iste blanditiis, dolorem nobis!

                                                                                                                                + LEARN MORE +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                Lorem Ipsum

                                                                                                                                +

                                                                                                                                Lorem ipsum, dolor sit amet consectetur adipisicing elit. Libero facilis doloribus illum. Placeat error, molestias facere consectetur excepturi facilis tempore culpa ad pariatur sunt, cupiditate earum delectus quibusdam impedit? Nemo!

                                                                                                                                +

                                                                                                                                Lorem ipsum dolor sit amet consectetur adipisicing elit. Magni molestias minima nulla vel ducimus tempora, quasi ipsa, rerum quae iure eligendi facere vitae facilis totam officiis iste blanditiis, dolorem nobis!

                                                                                                                                + LEARN MORE +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + PNG +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + IMG +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                Lorem Ipsum

                                                                                                                                +

                                                                                                                                Lorem ipsum, dolor sit amet consectetur adipisicing elit. Libero facilis doloribus illum. Placeat error, molestias facere consectetur excepturi facilis tempore culpa ad pariatur sunt, cupiditate earum delectus quibusdam impedit? Nemo!

                                                                                                                                +

                                                                                                                                Lorem ipsum dolor sit amet consectetur adipisicing elit. Magni molestias minima nulla vel ducimus tempora, quasi ipsa, rerum quae iure eligendi facere vitae facilis totam officiis iste blanditiis, dolorem nobis!

                                                                                                                                + LEARN MORE +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                Lorem Ipsum

                                                                                                                                +

                                                                                                                                Lorem ipsum, dolor sit amet consectetur adipisicing elit. Libero facilis doloribus illum. Placeat error, molestias facere consectetur excepturi facilis tempore culpa ad pariatur sunt, cupiditate earum delectus quibusdam impedit? Nemo!

                                                                                                                                +

                                                                                                                                Lorem ipsum dolor sit amet consectetur adipisicing elit. Magni molestias minima nulla vel ducimus tempora, quasi ipsa, rerum quae iure eligendi facere vitae facilis totam officiis iste blanditiis, dolorem nobis!

                                                                                                                                + LEARN MORE +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + PNG +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                Lorem Ipsum dolor

                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                John Doe

                                                                                                                                +

                                                                                                                                lorem ipsum

                                                                                                                                +

                                                                                                                                Lorem ipsum dolor sit amet consectetur adipisicing elit. Corporis odio nemo veritatis maiores voluptatem vitae tempora quibusdam, molestiae error, voluptates in? Pariatur incidunt sit labore rerum nesciunt consequatur veritatis at?

                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                John Doe

                                                                                                                                +

                                                                                                                                lorem ipsum

                                                                                                                                +

                                                                                                                                Lorem ipsum dolor sit amet consectetur adipisicing elit. Excepturi optio quia unde? Reiciendis sed quae eligendi voluptatem obcaecati! Expedita corporis vel suscipit. Ullam totam dolor minima aliquid delectus itaque provident?

                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                John Doe

                                                                                                                                +

                                                                                                                                lorem ipsum

                                                                                                                                +

                                                                                                                                Lorem ipsum dolor sit amet consectetur adipisicing elit. Recusandae voluptatum doloribus, distinctio consequuntur laudantium voluptate, esse iste maxime repellat vel praesentium, aspernatur dignissimos? Suscipit perferendis consequuntur quisquam esse tempore perspiciatis?

                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                John Doe

                                                                                                                                +

                                                                                                                                lorem ipsum

                                                                                                                                +

                                                                                                                                Lorem ipsum dolor, sit amet consectetur adipisicing elit. Explicabo pariatur libero voluptatem veritatis autem repudiandae commodi? Omnis inventore dolorem rerum recusandae accusantium quae. Ut saepe quaerat quia laudantium expedita? Harum.

                                                                                                                                +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                Lorem Ipsum Dolor, Sit ?

                                                                                                                                +

                                                                                                                                amet consectetur adipisicing elit. Explicabo pariatur libero voluptatem veritatis autem repudiandae commodi? Omnis

                                                                                                                                + LEARN MORE +

                                                                                                                                +
                                                                                                                                + +
                                                                                                                                + + + + + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/sub_nav1.php b/web/html/theme/FT_WEB20/sub/sub_nav1.php new file mode 100644 index 0000000..9f39bef --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/sub_nav1.php @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/sub_visual.php b/web/html/theme/FT_WEB20/sub/sub_visual.php new file mode 100644 index 0000000..94991f7 --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/sub_visual.php @@ -0,0 +1,8 @@ +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                +

                                                                                                                                + +

                                                                                                                                +
                                                                                                                                +
                                                                                                                                \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub/vision.php b/web/html/theme/FT_WEB20/sub/vision.php new file mode 100644 index 0000000..3a62e20 --- /dev/null +++ b/web/html/theme/FT_WEB20/sub/vision.php @@ -0,0 +1,199 @@ +', 1); +add_stylesheet('', 2); +add_stylesheet('', 3); +?> + + + + +
                                                                                                                                + + + +
                                                                                                                                +

                                                                                                                                비전

                                                                                                                                +
                                                                                                                                +

                                                                                                                                비전

                                                                                                                                + +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                  +

                                                                                                                                  + 페이스메이커는 회사의 이미지와
                                                                                                                                  + 디자인을 결합하고 전달하여 감정을
                                                                                                                                  + 불러 일으키고 전략을 유도합니다. +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  + RESPECT + + Story of US + +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  + RESPECT + + Story of US + +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  + 페이스메이커는 회사의 이미지와
                                                                                                                                  + 디자인을 결합하고 전달하여 감정을
                                                                                                                                  + 불러 일으키고 전략을 유도합니다. +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  + RESPECT + + Story of US + +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  + 페이스메이커는 회사의 이미지와
                                                                                                                                  + 디자인을 결합하고 전달하여 감정을
                                                                                                                                  + 불러 일으키고 전략을 유도합니다. +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                + + 페이스메이커
                                                                                                                                + 비전 페이지 +
                                                                                                                                +

                                                                                                                                +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                  +

                                                                                                                                  + RESPECT + + Story of US + +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +
                                                                                                                                  +

                                                                                                                                  + RESPECT + + Story of US + +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • +
                                                                                                                                  +

                                                                                                                                  + RESPECT + + Story of US + +

                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • + 01 +

                                                                                                                                  + 페이스메이커는 회사의 이미지와
                                                                                                                                  + 디자인을 결합하고 전달하여 감정을
                                                                                                                                  + 불러 일으키고 전략을 유도합니다. +

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 02 +

                                                                                                                                  + 페이스메이커는 회사의 이미지와
                                                                                                                                  + 디자인을 결합하고 전달하여 감정을
                                                                                                                                  + 불러 일으키고 전략을 유도합니다. +

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 03 +

                                                                                                                                  + 페이스메이커는 회사의 이미지와
                                                                                                                                  + 디자인을 결합하고 전달하여 감정을
                                                                                                                                  + 불러 일으키고 전략을 유도합니다. +

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +

                                                                                                                                비전

                                                                                                                                +
                                                                                                                                +

                                                                                                                                미래 비전

                                                                                                                                +

                                                                                                                                + 바르게 성장하기 위해 페이스메이커는 미래 가치의 혁신을 통해 변화와 확장의 의지를 다지며 새롭게 도전하려고 합니다. +

                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • + +
                                                                                                                                • +
                                                                                                                                • + +
                                                                                                                                • +
                                                                                                                                • + +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + + \ No newline at end of file diff --git a/web/html/theme/FT_WEB20/sub_navigation.php b/web/html/theme/FT_WEB20/sub_navigation.php new file mode 100644 index 0000000..4967fd6 --- /dev/null +++ b/web/html/theme/FT_WEB20/sub_navigation.php @@ -0,0 +1,61 @@ + + + +
                                                                                                                                + + + + + +
                                                                                                                                + + diff --git a/web/html/theme/FT_WEB20/tail.php b/web/html/theme/FT_WEB20/tail.php new file mode 100644 index 0000000..9f98f98 --- /dev/null +++ b/web/html/theme/FT_WEB20/tail.php @@ -0,0 +1,162 @@ + + + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + +
                                                                                                                                +
                                                                                                                                + Contact us +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                • + 상호 +

                                                                                                                                  희가든 관광농원

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 사업자등록번호 +

                                                                                                                                  772-17-02324

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 대표 +

                                                                                                                                  김창희

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 주소 +

                                                                                                                                  경기 파주시 상지석동 110-35

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                • + 대표번호 +

                                                                                                                                  031-957-6861

                                                                                                                                  +
                                                                                                                                • +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                + Family Site +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + +
                                                                                                                                +

                                                                                                                                ©2021 Woori Company. All rights reserved.

                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                +
                                                                                                                                + + + + + + + + + + + + + + + + + + + + + + false, // 기본환경설정의 최근게시물 등의 기본스킨 변경여부 true, false + 'preview_board_skin' => 'basic', // 테마 미리보기 때 적용될 기본 게시판 스킨 + 'preview_mobile_board_skin' => 'basic', // 테마 미리보기 때 적용될 기본 모바일 게시판 스킨 + 'cf_member_skin' => 'basic', // 회원 스킨 + 'cf_mobile_member_skin' => 'basic', // 모바일 회원 스킨 + 'cf_new_skin' => 'basic', // 최근게시물 스킨 + 'cf_mobile_new_skin' => 'basic', // 모바일 최근게시물 스킨 + 'cf_search_skin' => 'basic', // 검색 스킨 + 'cf_mobile_search_skin' => 'basic', // 모바일 검색 스킨 + 'cf_connect_skin' => 'basic', // 접속자 스킨 + 'cf_mobile_connect_skin' => 'basic', // 모바일 접속자 스킨 + 'cf_faq_skin' => 'basic', // FAQ 스킨 + 'cf_mobile_faq_skin' => 'basic', // 모바일 FAQ 스킨 + 'bo_gallery_cols' => 4, // 갤러리 이미지 수 + 'bo_gallery_width' => 215, // 갤러리 이미지 폭 + 'bo_gallery_height' => 215, // 갤러리 이미지 높이 + 'bo_mobile_gallery_width' => 250, // 모바일 갤러리 이미지 폭 + 'bo_mobile_gallery_height' => 200, // 모바일 갤러리 이미지 높이 + 'bo_image_width' => 900, // 게시판 뷰 이미지 폭 + 'qa_skin' => 'basic', // 1:1문의 스킨 + 'qa_mobile_skin' => 'basic', // 1:1문의 모바일 스킨 + 'de_shop_skin' => 'basic', // 쇼핑몰 PC 기본스킨 + 'de_shop_mobile_skin' => 'basic', // 쇼핑몰 모바일 기본스킨 + 'de_type1_list_use' => 1, // PC 히트상품 출력 + 'de_type1_list_skin' => 'main.10.skin.php', // PC 히트상품 출력스킨 + 'de_type1_list_mod' => 5, // PC 히트상품 출력 1줄당 이미지 수 + 'de_type1_list_row' => 2, // PC 히트상품 출력 출력 줄 수 + 'de_type1_img_width' => 160, // PC 히트상품 이미지 폭 + 'de_type1_img_height' => 160, // PC 히트상품 이미지 높이 + 'de_type2_list_use' => 1, // PC 추천상품 출력 + 'de_type2_list_skin' => 'main.20.skin.php', // PC 추천상품 출력스킨 + 'de_type2_list_mod' => 4, // PC 추천상품 출력 1줄당 이미지 수 + 'de_type2_list_row' => 2, // PC 추천상품 출력 출력 줄 수 + 'de_type2_img_width' => 215, // PC 추천상품 이미지 폭 + 'de_type2_img_height' => 215, // PC 추천상품 이미지 높이 + 'de_type3_list_use' => 1, // PC 최신상품 출력 + 'de_type3_list_skin' => 'main.40.skin.php', // PC 최신상품 출력스킨 + 'de_type3_list_mod' => 4, // PC 최신상품 출력 1줄당 이미지 수 + 'de_type3_list_row' => 1, // PC 최신상품 출력 출력 줄 수 + 'de_type3_img_width' => 215, // PC 최신상품 이미지 폭 + 'de_type3_img_height' => 215, // PC 최신상품 이미지 높이 + 'de_type4_list_use' => 1, // PC 인기상품 출력 + 'de_type4_list_skin' => 'main.50.skin.php', // PC 인기상품 출력스킨 + 'de_type4_list_mod' => 5, // PC 인기상품 출력 1줄당 이미지 수 + 'de_type4_list_row' => 1, // PC 인기상품 출력 출력 줄 수 + 'de_type4_img_width' => 215, // PC 인기상품 이미지 폭 + 'de_type4_img_height' => 215, // PC 인기상품 이미지 높이 + 'de_type5_list_use' => 1, // PC 할인상품 출력 + 'de_type5_list_skin' => 'main.30.skin.php', // PC 할인상품 출력스킨 + 'de_type5_list_mod' => 4, // PC 할인상품 출력 1줄당 이미지 수 + 'de_type5_list_row' => 1, // PC 할인상품 출력 출력 줄 수 + 'de_type5_img_width' => 215, // PC 할인상품 이미지 폭 + 'de_type5_img_height' => 215, // PC 할인상품 이미지 높이 + 'de_mobile_type1_list_use' => 1, // 모바일 히트상품 출력 + 'de_mobile_type1_list_skin' => 'main.30.skin.php', // 모바일 히트상품 출력스킨 + 'de_mobile_type1_list_mod' => 2, // 모바일 히트상품 출력 1줄당 이미지 수 + 'de_mobile_type1_list_row' => 4, // 모바일 히트상품 출력 출력 줄 수 + 'de_mobile_type1_img_width' => 230, // 모바일 히트상품 이미지 폭 + 'de_mobile_type1_img_height' => 230, // 모바일 히트상품 이미지 높이 + 'de_mobile_type2_list_use' => 1, // 모바일 추천상품 출력 + 'de_mobile_type2_list_skin' => 'main.10.skin.php', // 모바일 추천상품 출력스킨 + 'de_mobile_type2_list_mod' => 2, // 모바일 추천상품 출력 1줄당 이미지 수 + 'de_mobile_type2_list_row' => 2, // 모바일 추천상품 출력 출력 줄 수 + 'de_mobile_type2_img_width' => 300, // 모바일 추천상품 이미지 폭 + 'de_mobile_type2_img_height' => 300, // 모바일 추천상품 이미지 높이 + 'de_mobile_type3_list_use' => 1, // 모바일 최신상품 출력 + 'de_mobile_type3_list_skin' => 'main.10.skin.php', // 모바일 최신상품 출력스킨 + 'de_mobile_type3_list_mod' => 2, // 모바일 최신상품 출력 1줄당 이미지 수 + 'de_mobile_type3_list_row' => 4, // 모바일 최신상품 출력 출력 줄 수 + 'de_mobile_type3_img_width' => 300, // 모바일 최신상품 이미지 폭 + 'de_mobile_type3_img_height' => 300, // 모바일 최신상품 이미지 높이 + 'de_mobile_type4_list_use' => 1, // 모바일 인기상품 출력 + 'de_mobile_type4_list_skin' => 'main.20.skin.php', // 모바일 인기상품 출력스킨 + 'de_mobile_type4_list_mod' => 2, // 모바일 인기상품 출력 1줄당 이미지 수 + 'de_mobile_type4_list_row' => 2, // 모바일 인기상품 출력 출력 줄 수 + 'de_mobile_type4_img_width' => 80, // 모바일 인기상품 이미지 폭 + 'de_mobile_type4_img_height' => 80, // 모바일 인기상품 이미지 높이 + 'de_mobile_type5_list_use' => 1, // 모바일 할인상품 출력 + 'de_mobile_type5_list_skin' => 'main.10.skin.php', // 모바일 할인상품 출력스킨 + 'de_mobile_type5_list_mod' => 2, // 모바일 할인상품 출력 1줄당 이미지 수 + 'de_mobile_type5_list_row' => 2, // 모바일 할인상품 출력 출력 줄 수 + 'de_mobile_type5_img_width' => 230, // 모바일 할인상품 이미지 폭 + 'de_mobile_type5_img_height' => 230, // 모바일 할인상품 이미지 높이 + 'de_rel_list_use' => 1, // 관련상품 출력 + 'de_rel_list_skin' => 'relation.10.skin.php', // 관련상품 출력 스킨 + 'de_rel_list_mod' => 5, // 관련상품 1줄당 이미지 수 + 'de_rel_img_width' => 215, // 관련상품 이미지 폭 + 'de_rel_img_height' => 215, // 관련상품 이미지 높이 + 'de_mobile_rel_list_use' => 1, // 모바일 관련상품 출력 + 'de_mobile_rel_list_skin' => 'relation.10.skin.php', // 모바일 관련상품 출력 스킨 + 'de_mobile_rel_list_mod' => 3, // 모바일 관련상품 1줄당 이미지 수 + 'de_mobile_rel_img_width' => 230, // 모바일 관련상품 이미지 폭 + 'de_mobile_rel_img_height' => 230, // 모바일 관련상품 이미지 높이 + 'de_search_list_skin' => 'list.10.skin.php', // 검색상품 출력 스킨 + 'de_search_list_mod' => 5, // 검색상품 1줄당 이미지 수 + 'de_search_list_row' => 5, // 검색상품 출력 줄 수 + 'de_search_img_width' => 225, // 검색상품 이미지 폭 + 'de_search_img_height' => 225, // 검색상품 이미지 높이 + 'de_mobile_search_list_skin' => 'list.10.skin.php', // 모바일 검색상품 출력 스킨 + 'de_mobile_search_list_mod' => 2, // 모바일 검색상품 1줄당 이미지 수 + 'de_mobile_search_list_row' => 5, // 모바일 검색상품 출력 줄 수 + 'de_mobile_search_img_width' => 230, // 모바일 관련상품 이미지 폭 + 'de_mobile_search_img_height' => 230, // 모바일 관련상품 이미지 높이 + 'de_mimg_width' => 400, // 상품상세 이미지 Width + 'de_mimg_height' => 400, // 상품상세 이미지 Height + 'ca_skin' => 'list.10.skin.php', // 분류 리스트 스킨 + 'ca_img_width' => 225, // 분류 리스트 이미지 폭 + 'ca_img_height' => 225, // 분류 리스트 이미지 높이 + 'ca_list_mod' => 5, // 분류 리스트 1줄당 이미지 수 + 'ca_list_row' => 5, // 분류 리스트 이미지 줄 수 + 'ca_mobile_skin' => 'list.10.skin.php', // 모바일 분류 리스트 스킨 + 'ca_mobile_img_width' => 230, // 모바일 분류 리스트 이미지 폭 + 'ca_mobile_img_height' => 230, // 모바일 분류 리스트 이미지 높이 + 'ca_mobile_list_mod' => 2, // 모바일 분류 리스트 1줄당 이미지 수 + 'ca_mobile_list_row' => 5, // 모바일 분류 리스트 이미지 줄 수 + 'ev_skin' => 'list.10.skin.php', // 이벤트 출력 스킨 + 'ev_img_width' => 225, // 이벤트 리스트 이미지 폭 + 'ev_img_height' => 225, // 이벤트 리스트 이미지 높이 + 'ev_list_mod' => 5, // 이벤트 리스트 1줄당 이미지 수 + 'ev_list_row' => 5, // 이벤트 리스트 이미지 줄 수 + 'ev_mobile_skin' => 'list.10.skin.php', // 모바일 이벤트 출력 스킨 + 'ev_mobile_img_width' => 230, // 모바일 이벤트 리스트 이미지 폭 + 'ev_mobile_img_height' => 230, // 모바일 이벤트 리스트 이미지 높이 + 'ev_mobile_list_mod' => 2, // 모바일 이벤트 1줄당 이미지 수 + 'ev_mobile_list_row' => 5, // 모바일 이벤트 이미지 줄 수 + 'ca_mobile_list_best_mod' => 2, // 모바일 상품리스트 베스트상품 1줄당 이미지 수 + 'ca_mobile_list_best_row' => 3, // 모바일 상품리스트 베스트상품 이미지 줄 수 +); \ No newline at end of file