commit 2b6378afa33b426f454df63773f5fd8d11b07c4b Author: tech Date: Fri Apr 17 19:06:49 2026 +0900 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a94efe8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Maven +target/ +!.mvn/wrapper/maven-wrapper.jar + +# IDE +.idea/ +*.iml +.vscode/ +*.classpath +*.project +*.settings/ + +# OS +.DS_Store +Thumbs.db + +# Logs +*.log +logs/ + +# Application secrets (운영 설정 제외 시 아래 활성화) +# src/main/resources/application-prod.yml + +# Uploaded files +uploads/ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..2d3bbda --- /dev/null +++ b/pom.xml @@ -0,0 +1,105 @@ + + + 4.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 4.0.5 + + + + com.owrawww + owrawww + 0.0.1-SNAPSHOT + jar + owrawww + owrawww Spring Boot Project + + + 21 + + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + + nz.net.ultraq.thymeleaf + thymeleaf-layout-dialect + 4.0.1 + + + + org.springframework.boot + spring-boot-starter-security + + + org.thymeleaf.extras + thymeleaf-extras-springsecurity6 + + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 4.0.1 + + + + + org.mariadb.jdbc + mariadb-java-client + runtime + + + + + org.projectlombok + lombok + true + + + + + org.springframework.boot + spring-boot-starter-validation + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/src/main/java/com/owrawww/OwrawwwApplication.java b/src/main/java/com/owrawww/OwrawwwApplication.java new file mode 100644 index 0000000..0074f88 --- /dev/null +++ b/src/main/java/com/owrawww/OwrawwwApplication.java @@ -0,0 +1,14 @@ +package com.owrawww; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +@MapperScan("com.owrawww.domain.mapper") +public class OwrawwwApplication { + + public static void main(String[] args) { + SpringApplication.run(OwrawwwApplication.class, args); + } +} diff --git a/src/main/java/com/owrawww/config/SecurityConfig.java b/src/main/java/com/owrawww/config/SecurityConfig.java new file mode 100644 index 0000000..a08c0b6 --- /dev/null +++ b/src/main/java/com/owrawww/config/SecurityConfig.java @@ -0,0 +1,31 @@ +package com.owrawww.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.web.SecurityFilterChain; + +@Configuration +@EnableWebSecurity +public class SecurityConfig { + + @Bean + public PasswordEncoder passwordEncoder() { + return new BCryptPasswordEncoder(); + } + + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { + http + .authorizeHttpRequests(auth -> auth + .anyRequest().permitAll() + ) + .formLogin(form -> form.disable()) + .logout(logout -> logout.disable()); + + return http.build(); + } +} diff --git a/src/main/java/com/owrawww/controller/AuthController.java b/src/main/java/com/owrawww/controller/AuthController.java new file mode 100644 index 0000000..26424c5 --- /dev/null +++ b/src/main/java/com/owrawww/controller/AuthController.java @@ -0,0 +1,15 @@ +package com.owrawww.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@RequestMapping("/auth") +public class AuthController { + + @GetMapping("/login") + public String loginPage() { + return "auth/login"; + } +} diff --git a/src/main/java/com/owrawww/controller/BbsController.java b/src/main/java/com/owrawww/controller/BbsController.java new file mode 100644 index 0000000..2bd63be --- /dev/null +++ b/src/main/java/com/owrawww/controller/BbsController.java @@ -0,0 +1,104 @@ +package com.owrawww.controller; + +import com.owrawww.service.BbsService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + +@Controller +@RequiredArgsConstructor +public class BbsController { + + private final BbsService bbsService; + + @RequestMapping(value = "/bbs/owrainfo", method = {RequestMethod.GET, RequestMethod.POST}) + public String bbsList( + @RequestParam(defaultValue = "1") int page, + @RequestParam(defaultValue = "all") String searchType, + @RequestParam(defaultValue = "") String keyword, + Model model) { + int topCode = 1; + int leftCode = 1; + int subGubun = 1; + bbsService.getList(page, searchType, keyword, topCode, leftCode, subGubun) + .forEach(model::addAttribute); + return "sub04_01"; + } + + @GetMapping("/bbs/owrainfo/view") + public String bbsView( + @RequestParam Long id, + @RequestParam(defaultValue = "1") int page, + @RequestParam(defaultValue = "all") String searchType, + @RequestParam(defaultValue = "") String keyword, + Model model) { + int topCode = 1; + int leftCode = 1; + int subGubun = 1; + bbsService.getDetail(id, topCode, leftCode, subGubun, page, searchType, keyword) + .forEach(model::addAttribute); + return "sub04_01_view"; + } + + @RequestMapping(value = "/business/progress", method = {RequestMethod.GET, RequestMethod.POST}) + public String progressList( + @RequestParam(defaultValue = "1") int page, + @RequestParam(defaultValue = "all") String searchType, + @RequestParam(defaultValue = "") String keyword, + Model model) { + int topCode = 1; + int leftCode = 2; + int subGubun = 1; + bbsService.getList(page, searchType, keyword, topCode, leftCode, subGubun) + .forEach(model::addAttribute); + return "sub02_08"; + } + + @GetMapping("/business/progress/view") + public String progressView( + @RequestParam Long id, + @RequestParam(defaultValue = "1") int page, + @RequestParam(defaultValue = "all") String searchType, + @RequestParam(defaultValue = "") String keyword, + Model model) { + int topCode = 1; + int leftCode = 2; + int subGubun = 1; + bbsService.getDetail(id, topCode, leftCode, subGubun, page, searchType, keyword) + .forEach(model::addAttribute); + return "sub02_08_view"; + } + + @RequestMapping(value = "/bbs/press", method = {RequestMethod.GET, RequestMethod.POST}) + public String pressList( + @RequestParam(defaultValue = "1") int page, + @RequestParam(defaultValue = "all") String searchType, + @RequestParam(defaultValue = "") String keyword, + Model model) { + int topCode = 1; + int leftCode = 4; + int subGubun = 1; + bbsService.getList(page, searchType, keyword, topCode, leftCode, subGubun) + .forEach(model::addAttribute); + return "sub04_03"; + } + + @GetMapping("/bbs/press/view") + public String pressView( + @RequestParam Long id, + @RequestParam(defaultValue = "1") int page, + @RequestParam(defaultValue = "all") String searchType, + @RequestParam(defaultValue = "") String keyword, + Model model) { + int topCode = 1; + int leftCode = 4; + int subGubun = 1; + bbsService.getDetail(id, topCode, leftCode, subGubun, page, searchType, keyword) + .forEach(model::addAttribute); + return "sub04_03_view"; + } +} \ No newline at end of file diff --git a/src/main/java/com/owrawww/controller/CareersController.java b/src/main/java/com/owrawww/controller/CareersController.java new file mode 100644 index 0000000..9ab8859 --- /dev/null +++ b/src/main/java/com/owrawww/controller/CareersController.java @@ -0,0 +1,168 @@ +package com.owrawww.controller; + +import com.owrawww.domain.Careers; +import com.owrawww.service.CareersService; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +@Controller +@RequestMapping("/careers/recruitment") +@RequiredArgsConstructor +public class CareersController { + + private static final long MAX_FILE_SIZE = 10 * 1024 * 1024L; + private static final Set ALLOWED_EXT = Set.of( + "pdf", "doc", "docx", "hwp", "hwpx", "ppt", "pptx", "txt", "zip" + ); + + // 파일 매직 바이트 시그니처 + private static final byte[] MAGIC_PDF = {0x25, 0x50, 0x44, 0x46}; // %PDF + private static final byte[] MAGIC_OLE2 = {(byte)0xD0, (byte)0xCF, 0x11, (byte)0xE0, (byte)0xA1, (byte)0xB1, 0x1A, (byte)0xE1}; // DOC/XLS/PPT/HWP(5) + private static final byte[] MAGIC_ZIP = {0x50, 0x4B, 0x03, 0x04}; // DOCX/XLSX/PPTX/HWPX (ZIP 기반) + private static final byte[] MAGIC_HWP5 = {0x48, 0x57, 0x50, 0x20, 0x44, 0x6F, 0x63, 0x75}; // "HWP Docu" (HWP 5.x) + + private final CareersService careersService; + + @GetMapping + public String careersForm(@ModelAttribute Careers careers) { + return "sub03_04"; + } + + @PostMapping + @ResponseBody + public ResponseEntity> careersSubmit( + @Valid @ModelAttribute Careers careers, + BindingResult bindingResult, + @RequestParam(value = "file", required = false) MultipartFile file) { + + Map result = new HashMap<>(); + + if (bindingResult.hasErrors()) { + result.put("success", false); + result.put("message", "입력값을 확인해주세요."); + return ResponseEntity.badRequest().body(result); + } + + if (file != null && !file.isEmpty()) { + // 용량 검증 + if (file.getSize() > MAX_FILE_SIZE) { + result.put("success", false); + result.put("message", "파일 용량은 10MB 이하만 가능합니다."); + return ResponseEntity.badRequest().body(result); + } + + // 확장자 검증 + String originalName = file.getOriginalFilename() != null ? file.getOriginalFilename() : ""; + String ext = originalName.contains(".") + ? originalName.substring(originalName.lastIndexOf('.') + 1).toLowerCase() + : ""; + if (!ALLOWED_EXT.contains(ext)) { + result.put("success", false); + result.put("message", "허용된 파일 형식이 아닙니다. (PDF, Word, 한글, PPT, 텍스트)"); + return ResponseEntity.badRequest().body(result); + } + + // 파일 내용(매직 바이트) 검증 + try { + String contentError = validateFileContent(file, ext); + if (contentError != null) { + result.put("success", false); + result.put("message", contentError); + return ResponseEntity.badRequest().body(result); + } + } catch (IOException e) { + result.put("success", false); + result.put("message", "파일을 읽는 중 오류가 발생했습니다."); + return ResponseEntity.badRequest().body(result); + } + } + + try { + boolean success = careersService.submit(careers, file); + result.put("success", success); + if (!success) { + result.put("message", "처리 중 오류가 발생했습니다. 다시 시도해주세요."); + } + } catch (IOException e) { + result.put("success", false); + result.put("message", "파일 저장 중 오류가 발생했습니다."); + return ResponseEntity.internalServerError().body(result); + } + return ResponseEntity.ok(result); + } + + /** + * 파일 매직 바이트로 실제 형식 검증 + * - PDF : %PDF 시그니처 + * - DOC/XLS/PPT/HWP(5) : OLE2 복합 문서 시그니처 + * - DOCX/XLSX/PPTX/HWPX : ZIP(PK) 시그니처 + * - TXT : 바이너리 제어문자 미포함 여부 + */ + private String validateFileContent(MultipartFile file, String ext) throws IOException { + byte[] header = new byte[8]; + try (InputStream is = file.getInputStream()) { + int read = is.read(header); + if (read < 4) { + return "파일이 손상되었거나 내용이 없습니다."; + } + } + + return switch (ext) { + case "pdf" -> startsWith(header, MAGIC_PDF) + ? null : "PDF 파일 형식이 올바르지 않습니다."; + + case "doc", "xls", "ppt" -> startsWith(header, MAGIC_OLE2) || startsWith(header, MAGIC_HWP5) + ? null : "파일 내용이 선택한 형식(" + ext.toUpperCase() + ")과 일치하지 않습니다."; + + case "hwp" -> startsWith(header, MAGIC_OLE2) || startsWith(header, MAGIC_HWP5) || startsWith(header, MAGIC_ZIP) + ? null : "HWP 파일 형식이 올바르지 않습니다."; + + case "docx", "xlsx", "pptx", "hwpx" -> startsWith(header, MAGIC_ZIP) + ? null : "파일 내용이 선택한 형식(" + ext.toUpperCase() + ")과 일치하지 않습니다."; + + case "zip" -> startsWith(header, MAGIC_ZIP) + ? null : "ZIP 파일 형식이 올바르지 않습니다."; + + case "txt" -> isPlainText(header) + ? null : "TXT 파일에 허용되지 않는 바이너리 내용이 포함되어 있습니다."; + + default -> "허용된 파일 형식이 아닙니다."; + }; + } + + private boolean startsWith(byte[] data, byte[] magic) { + if (data.length < magic.length) return false; + for (int i = 0; i < magic.length; i++) { + if (data[i] != magic[i]) return false; + } + return true; + } + + /** TXT: 제어문자(탭·개행 제외)가 없으면 텍스트로 판단 */ + private boolean isPlainText(byte[] header) { + for (byte b : header) { + int c = b & 0xFF; + if (c < 0x09) return false; // 0x00~0x08 제어문자 + if (c == 0x0B || c == 0x0C) return false; // VT, FF + if (c >= 0x0E && c <= 0x1F) return false; // 기타 제어문자 + } + return true; + } +} diff --git a/src/main/java/com/owrawww/controller/HomeController.java b/src/main/java/com/owrawww/controller/HomeController.java new file mode 100644 index 0000000..643f160 --- /dev/null +++ b/src/main/java/com/owrawww/controller/HomeController.java @@ -0,0 +1,96 @@ +package com.owrawww.controller; + +import com.owrawww.service.BbsService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; + +@Controller +@RequiredArgsConstructor +public class HomeController { + + private final BbsService bbsService; + + @GetMapping("/") + public String index(Model model) { + model.addAttribute("progressList", bbsService.getPreview(1, 2, 1, 5)); + model.addAttribute("pressList", bbsService.getPreview(1, 4, 1, 8)); + return "index"; + } + + @GetMapping("/include/header") + public String header() { return "include/header"; } + + @GetMapping("/include/footer") + public String footer() { return "include/footer"; } + + @GetMapping("/sitemap") + public String sitemap() { return "sitemap"; } + + @GetMapping("/service") + public String service() { return "service"; } + + @GetMapping("/etc") + public String etc() { return "etc"; } + + @GetMapping("/pub_list") + public String pubList() { return "pub_list"; } + + @GetMapping("/board_view") + public String boardView() { return "board_view"; } + + // 회사소개 + @GetMapping("/company/intro") + public String sub0101() { return "sub01_01"; } + + @GetMapping("/company/business") + public String sub0102() { return "sub01_02"; } + + @GetMapping("/company/history") + public String sub0103() { return "sub01_03"; } + + @GetMapping("/company/chart") + public String sub0104() { return "sub01_04"; } + + @GetMapping("/company/map") + public String sub0105() { return "sub01_05"; } + + // 사업소개 + @GetMapping("/business/intro") + public String sub0201() { return "sub02_01"; } + + @GetMapping("/business/pg") + public String sub0202() { return "sub02_02"; } + + @GetMapping("/business/prepayment") + public String sub0203() { return "sub02_03"; } + + @GetMapping("/business/payment") + public String sub0204() { return "sub02_04"; } + + @GetMapping("/business/sales") + public String sub0205() { return "sub02_05"; } + + @GetMapping("/business/b2b") + public String sub0206() { return "sub02_06"; } + + @GetMapping("/business/delivery") + public String sub0207() { return "sub02_07"; } + + // /business/progress 는 BbsController에서 처리 + + // 인재채용 + @GetMapping("/careers/talent") + public String sub0301() { return "sub03_01"; } + + @GetMapping("/careers/benefit") + public String sub0302() { return "sub03_02"; } + + @GetMapping("/careers/careers") + public String sub0303() { return "sub03_03"; } + + // /careers/recruitment 는 CareersController에서 처리 + // 게시판 (/bbs/owrainfo 는 BbsController에서, /bbs/partnership 은 PartnershipController에서, /bbs/press 는 BbsController에서 처리) +} + diff --git a/src/main/java/com/owrawww/controller/InquiryController.java b/src/main/java/com/owrawww/controller/InquiryController.java new file mode 100644 index 0000000..f4a090f --- /dev/null +++ b/src/main/java/com/owrawww/controller/InquiryController.java @@ -0,0 +1,48 @@ +package com.owrawww.controller; + +import com.owrawww.domain.Inquiry; +import com.owrawww.service.InquiryService; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.HashMap; +import java.util.Map; + +@Controller +@RequestMapping("/sub04_02") +@RequiredArgsConstructor +public class InquiryController { + + private final InquiryService inquiryService; + + @GetMapping + public String inquiryForm(@ModelAttribute Inquiry inquiry) { + return "sub04_02"; + } + + @PostMapping + @ResponseBody + public ResponseEntity> inquirySubmit(@Valid @ModelAttribute Inquiry inquiry, + BindingResult bindingResult) { + Map result = new HashMap<>(); + if (bindingResult.hasErrors()) { + result.put("success", false); + result.put("message", "입력값을 확인해주세요."); + return ResponseEntity.badRequest().body(result); + } + boolean success = inquiryService.submit(inquiry); + result.put("success", success); + if (!success) { + result.put("message", "처리 중 오류가 발생했습니다. 다시 시도해주세요."); + } + return ResponseEntity.ok(result); + } +} diff --git a/src/main/java/com/owrawww/controller/PartnershipController.java b/src/main/java/com/owrawww/controller/PartnershipController.java new file mode 100644 index 0000000..6207b08 --- /dev/null +++ b/src/main/java/com/owrawww/controller/PartnershipController.java @@ -0,0 +1,48 @@ +package com.owrawww.controller; + +import com.owrawww.domain.Inquiry; +import com.owrawww.service.InquiryService; +import jakarta.validation.Valid; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.HashMap; +import java.util.Map; + +@Controller +@RequestMapping("/bbs/partnership") +@RequiredArgsConstructor +public class PartnershipController { + + private final InquiryService inquiryService; + + @GetMapping + public String partnershipForm(@ModelAttribute Inquiry inquiry) { + return "sub04_02"; + } + + @PostMapping + @ResponseBody + public ResponseEntity> partnershipSubmit(@Valid @ModelAttribute Inquiry inquiry, + BindingResult bindingResult) { + Map result = new HashMap<>(); + if (bindingResult.hasErrors()) { + result.put("success", false); + result.put("message", "입력값을 확인해주세요."); + return ResponseEntity.badRequest().body(result); + } + boolean success = inquiryService.submit(inquiry); + result.put("success", success); + if (!success) { + result.put("message", "처리 중 오류가 발생했습니다. 다시 시도해주세요."); + } + return ResponseEntity.ok(result); + } +} diff --git a/src/main/java/com/owrawww/domain/Bbs.java b/src/main/java/com/owrawww/domain/Bbs.java new file mode 100644 index 0000000..26d8ce2 --- /dev/null +++ b/src/main/java/com/owrawww/domain/Bbs.java @@ -0,0 +1,19 @@ +package com.owrawww.domain; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class Bbs { + + private Long id; + private String title; + private String name; + private String regDate; + private String body; + private int viewCnt; + private String mainImg; +} \ No newline at end of file diff --git a/src/main/java/com/owrawww/domain/Careers.java b/src/main/java/com/owrawww/domain/Careers.java new file mode 100644 index 0000000..b91386d --- /dev/null +++ b/src/main/java/com/owrawww/domain/Careers.java @@ -0,0 +1,53 @@ +package com.owrawww.domain; + +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Pattern; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class Careers { + + private Long id; + + @NotBlank(message = "성명을 입력해주세요.") + private String name; + + @NotBlank(message = "이메일을 입력해주세요.") + @Email(message = "올바른 이메일 형식이 아닙니다.") + private String email; + + @NotBlank(message = "연락처를 입력해주세요.") + @Pattern(regexp = "^[0-9\\-+\\s]{7,20}$", message = "연락처 형식이 올바르지 않습니다.") + private String tel; + + @NotBlank(message = "지원분야를 선택해주세요.") + private String dept; + + @NotBlank(message = "제목을 입력해주세요.") + private String title; + + @NotBlank(message = "내용을 입력해주세요.") + private String content; + + private LocalDateTime createdAt; + private String code; + private String type; + private String comment; + private Integer topCode; + private Integer leftCode; + private Integer subGubun; + private Integer depth; + private String solutionGubun; + private String orgFileName; // 원본 파일명 (업로드 시 클라이언트에서 전달받은 이름 확장자제외) + private String fileName; // 원본 파일명 + private String filePath; // 저장 경로 (DB 기록용) + private String fileType; // MIME 타입 (예: application/pdf, image/jpeg 등) + +} diff --git a/src/main/java/com/owrawww/domain/Inquiry.java b/src/main/java/com/owrawww/domain/Inquiry.java new file mode 100644 index 0000000..a37676b --- /dev/null +++ b/src/main/java/com/owrawww/domain/Inquiry.java @@ -0,0 +1,49 @@ +package com.owrawww.domain; + +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Pattern; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class Inquiry { + + private Long id; + + @NotBlank(message = "성명을 입력해주세요.") + private String name; + + @NotBlank(message = "이메일을 입력해주세요.") + @Email(message = "올바른 이메일 형식이 아닙니다.") + private String email; + + @NotBlank(message = "연락처를 입력해주세요.") + @Pattern(regexp = "^[0-9\\-+\\s]{7,20}$", message = "연락처 형식이 올바르지 않습니다.") + private String tel; + + @NotBlank(message = "지원분야를 선택해주세요.") + private String dept; + + @NotBlank(message = "제목을 입력해주세요.") + private String title; + + @NotBlank(message = "내용을 입력해주세요.") + private String content; + + private LocalDateTime createdAt; + private String code; + private String type; + private String comment; + private Integer topCode; + private Integer leftCode; + private Integer subGubun; + private Integer depth; + private String solutionGubun; + +} diff --git a/src/main/java/com/owrawww/domain/User.java b/src/main/java/com/owrawww/domain/User.java new file mode 100644 index 0000000..aa61154 --- /dev/null +++ b/src/main/java/com/owrawww/domain/User.java @@ -0,0 +1,18 @@ +package com.owrawww.domain; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class User { + + private Long id; + private String username; + private String password; + private String role; // ROLE_USER, ROLE_ADMIN + private String email; + private boolean enabled; +} diff --git a/src/main/java/com/owrawww/domain/mapper/BbsMapper.java b/src/main/java/com/owrawww/domain/mapper/BbsMapper.java new file mode 100644 index 0000000..70a9e59 --- /dev/null +++ b/src/main/java/com/owrawww/domain/mapper/BbsMapper.java @@ -0,0 +1,25 @@ +package com.owrawww.domain.mapper; + +import com.owrawww.domain.Bbs; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface BbsMapper { + + List selectList(Map params); + + int selectCount(Map params); + + Bbs selectById(Map params); + + Bbs selectPrev(Map params); + + Bbs selectNext(Map params); + + int incrementViewCnt(Long id); + + List selectPreview(Map params); +} \ No newline at end of file diff --git a/src/main/java/com/owrawww/domain/mapper/CareersMapper.java b/src/main/java/com/owrawww/domain/mapper/CareersMapper.java new file mode 100644 index 0000000..649f674 --- /dev/null +++ b/src/main/java/com/owrawww/domain/mapper/CareersMapper.java @@ -0,0 +1,9 @@ +package com.owrawww.domain.mapper; + +import com.owrawww.domain.Careers; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CareersMapper { + int insert(Careers careers); +} diff --git a/src/main/java/com/owrawww/domain/mapper/InquiryMapper.java b/src/main/java/com/owrawww/domain/mapper/InquiryMapper.java new file mode 100644 index 0000000..d247496 --- /dev/null +++ b/src/main/java/com/owrawww/domain/mapper/InquiryMapper.java @@ -0,0 +1,9 @@ +package com.owrawww.domain.mapper; + +import com.owrawww.domain.Inquiry; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface InquiryMapper { + int insert(Inquiry inquiry); +} diff --git a/src/main/java/com/owrawww/domain/mapper/UserMapper.java b/src/main/java/com/owrawww/domain/mapper/UserMapper.java new file mode 100644 index 0000000..469d7a6 --- /dev/null +++ b/src/main/java/com/owrawww/domain/mapper/UserMapper.java @@ -0,0 +1,21 @@ +package com.owrawww.domain.mapper; + +import com.owrawww.domain.User; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Optional; + +@Mapper +public interface UserMapper { + + Optional findByUsername(String username); + + List findAll(); + + void insert(User user); + + void update(User user); + + void deleteById(Long id); +} diff --git a/src/main/java/com/owrawww/dto/UserDto.java b/src/main/java/com/owrawww/dto/UserDto.java new file mode 100644 index 0000000..191bf29 --- /dev/null +++ b/src/main/java/com/owrawww/dto/UserDto.java @@ -0,0 +1,24 @@ +package com.owrawww.dto; + +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@NoArgsConstructor +public class UserDto { + + @NotBlank(message = "아이디를 입력하세요.") + private String username; + + @NotBlank(message = "비밀번호를 입력하세요.") + @Size(min = 8, message = "비밀번호는 8자 이상이어야 합니다.") + private String password; + + @Email(message = "이메일 형식이 올바르지 않습니다.") + private String email; +} diff --git a/src/main/java/com/owrawww/service/BbsService.java b/src/main/java/com/owrawww/service/BbsService.java new file mode 100644 index 0000000..c400e20 --- /dev/null +++ b/src/main/java/com/owrawww/service/BbsService.java @@ -0,0 +1,91 @@ +package com.owrawww.service; + +import com.owrawww.domain.Bbs; +import com.owrawww.domain.mapper.BbsMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +@RequiredArgsConstructor +public class BbsService { + + private static final int PAGE_SIZE = 12; + private static final int PAGE_BLOCK = 5; + + private final BbsMapper bbsMapper; + + public Map getList(int page, String searchType, String keyword, int topCode, int leftCode, int subGubun) { + if (page < 1) page = 1; + + Map params = new HashMap<>(); + params.put("size", PAGE_SIZE); + params.put("offset", (page - 1) * PAGE_SIZE); + params.put("topCode", topCode); + params.put("leftCode", leftCode); + params.put("subGubun", subGubun); + params.put("searchType", searchType); + params.put("keyword", keyword); + + List list = bbsMapper.selectList(params); + int totalCount = bbsMapper.selectCount(params); + int totalPages = Math.max(1, (int) Math.ceil((double) totalCount / PAGE_SIZE)); + + if (page > totalPages) page = totalPages; + + int blockStart = ((page - 1) / PAGE_BLOCK) * PAGE_BLOCK + 1; + int blockEnd = Math.min(blockStart + PAGE_BLOCK - 1, totalPages); + + Map model = new HashMap<>(); + model.put("list", list); + model.put("totalCount", totalCount); + model.put("currentPage", page); + model.put("totalPages", totalPages); + model.put("blockStart", blockStart); + model.put("blockEnd", blockEnd); + model.put("searchType", searchType); + model.put("keyword", keyword); + model.put("topCode", topCode); + model.put("leftCode", leftCode); + model.put("subGubun", subGubun); + return model; + } + + public Map getDetail(Long id, int topCode, int leftCode, int subGubun, int page, String searchType, String keyword) { + Map params = new HashMap<>(); + params.put("id", id); + params.put("topCode", topCode); + params.put("leftCode", leftCode); + params.put("subGubun", subGubun); + params.put("page", page); + params.put("searchType", searchType); + params.put("keyword", keyword); + + bbsMapper.incrementViewCnt(id); + + Bbs bbs = bbsMapper.selectById(params); + Bbs prev = bbsMapper.selectPrev(params); + Bbs next = bbsMapper.selectNext(params); + + Map model = new HashMap<>(); + model.put("bbs", bbs); + model.put("prev", prev); + model.put("next", next); + model.put("currentPage", page); + model.put("searchType", searchType); + model.put("keyword", keyword); + return model; + } + + public List getPreview(int topCode, int leftCode, int subGubun, int limit) { + Map params = new HashMap<>(); + params.put("topCode", topCode); + params.put("leftCode", leftCode); + params.put("subGubun", subGubun); + params.put("limit", limit); + return bbsMapper.selectPreview(params); + } +} \ No newline at end of file diff --git a/src/main/java/com/owrawww/service/CareersService.java b/src/main/java/com/owrawww/service/CareersService.java new file mode 100644 index 0000000..8085d2a --- /dev/null +++ b/src/main/java/com/owrawww/service/CareersService.java @@ -0,0 +1,62 @@ +package com.owrawww.service; + +import com.owrawww.domain.Careers; +import com.owrawww.domain.mapper.CareersMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.util.UUID; + +@Service +@RequiredArgsConstructor +public class CareersService { + + @Value("${app.upload.path}") + private String uploadPath; + + private final CareersMapper careersMapper; + + public boolean submit(Careers careers, MultipartFile file) throws IOException { + Careers saved = new Careers(); + saved.setCode("1"); + saved.setTitle(careers.getTitle()); + saved.setComment(careers.getContent()); + saved.setName(careers.getName()); + saved.setTel(careers.getTel()); + saved.setEmail(careers.getEmail()); + saved.setTopCode(2); + saved.setLeftCode(1); + saved.setSubGubun(1); + saved.setDepth(1); + saved.setSolutionGubun(careers.getSolutionGubun()); + saved.setDept(careers.getDept()); + + // 파일 저장 + if (file != null && !file.isEmpty()) { + String originalName = file.getOriginalFilename() != null ? file.getOriginalFilename() : "unknown"; + String ext = originalName.contains(".") + ? originalName.substring(originalName.lastIndexOf('.')) + : ""; + String storedName = UUID.randomUUID().toString().replace("-", "") + ext; + + Path dir = Paths.get(uploadPath); + Files.createDirectories(dir); + Path dest = dir.resolve(storedName); + Files.copy(file.getInputStream(), dest, StandardCopyOption.REPLACE_EXISTING); + + saved.setOrgFileName(originalName.replace(ext, "")); // 확장자 제외한 원본 파일명 + saved.setFileName(originalName); // 원본 파일명 + saved.setFilePath(uploadPath + "/" + storedName); // 저장 경로 + saved.setFileType(file.getContentType()); // MIME 타입 + } + + return careersMapper.insert(saved) > 0; + } +} diff --git a/src/main/java/com/owrawww/service/InquiryService.java b/src/main/java/com/owrawww/service/InquiryService.java new file mode 100644 index 0000000..283c821 --- /dev/null +++ b/src/main/java/com/owrawww/service/InquiryService.java @@ -0,0 +1,30 @@ +package com.owrawww.service; + +import com.owrawww.domain.Inquiry; +import com.owrawww.domain.mapper.InquiryMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class InquiryService { + + private final InquiryMapper inquiryMapper; + + public boolean submit(Inquiry inquiry) { + Inquiry savedInquiry = new Inquiry(); + savedInquiry.setCode("1"); + savedInquiry.setTitle(inquiry.getTitle()); + savedInquiry.setComment(inquiry.getContent()); + savedInquiry.setName(inquiry.getName()); + savedInquiry.setTel(inquiry.getTel()); + savedInquiry.setEmail(inquiry.getEmail()); + savedInquiry.setTopCode(2); + savedInquiry.setLeftCode(1); + savedInquiry.setSubGubun(1); + savedInquiry.setDepth(1); + savedInquiry.setSolutionGubun(inquiry.getSolutionGubun()); + + return inquiryMapper.insert(savedInquiry) > 0; + } +} diff --git a/src/main/java/com/owrawww/service/UserService.java b/src/main/java/com/owrawww/service/UserService.java new file mode 100644 index 0000000..2f15efe --- /dev/null +++ b/src/main/java/com/owrawww/service/UserService.java @@ -0,0 +1,44 @@ +package com.owrawww.service; + +import com.owrawww.domain.User; +import com.owrawww.domain.mapper.UserMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class UserService implements UserDetailsService { + + private final UserMapper userMapper; + private final PasswordEncoder passwordEncoder; + + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + User user = userMapper.findByUsername(username) + .orElseThrow(() -> new UsernameNotFoundException("사용자를 찾을 수 없습니다: " + username)); + + return org.springframework.security.core.userdetails.User.builder() + .username(user.getUsername()) + .password(user.getPassword()) + .roles(user.getRole().replace("ROLE_", "")) + .disabled(!user.isEnabled()) + .build(); + } + + public List findAll() { + return userMapper.findAll(); + } + + public void register(User user) { + user.setPassword(passwordEncoder.encode(user.getPassword())); + user.setRole("ROLE_USER"); + user.setEnabled(true); + userMapper.insert(user); + } +} diff --git a/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/src/main/resources/META-INF/additional-spring-configuration-metadata.json new file mode 100644 index 0000000..c192c9b --- /dev/null +++ b/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -0,0 +1,5 @@ +{"properties": [{ + "name": "app.upload.path", + "type": "java.lang.String", + "description": "A description for 'app.upload.path'" +}]} \ No newline at end of file diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 0000000..5bd413b --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,26 @@ +# ===== 개발 환경 ===== +spring: + datasource: + driver-class-name: org.mariadb.jdbc.Driver + url: jdbc:mariadb://localhost:3306/owrawww?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Seoul + username: owrawww + password: owrawww + + thymeleaf: + cache: false # 개발 중 템플릿 즉시 반영 + +mybatis: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # SQL 콘솔 출력 + +server: + port: 8080 + +logging: + level: + com.owrawww: DEBUG + org.springframework.security: DEBUG + +app: + upload: + path: D:\home\www\owrainfo\uploads diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml new file mode 100644 index 0000000..f7c47df --- /dev/null +++ b/src/main/resources/application-prod.yml @@ -0,0 +1,26 @@ +# ===== 운영 환경 ===== +spring: + datasource: + driver-class-name: org.mariadb.jdbc.Driver + url: jdbc:mariadb://172.16.10.125:3306/db_owrainfo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Seoul + username: owrainfo + password: owra5313 + + thymeleaf: + cache: true # 운영에서는 캐시 활성화 + +mybatis: + configuration: + log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl # SQL 로그 비활성화 + +server: + port: 8080 + +logging: + level: + com.owrawww: WARN + org.springframework.security: WARN + +app: + upload: + path: /home/www/owrainfo/uploads diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml new file mode 100644 index 0000000..58398ba --- /dev/null +++ b/src/main/resources/application-test.yml @@ -0,0 +1,27 @@ +# ===== 테스트 환경 ===== +spring: + datasource: + driver-class-name: org.mariadb.jdbc.Driver + url: jdbc:mariadb://222.239.166.125:3306/db_owrainfo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Seoul + username: owrainfo + password: owra5313 + + thymeleaf: + cache: false + +mybatis: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + +server: + port: 8081 + +logging: + level: + com.owrawww: WARN + org.springframework.security: WARN + +app: + upload: + path: /home/www/owrainfo/uploads + diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..3ff513e --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,32 @@ +# 활성 프로파일 설정 (dev / test / prod) +spring: + profiles: + active: test + + thymeleaf: + encoding: UTF-8 + mode: HTML + + datasource: + hikari: + connection-init-sql: "SET NAMES utf8mb4" + +mybatis: + mapper-locations: classpath:mapper/**/*.xml + type-aliases-package: com.owrawww.domain + configuration: + map-underscore-to-camel-case: true + +server: + servlet: + encoding: + charset: UTF-8 + force: true + multipart: + enabled: true + max-file-size: 10MB + max-request-size: 11MB + +app: + upload: + path: D:/uploads/owrawww/careers # 기본값 (프로파일별로 override) diff --git a/src/main/resources/mapper/BbsMapper.xml b/src/main/resources/mapper/BbsMapper.xml new file mode 100644 index 0000000..1d8dabf --- /dev/null +++ b/src/main/resources/mapper/BbsMapper.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + AND title LIKE CONCAT('%', #{keyword}, '%') + + + AND body LIKE CONCAT('%', #{keyword}, '%') + + + AND (title LIKE CONCAT('%', #{keyword}, '%') + OR body LIKE CONCAT('%', #{keyword}, '%')) + + + + + + + + + + + + + + + + + + + + + UPDATE bbs_table SET count = count + 1 WHERE id = #{id} + + + + + + diff --git a/src/main/resources/mapper/CareersMapper.xml b/src/main/resources/mapper/CareersMapper.xml new file mode 100644 index 0000000..bc13e20 --- /dev/null +++ b/src/main/resources/mapper/CareersMapper.xml @@ -0,0 +1,12 @@ + + + + + + + INSERT INTO application_table (code, title, name, type, phone, email, comment, depth, in_date, top_code, left_code, sub_gubun, solution_gubun, f_real_name, f_name, f_path, f_type) + VALUES (#{code}, #{title}, #{name}, #{dept}, #{tel}, #{email}, #{comment}, #{depth}, now(), #{topCode}, #{leftCode}, #{subGubun}, #{solutionGubun}, #{orgFileName}, #{fileName}, #{filePath}, #{fileType}) + + + diff --git a/src/main/resources/mapper/InquiryMapper.xml b/src/main/resources/mapper/InquiryMapper.xml new file mode 100644 index 0000000..b2cabbd --- /dev/null +++ b/src/main/resources/mapper/InquiryMapper.xml @@ -0,0 +1,12 @@ + + + + + + + INSERT INTO application_table (code, title, name, type, phone, email, comment, depth, in_date, top_code, left_code, sub_gubun, solution_gubun) + VALUES (#{code}, #{title}, #{name}, #{type}, #{tel}, #{email}, #{comment}, #{depth}, now(), #{topCode}, #{leftCode}, #{subGubun}, #{solutionGubun}) + + + diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml new file mode 100644 index 0000000..cd9f54b --- /dev/null +++ b/src/main/resources/mapper/UserMapper.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + INSERT INTO users (username, password, role, email, enabled) + VALUES (#{username}, #{password}, #{role}, #{email}, #{enabled}) + + + + UPDATE users + SET password = #{password}, + role = #{role}, + email = #{email}, + enabled = #{enabled} + WHERE id = #{id} + + + + DELETE FROM users WHERE id = #{id} + + + diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql new file mode 100644 index 0000000..b126cbd --- /dev/null +++ b/src/main/resources/schema.sql @@ -0,0 +1,39 @@ +-- owrawww 데이터베이스 생성 +CREATE DATABASE IF NOT EXISTS owrawww + CHARACTER SET utf8mb4 + COLLATE utf8mb4_unicode_ci; + +CREATE USER IF NOT EXISTS 'owrawww'@'localhost' IDENTIFIED BY 'owrawww'; +GRANT ALL PRIVILEGES ON owrawww.* TO 'owrawww'@'localhost'; +FLUSH PRIVILEGES; + +USE owrawww; + +-- users 테이블 +CREATE TABLE IF NOT EXISTS users ( + id BIGINT NOT NULL AUTO_INCREMENT, + username VARCHAR(50) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL, + role VARCHAR(20) NOT NULL DEFAULT 'ROLE_USER', + email VARCHAR(100), + enabled TINYINT(1) NOT NULL DEFAULT 1, + PRIMARY KEY (id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- inquiry 테이블 (제휴문의) +CREATE TABLE IF NOT EXISTS inquiry ( + id BIGINT NOT NULL AUTO_INCREMENT, + name VARCHAR(100) NOT NULL, + email VARCHAR(100) NOT NULL, + tel VARCHAR(30) NOT NULL, + dept VARCHAR(50) NOT NULL, + title VARCHAR(200) NOT NULL, + content TEXT NOT NULL, + created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- 테스트 계정 (비밀번호: Test1234!) +-- BCrypt 해시값 사전 생성 필요 시 아래 INSERT 사용 +-- INSERT INTO users (username, password, role, email, enabled) +-- VALUES ('admin', '$2a$10$...', 'ROLE_ADMIN', 'admin@owrawww.com', 1); diff --git a/src/main/resources/static/css/aos.css b/src/main/resources/static/css/aos.css new file mode 100644 index 0000000..8ae3416 --- /dev/null +++ b/src/main/resources/static/css/aos.css @@ -0,0 +1 @@ +[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]{transform:translate3d(0,50px,0)}[data-aos=fade-down]{transform:translate3d(0,-50px,0)}[data-aos=fade-right]{transform:translate3d(-50px,0,0)}[data-aos=fade-left]{transform:translate3d(50px,0,0)}[data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}[data-aos=fade-up-left]{transform:translate3d(50px,50px,0)}[data-aos=fade-down-right]{transform:translate3d(-50px,-50px,0)}[data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}[data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}[data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}[data-aos=zoom-in]{transform:scale(.6)}[data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}[data-aos=zoom-in-down]{transform:translate3d(0,-30px,0) scale(.6)}[data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}[data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}[data-aos=zoom-out]{transform:scale(1.2)}[data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}[data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}[data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}[data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}[data-aos^=slide][data-aos^=slide]{transition-property:transform}[data-aos^=slide][data-aos^=slide].aos-animate{transform:translateZ(0)}[data-aos=slide-up]{transform:translate3d(0,100%,0)}[data-aos=slide-down]{transform:translate3d(0,-100%,0)}[data-aos=slide-right]{transform:translate3d(-100%,0,0)}[data-aos=slide-left]{transform:translate3d(100%,0,0)}[data-aos^=flip][data-aos^=flip]{backface-visibility:hidden;transition-property:transform}[data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}[data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}[data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}[data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}[data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}[data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)} \ No newline at end of file diff --git a/src/main/resources/static/css/board.css b/src/main/resources/static/css/board.css new file mode 100644 index 0000000..3b527e9 --- /dev/null +++ b/src/main/resources/static/css/board.css @@ -0,0 +1,716 @@ +@charset "utf-8"; + +/* ========================================================================== + BOARD.CSS + 일반 게시판 / 갤러리 게시판 공통 스타일 + + 브레이크포인트 + ├─ PC 1025px ~ : 번호 | 제목 | 날짜 가로 한 줄 + ├─ 태블릿 769~1024px : 간격·폰트 소폭 축소 + └─ 모바일 ~768px : 번호+날짜 위 / 제목 아래 카드형 전환 + └ 소형 ~480px : 패딩·검색·페이지네이션 추가 조정 + + ───────────────────────────────────────────────────── + SECTION 1. 게시판 탭 + SECTION 2. 검색 영역 + SECTION 3. 리스트 (ul/li) + SECTION 4. 페이지네이션 + SECTION 5. 갤러리 게시판 (추후 사용) + SECTION 6. 반응형 — 태블릿 (≤1024px) + SECTION 7. 반응형 — 모바일 카드형 (≤768px) + SECTION 8. 반응형 — 소형 모바일 (≤480px) + ========================================================================== */ + + + + +/* ========================================================================== + SECTION 2. 검색 영역 + ========================================================================== */ +.board-search-wrap { + display: flex; + justify-content: center; + margin-bottom: 4rem; +} + +.board-search { + display: flex; + align-items: stretch; + width: 100%; + max-width: 55rem; + height: 6rem; + border: 1px solid var(--bd-color); + border-radius: 8px; + overflow: hidden; + background: #fff; + -webkit-tap-highlight-color: transparent; +} + +/* 셀렉트박스 */ +.search-select-wrap { + position: relative; + flex-shrink: 0; + width: 14rem; + border-right: 1px solid var(--bd-color); + background: #fff; +} + +.search-select { + appearance: none; + -webkit-appearance: none; + width: 100%; + height: 100%; + padding: 0 3.2rem 0 1.6rem; + font-size: 1.5rem; + font-weight: 500; + color: var(--dark); + background: transparent; + border: none; + outline: none; + cursor: pointer; +} + +.select-arrow { + position: absolute; + top: 50%; + right: 0.8rem; + transform: translateY(-50%); + pointer-events: none; + color: var(--cont2); + display: flex; + align-items: center; +} + +.select-arrow .material-symbols-outlined { + font-size: 2rem; +} + +/* 검색 인풋 */ +.search-input-wrap { + flex: 1; + display: flex; + align-items: center; + min-width: 0; /* flex 자식 overflow 방지 */ +} + +.search-input { + width: 100%; + height: 100%; + padding: 0 1.6rem; + font-size: 1.5rem; + color: var(--dark); + border: none; + outline: none; + background: transparent; +} + +.search-input::placeholder { + color: #aab3bf; +} + +/* 검색 버튼 */ +.search-btn { + flex-shrink: 0; + width: 6rem; + background: var(--navy); + border: none; + color: #fff; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + transition: background 0.2s; +} + +.search-btn:hover { background: #0b85e0; } +.search-btn:active { background: #0972c4; } + +.search-btn .material-symbols-outlined { + font-size: 3.2rem; +} + + +.board-list-wrap { + width: 100%; + margin-bottom: 4rem; +} + +/* ul 초기화 */ +.board-list { + border-top: 2px solid var(--navy); + list-style: none; + margin: 0; + padding: 0; +} + +/* ── 개별 행 ── */ +.board-item { + display: flex; + align-items: center; + gap: 0; + padding: 0; + border-bottom: 1px solid var(--bd-color); + transition: background 0.15s; + -webkit-tap-highlight-color: transparent; +} + +.board-item:hover { + background: var(--bg); +} + +/* 번호 */ +.item-num { + flex-shrink: 0; + width: 10rem; + padding: 2rem 1.2rem; + text-align: center; + font-size: 1.5rem; + font-weight: 500; + color: #C2D1E0; + font-family: var(--e-font); +} + +/* 제목 */ +.item-title { + flex: 1; + min-width: 0; /* 텍스트 overflow 처리를 위해 필수 */ + display: block; + padding: 2.4rem 1.2rem; + font-size: 1.8rem; + font-weight: 400; + color: var(--dark); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + transition: color 0.15s; +} + +.item-title:hover { + color: var(--primary); + font-weight: 500; +} + +/* 날짜 */ +.item-date { + flex-shrink: 0; + width: 14rem; + padding: 2rem 1.2rem; + text-align: center; + font-size: 1.6rem; + color: #C2D1E0; + white-space: nowrap; + font-family: var(--e-font); +} + +/* 데이터 없음 */ +.board-item.board-empty { + display: block; + text-align: center; + padding: 7rem 0; + color: #aab3bf; + font-size: 1.6rem; + pointer-events: none; +} + +.board-item.board-empty:hover { + background: transparent; +} + + +/* ========================================================================== + SECTION 4. 페이지네이션 + ========================================================================== */ +.board-pagination-wrap { + display: flex; + justify-content: center; + padding: 1rem 0 2rem; +} + +.board-pagination { + display: flex; + align-items: center; + gap: 0.4rem; +} + +/* 화살표 버튼 */ +.pg-btn { + display: flex; + align-items: center; + justify-content: center; + width: 3.6rem; + height: 3.6rem; + background: #fff; + border: 0; + border-radius: 4px; + color: #000; + transition: background 0.15s, color 0.15s, border-color 0.15s; + cursor: pointer; + -webkit-tap-highlight-color: transparent; +} + +.pg-btn .material-symbols-outlined { font-size: 1.8rem; } + +.pg-btn:hover { + background: var(--bg); + border-color: var(--primary); + color: var(--primary); +} + +.pg-btn:disabled, +.pg-btn.disabled { + opacity: 0.35; + cursor: default; + pointer-events: none; +} + +/* 숫자 목록 */ +.pg-list { + display: flex; + align-items: center; + gap: 0.4rem; + margin: 0 0.4rem; + list-style: none; + padding: 0; +} + +/* 숫자 버튼 */ +.pg-num { + display: flex; + align-items: center; + justify-content: center; + width: 3.6rem; + height: 3.6rem; + background: #fff; + border: 0; + border-radius: 4px; + font-size: 1.6rem; + font-weight: 500; + color: var(--cont2); + font-family: var(--e-font); + transition: background 0.15s, color 0.15s, border-color 0.15s; + cursor: pointer; + -webkit-tap-highlight-color: transparent; +} + +.pg-num:hover { + background: var(--bg); + border-color: var(--primary); + color: var(--primary); +} + +.pg-num.active { + background: var(--primary); + border-color: var(--primary); + color: #fff; + font-weight: 700; + cursor: default; +} + + +/* ========================================================================== + SECTION 5. 갤러리 게시판 (추후 사용) + board_gallery.html 에서 .board-gallery-wrap 사용 + ========================================================================== */ + +/* 갤러리 그리드 */ +.board-gallery-wrap { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 3rem; + margin-bottom: 4rem; +} + +/* 갤러리 카드 */ +.gallery-card { + display: block; + background: #fff; + border-radius: 8px; + overflow: hidden; + margin-bottom: 2rem; + transition: box-shadow 0.2s, transform 0.2s; + -webkit-tap-highlight-color: transparent; +} + +/* 썸네일 */ +.gallery-card__thumb { + position: relative; + width: 100%; + padding-top: 70%; /* 3:2 비율 */ + background: var(--bg); + overflow: hidden; + border-radius: 12px; +} + +.gallery-card__thumb:hover { + box-shadow: 0 8px 24px rgba(19, 152, 248, 0.12); +} + +.gallery-card__thumb img { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + object-fit: cover; + transition: transform 0.3s; +} + +.gallery-card:hover .gallery-card__thumb img { + transform: scale(1.05); +} + +.gallery-card__thumb .no-img { + position: absolute; + inset: 0; + display: flex; + align-items: center; + justify-content: center; + color: #c5cdd6; +} + + +/* 카드 내용 */ +.gallery-card__body { + padding: 1.4rem 0 1.6rem; +} + +.gallery-card__title { + font-size: 2rem; + font-weight: 600; + color: var(--dark); + line-height: 1.5; + display: -webkit-box; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + overflow: hidden; + margin-bottom: 0.8rem; +} + +/* ========================================================================== + SECTION 6. 반응형 — 태블릿 (≤1024px) + ========================================================================== */ +@media (max-width: 1024px) { + + /* 번호 컬럼 살짝 좁힘 */ + .item-num { width: 8rem; } + .item-date { width: 12rem; } + + /* 갤러리 3열 */ + .board-gallery-wrap { + grid-template-columns: repeat(3, 1fr); + } +} + + +@media (max-width: 768px) { + + /* ── 검색 ── */ + .board-search { + max-width: 100%; + height: 4.8rem; + } + + .search-select-wrap { width: 10rem; } + + .search-select { + font-size: 1.4rem; + padding-left: 1.2rem; + } + + .search-input { + font-size: 1.4rem; + padding: 0 1rem; + } + + /* ── 리스트 카드형 전환 ── */ + .board-list-wrap { + border-top-width: 2px; + } + + .item-num { + order: 1; + flex: none; + width: 5rem; + padding: 1.6rem 0.4rem; + font-size: 1.3rem; + text-align: center; + } + .item-num::after { display: none; } + + .item-title { + order: 2; + flex: 1; + min-width: 0; + width: 0; /* overflow 강제 제한 */ + padding: 1.6rem 0.6rem; + font-size: 1.5rem; + font-weight: 400; + white-space: nowrap; /* 한 줄 */ + overflow: hidden; + text-overflow: ellipsis; + line-height: 1.4; + } + + .item-date { + order: 3; + flex: none; + width: 9rem; + padding: 1.6rem 0.4rem; + font-size: 1.2rem; + text-align: center; + white-space: nowrap; + } + + + /* 갤러리 2열 */ + .board-gallery-wrap { + grid-template-columns: repeat(2, 1fr); + gap: 1.6rem; + } + .gallery-card { + margin-bottom:0; + } + .gallery-card__title { + font-size:1.5rem; + } + + + /* 페이지네이션 버튼 크기 */ + .pg-btn, + .pg-num { + width: 3.8rem; + height: 3.8rem; + } +} + + +/* ========================================================================== + SECTION 8. 반응형 — 소형 모바일 (≤480px) + ========================================================================== */ +@media (max-width: 480px) { + + /* 검색 */ + .board-search-wrap { margin-bottom: 2.4rem; } + + .board-search { height: 4.4rem; } + + .search-select-wrap { width: 9rem; } + + .search-select { font-size: 1.35rem; } + + .search-input { + font-size: 1.35rem; + padding: 0 0.8rem; + } + + .search-btn { width: 5rem; } + + /* 리스트 */ + .board-item { padding: 1.4rem 1.2rem; } + + .item-title { font-size: 1.45rem; } + + /* 갤러리 2열 유지, 간격 축소 */ + .board-gallery-wrap { gap: 1.2rem; } + + + /* 페이지네이션 — 첫/마지막 버튼 숨김 */ + .pg-btn.pg-first, + .pg-btn.pg-last { + display: none; + } + + .pg-btn, + .pg-num { + width: 3.4rem; + height: 3.4rem; + font-size: 1.35rem; + } + + .pg-btn .material-symbols-outlined { font-size: 1.6rem; } +} + + +/* ============================================= + 게시판 뷰 — 추가 스타일 + ============================================= */ + +/* 뷰 헤더 */ +.board-view-head { + border-top: 2px solid var(--color-primary, #1a3c6e); + border-bottom: 1px solid #ddd; + padding: 22px 4px; +} +.board-view-head .view-title { + font-size: 2.4rem; + font-weight: 600; + color: #111; + line-height: 1.5; + margin-bottom: 14px; +} +.board-view-meta { + display: flex; + align-items: center; + gap: 20px; + flex-wrap: wrap; +} +.board-view-meta .meta-item { + display: flex; + align-items: center; + gap: 5px; + font-size: 1.6rem; + color: #888; +} +.board-view-meta .meta-item .material-symbols-outlined { + font-size: 1.6rem; + color: #aaa; +} + +/* 본문 */ +.board-view-body { + min-height: 280px; + padding: 40px 4px; + border-bottom: 1px solid #ddd; + font-size: 1.6rem; + color: #333; + line-height: 1.9; +} +.board-view-body img { + max-width: 100%; + height: auto; + display: block; + margin: 16px 0; +} + +/* 첨부파일 */ +.board-view-attach { + padding: 2.4rem 0.2rem; + border-bottom: 1px solid #ddd; +} +.board-view-attach .attach-label { + display: flex; + align-items: center; + gap: 6px; + font-size: 1.6rem; + font-weight: 600; + color: #444; + margin-bottom: 10px; +} +.board-view-attach .attach-label .material-symbols-outlined { + font-size: 1.4rem; + color: #777; +} +.attach-file-list { + list-style: none; + padding: 0; + margin: 0; + display: flex; + flex-direction: column; + gap: 10px; +} +.attach-file-list li a { + display: inline-flex; + align-items: center; + gap: 6px; + font-size: 1.4rem; + color: #555; + text-decoration: none; + transition: color 0.2s; +} +.attach-file-list li a:hover { + color: var(--color-primary, #1a3c6e); + text-decoration: underline; +} +.attach-file-list li a .material-symbols-outlined { + font-size: 1.6rem; +} + +/* 이전글 / 다음글 */ +.board-view-nav { + margin-top: 0; + border-bottom: 1px solid #ddd; +} +.board-view-nav .nav-item { + display: flex; + align-items: center; + gap: 14px; + padding: 14px 4px; + border-top: 1px solid #eee; +} +.board-view-nav .nav-item:first-child { + border-top: none; +} +.board-view-nav .nav-label { + flex-shrink: 0; + display: flex; + align-items: center; + gap: 5px; + font-size: 1.6rem; + font-weight: 600; + color: #999; + min-width: 54px; +} +.board-view-nav .nav-label .material-symbols-outlined { + font-size: 1.6rem; +} +.board-view-nav .nav-link { + flex: 1; + font-size: 1.6rem; + color: #444; + text-decoration: none; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + transition: color 0.2s; +} +.board-view-nav .nav-link:hover { + color: var(--color-primary, #1a3c6e); +} +.board-view-nav .nav-link.disabled { + color: #bbb; + pointer-events: none; + cursor: default; +} +.board-view-nav .nav-date { + flex-shrink: 0; + font-size: 1.4rem; + color: #aaa; +} + +/* 버튼 영역 */ +.board-view-btn-wrap { + display: flex; + justify-content: center; + margin-top: 36px; +} +.btn-list { + display: inline-flex; + align-items: center; + gap: 7px; + padding: 10px 30px; + background: #fff; + border: 1px solid #bbb; + border-radius: 4px; + font-size: 1.6rem; + color: #555; + text-decoration: none; + cursor: pointer; + transition: background 0.2s, border-color 0.2s, color 0.2s; +} +.btn-list:hover { + background: var(--color-primary, #1a3c6e); + border-color: var(--color-primary, #1a3c6e); + color: #fff; +} +.btn-list .material-symbols-outlined { + font-size: 1.6rem; +} + +/* 반응형 */ +@media (max-width: 768px) { + .board-view-head .view-title { + font-size: 1.8rem; + } + .board-view-nav .nav-date { + display: none; + } +} \ No newline at end of file diff --git a/src/main/resources/static/css/common.css b/src/main/resources/static/css/common.css new file mode 100644 index 0000000..050dee0 --- /dev/null +++ b/src/main/resources/static/css/common.css @@ -0,0 +1,532 @@ +@charset "utf-8"; +@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap'); +@import url("./font-awesome/css/font-awesome.min.css"); +@font-face { + font-family: 'Pretendard Variable'; + font-weight: 45 920; + font-style: normal; + font-display: swap; + src: local('Pretendard Variable'), url('./fonts/PretendardVariable.woff2') format('woff2-variations'); +} +@font-face { + font-family:'Material Icons'; + font-style:normal; + font-weight:400; + src:url(https://example.com/MaterialIcons-Regular.eot); + src:local('Material Icons'),local('MaterialIcons-Regular'),url(https://example.com/MaterialIcons-Regular.woff2) format('woff2'),url(https://example.com/MaterialIcons-Regular.woff) format('woff'),url(https://example.com/MaterialIcons-Regular.ttf) format('truetype'); +} +.material-icons { + font-family:'Material Icons'; + font-weight:normal; + font-style:normal; + font-size:2.4rem; /* 24px */ + display:inline-block; + line-height:1; + text-transform:none; + letter-spacing:normal; + word-wrap:normal; + white-space:nowrap; + direction:ltr; + text-rendering:optimizeLegibility; + font-feature-settings:'liga'; +} + +/* ========================== 초기화 [s] */ +* { -webkit-text-size-adjust:none } +*,:after,:before { box-sizing:border-box } + +:root { + --primary:#1398F8; + --navy:#032B69; + --dark:#222; + --mint:#45E6D9; + --gray:rgba(68,87,118,0.1); + --bg:#F3F9FF; + --mainsize:1440px; + --bd-color:#DEE6EE; + --cont1:#444; + --cont2:#666; + --k-font:'Pretendard Variable'; + --e-font:"Outfit",sans-serif; + + --col-gap : 14px; /* 열 사이 */ + --card-gap : 10px; /* 같은 열 안 카드 사이 */ + --row-gap : 14px; /* 행(row) 사이 */ + --card-r : 12px; /* 카드 모서리 둥글기 */ + --body-pad : 14px; /* 카드 바디 패딩 */ + + +} + +html { font-size:62.5% } /* 1rem = 10px */ + +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video { + margin:0; padding:0; border:0; vertical-align:baseline +} +body { background:#fff; font-size:1.8rem; /* 13px */ font-family:var(--k-font); overflow-x:hidden } +h1,h2,h3,h4,h5,h6,input,button,textarea,select { font-family:var(--k-font) } +a { text-decoration:none !important } +a:hover { text-decoration:none !important } +article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block } +ol,ul,dl,dt,dd { list-style:none } +blockquote,q { quotes:none } +blockquote:before,blockquote:after,q:before,q:after {content:none;} +table { border-collapse:collapse; border-spacing:0 } +input,button { margin:0; padding:0; font-family:'Pretendard Variable' } +input[type="submit"] { cursor:pointer } +button { cursor:pointer } +textarea,select { font-family:'Pretendard Variable' } +select { margin:0 } +label,input,button,select,img { vertical-align:middle } + +.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 +} +#wrapper { position:relative; width:100%; margin:0 auto } +/* ========================== 초기화 [e] */ + + +/* ========================== HEADER */ +#hd { + --hd-height:100px; + position:fixed; top:0; z-index:100; width:100% +} +#hd.sub { position:absolute !important } + +.top_nav_bg { + position:fixed; width:100%; display:none; + top:var(--hd-height); left:0; height:380px; + border-top:1px solid #e1e1e1; background:#fff; + box-shadow:0px 12px 12px -17px rgba(0,0,0,0.25) +} +#top_nav_wrap { position:relative } + +/* fixed */ +#top_nav_wrap.fixed { background-color:#fff; box-shadow:0 0 12px rgba(0,0,0,0.05) } +#top_nav_wrap.fixed #top_nav>li>a { color:#222 } +#top_nav_wrap.fixed .h_center .util .tip li a { color:#222 } +#top_nav_wrap.fixed .h_center .util .tip li a.login::after { background-color:#222 } + +/* on */ +#top_nav_wrap.on { background-color:#fff } +#top_nav_wrap.on #top_nav>li>a { color:#222 } +#top_nav_wrap.on .h_center .util .tip li a { color:#222 } +#top_nav_wrap.on .h_center .util .tip li a.login::after { background-color:#222 } + +/* nav_depth */ +#top_nav { + position:absolute; top:50%; left:50%; + transform:translate(-40%,-50%); + display:flex; align-items:center +} +#top_nav li.list { position:relative; color:#848484; font-size:1.6rem; text-align:center } /* 16px */ +#top_nav>li>a { + display:block; padding:0 55px; font-size:1.8rem; /* 18px */ color:#fff; + font-weight:500; line-height:var(--hd-height); + transition:line-height 0.2s; white-space:nowrap +} +#top_nav li ul { + position:absolute; display:none; left:50%; transform:translateX(-50%); + width:100%; height:350px; padding:10px 0 +} +#top_nav li ul a { + position:relative; display:block; padding:10px 20px; + font-size:1.6rem; /* 16px */ color:#888; letter-spacing:-0.5px +} + +/* LNB */ +#top_nav_wrap { + position:relative; width:100%; + height:var(--hd-height); margin:0 auto; transition:height 0.2s +} +#top_nav_wrap .h_center { + display:flex; align-items:center; justify-content:space-between; + width:100%; height:100%; margin:0 auto; padding:0 20px; max-width:1400px; +} +#top_nav_wrap .h_center .util { + display:flex; align-items:center; justify-content:space-between; width:100% +} +#top_nav_wrap .h_center .h_left { display:flex; align-items:center } +#top_nav.sub li>a { color:#fff } +#top_nav.sub li ul a { color:#888 } + +@media (hover:hover) { + #top_nav_wrap .h_center .util .tip li a:hover { color:#fff } + #top_nav_wrap.fixed .h_center .util .tip li a:hover { color:#222 } + #top_nav_wrap.on .h_center .util .tip li a:hover { color:#222 } + #top_nav li ul a:hover,#nav li a.hov { color:#333 } +} + +/* 반응형 메뉴 [s] */ +#topmenuM { + display:none; position:relative; width:100%; + padding:10px 15px; line-height:1.8; + background-color:transparent; font-family:'Pretendard Variable'; + transition:background-color 0.2s +} +#topmenuM.fixed { background-color:#fff; box-shadow:0 0 12px rgba(0,0,0,0.05) } + +#topmenuM.fixed #m_navBtn span:before, +#topmenuM.fixed #m_navBtn span:after { background-color:#222 } +#topmenuM.dark #m_navBtn span:before, +#topmenuM.dark #m_navBtn span:after { background-color:#222 } + +#m_logo { position:relative } +#m_logo a { display:inline-block } +#m_logo img { width:150px } + +#m_navBtn { + position:absolute; top:18px; right:15px; + z-index:5; width:30px; height:30px; cursor:pointer +} +#m_navBtn span { + display:block; position:relative; top:50%; + transform:translateY(-50%); width:100%; height:2px +} +#m_navBtn span:before,#m_navBtn span:after { + display:block; content:""; position:absolute; top:-6px; + width:30px; height:2px; background-color:#fff; + -webkit-transition:all .1s; transition:all .1s +} +#m_navBtn span:after { top:6px; width:16px; right:0; background-color:#fff } +#m_navBtn.on { position:fixed } +#m_navBtn.on span:before { top:0; right:-4px; transform:rotate(45deg); background-color:#fff !important;} +#m_navBtn.on span:after { top:0; right:-4px; width:30px; transform:rotate(-45deg); background-color:#fff !important; } + +#navWrap { + display:none; position:fixed; left:0; top:0; + z-index:4; width:100%; height:100%; background-color:rgba(0,0,0,.7) +} +#navWrap .inner { + overflow-y:scroll; opacity:0; position:fixed; + right:-40px; top:0; z-index:6; min-width:300px; width:75%; height:100%; + padding:60px 0; background-color:var(--navy); + -webkit-transition:all .1s; transition:all .1s; +} + + +#navWrap.on .inner { opacity:1; right:0; -webkit-transition:all .4s; transition:all .4s } +#navWrap .inner:before { + opacity:0; display:block; position:fixed; top:0; right:-40px; z-index:1; content:""; + min-width:300px; width:75%; height:60px; background-color:var(--navy); + -webkit-transition:all .1s; transition:all .1s +} +#navWrap.on .inner:before{ + opacity:1; right:0; -webkit-transition:all .4s; transition:all .4s +} +#navWrap .inner .mo_hd_copy { + position:fixed; right:0; bottom:15px; z-index:2; + min-width:300px; width:70%; font-size:1.2rem; /* 12px */ text-align:center; color:#888 +} +#navWrap .inner::-webkit-scrollbar { + width: 6px; /* 이 줄이 없으면 track/thumb 스타일이 무시됨 */ +} +#navWrap .inner::-webkit-scrollbar-track { + background: var(--navy); + border-radius: 10px; +} +#navWrap .inner::-webkit-scrollbar-thumb { + background: var(--navy); /* 핸들 색상 */ + border-radius: 10px; +} +/* 대분류 */ +#topmenuM .m_lnb .m_bmenu { + display:block; position:relative; width:100%; height:70px; + padding:10px 20px; border:none; border-bottom:1px solid rgba(255,255,255,0.1); + background:none; font-size:2rem; line-height:52px; + color:#fff; text-align:left; font-family:'Pretendard Variable' +} +#topmenuM .m_lnb .m_bmenu:after { float:right; content:"\f107"; font-family:'fontawesome'; color:#fff; } +#topmenuM .m_lnb .m_bmenu.on:after { content:"\f106" } + +/* 소분류 */ +#topmenuM .m_smenu { + display:none; padding:15px 20px; + border-bottom:1px solid rgba(255,255,255,0.1); background-color: rgba(255,255,255,0.1); +} +#topmenuM .m_smenu li a { font-size:1.6rem; + color:rgba(255,255,255,0.8); } /* 16px */ +#topmenuM .m_smenu li a:hover { + color:#fff; +} +/* PC 햄버거 버튼 */ +.pc-ham-btn { + display:flex; flex-direction:column; justify-content:center; + gap:5px; width:20px; height:20px; padding:1px 0; text-decoration:none !important +} +.pc-ham-btn span { + display:block; width:20px; height:2px; + background-color:#fff; border-radius:2px; transition:background-color 0.2s +} +#top_nav_wrap.fixed .pc-ham-btn span, +#top_nav_wrap.on .pc-ham-btn span, +body.page-inquiry .pc-ham-btn span { background-color:#111 } + +/* 채용정보 페이지 헤더 - 흰 배경 + 검정 폰트 */ +body.page-inquiry #top_nav_wrap { + background-color: #fff; + box-shadow: 0 0 12px rgba(0,0,0,0.05); +} +body.page-inquiry #top_nav > li > a { + color: #222; +} +body.page-inquiry #m_navBtn span:before, +body.page-inquiry #m_navBtn span:after { + background-color: var(--dark); +} +/* 채용정보 페이지 - 모바일 헤더 흰 배경 + 검정 햄버거 */ +body.page-inquiry #topmenuM { + background-color: #fff; + box-shadow: 0 0 12px rgba(0, 0, 0, 0.05); +} + +body.page-inquiry #m_navBtn span:before, +body.page-inquiry #m_navBtn span:after { + background-color: var(--dark); +} + +/* 사이드메뉴 열렸을 때 X 버튼은 흰색 유지 */ +body.page-inquiry #m_navBtn.on span:before, +body.page-inquiry #m_navBtn.on span:after { + background-color: #fff; +} + +/* PC 로고 교체 */ +body.page-inquiry #top_logo img { + content: url('/img/common/logo_d.png'); +} +/* 모바일 로고 교체 */ +body.page-inquiry #m_logo img { + content: url('/img/common/logo_d.png'); +} + +/* 헤더 반응형 */ +@media (max-width:1200px) { + #top_logo img { width:150px } + #top_nav>li>a { padding:0 50px; font-size:1.6rem } +} +@media (max-width:1024px) { + #top_nav_wrap { display:none } + #topmenuM { display:block } + .pc-ham-btn { display:none } +} +/* 반응형 메뉴 [e] */ + + +/* ========================== MAIN */ +#container {min-height: 1080px;} +#container .inner { max-width:var(--mainsize); margin:0 auto } + +/* + * group-title + * h2: 45px(1600+) → 24px(480px) | clamp(2.4rem, calc(1.875vw + 1.5rem), 4.5rem) + * desc: 18px(1600+) → 15px(768px) | clamp(1.5rem, calc(0.36vw + 1.2rem), 1.8rem) + */ +#container .group-title { + display:flex; flex-direction:column; align-items:center; + gap:clamp(10px, 1.25vw, 20px); + padding-bottom:clamp(20px, calc(5.36vw - 6px), 80px); + text-align:center +} +#container .group-title h2 { + font-size:clamp(2.4rem, calc(1.875vw + 1.5rem), 4.5rem); /* 24px~45px */ + font-weight:700; line-height:1.2; white-space:pre-line; + color:#222; word-break:keep-all +} +#container .group-title p.desc { + font-size:clamp(1.5rem, calc(0.36vw + 1.2rem), 1.8rem); /* 15px~18px */ + font-weight:500; line-height:1.4; word-break:keep-all +} + +/* ========================== INDEX */ + +/* ========================== CONTAINER */ +#container { position:relative; width:100%; z-index:0 } +#container_wrapper { position:relative; width:100%; zoom:1 } +#container_wrapper:after { display:block; visibility:hidden; clear:both; content:"" } + +/* ========================== SNB */ +#aside { position:relative; z-index:15; width:100%; font-family:'Pretendard Variable';} +#aside_wrapper { position:relative; margin:0 auto; zoom:1 } + +/* ========================== CONTENT */ +#content { + overflow:hidden; position:relative; z-index:4; + max-width:1300px; min-height:580px; margin:0 auto; + padding:90px 95px; + border-left:1px solid #e1e1e1; border-right:1px solid #e1e1e1 +} +#content:after { display:block; visibility:hidden; clear:both; content:"" } +#idx_area { background:#fff } + +@media (max-width:1300px) { #content { padding:60px 0; border:none } } +@media (max-width:1024px) { #content { padding:40px } } +@media (max-width:768px) { #content { padding:40px 15px } } + + +/* ========================== FOOTER */ +#ft { + overflow:hidden; + padding:clamp(20px, 1.875vw, 30px) 0 clamp(30px, 4.375vw, 30px); + background-color:#2C363F; + color:#fff +} +#ft .inner { max-width:var(--mainsize); margin:0 auto } + +#ft .bottom .ft_menu { + display:flex; + gap:clamp(14px, 2.5vw, 40px); + padding-bottom:clamp(20px, 1.875vw, 30px); + border-bottom:1px solid rgba(255,255,255,0.1); + margin-bottom:clamp(20px, 1.875vw, 30px) +} +#ft .bottom .ft_menu li a { + font-size:clamp(1.3rem, calc(0.27vw + 1.257rem), 1.6rem); /* 13px~16px */ + color:#fff +} +#ft .bottom .ft_menu li a.point { color:var(--primary) } + +#ft .bottom .ft_logo { padding-bottom:clamp(10px, 1.5625vw, 25px) } + +#ft .bottom .ft-info { + display:flex; + justify-content:space-between +} +#ft .bottom .ft-info > div { display:flex } + +#ft .bottom .company-info { + padding-bottom:clamp(15px, 2.8125vw, 30px); + font-size:clamp(1.3rem, calc(0.27vw + 1.257rem), 1.6rem); /* 13px~16px */ + line-height:1.7; + color:#A9BBCA; + gap:70px; + word-break:keep-all +} +#ft .bottom .company-info li { + float:left; + padding-right:40px; + position:relative +} +#ft .bottom .company-info li::after { + position:absolute; content:''; + width:3px; height:3px; border-radius:3px; + right:20px; top:10px; background:#A9BBCA +} +#ft .bottom .company-info li:last-child::after { display:none } +#ft .bottom .company-info .copy { + padding-top:clamp(15px, 1.875vw, 30px); + text-align:left; clear:both +} + +#ft .bottom .ft_logo2 li { float:left; margin-right:15px } +#ft .bottom .ft_logo2 li a p { + color:#fff; font-size:1rem; /* 10px */ + padding-top:10px; text-align:center +} + + +/* ========================== 플로트 퀵메뉴 */ +.quick_wrap { + display:flex; align-items:center; flex-direction:column; gap:10px; + position:fixed; bottom:50px; right:20px; width:140px; + z-index: 90; +} +.quick_wrap .quick-menu { width:100% } +.quick_wrap .quick_list { display:flex; flex-direction:column; gap:10px } +.quick_wrap .quick_list>li { display:flex; align-items:center; justify-content:center } +.quick_wrap .quick_list>li:last-child { margin-bottom:0 } +.quick_wrap .quick_list>li>a { + display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px +} +.quick_wrap .top_btn { + display:flex !important; flex-direction:column; align-items:center; justify-content:center; + gap:5px; width:85px; height:85px; margin:10px auto 0; + background-color:#fff; border:1px solid var(--bd-color); border-radius:50%; + font-size:1.3rem; /* 13px */ font-weight:700; color:#222; + transition:background-color 0.2s, color 0.2s +} +.quick_wrap .top_btn .material-icons-round { + display:block; font-size:1.6rem; /* 16px */ width:16px; line-height:1; text-align:center +} +@media (hover:hover) { + .quick_wrap .top_btn:hover { border-color:var(--primary); color:var(--primary) } +} +@media (max-width:1400px) { .quick_wrap { display:none } } + + +/* ========================== 반응형 하단 버튼 공통 */ +#fix_tel { + opacity:0; display:none; position:fixed; + right:10px; bottom:80px; z-index:101; + width:65px; height:65px; margin-right:-10px; + border-radius:50%; font-size:3rem; /* 30px */ text-align:center; + line-height:65px; color:#fff; background:var(--primary); + box-shadow:5px 5px 5px rgba(0,0,0,.2); + -webkit-transition:all .2s; transition:all .2s +} +#fix_tel.active { opacity:1; margin-right:0 } + +#ft_btns { display:none; padding:15px } +#ft_btns .btns { overflow:hidden } +#ft_btns .row2 a { width:50% } +#ft_btns a { + float:left; display:block; width:100%; height:55px; + font-size:1.6rem; /* 16px */ line-height:55px; color:#fff; text-align:center; + background:var(--primary); font-family:'Pretendard Variable'; font-weight:700 +} +#ft_btns a.tel { font-size:1.8rem; /* 18px */ font-weight:700; letter-spacing:0; font-family:'Poppins' } +#ft_btns a i { padding-right:5px; font-size:1.8rem } /* 18px */ +#ft_btns a.kakao { font-weight:normal; color:#402325; background-color:#ffe500 } + + +/* ========================== 반응형 [s] */ +@media (max-width:1400px) { + #ft { padding:20px } + #ft .bottom .ft_menu { padding-bottom:20px } +} + +@media (max-width:1024px) { + #ft .bottom .ft-info, + #ft .bottom .ft-info > div { display:block } + #ft .bottom { text-align:center } + #ft .bottom .ft_menu { justify-content:center } + #ft .bottom .ft_logo { display:flex; justify-content:center } + #ft .bottom .company-info { text-align:center } + #ft .bottom .company-info li { float:none; display:inline-block; padding:0 3px;} + #ft .bottom .company-info li::after { display:none } + #ft .bottom .company-info .copy { text-align:center } + #ft .bottom .copy { flex-direction:column; gap:10px; justify-content:center; align-items:center } + #ft .bottom .ft_logo2 ul { display:flex; justify-content:center } +} + +@media (max-width:768px) { + #login,#agree,#register,#mb_confirm,#result { padding:15px; margin:15px auto; border:none } + #login input[type=submit], + #agree .btn_wrap input[type=submit], + #register .btn_wrap input[type=submit], + #find_info input[type=submit], + #mb_confirm input[type=submit] { -webkit-appearance:none; appearance:none } + #login .bnr .txt p a { color:#0054a6 } + #pw_confirm { width:100%; padding:30px 20px; border:none } + #agree .inner { padding:15px } + #agree .cont { padding:10px } + #site_map { padding:30px 20px } + #site_map>div { width:100%; margin:0 } + #site_map .site_map_box { min-height:auto } + #ft .bottom .ft_logo { padding-bottom:10px } +} + +@media (max-width:480px) { + #fix_tel { display:block } + #ft_btns { display:block } + #ft { padding:20px 20px 40px } + #ft .bottom .ft_menu { flex-wrap:wrap } + #ft .bottom .ft_menu li a { text-align:center } + #ft .bottom .ft_logo img { width:140px } + #ft .bottom .copy { gap:5px } + #ft .bottom p.company-info { line-height:1.4;} +} +/* ========================== 반응형 [e] */ \ No newline at end of file diff --git a/src/main/resources/static/css/font-awesome/HELP-US-OUT.txt b/src/main/resources/static/css/font-awesome/HELP-US-OUT.txt new file mode 100644 index 0000000..83d083d --- /dev/null +++ b/src/main/resources/static/css/font-awesome/HELP-US-OUT.txt @@ -0,0 +1,7 @@ +I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, +Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, +comprehensive icon sets or copy and paste your own. + +Please. Check it out. + +-Dave Gandy diff --git a/src/main/resources/static/css/font-awesome/css/font-awesome.css b/src/main/resources/static/css/font-awesome/css/font-awesome.css new file mode 100644 index 0000000..ee906a8 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/css/font-awesome.css @@ -0,0 +1,2337 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-pp:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} diff --git a/src/main/resources/static/css/font-awesome/css/font-awesome.min.css b/src/main/resources/static/css/font-awesome/css/font-awesome.min.css new file mode 100644 index 0000000..540440c --- /dev/null +++ b/src/main/resources/static/css/font-awesome/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/src/main/resources/static/css/font-awesome/css/sh_mobile.css b/src/main/resources/static/css/font-awesome/css/sh_mobile.css new file mode 100644 index 0000000..ef68a69 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/css/sh_mobile.css @@ -0,0 +1,113 @@ +@charset "utf-8";/* 상단 레이아웃 */ +@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600;700&display=swap'); + +#mo_wrapper{position:relative;max-width:768px;margin:0 auto} + +/* ----------------- head 시작 [s] */ +#mo_hd{position:relative;z-index:20;font-size:15px;color:#777;letter-spacing:-.2px;line-height:1.8;font-family:'notokr-regular'} +#mo_hd_wrapper{position:relative;padding:20px 15px} +#mo_hd:after{display:block;content:"";position:absolute;right:0;bottom:0;z-index:1;width:40px;height:40px;background:rgb(255,255,255);background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%)} + +/* 로고 */ +#mo_logo{position:relative} +#mo_logo a{display:inline-block} +#mo_logo img{max-height:60px} + +/* 상단 버튼 및 오픈메뉴 */ +#navBtn{position:absolute;top:18px;right:15px;z-index:5;width:30px;height:30px} +#navBtn span{display:block;position:relative;top:50%;transform:translateY(-50%);width:100%;height:2px} +#navBtn span:before, #navBtn span:after{display:block;content:"";position:absolute;top:-6px;width:30px;height:2px;background-color:#222;-webkit-transition:all .1s;transition:all .1s} +#navBtn span:after{top:6px;width:16px;right:0;background-color:#0065c7} +#navBtn.on{position:fixed} +#navBtn.on span:before{top:0;right:-4px;transform:rotate(45deg)} +#navBtn.on span:after{top:0;right:-4px;width:30px;transform:rotate(-45deg);background-color:#222} +#navWrap{display:none;position:fixed;left:50%;top:0;z-index:4;-webkit-transform:translateX(-50%);transform:translateX(-50%);max-width:768px;width:100%;height:100%;background-color:rgba(0,0,0,.7)} +#navWrap .inner{overflow-y:scroll;opacity:0;position:fixed;right:-40px;top:0;z-index:6;min-width:300px;width:75%;height:100%;padding:60px 0;background-color:#fff;-webkit-transition:all .1s;transition:all .1s} +#navWrap.on .inner{opacity:1;right:0;-webkit-transition:all .4s;transition:all .4s} +#navWrap .inner:before, #navWrap .inner:after{opacity:0;display:block;position:fixed;top:0;right:-40px;z-index:1;content:"";min-width:300px;width:70%;height:60px;background-color:#fff;-webkit-transition:all .1s;transition:all .1s} +#navWrap .inner:after{top:auto;bottom:0} +#navWrap.on .inner:before, #navWrap.on .inner:after{opacity:1;right:0;-webkit-transition:all .4s;transition:all .4s} +#navWrap .inner .copy{position:fixed;right:0;bottom:15px;z-index:2;min-width:300px;width:70%;font-size:12px;text-align:center;color:#888} + +/* 대분류 */ +#mo_hd .lnb .bmenu{display:block;position:relative;width:100%;height:52px;padding:0 20px;border:none;border-bottom:1px solid #ddd;background:none;font-size:16px;line-height:52px;color:#222;text-align:left;font-family:'notokr-medium'} +#mo_hd .lnb .bmenu:after{float:right;content:"\f107";font-family:'fontawesome'} +#mo_hd .lnb .bmenu.on:after{content:"\f106"} +#mo_hd .lnb .mn_empty{line-height:100px;text-align:center} + +/* 소분류 */ +#mo_hd .smenu{display:none;padding:15px 20px;border-bottom:1px solid #ddd;background-color:#f2f3f5} +#mo_hd .smenu li a{font-size:14px;color:#777} + +/* 스크롤 메뉴 */ +#roll_mn{position:relative;width:100%;padding-left:15px;overflow-x:scroll} +#roll_mn ul{display:table;width:100%;padding-right:50px} +#roll_mn ul li{display:table-cell;position:relative;padding-right:10px;white-space:nowrap} +#roll_mn ul li+li{padding:0 10px} +#roll_mn ul li a{display:block;position:relative;padding-bottom:10px;font-size:15px;color:#222;font-family:'notokr-medium'} +#roll_mn ul li.on:after{display:block;content:"";position:absolute;left:0;bottom:0;z-index:3;width:calc(100% - 10px);height:4px;background-color:#222} +#roll_mn ul li+li.on:after{left:10px;width:calc(100% - 20px)} +/* ----------------- head 끝 [e] */ + +/* ----------------- index 시작 [s] */ +#mo_container{position:relative} +#mo_section{position:relative;font-size:14px;color:#777;word-break:keep-all;letter-spacing:-.3px;line-height:1.8;font-family:'notokr-regular'} + +/* 인사말 */ +#matc01{padding:25px 15px} +#matc01 p{margin-bottom:8px;font-size:24px;font-weight:700;color:#222;letter-spacing:0;font-family:'Poppins'} +#matc01 span{display:block;margin-top:12px;font-size:13px;color:#222;font-family:'notokr-medium'} + +/* 메뉴버튼 */ +#matc02{padding:15px;background-color:#f2f3f5} +#matc02 ul{padding:2px 0 0 2px} +#matc02 ul:after{display:block;content:"";visibility:hidden;clear:both} +#matc02 ul li{float:left;position:relative;width:50%;height:52px;margin:-1px 0 0 -1px;border:1px solid #d1d1d1;font-size:15px;line-height:51px;background-color:#fff;font-family:'notokr-medium'} +#matc02 ul li:before{display:block;content:"";position:absolute;left:12px;top:50%;width:4px;height:4px;margin-top:-2px;background-color:#222} +#matc02 ul li a{display:block;padding-left:25px;color:#222} +#matc02 ul li.mn_empty{width:100%;text-align:center} +#matc02 ul li.mn_empty:before{display:none} +@media (max-width:320px){ +#matc02 ul li{font-size:14px} +#matc02 ul li:before{left:10px;width:2px;height:2px;margin-top:-1px} +#matc02 ul li a{padding-left:18px} +} + +/* 최신글 */ +#matc03{padding:25px 15px 0} +#matc03 .tit{position:relative;margin-bottom:5px;padding-bottom:5px;border-bottom:1px solid #d1d1d1;font-size:24px;font-weight:700;color:#222;letter-spacing:0;font-family:'Poppins'} +#matc03 .tit a{float:right;padding:15px 0 0 0;font-size:12px} +#matc03 .tit:after{position:absolute;content:"";position:absolute;right:0;bottom:-1px;width:65px;height:1px;background-color:#555} +#matc03 ul li{padding:20px 0;line-height:1} +#matc03 ul li+li{border-top:1px dotted #ccc} +#matc03 ul li p{overflow:hidden;margin-bottom:10px;font-size:15px;text-overflow:ellipsis;white-space:nowrap} +#matc03 ul li p:before{display:inline-block;vertical-align:4px;content:"";width:3px;height:3px;margin-right:5px;background-color:#222} +#matc03 ul li span{padding-left:10px;font-size:13px;letter-spacing:0;color:#777} +#matc03 ul li em{display:inline-block;vertical-align:2px;width:14px;height:14px;margin-left:5px;border-radius:2px;font-size:10px;font-weight:600;color:#fff;text-align:center;line-height:14px;font-style:normal;background-color:#0065c7;font-family:'Poppins'} + +/* 버튼영역 */ +#matc04{padding:15px} +#matc04 .btns{overflow:hidden} +#matc04 .row2 a{width:50%} +#matc04 a{float:left;display:block;width:100%;height:55px;font-size:17px;line-height:55px;color:#fff;text-align:center;background-color:#0065c7;font-family:'notokr-bold'} +#matc04 a.tel{font-size:18px;font-weight:700;letter-spacing:0;font-family:'Poppins'} +#matc04 a i{padding-right:5px;font-size:18px} +#matc04 a.kakao{font-weight:normal;color:#402325;background-color:#ffe500} +/* ----------------- index 끝 [e] */ + +/* ----------------- content 시작 [s] */ +#mo_cont_tit{padding:12px 0;border-top:1px solid #d1d1d1;border-bottom:1px solid #eee;font-size:16px;letter-spacing:-.3px;color:#222;text-align:center;font-family:'notokr-medium'} +#mo_content{min-height:200px} +/* ----------------- content 끝 [e] */ + +/* ----------------- tail 시작 [s] */ +#fix_tel{opacity:0;display:block;position:fixed;right:15px;bottom:20px;width:65px;height:65px;margin-right:-10px;border-radius:50%;font-size:30px;text-align:center;line-height:65px;color:#fff;background-color:#0077ea; box-shadow:5px 5px 5px rgba(0,0,0,.2);-webkit-transition:all .2s;transition:all .2s} +#fix_tel.active{opacity:1;margin-right:0} +#mo_ft{margin-top:20px;font-size:13px;color:#666;word-break:keep-all;letter-spacing:-.3px;line-height:1.8;text-align:center;background-color:#222;font-family:'notokr-regular'} +#mo_ft ul{padding:35px 0 20px} +#mo_ft ul li{display:inline-block} +#mo_ft ul li+li:before{display:inline-block;content:"";width:1px;height:10px;margin:0 10px;background-color:#555} +#mo_ft ul li a{font-size:13px;color:#aaa} +#mo_ft .inner{padding:0 15px} +#mo_ft .copy{padding:15px 0;margin-top:25px;background-color:#111} +/* ----------------- tail 끝 [e] */ diff --git a/src/main/resources/static/css/font-awesome/fonts/FontAwesome.otf b/src/main/resources/static/css/font-awesome/fonts/FontAwesome.otf new file mode 100644 index 0000000..401ec0f Binary files /dev/null and b/src/main/resources/static/css/font-awesome/fonts/FontAwesome.otf differ diff --git a/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.eot b/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.eot differ diff --git a/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.svg b/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..855c845 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.ttf b/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.ttf differ diff --git a/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.woff b/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.woff differ diff --git a/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.woff2 b/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/src/main/resources/static/css/font-awesome/fonts/fontawesome-webfont.woff2 differ diff --git a/src/main/resources/static/css/font-awesome/less/animated.less b/src/main/resources/static/css/font-awesome/less/animated.less new file mode 100644 index 0000000..66ad52a --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/animated.less @@ -0,0 +1,34 @@ +// Animated Icons +// -------------------------- + +.@{fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.@{fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/src/main/resources/static/css/font-awesome/less/bordered-pulled.less b/src/main/resources/static/css/font-awesome/less/bordered-pulled.less new file mode 100644 index 0000000..f1c8ad7 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/bordered-pulled.less @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.@{fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em @fa-border-color; + border-radius: .1em; +} + +.@{fa-css-prefix}-pull-left { float: left; } +.@{fa-css-prefix}-pull-right { float: right; } + +.@{fa-css-prefix} { + &.@{fa-css-prefix}-pull-left { margin-right: .3em; } + &.@{fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.@{fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/src/main/resources/static/css/font-awesome/less/core.less b/src/main/resources/static/css/font-awesome/less/core.less new file mode 100644 index 0000000..c577ac8 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/core.less @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.@{fa-css-prefix} { + display: inline-block; + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} diff --git a/src/main/resources/static/css/font-awesome/less/fixed-width.less b/src/main/resources/static/css/font-awesome/less/fixed-width.less new file mode 100644 index 0000000..110289f --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/fixed-width.less @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.@{fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/src/main/resources/static/css/font-awesome/less/font-awesome.less b/src/main/resources/static/css/font-awesome/less/font-awesome.less new file mode 100644 index 0000000..c3677de --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/font-awesome.less @@ -0,0 +1,18 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables.less"; +@import "mixins.less"; +@import "path.less"; +@import "core.less"; +@import "larger.less"; +@import "fixed-width.less"; +@import "list.less"; +@import "bordered-pulled.less"; +@import "animated.less"; +@import "rotated-flipped.less"; +@import "stacked.less"; +@import "icons.less"; +@import "screen-reader.less"; diff --git a/src/main/resources/static/css/font-awesome/less/icons.less b/src/main/resources/static/css/font-awesome/less/icons.less new file mode 100644 index 0000000..159d600 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/icons.less @@ -0,0 +1,789 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.@{fa-css-prefix}-glass:before { content: @fa-var-glass; } +.@{fa-css-prefix}-music:before { content: @fa-var-music; } +.@{fa-css-prefix}-search:before { content: @fa-var-search; } +.@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; } +.@{fa-css-prefix}-heart:before { content: @fa-var-heart; } +.@{fa-css-prefix}-star:before { content: @fa-var-star; } +.@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; } +.@{fa-css-prefix}-user:before { content: @fa-var-user; } +.@{fa-css-prefix}-film:before { content: @fa-var-film; } +.@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; } +.@{fa-css-prefix}-th:before { content: @fa-var-th; } +.@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; } +.@{fa-css-prefix}-check:before { content: @fa-var-check; } +.@{fa-css-prefix}-remove:before, +.@{fa-css-prefix}-close:before, +.@{fa-css-prefix}-times:before { content: @fa-var-times; } +.@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; } +.@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; } +.@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; } +.@{fa-css-prefix}-signal:before { content: @fa-var-signal; } +.@{fa-css-prefix}-gear:before, +.@{fa-css-prefix}-cog:before { content: @fa-var-cog; } +.@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; } +.@{fa-css-prefix}-home:before { content: @fa-var-home; } +.@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; } +.@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; } +.@{fa-css-prefix}-road:before { content: @fa-var-road; } +.@{fa-css-prefix}-download:before { content: @fa-var-download; } +.@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; } +.@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; } +.@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; } +.@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; } +.@{fa-css-prefix}-rotate-right:before, +.@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; } +.@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; } +.@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; } +.@{fa-css-prefix}-lock:before { content: @fa-var-lock; } +.@{fa-css-prefix}-flag:before { content: @fa-var-flag; } +.@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; } +.@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; } +.@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; } +.@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; } +.@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; } +.@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; } +.@{fa-css-prefix}-tag:before { content: @fa-var-tag; } +.@{fa-css-prefix}-tags:before { content: @fa-var-tags; } +.@{fa-css-prefix}-book:before { content: @fa-var-book; } +.@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; } +.@{fa-css-prefix}-print:before { content: @fa-var-print; } +.@{fa-css-prefix}-camera:before { content: @fa-var-camera; } +.@{fa-css-prefix}-font:before { content: @fa-var-font; } +.@{fa-css-prefix}-bold:before { content: @fa-var-bold; } +.@{fa-css-prefix}-italic:before { content: @fa-var-italic; } +.@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; } +.@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; } +.@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; } +.@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; } +.@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; } +.@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; } +.@{fa-css-prefix}-list:before { content: @fa-var-list; } +.@{fa-css-prefix}-dedent:before, +.@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; } +.@{fa-css-prefix}-indent:before { content: @fa-var-indent; } +.@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; } +.@{fa-css-prefix}-photo:before, +.@{fa-css-prefix}-image:before, +.@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; } +.@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; } +.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; } +.@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; } +.@{fa-css-prefix}-tint:before { content: @fa-var-tint; } +.@{fa-css-prefix}-edit:before, +.@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; } +.@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; } +.@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; } +.@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; } +.@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; } +.@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; } +.@{fa-css-prefix}-backward:before { content: @fa-var-backward; } +.@{fa-css-prefix}-play:before { content: @fa-var-play; } +.@{fa-css-prefix}-pause:before { content: @fa-var-pause; } +.@{fa-css-prefix}-stop:before { content: @fa-var-stop; } +.@{fa-css-prefix}-forward:before { content: @fa-var-forward; } +.@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; } +.@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; } +.@{fa-css-prefix}-eject:before { content: @fa-var-eject; } +.@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; } +.@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; } +.@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; } +.@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; } +.@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; } +.@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; } +.@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; } +.@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; } +.@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; } +.@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; } +.@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; } +.@{fa-css-prefix}-ban:before { content: @fa-var-ban; } +.@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; } +.@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; } +.@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; } +.@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; } +.@{fa-css-prefix}-mail-forward:before, +.@{fa-css-prefix}-share:before { content: @fa-var-share; } +.@{fa-css-prefix}-expand:before { content: @fa-var-expand; } +.@{fa-css-prefix}-compress:before { content: @fa-var-compress; } +.@{fa-css-prefix}-plus:before { content: @fa-var-plus; } +.@{fa-css-prefix}-minus:before { content: @fa-var-minus; } +.@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; } +.@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; } +.@{fa-css-prefix}-gift:before { content: @fa-var-gift; } +.@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; } +.@{fa-css-prefix}-fire:before { content: @fa-var-fire; } +.@{fa-css-prefix}-eye:before { content: @fa-var-eye; } +.@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; } +.@{fa-css-prefix}-warning:before, +.@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; } +.@{fa-css-prefix}-plane:before { content: @fa-var-plane; } +.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; } +.@{fa-css-prefix}-random:before { content: @fa-var-random; } +.@{fa-css-prefix}-comment:before { content: @fa-var-comment; } +.@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; } +.@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; } +.@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; } +.@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; } +.@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; } +.@{fa-css-prefix}-folder:before { content: @fa-var-folder; } +.@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; } +.@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; } +.@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; } +.@{fa-css-prefix}-bar-chart-o:before, +.@{fa-css-prefix}-bar-chart:before { content: @fa-var-bar-chart; } +.@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; } +.@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; } +.@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; } +.@{fa-css-prefix}-key:before { content: @fa-var-key; } +.@{fa-css-prefix}-gears:before, +.@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; } +.@{fa-css-prefix}-comments:before { content: @fa-var-comments; } +.@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; } +.@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; } +.@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; } +.@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; } +.@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; } +.@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; } +.@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; } +.@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; } +.@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; } +.@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; } +.@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; } +.@{fa-css-prefix}-upload:before { content: @fa-var-upload; } +.@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; } +.@{fa-css-prefix}-phone:before { content: @fa-var-phone; } +.@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; } +.@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; } +.@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; } +.@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; } +.@{fa-css-prefix}-facebook-f:before, +.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; } +.@{fa-css-prefix}-github:before { content: @fa-var-github; } +.@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; } +.@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; } +.@{fa-css-prefix}-feed:before, +.@{fa-css-prefix}-rss:before { content: @fa-var-rss; } +.@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; } +.@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; } +.@{fa-css-prefix}-bell:before { content: @fa-var-bell; } +.@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; } +.@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; } +.@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; } +.@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; } +.@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; } +.@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; } +.@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; } +.@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; } +.@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; } +.@{fa-css-prefix}-globe:before { content: @fa-var-globe; } +.@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; } +.@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; } +.@{fa-css-prefix}-filter:before { content: @fa-var-filter; } +.@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; } +.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; } +.@{fa-css-prefix}-group:before, +.@{fa-css-prefix}-users:before { content: @fa-var-users; } +.@{fa-css-prefix}-chain:before, +.@{fa-css-prefix}-link:before { content: @fa-var-link; } +.@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; } +.@{fa-css-prefix}-flask:before { content: @fa-var-flask; } +.@{fa-css-prefix}-cut:before, +.@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; } +.@{fa-css-prefix}-copy:before, +.@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; } +.@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; } +.@{fa-css-prefix}-save:before, +.@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; } +.@{fa-css-prefix}-square:before { content: @fa-var-square; } +.@{fa-css-prefix}-navicon:before, +.@{fa-css-prefix}-reorder:before, +.@{fa-css-prefix}-bars:before { content: @fa-var-bars; } +.@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; } +.@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; } +.@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; } +.@{fa-css-prefix}-underline:before { content: @fa-var-underline; } +.@{fa-css-prefix}-table:before { content: @fa-var-table; } +.@{fa-css-prefix}-magic:before { content: @fa-var-magic; } +.@{fa-css-prefix}-truck:before { content: @fa-var-truck; } +.@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; } +.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; } +.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; } +.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; } +.@{fa-css-prefix}-money:before { content: @fa-var-money; } +.@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; } +.@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; } +.@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; } +.@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; } +.@{fa-css-prefix}-columns:before { content: @fa-var-columns; } +.@{fa-css-prefix}-unsorted:before, +.@{fa-css-prefix}-sort:before { content: @fa-var-sort; } +.@{fa-css-prefix}-sort-down:before, +.@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; } +.@{fa-css-prefix}-sort-up:before, +.@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; } +.@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; } +.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; } +.@{fa-css-prefix}-rotate-left:before, +.@{fa-css-prefix}-undo:before { content: @fa-var-undo; } +.@{fa-css-prefix}-legal:before, +.@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; } +.@{fa-css-prefix}-dashboard:before, +.@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; } +.@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; } +.@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; } +.@{fa-css-prefix}-flash:before, +.@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; } +.@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; } +.@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; } +.@{fa-css-prefix}-paste:before, +.@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; } +.@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; } +.@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; } +.@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; } +.@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; } +.@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; } +.@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; } +.@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; } +.@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; } +.@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; } +.@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; } +.@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; } +.@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; } +.@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; } +.@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; } +.@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; } +.@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; } +.@{fa-css-prefix}-beer:before { content: @fa-var-beer; } +.@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; } +.@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; } +.@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; } +.@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; } +.@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; } +.@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; } +.@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; } +.@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; } +.@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; } +.@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; } +.@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; } +.@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; } +.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; } +.@{fa-css-prefix}-mobile-phone:before, +.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; } +.@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; } +.@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; } +.@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; } +.@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; } +.@{fa-css-prefix}-circle:before { content: @fa-var-circle; } +.@{fa-css-prefix}-mail-reply:before, +.@{fa-css-prefix}-reply:before { content: @fa-var-reply; } +.@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; } +.@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; } +.@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; } +.@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; } +.@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; } +.@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; } +.@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; } +.@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; } +.@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; } +.@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; } +.@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; } +.@{fa-css-prefix}-code:before { content: @fa-var-code; } +.@{fa-css-prefix}-mail-reply-all:before, +.@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; } +.@{fa-css-prefix}-star-half-empty:before, +.@{fa-css-prefix}-star-half-full:before, +.@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; } +.@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; } +.@{fa-css-prefix}-crop:before { content: @fa-var-crop; } +.@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; } +.@{fa-css-prefix}-unlink:before, +.@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; } +.@{fa-css-prefix}-question:before { content: @fa-var-question; } +.@{fa-css-prefix}-info:before { content: @fa-var-info; } +.@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; } +.@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; } +.@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; } +.@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; } +.@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; } +.@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; } +.@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; } +.@{fa-css-prefix}-shield:before { content: @fa-var-shield; } +.@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; } +.@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; } +.@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; } +.@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; } +.@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; } +.@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; } +.@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; } +.@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; } +.@{fa-css-prefix}-html5:before { content: @fa-var-html5; } +.@{fa-css-prefix}-css3:before { content: @fa-var-css3; } +.@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; } +.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; } +.@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; } +.@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; } +.@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; } +.@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; } +.@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; } +.@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; } +.@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; } +.@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; } +.@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; } +.@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; } +.@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; } +.@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; } +.@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; } +.@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; } +.@{fa-css-prefix}-compass:before { content: @fa-var-compass; } +.@{fa-css-prefix}-toggle-down:before, +.@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; } +.@{fa-css-prefix}-toggle-up:before, +.@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; } +.@{fa-css-prefix}-toggle-right:before, +.@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; } +.@{fa-css-prefix}-euro:before, +.@{fa-css-prefix}-eur:before { content: @fa-var-eur; } +.@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; } +.@{fa-css-prefix}-dollar:before, +.@{fa-css-prefix}-usd:before { content: @fa-var-usd; } +.@{fa-css-prefix}-rupee:before, +.@{fa-css-prefix}-inr:before { content: @fa-var-inr; } +.@{fa-css-prefix}-cny:before, +.@{fa-css-prefix}-rmb:before, +.@{fa-css-prefix}-yen:before, +.@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; } +.@{fa-css-prefix}-ruble:before, +.@{fa-css-prefix}-rouble:before, +.@{fa-css-prefix}-rub:before { content: @fa-var-rub; } +.@{fa-css-prefix}-won:before, +.@{fa-css-prefix}-krw:before { content: @fa-var-krw; } +.@{fa-css-prefix}-bitcoin:before, +.@{fa-css-prefix}-btc:before { content: @fa-var-btc; } +.@{fa-css-prefix}-file:before { content: @fa-var-file; } +.@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; } +.@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; } +.@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; } +.@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; } +.@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; } +.@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; } +.@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; } +.@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; } +.@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; } +.@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; } +.@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; } +.@{fa-css-prefix}-xing:before { content: @fa-var-xing; } +.@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; } +.@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; } +.@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; } +.@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; } +.@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; } +.@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; } +.@{fa-css-prefix}-adn:before { content: @fa-var-adn; } +.@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; } +.@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; } +.@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; } +.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; } +.@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; } +.@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; } +.@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; } +.@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; } +.@{fa-css-prefix}-apple:before { content: @fa-var-apple; } +.@{fa-css-prefix}-windows:before { content: @fa-var-windows; } +.@{fa-css-prefix}-android:before { content: @fa-var-android; } +.@{fa-css-prefix}-linux:before { content: @fa-var-linux; } +.@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; } +.@{fa-css-prefix}-skype:before { content: @fa-var-skype; } +.@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; } +.@{fa-css-prefix}-trello:before { content: @fa-var-trello; } +.@{fa-css-prefix}-female:before { content: @fa-var-female; } +.@{fa-css-prefix}-male:before { content: @fa-var-male; } +.@{fa-css-prefix}-gittip:before, +.@{fa-css-prefix}-gratipay:before { content: @fa-var-gratipay; } +.@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; } +.@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; } +.@{fa-css-prefix}-archive:before { content: @fa-var-archive; } +.@{fa-css-prefix}-bug:before { content: @fa-var-bug; } +.@{fa-css-prefix}-vk:before { content: @fa-var-vk; } +.@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; } +.@{fa-css-prefix}-renren:before { content: @fa-var-renren; } +.@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; } +.@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; } +.@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; } +.@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; } +.@{fa-css-prefix}-toggle-left:before, +.@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; } +.@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; } +.@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; } +.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; } +.@{fa-css-prefix}-turkish-lira:before, +.@{fa-css-prefix}-try:before { content: @fa-var-try; } +.@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; } +.@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; } +.@{fa-css-prefix}-slack:before { content: @fa-var-slack; } +.@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; } +.@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; } +.@{fa-css-prefix}-openid:before { content: @fa-var-openid; } +.@{fa-css-prefix}-institution:before, +.@{fa-css-prefix}-bank:before, +.@{fa-css-prefix}-university:before { content: @fa-var-university; } +.@{fa-css-prefix}-mortar-board:before, +.@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; } +.@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; } +.@{fa-css-prefix}-google:before { content: @fa-var-google; } +.@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; } +.@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; } +.@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; } +.@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; } +.@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; } +.@{fa-css-prefix}-digg:before { content: @fa-var-digg; } +.@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; } +.@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; } +.@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; } +.@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; } +.@{fa-css-prefix}-language:before { content: @fa-var-language; } +.@{fa-css-prefix}-fax:before { content: @fa-var-fax; } +.@{fa-css-prefix}-building:before { content: @fa-var-building; } +.@{fa-css-prefix}-child:before { content: @fa-var-child; } +.@{fa-css-prefix}-paw:before { content: @fa-var-paw; } +.@{fa-css-prefix}-spoon:before { content: @fa-var-spoon; } +.@{fa-css-prefix}-cube:before { content: @fa-var-cube; } +.@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; } +.@{fa-css-prefix}-behance:before { content: @fa-var-behance; } +.@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; } +.@{fa-css-prefix}-steam:before { content: @fa-var-steam; } +.@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; } +.@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; } +.@{fa-css-prefix}-automobile:before, +.@{fa-css-prefix}-car:before { content: @fa-var-car; } +.@{fa-css-prefix}-cab:before, +.@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; } +.@{fa-css-prefix}-tree:before { content: @fa-var-tree; } +.@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; } +.@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; } +.@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; } +.@{fa-css-prefix}-database:before { content: @fa-var-database; } +.@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf-o; } +.@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word-o; } +.@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel-o; } +.@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint-o; } +.@{fa-css-prefix}-file-photo-o:before, +.@{fa-css-prefix}-file-picture-o:before, +.@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image-o; } +.@{fa-css-prefix}-file-zip-o:before, +.@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive-o; } +.@{fa-css-prefix}-file-sound-o:before, +.@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio-o; } +.@{fa-css-prefix}-file-movie-o:before, +.@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video-o; } +.@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code-o; } +.@{fa-css-prefix}-vine:before { content: @fa-var-vine; } +.@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; } +.@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; } +.@{fa-css-prefix}-life-bouy:before, +.@{fa-css-prefix}-life-buoy:before, +.@{fa-css-prefix}-life-saver:before, +.@{fa-css-prefix}-support:before, +.@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; } +.@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; } +.@{fa-css-prefix}-ra:before, +.@{fa-css-prefix}-resistance:before, +.@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; } +.@{fa-css-prefix}-ge:before, +.@{fa-css-prefix}-empire:before { content: @fa-var-empire; } +.@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; } +.@{fa-css-prefix}-git:before { content: @fa-var-git; } +.@{fa-css-prefix}-y-combinator-square:before, +.@{fa-css-prefix}-yc-square:before, +.@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; } +.@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; } +.@{fa-css-prefix}-qq:before { content: @fa-var-qq; } +.@{fa-css-prefix}-wechat:before, +.@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; } +.@{fa-css-prefix}-send:before, +.@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; } +.@{fa-css-prefix}-send-o:before, +.@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; } +.@{fa-css-prefix}-history:before { content: @fa-var-history; } +.@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; } +.@{fa-css-prefix}-header:before { content: @fa-var-header; } +.@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; } +.@{fa-css-prefix}-sliders:before { content: @fa-var-sliders; } +.@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; } +.@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; } +.@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; } +.@{fa-css-prefix}-soccer-ball-o:before, +.@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol-o; } +.@{fa-css-prefix}-tty:before { content: @fa-var-tty; } +.@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; } +.@{fa-css-prefix}-plug:before { content: @fa-var-plug; } +.@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; } +.@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; } +.@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; } +.@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper-o; } +.@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; } +.@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; } +.@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; } +.@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; } +.@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; } +.@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; } +.@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; } +.@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; } +.@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; } +.@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; } +.@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; } +.@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash-o; } +.@{fa-css-prefix}-trash:before { content: @fa-var-trash; } +.@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; } +.@{fa-css-prefix}-at:before { content: @fa-var-at; } +.@{fa-css-prefix}-eyedropper:before { content: @fa-var-eyedropper; } +.@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; } +.@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; } +.@{fa-css-prefix}-area-chart:before { content: @fa-var-area-chart; } +.@{fa-css-prefix}-pie-chart:before { content: @fa-var-pie-chart; } +.@{fa-css-prefix}-line-chart:before { content: @fa-var-line-chart; } +.@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; } +.@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; } +.@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; } +.@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; } +.@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; } +.@{fa-css-prefix}-bus:before { content: @fa-var-bus; } +.@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; } +.@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; } +.@{fa-css-prefix}-cc:before { content: @fa-var-cc; } +.@{fa-css-prefix}-shekel:before, +.@{fa-css-prefix}-sheqel:before, +.@{fa-css-prefix}-ils:before { content: @fa-var-ils; } +.@{fa-css-prefix}-meanpath:before { content: @fa-var-meanpath; } +.@{fa-css-prefix}-buysellads:before { content: @fa-var-buysellads; } +.@{fa-css-prefix}-connectdevelop:before { content: @fa-var-connectdevelop; } +.@{fa-css-prefix}-dashcube:before { content: @fa-var-dashcube; } +.@{fa-css-prefix}-forumbee:before { content: @fa-var-forumbee; } +.@{fa-css-prefix}-leanpub:before { content: @fa-var-leanpub; } +.@{fa-css-prefix}-sellsy:before { content: @fa-var-sellsy; } +.@{fa-css-prefix}-shirtsinbulk:before { content: @fa-var-shirtsinbulk; } +.@{fa-css-prefix}-simplybuilt:before { content: @fa-var-simplybuilt; } +.@{fa-css-prefix}-skyatlas:before { content: @fa-var-skyatlas; } +.@{fa-css-prefix}-cart-plus:before { content: @fa-var-cart-plus; } +.@{fa-css-prefix}-cart-arrow-down:before { content: @fa-var-cart-arrow-down; } +.@{fa-css-prefix}-diamond:before { content: @fa-var-diamond; } +.@{fa-css-prefix}-ship:before { content: @fa-var-ship; } +.@{fa-css-prefix}-user-secret:before { content: @fa-var-user-secret; } +.@{fa-css-prefix}-motorcycle:before { content: @fa-var-motorcycle; } +.@{fa-css-prefix}-street-view:before { content: @fa-var-street-view; } +.@{fa-css-prefix}-heartbeat:before { content: @fa-var-heartbeat; } +.@{fa-css-prefix}-venus:before { content: @fa-var-venus; } +.@{fa-css-prefix}-mars:before { content: @fa-var-mars; } +.@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; } +.@{fa-css-prefix}-intersex:before, +.@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; } +.@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; } +.@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; } +.@{fa-css-prefix}-mars-double:before { content: @fa-var-mars-double; } +.@{fa-css-prefix}-venus-mars:before { content: @fa-var-venus-mars; } +.@{fa-css-prefix}-mars-stroke:before { content: @fa-var-mars-stroke; } +.@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; } +.@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; } +.@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; } +.@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; } +.@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook-official; } +.@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; } +.@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; } +.@{fa-css-prefix}-server:before { content: @fa-var-server; } +.@{fa-css-prefix}-user-plus:before { content: @fa-var-user-plus; } +.@{fa-css-prefix}-user-times:before { content: @fa-var-user-times; } +.@{fa-css-prefix}-hotel:before, +.@{fa-css-prefix}-bed:before { content: @fa-var-bed; } +.@{fa-css-prefix}-viacoin:before { content: @fa-var-viacoin; } +.@{fa-css-prefix}-train:before { content: @fa-var-train; } +.@{fa-css-prefix}-subway:before { content: @fa-var-subway; } +.@{fa-css-prefix}-medium:before { content: @fa-var-medium; } +.@{fa-css-prefix}-yc:before, +.@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; } +.@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; } +.@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; } +.@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; } +.@{fa-css-prefix}-battery-4:before, +.@{fa-css-prefix}-battery:before, +.@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; } +.@{fa-css-prefix}-battery-3:before, +.@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; } +.@{fa-css-prefix}-battery-2:before, +.@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; } +.@{fa-css-prefix}-battery-1:before, +.@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; } +.@{fa-css-prefix}-battery-0:before, +.@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; } +.@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; } +.@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; } +.@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; } +.@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; } +.@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; } +.@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-sticky-note-o; } +.@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; } +.@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; } +.@{fa-css-prefix}-clone:before { content: @fa-var-clone; } +.@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; } +.@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass-o; } +.@{fa-css-prefix}-hourglass-1:before, +.@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; } +.@{fa-css-prefix}-hourglass-2:before, +.@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; } +.@{fa-css-prefix}-hourglass-3:before, +.@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; } +.@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; } +.@{fa-css-prefix}-hand-grab-o:before, +.@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-rock-o; } +.@{fa-css-prefix}-hand-stop-o:before, +.@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand-paper-o; } +.@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors-o; } +.@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard-o; } +.@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock-o; } +.@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer-o; } +.@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace-o; } +.@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; } +.@{fa-css-prefix}-registered:before { content: @fa-var-registered; } +.@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; } +.@{fa-css-prefix}-gg:before { content: @fa-var-gg; } +.@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; } +.@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; } +.@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; } +.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; } +.@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; } +.@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; } +.@{fa-css-prefix}-safari:before { content: @fa-var-safari; } +.@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; } +.@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; } +.@{fa-css-prefix}-opera:before { content: @fa-var-opera; } +.@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; } +.@{fa-css-prefix}-tv:before, +.@{fa-css-prefix}-television:before { content: @fa-var-television; } +.@{fa-css-prefix}-contao:before { content: @fa-var-contao; } +.@{fa-css-prefix}-500px:before { content: @fa-var-500px; } +.@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; } +.@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus-o; } +.@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus-o; } +.@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-times-o; } +.@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check-o; } +.@{fa-css-prefix}-industry:before { content: @fa-var-industry; } +.@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; } +.@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; } +.@{fa-css-prefix}-map-o:before { content: @fa-var-map-o; } +.@{fa-css-prefix}-map:before { content: @fa-var-map; } +.@{fa-css-prefix}-commenting:before { content: @fa-var-commenting; } +.@{fa-css-prefix}-commenting-o:before { content: @fa-var-commenting-o; } +.@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; } +.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; } +.@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; } +.@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; } +.@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; } +.@{fa-css-prefix}-edge:before { content: @fa-var-edge; } +.@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card-alt; } +.@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; } +.@{fa-css-prefix}-modx:before { content: @fa-var-modx; } +.@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; } +.@{fa-css-prefix}-usb:before { content: @fa-var-usb; } +.@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; } +.@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; } +.@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; } +.@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; } +.@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-pause-circle-o; } +.@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; } +.@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-stop-circle-o; } +.@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; } +.@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; } +.@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; } +.@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; } +.@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; } +.@{fa-css-prefix}-percent:before { content: @fa-var-percent; } +.@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; } +.@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; } +.@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; } +.@{fa-css-prefix}-envira:before { content: @fa-var-envira; } +.@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; } +.@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-wheelchair-alt; } +.@{fa-css-prefix}-question-circle-o:before { content: @fa-var-question-circle-o; } +.@{fa-css-prefix}-blind:before { content: @fa-var-blind; } +.@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; } +.@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-volume-control-phone; } +.@{fa-css-prefix}-braille:before { content: @fa-var-braille; } +.@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; } +.@{fa-css-prefix}-asl-interpreting:before, +.@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; } +.@{fa-css-prefix}-deafness:before, +.@{fa-css-prefix}-hard-of-hearing:before, +.@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; } +.@{fa-css-prefix}-glide:before { content: @fa-var-glide; } +.@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; } +.@{fa-css-prefix}-signing:before, +.@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; } +.@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; } +.@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; } +.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; } +.@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; } +.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; } +.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; } +.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; } +.@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; } +.@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; } +.@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; } +.@{fa-css-prefix}-google-plus-circle:before, +.@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus-official; } +.@{fa-css-prefix}-fa:before, +.@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; } +.@{fa-css-prefix}-handshake-o:before { content: @fa-var-handshake-o; } +.@{fa-css-prefix}-envelope-open:before { content: @fa-var-envelope-open; } +.@{fa-css-prefix}-envelope-open-o:before { content: @fa-var-envelope-open-o; } +.@{fa-css-prefix}-linode:before { content: @fa-var-linode; } +.@{fa-css-prefix}-address-book:before { content: @fa-var-address-book; } +.@{fa-css-prefix}-address-book-o:before { content: @fa-var-address-book-o; } +.@{fa-css-prefix}-vcard:before, +.@{fa-css-prefix}-address-card:before { content: @fa-var-address-card; } +.@{fa-css-prefix}-vcard-o:before, +.@{fa-css-prefix}-address-card-o:before { content: @fa-var-address-card-o; } +.@{fa-css-prefix}-user-circle:before { content: @fa-var-user-circle; } +.@{fa-css-prefix}-user-circle-o:before { content: @fa-var-user-circle-o; } +.@{fa-css-prefix}-user-o:before { content: @fa-var-user-o; } +.@{fa-css-prefix}-id-badge:before { content: @fa-var-id-badge; } +.@{fa-css-prefix}-drivers-license:before, +.@{fa-css-prefix}-id-card:before { content: @fa-var-id-card; } +.@{fa-css-prefix}-drivers-license-o:before, +.@{fa-css-prefix}-id-card-o:before { content: @fa-var-id-card-o; } +.@{fa-css-prefix}-quora:before { content: @fa-var-quora; } +.@{fa-css-prefix}-free-code-camp:before { content: @fa-var-free-code-camp; } +.@{fa-css-prefix}-telegram:before { content: @fa-var-telegram; } +.@{fa-css-prefix}-thermometer-4:before, +.@{fa-css-prefix}-thermometer:before, +.@{fa-css-prefix}-thermometer-full:before { content: @fa-var-thermometer-full; } +.@{fa-css-prefix}-thermometer-3:before, +.@{fa-css-prefix}-thermometer-three-quarters:before { content: @fa-var-thermometer-three-quarters; } +.@{fa-css-prefix}-thermometer-2:before, +.@{fa-css-prefix}-thermometer-half:before { content: @fa-var-thermometer-half; } +.@{fa-css-prefix}-thermometer-1:before, +.@{fa-css-prefix}-thermometer-quarter:before { content: @fa-var-thermometer-quarter; } +.@{fa-css-prefix}-thermometer-0:before, +.@{fa-css-prefix}-thermometer-empty:before { content: @fa-var-thermometer-empty; } +.@{fa-css-prefix}-shower:before { content: @fa-var-shower; } +.@{fa-css-prefix}-bathtub:before, +.@{fa-css-prefix}-s15:before, +.@{fa-css-prefix}-bath:before { content: @fa-var-bath; } +.@{fa-css-prefix}-podcast:before { content: @fa-var-podcast; } +.@{fa-css-prefix}-window-maximize:before { content: @fa-var-window-maximize; } +.@{fa-css-prefix}-window-minimize:before { content: @fa-var-window-minimize; } +.@{fa-css-prefix}-window-restore:before { content: @fa-var-window-restore; } +.@{fa-css-prefix}-times-rectangle:before, +.@{fa-css-prefix}-window-close:before { content: @fa-var-window-close; } +.@{fa-css-prefix}-times-rectangle-o:before, +.@{fa-css-prefix}-window-close-o:before { content: @fa-var-window-close-o; } +.@{fa-css-prefix}-bandcamp:before { content: @fa-var-bandcamp; } +.@{fa-css-prefix}-grav:before { content: @fa-var-grav; } +.@{fa-css-prefix}-etsy:before { content: @fa-var-etsy; } +.@{fa-css-prefix}-imdb:before { content: @fa-var-imdb; } +.@{fa-css-prefix}-ravelry:before { content: @fa-var-ravelry; } +.@{fa-css-prefix}-eercast:before { content: @fa-var-eercast; } +.@{fa-css-prefix}-microchip:before { content: @fa-var-microchip; } +.@{fa-css-prefix}-snowflake-o:before { content: @fa-var-snowflake-o; } +.@{fa-css-prefix}-superpowers:before { content: @fa-var-superpowers; } +.@{fa-css-prefix}-wpexplorer:before { content: @fa-var-wpexplorer; } +.@{fa-css-prefix}-meetup:before { content: @fa-var-meetup; } diff --git a/src/main/resources/static/css/font-awesome/less/larger.less b/src/main/resources/static/css/font-awesome/less/larger.less new file mode 100644 index 0000000..c9d6467 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/larger.less @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.@{fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.@{fa-css-prefix}-2x { font-size: 2em; } +.@{fa-css-prefix}-3x { font-size: 3em; } +.@{fa-css-prefix}-4x { font-size: 4em; } +.@{fa-css-prefix}-5x { font-size: 5em; } diff --git a/src/main/resources/static/css/font-awesome/less/list.less b/src/main/resources/static/css/font-awesome/less/list.less new file mode 100644 index 0000000..0b44038 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/list.less @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.@{fa-css-prefix}-ul { + padding-left: 0; + margin-left: @fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.@{fa-css-prefix}-li { + position: absolute; + left: -@fa-li-width; + width: @fa-li-width; + top: (2em / 14); + text-align: center; + &.@{fa-css-prefix}-lg { + left: (-@fa-li-width + (4em / 14)); + } +} diff --git a/src/main/resources/static/css/font-awesome/less/mixins.less b/src/main/resources/static/css/font-awesome/less/mixins.less new file mode 100644 index 0000000..beef231 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/mixins.less @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +.fa-icon() { + display: inline-block; + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +.fa-icon-rotate(@degrees, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; + -webkit-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; + -webkit-transform: scale(@horiz, @vert); + -ms-transform: scale(@horiz, @vert); + transform: scale(@horiz, @vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only() { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +.sr-only-focusable() { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/src/main/resources/static/css/font-awesome/less/path.less b/src/main/resources/static/css/font-awesome/less/path.less new file mode 100644 index 0000000..835be41 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/path.less @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); + src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), + url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), + url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), + url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), + url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); + // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/src/main/resources/static/css/font-awesome/less/rotated-flipped.less b/src/main/resources/static/css/font-awesome/less/rotated-flipped.less new file mode 100644 index 0000000..f6ba814 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/rotated-flipped.less @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } +.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } +.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } + +.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } +.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .@{fa-css-prefix}-rotate-90, +:root .@{fa-css-prefix}-rotate-180, +:root .@{fa-css-prefix}-rotate-270, +:root .@{fa-css-prefix}-flip-horizontal, +:root .@{fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/src/main/resources/static/css/font-awesome/less/screen-reader.less b/src/main/resources/static/css/font-awesome/less/screen-reader.less new file mode 100644 index 0000000..11c1881 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/screen-reader.less @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { .sr-only(); } +.sr-only-focusable { .sr-only-focusable(); } diff --git a/src/main/resources/static/css/font-awesome/less/stacked.less b/src/main/resources/static/css/font-awesome/less/stacked.less new file mode 100644 index 0000000..fc53fb0 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/stacked.less @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.@{fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.@{fa-css-prefix}-stack-1x { line-height: inherit; } +.@{fa-css-prefix}-stack-2x { font-size: 2em; } +.@{fa-css-prefix}-inverse { color: @fa-inverse; } diff --git a/src/main/resources/static/css/font-awesome/less/variables.less b/src/main/resources/static/css/font-awesome/less/variables.less new file mode 100644 index 0000000..7ddbbc0 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/less/variables.less @@ -0,0 +1,800 @@ +// Variables +// -------------------------- + +@fa-font-path: "../fonts"; +@fa-font-size-base: 14px; +@fa-line-height-base: 1; +//@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly +@fa-css-prefix: fa; +@fa-version: "4.7.0"; +@fa-border-color: #eee; +@fa-inverse: #fff; +@fa-li-width: (30em / 14); + +@fa-var-500px: "\f26e"; +@fa-var-address-book: "\f2b9"; +@fa-var-address-book-o: "\f2ba"; +@fa-var-address-card: "\f2bb"; +@fa-var-address-card-o: "\f2bc"; +@fa-var-adjust: "\f042"; +@fa-var-adn: "\f170"; +@fa-var-align-center: "\f037"; +@fa-var-align-justify: "\f039"; +@fa-var-align-left: "\f036"; +@fa-var-align-right: "\f038"; +@fa-var-amazon: "\f270"; +@fa-var-ambulance: "\f0f9"; +@fa-var-american-sign-language-interpreting: "\f2a3"; +@fa-var-anchor: "\f13d"; +@fa-var-android: "\f17b"; +@fa-var-angellist: "\f209"; +@fa-var-angle-double-down: "\f103"; +@fa-var-angle-double-left: "\f100"; +@fa-var-angle-double-right: "\f101"; +@fa-var-angle-double-up: "\f102"; +@fa-var-angle-down: "\f107"; +@fa-var-angle-left: "\f104"; +@fa-var-angle-right: "\f105"; +@fa-var-angle-up: "\f106"; +@fa-var-apple: "\f179"; +@fa-var-archive: "\f187"; +@fa-var-area-chart: "\f1fe"; +@fa-var-arrow-circle-down: "\f0ab"; +@fa-var-arrow-circle-left: "\f0a8"; +@fa-var-arrow-circle-o-down: "\f01a"; +@fa-var-arrow-circle-o-left: "\f190"; +@fa-var-arrow-circle-o-right: "\f18e"; +@fa-var-arrow-circle-o-up: "\f01b"; +@fa-var-arrow-circle-right: "\f0a9"; +@fa-var-arrow-circle-up: "\f0aa"; +@fa-var-arrow-down: "\f063"; +@fa-var-arrow-left: "\f060"; +@fa-var-arrow-right: "\f061"; +@fa-var-arrow-up: "\f062"; +@fa-var-arrows: "\f047"; +@fa-var-arrows-alt: "\f0b2"; +@fa-var-arrows-h: "\f07e"; +@fa-var-arrows-v: "\f07d"; +@fa-var-asl-interpreting: "\f2a3"; +@fa-var-assistive-listening-systems: "\f2a2"; +@fa-var-asterisk: "\f069"; +@fa-var-at: "\f1fa"; +@fa-var-audio-description: "\f29e"; +@fa-var-automobile: "\f1b9"; +@fa-var-backward: "\f04a"; +@fa-var-balance-scale: "\f24e"; +@fa-var-ban: "\f05e"; +@fa-var-bandcamp: "\f2d5"; +@fa-var-bank: "\f19c"; +@fa-var-bar-chart: "\f080"; +@fa-var-bar-chart-o: "\f080"; +@fa-var-barcode: "\f02a"; +@fa-var-bars: "\f0c9"; +@fa-var-bath: "\f2cd"; +@fa-var-bathtub: "\f2cd"; +@fa-var-battery: "\f240"; +@fa-var-battery-0: "\f244"; +@fa-var-battery-1: "\f243"; +@fa-var-battery-2: "\f242"; +@fa-var-battery-3: "\f241"; +@fa-var-battery-4: "\f240"; +@fa-var-battery-empty: "\f244"; +@fa-var-battery-full: "\f240"; +@fa-var-battery-half: "\f242"; +@fa-var-battery-quarter: "\f243"; +@fa-var-battery-three-quarters: "\f241"; +@fa-var-bed: "\f236"; +@fa-var-beer: "\f0fc"; +@fa-var-behance: "\f1b4"; +@fa-var-behance-square: "\f1b5"; +@fa-var-bell: "\f0f3"; +@fa-var-bell-o: "\f0a2"; +@fa-var-bell-slash: "\f1f6"; +@fa-var-bell-slash-o: "\f1f7"; +@fa-var-bicycle: "\f206"; +@fa-var-binoculars: "\f1e5"; +@fa-var-birthday-cake: "\f1fd"; +@fa-var-bitbucket: "\f171"; +@fa-var-bitbucket-square: "\f172"; +@fa-var-bitcoin: "\f15a"; +@fa-var-black-tie: "\f27e"; +@fa-var-blind: "\f29d"; +@fa-var-bluetooth: "\f293"; +@fa-var-bluetooth-b: "\f294"; +@fa-var-bold: "\f032"; +@fa-var-bolt: "\f0e7"; +@fa-var-bomb: "\f1e2"; +@fa-var-book: "\f02d"; +@fa-var-bookmark: "\f02e"; +@fa-var-bookmark-o: "\f097"; +@fa-var-braille: "\f2a1"; +@fa-var-briefcase: "\f0b1"; +@fa-var-btc: "\f15a"; +@fa-var-bug: "\f188"; +@fa-var-building: "\f1ad"; +@fa-var-building-o: "\f0f7"; +@fa-var-bullhorn: "\f0a1"; +@fa-var-bullseye: "\f140"; +@fa-var-bus: "\f207"; +@fa-var-buysellads: "\f20d"; +@fa-var-cab: "\f1ba"; +@fa-var-calculator: "\f1ec"; +@fa-var-calendar: "\f073"; +@fa-var-calendar-check-o: "\f274"; +@fa-var-calendar-minus-o: "\f272"; +@fa-var-calendar-o: "\f133"; +@fa-var-calendar-plus-o: "\f271"; +@fa-var-calendar-times-o: "\f273"; +@fa-var-camera: "\f030"; +@fa-var-camera-retro: "\f083"; +@fa-var-car: "\f1b9"; +@fa-var-caret-down: "\f0d7"; +@fa-var-caret-left: "\f0d9"; +@fa-var-caret-right: "\f0da"; +@fa-var-caret-square-o-down: "\f150"; +@fa-var-caret-square-o-left: "\f191"; +@fa-var-caret-square-o-right: "\f152"; +@fa-var-caret-square-o-up: "\f151"; +@fa-var-caret-up: "\f0d8"; +@fa-var-cart-arrow-down: "\f218"; +@fa-var-cart-plus: "\f217"; +@fa-var-cc: "\f20a"; +@fa-var-cc-amex: "\f1f3"; +@fa-var-cc-diners-club: "\f24c"; +@fa-var-cc-discover: "\f1f2"; +@fa-var-cc-jcb: "\f24b"; +@fa-var-cc-mastercard: "\f1f1"; +@fa-var-cc-paypal: "\f1f4"; +@fa-var-cc-stripe: "\f1f5"; +@fa-var-cc-visa: "\f1f0"; +@fa-var-certificate: "\f0a3"; +@fa-var-chain: "\f0c1"; +@fa-var-chain-broken: "\f127"; +@fa-var-check: "\f00c"; +@fa-var-check-circle: "\f058"; +@fa-var-check-circle-o: "\f05d"; +@fa-var-check-square: "\f14a"; +@fa-var-check-square-o: "\f046"; +@fa-var-chevron-circle-down: "\f13a"; +@fa-var-chevron-circle-left: "\f137"; +@fa-var-chevron-circle-right: "\f138"; +@fa-var-chevron-circle-up: "\f139"; +@fa-var-chevron-down: "\f078"; +@fa-var-chevron-left: "\f053"; +@fa-var-chevron-right: "\f054"; +@fa-var-chevron-up: "\f077"; +@fa-var-child: "\f1ae"; +@fa-var-chrome: "\f268"; +@fa-var-circle: "\f111"; +@fa-var-circle-o: "\f10c"; +@fa-var-circle-o-notch: "\f1ce"; +@fa-var-circle-thin: "\f1db"; +@fa-var-clipboard: "\f0ea"; +@fa-var-clock-o: "\f017"; +@fa-var-clone: "\f24d"; +@fa-var-close: "\f00d"; +@fa-var-cloud: "\f0c2"; +@fa-var-cloud-download: "\f0ed"; +@fa-var-cloud-upload: "\f0ee"; +@fa-var-cny: "\f157"; +@fa-var-code: "\f121"; +@fa-var-code-fork: "\f126"; +@fa-var-codepen: "\f1cb"; +@fa-var-codiepie: "\f284"; +@fa-var-coffee: "\f0f4"; +@fa-var-cog: "\f013"; +@fa-var-cogs: "\f085"; +@fa-var-columns: "\f0db"; +@fa-var-comment: "\f075"; +@fa-var-comment-o: "\f0e5"; +@fa-var-commenting: "\f27a"; +@fa-var-commenting-o: "\f27b"; +@fa-var-comments: "\f086"; +@fa-var-comments-o: "\f0e6"; +@fa-var-compass: "\f14e"; +@fa-var-compress: "\f066"; +@fa-var-connectdevelop: "\f20e"; +@fa-var-contao: "\f26d"; +@fa-var-copy: "\f0c5"; +@fa-var-copyright: "\f1f9"; +@fa-var-creative-commons: "\f25e"; +@fa-var-credit-card: "\f09d"; +@fa-var-credit-card-alt: "\f283"; +@fa-var-crop: "\f125"; +@fa-var-crosshairs: "\f05b"; +@fa-var-css3: "\f13c"; +@fa-var-cube: "\f1b2"; +@fa-var-cubes: "\f1b3"; +@fa-var-cut: "\f0c4"; +@fa-var-cutlery: "\f0f5"; +@fa-var-dashboard: "\f0e4"; +@fa-var-dashcube: "\f210"; +@fa-var-database: "\f1c0"; +@fa-var-deaf: "\f2a4"; +@fa-var-deafness: "\f2a4"; +@fa-var-dedent: "\f03b"; +@fa-var-delicious: "\f1a5"; +@fa-var-desktop: "\f108"; +@fa-var-deviantart: "\f1bd"; +@fa-var-diamond: "\f219"; +@fa-var-digg: "\f1a6"; +@fa-var-dollar: "\f155"; +@fa-var-dot-circle-o: "\f192"; +@fa-var-download: "\f019"; +@fa-var-dribbble: "\f17d"; +@fa-var-drivers-license: "\f2c2"; +@fa-var-drivers-license-o: "\f2c3"; +@fa-var-dropbox: "\f16b"; +@fa-var-drupal: "\f1a9"; +@fa-var-edge: "\f282"; +@fa-var-edit: "\f044"; +@fa-var-eercast: "\f2da"; +@fa-var-eject: "\f052"; +@fa-var-ellipsis-h: "\f141"; +@fa-var-ellipsis-v: "\f142"; +@fa-var-empire: "\f1d1"; +@fa-var-envelope: "\f0e0"; +@fa-var-envelope-o: "\f003"; +@fa-var-envelope-open: "\f2b6"; +@fa-var-envelope-open-o: "\f2b7"; +@fa-var-envelope-square: "\f199"; +@fa-var-envira: "\f299"; +@fa-var-eraser: "\f12d"; +@fa-var-etsy: "\f2d7"; +@fa-var-eur: "\f153"; +@fa-var-euro: "\f153"; +@fa-var-exchange: "\f0ec"; +@fa-var-exclamation: "\f12a"; +@fa-var-exclamation-circle: "\f06a"; +@fa-var-exclamation-triangle: "\f071"; +@fa-var-expand: "\f065"; +@fa-var-expeditedssl: "\f23e"; +@fa-var-external-link: "\f08e"; +@fa-var-external-link-square: "\f14c"; +@fa-var-eye: "\f06e"; +@fa-var-eye-slash: "\f070"; +@fa-var-eyedropper: "\f1fb"; +@fa-var-fa: "\f2b4"; +@fa-var-facebook: "\f09a"; +@fa-var-facebook-f: "\f09a"; +@fa-var-facebook-official: "\f230"; +@fa-var-facebook-square: "\f082"; +@fa-var-fast-backward: "\f049"; +@fa-var-fast-forward: "\f050"; +@fa-var-fax: "\f1ac"; +@fa-var-feed: "\f09e"; +@fa-var-female: "\f182"; +@fa-var-fighter-jet: "\f0fb"; +@fa-var-file: "\f15b"; +@fa-var-file-archive-o: "\f1c6"; +@fa-var-file-audio-o: "\f1c7"; +@fa-var-file-code-o: "\f1c9"; +@fa-var-file-excel-o: "\f1c3"; +@fa-var-file-image-o: "\f1c5"; +@fa-var-file-movie-o: "\f1c8"; +@fa-var-file-o: "\f016"; +@fa-var-file-pdf-o: "\f1c1"; +@fa-var-file-photo-o: "\f1c5"; +@fa-var-file-picture-o: "\f1c5"; +@fa-var-file-powerpoint-o: "\f1c4"; +@fa-var-file-sound-o: "\f1c7"; +@fa-var-file-text: "\f15c"; +@fa-var-file-text-o: "\f0f6"; +@fa-var-file-video-o: "\f1c8"; +@fa-var-file-word-o: "\f1c2"; +@fa-var-file-zip-o: "\f1c6"; +@fa-var-files-o: "\f0c5"; +@fa-var-film: "\f008"; +@fa-var-filter: "\f0b0"; +@fa-var-fire: "\f06d"; +@fa-var-fire-extinguisher: "\f134"; +@fa-var-firefox: "\f269"; +@fa-var-first-order: "\f2b0"; +@fa-var-flag: "\f024"; +@fa-var-flag-checkered: "\f11e"; +@fa-var-flag-o: "\f11d"; +@fa-var-flash: "\f0e7"; +@fa-var-flask: "\f0c3"; +@fa-var-flickr: "\f16e"; +@fa-var-floppy-o: "\f0c7"; +@fa-var-folder: "\f07b"; +@fa-var-folder-o: "\f114"; +@fa-var-folder-open: "\f07c"; +@fa-var-folder-open-o: "\f115"; +@fa-var-font: "\f031"; +@fa-var-font-awesome: "\f2b4"; +@fa-var-fonticons: "\f280"; +@fa-var-fort-awesome: "\f286"; +@fa-var-forumbee: "\f211"; +@fa-var-forward: "\f04e"; +@fa-var-foursquare: "\f180"; +@fa-var-free-code-camp: "\f2c5"; +@fa-var-frown-o: "\f119"; +@fa-var-futbol-o: "\f1e3"; +@fa-var-gamepad: "\f11b"; +@fa-var-gavel: "\f0e3"; +@fa-var-gbp: "\f154"; +@fa-var-ge: "\f1d1"; +@fa-var-gear: "\f013"; +@fa-var-gears: "\f085"; +@fa-var-genderless: "\f22d"; +@fa-var-get-pocket: "\f265"; +@fa-var-gg: "\f260"; +@fa-var-gg-circle: "\f261"; +@fa-var-gift: "\f06b"; +@fa-var-git: "\f1d3"; +@fa-var-git-square: "\f1d2"; +@fa-var-github: "\f09b"; +@fa-var-github-alt: "\f113"; +@fa-var-github-square: "\f092"; +@fa-var-gitlab: "\f296"; +@fa-var-gittip: "\f184"; +@fa-var-glass: "\f000"; +@fa-var-glide: "\f2a5"; +@fa-var-glide-g: "\f2a6"; +@fa-var-globe: "\f0ac"; +@fa-var-google: "\f1a0"; +@fa-var-google-plus: "\f0d5"; +@fa-var-google-plus-circle: "\f2b3"; +@fa-var-google-plus-official: "\f2b3"; +@fa-var-google-plus-square: "\f0d4"; +@fa-var-google-wallet: "\f1ee"; +@fa-var-graduation-cap: "\f19d"; +@fa-var-gratipay: "\f184"; +@fa-var-grav: "\f2d6"; +@fa-var-group: "\f0c0"; +@fa-var-h-square: "\f0fd"; +@fa-var-hacker-news: "\f1d4"; +@fa-var-hand-grab-o: "\f255"; +@fa-var-hand-lizard-o: "\f258"; +@fa-var-hand-o-down: "\f0a7"; +@fa-var-hand-o-left: "\f0a5"; +@fa-var-hand-o-right: "\f0a4"; +@fa-var-hand-o-up: "\f0a6"; +@fa-var-hand-paper-o: "\f256"; +@fa-var-hand-peace-o: "\f25b"; +@fa-var-hand-pointer-o: "\f25a"; +@fa-var-hand-rock-o: "\f255"; +@fa-var-hand-scissors-o: "\f257"; +@fa-var-hand-spock-o: "\f259"; +@fa-var-hand-stop-o: "\f256"; +@fa-var-handshake-o: "\f2b5"; +@fa-var-hard-of-hearing: "\f2a4"; +@fa-var-hashtag: "\f292"; +@fa-var-hdd-o: "\f0a0"; +@fa-var-header: "\f1dc"; +@fa-var-headphones: "\f025"; +@fa-var-heart: "\f004"; +@fa-var-heart-o: "\f08a"; +@fa-var-heartbeat: "\f21e"; +@fa-var-history: "\f1da"; +@fa-var-home: "\f015"; +@fa-var-hospital-o: "\f0f8"; +@fa-var-hotel: "\f236"; +@fa-var-hourglass: "\f254"; +@fa-var-hourglass-1: "\f251"; +@fa-var-hourglass-2: "\f252"; +@fa-var-hourglass-3: "\f253"; +@fa-var-hourglass-end: "\f253"; +@fa-var-hourglass-half: "\f252"; +@fa-var-hourglass-o: "\f250"; +@fa-var-hourglass-start: "\f251"; +@fa-var-houzz: "\f27c"; +@fa-var-html5: "\f13b"; +@fa-var-i-cursor: "\f246"; +@fa-var-id-badge: "\f2c1"; +@fa-var-id-card: "\f2c2"; +@fa-var-id-card-o: "\f2c3"; +@fa-var-ils: "\f20b"; +@fa-var-image: "\f03e"; +@fa-var-imdb: "\f2d8"; +@fa-var-inbox: "\f01c"; +@fa-var-indent: "\f03c"; +@fa-var-industry: "\f275"; +@fa-var-info: "\f129"; +@fa-var-info-circle: "\f05a"; +@fa-var-inr: "\f156"; +@fa-var-instagram: "\f16d"; +@fa-var-institution: "\f19c"; +@fa-var-internet-explorer: "\f26b"; +@fa-var-intersex: "\f224"; +@fa-var-ioxhost: "\f208"; +@fa-var-italic: "\f033"; +@fa-var-joomla: "\f1aa"; +@fa-var-jpy: "\f157"; +@fa-var-jsfiddle: "\f1cc"; +@fa-var-key: "\f084"; +@fa-var-keyboard-o: "\f11c"; +@fa-var-krw: "\f159"; +@fa-var-language: "\f1ab"; +@fa-var-laptop: "\f109"; +@fa-var-lastfm: "\f202"; +@fa-var-lastfm-square: "\f203"; +@fa-var-leaf: "\f06c"; +@fa-var-leanpub: "\f212"; +@fa-var-legal: "\f0e3"; +@fa-var-lemon-o: "\f094"; +@fa-var-level-down: "\f149"; +@fa-var-level-up: "\f148"; +@fa-var-life-bouy: "\f1cd"; +@fa-var-life-buoy: "\f1cd"; +@fa-var-life-ring: "\f1cd"; +@fa-var-life-saver: "\f1cd"; +@fa-var-lightbulb-o: "\f0eb"; +@fa-var-line-chart: "\f201"; +@fa-var-link: "\f0c1"; +@fa-var-linkedin: "\f0e1"; +@fa-var-linkedin-square: "\f08c"; +@fa-var-linode: "\f2b8"; +@fa-var-linux: "\f17c"; +@fa-var-list: "\f03a"; +@fa-var-list-alt: "\f022"; +@fa-var-list-ol: "\f0cb"; +@fa-var-list-ul: "\f0ca"; +@fa-var-location-arrow: "\f124"; +@fa-var-lock: "\f023"; +@fa-var-long-arrow-down: "\f175"; +@fa-var-long-arrow-left: "\f177"; +@fa-var-long-arrow-right: "\f178"; +@fa-var-long-arrow-up: "\f176"; +@fa-var-low-vision: "\f2a8"; +@fa-var-magic: "\f0d0"; +@fa-var-magnet: "\f076"; +@fa-var-mail-forward: "\f064"; +@fa-var-mail-reply: "\f112"; +@fa-var-mail-reply-all: "\f122"; +@fa-var-male: "\f183"; +@fa-var-map: "\f279"; +@fa-var-map-marker: "\f041"; +@fa-var-map-o: "\f278"; +@fa-var-map-pin: "\f276"; +@fa-var-map-signs: "\f277"; +@fa-var-mars: "\f222"; +@fa-var-mars-double: "\f227"; +@fa-var-mars-stroke: "\f229"; +@fa-var-mars-stroke-h: "\f22b"; +@fa-var-mars-stroke-v: "\f22a"; +@fa-var-maxcdn: "\f136"; +@fa-var-meanpath: "\f20c"; +@fa-var-medium: "\f23a"; +@fa-var-medkit: "\f0fa"; +@fa-var-meetup: "\f2e0"; +@fa-var-meh-o: "\f11a"; +@fa-var-mercury: "\f223"; +@fa-var-microchip: "\f2db"; +@fa-var-microphone: "\f130"; +@fa-var-microphone-slash: "\f131"; +@fa-var-minus: "\f068"; +@fa-var-minus-circle: "\f056"; +@fa-var-minus-square: "\f146"; +@fa-var-minus-square-o: "\f147"; +@fa-var-mixcloud: "\f289"; +@fa-var-mobile: "\f10b"; +@fa-var-mobile-phone: "\f10b"; +@fa-var-modx: "\f285"; +@fa-var-money: "\f0d6"; +@fa-var-moon-o: "\f186"; +@fa-var-mortar-board: "\f19d"; +@fa-var-motorcycle: "\f21c"; +@fa-var-mouse-pointer: "\f245"; +@fa-var-music: "\f001"; +@fa-var-navicon: "\f0c9"; +@fa-var-neuter: "\f22c"; +@fa-var-newspaper-o: "\f1ea"; +@fa-var-object-group: "\f247"; +@fa-var-object-ungroup: "\f248"; +@fa-var-odnoklassniki: "\f263"; +@fa-var-odnoklassniki-square: "\f264"; +@fa-var-opencart: "\f23d"; +@fa-var-openid: "\f19b"; +@fa-var-opera: "\f26a"; +@fa-var-optin-monster: "\f23c"; +@fa-var-outdent: "\f03b"; +@fa-var-pagelines: "\f18c"; +@fa-var-paint-brush: "\f1fc"; +@fa-var-paper-plane: "\f1d8"; +@fa-var-paper-plane-o: "\f1d9"; +@fa-var-paperclip: "\f0c6"; +@fa-var-paragraph: "\f1dd"; +@fa-var-paste: "\f0ea"; +@fa-var-pause: "\f04c"; +@fa-var-pause-circle: "\f28b"; +@fa-var-pause-circle-o: "\f28c"; +@fa-var-paw: "\f1b0"; +@fa-var-paypal: "\f1ed"; +@fa-var-pencil: "\f040"; +@fa-var-pencil-square: "\f14b"; +@fa-var-pencil-square-o: "\f044"; +@fa-var-percent: "\f295"; +@fa-var-phone: "\f095"; +@fa-var-phone-square: "\f098"; +@fa-var-photo: "\f03e"; +@fa-var-picture-o: "\f03e"; +@fa-var-pie-chart: "\f200"; +@fa-var-pied-piper: "\f2ae"; +@fa-var-pied-piper-alt: "\f1a8"; +@fa-var-pied-piper-pp: "\f1a7"; +@fa-var-pinterest: "\f0d2"; +@fa-var-pinterest-p: "\f231"; +@fa-var-pinterest-square: "\f0d3"; +@fa-var-plane: "\f072"; +@fa-var-play: "\f04b"; +@fa-var-play-circle: "\f144"; +@fa-var-play-circle-o: "\f01d"; +@fa-var-plug: "\f1e6"; +@fa-var-plus: "\f067"; +@fa-var-plus-circle: "\f055"; +@fa-var-plus-square: "\f0fe"; +@fa-var-plus-square-o: "\f196"; +@fa-var-podcast: "\f2ce"; +@fa-var-power-off: "\f011"; +@fa-var-print: "\f02f"; +@fa-var-product-hunt: "\f288"; +@fa-var-puzzle-piece: "\f12e"; +@fa-var-qq: "\f1d6"; +@fa-var-qrcode: "\f029"; +@fa-var-question: "\f128"; +@fa-var-question-circle: "\f059"; +@fa-var-question-circle-o: "\f29c"; +@fa-var-quora: "\f2c4"; +@fa-var-quote-left: "\f10d"; +@fa-var-quote-right: "\f10e"; +@fa-var-ra: "\f1d0"; +@fa-var-random: "\f074"; +@fa-var-ravelry: "\f2d9"; +@fa-var-rebel: "\f1d0"; +@fa-var-recycle: "\f1b8"; +@fa-var-reddit: "\f1a1"; +@fa-var-reddit-alien: "\f281"; +@fa-var-reddit-square: "\f1a2"; +@fa-var-refresh: "\f021"; +@fa-var-registered: "\f25d"; +@fa-var-remove: "\f00d"; +@fa-var-renren: "\f18b"; +@fa-var-reorder: "\f0c9"; +@fa-var-repeat: "\f01e"; +@fa-var-reply: "\f112"; +@fa-var-reply-all: "\f122"; +@fa-var-resistance: "\f1d0"; +@fa-var-retweet: "\f079"; +@fa-var-rmb: "\f157"; +@fa-var-road: "\f018"; +@fa-var-rocket: "\f135"; +@fa-var-rotate-left: "\f0e2"; +@fa-var-rotate-right: "\f01e"; +@fa-var-rouble: "\f158"; +@fa-var-rss: "\f09e"; +@fa-var-rss-square: "\f143"; +@fa-var-rub: "\f158"; +@fa-var-ruble: "\f158"; +@fa-var-rupee: "\f156"; +@fa-var-s15: "\f2cd"; +@fa-var-safari: "\f267"; +@fa-var-save: "\f0c7"; +@fa-var-scissors: "\f0c4"; +@fa-var-scribd: "\f28a"; +@fa-var-search: "\f002"; +@fa-var-search-minus: "\f010"; +@fa-var-search-plus: "\f00e"; +@fa-var-sellsy: "\f213"; +@fa-var-send: "\f1d8"; +@fa-var-send-o: "\f1d9"; +@fa-var-server: "\f233"; +@fa-var-share: "\f064"; +@fa-var-share-alt: "\f1e0"; +@fa-var-share-alt-square: "\f1e1"; +@fa-var-share-square: "\f14d"; +@fa-var-share-square-o: "\f045"; +@fa-var-shekel: "\f20b"; +@fa-var-sheqel: "\f20b"; +@fa-var-shield: "\f132"; +@fa-var-ship: "\f21a"; +@fa-var-shirtsinbulk: "\f214"; +@fa-var-shopping-bag: "\f290"; +@fa-var-shopping-basket: "\f291"; +@fa-var-shopping-cart: "\f07a"; +@fa-var-shower: "\f2cc"; +@fa-var-sign-in: "\f090"; +@fa-var-sign-language: "\f2a7"; +@fa-var-sign-out: "\f08b"; +@fa-var-signal: "\f012"; +@fa-var-signing: "\f2a7"; +@fa-var-simplybuilt: "\f215"; +@fa-var-sitemap: "\f0e8"; +@fa-var-skyatlas: "\f216"; +@fa-var-skype: "\f17e"; +@fa-var-slack: "\f198"; +@fa-var-sliders: "\f1de"; +@fa-var-slideshare: "\f1e7"; +@fa-var-smile-o: "\f118"; +@fa-var-snapchat: "\f2ab"; +@fa-var-snapchat-ghost: "\f2ac"; +@fa-var-snapchat-square: "\f2ad"; +@fa-var-snowflake-o: "\f2dc"; +@fa-var-soccer-ball-o: "\f1e3"; +@fa-var-sort: "\f0dc"; +@fa-var-sort-alpha-asc: "\f15d"; +@fa-var-sort-alpha-desc: "\f15e"; +@fa-var-sort-amount-asc: "\f160"; +@fa-var-sort-amount-desc: "\f161"; +@fa-var-sort-asc: "\f0de"; +@fa-var-sort-desc: "\f0dd"; +@fa-var-sort-down: "\f0dd"; +@fa-var-sort-numeric-asc: "\f162"; +@fa-var-sort-numeric-desc: "\f163"; +@fa-var-sort-up: "\f0de"; +@fa-var-soundcloud: "\f1be"; +@fa-var-space-shuttle: "\f197"; +@fa-var-spinner: "\f110"; +@fa-var-spoon: "\f1b1"; +@fa-var-spotify: "\f1bc"; +@fa-var-square: "\f0c8"; +@fa-var-square-o: "\f096"; +@fa-var-stack-exchange: "\f18d"; +@fa-var-stack-overflow: "\f16c"; +@fa-var-star: "\f005"; +@fa-var-star-half: "\f089"; +@fa-var-star-half-empty: "\f123"; +@fa-var-star-half-full: "\f123"; +@fa-var-star-half-o: "\f123"; +@fa-var-star-o: "\f006"; +@fa-var-steam: "\f1b6"; +@fa-var-steam-square: "\f1b7"; +@fa-var-step-backward: "\f048"; +@fa-var-step-forward: "\f051"; +@fa-var-stethoscope: "\f0f1"; +@fa-var-sticky-note: "\f249"; +@fa-var-sticky-note-o: "\f24a"; +@fa-var-stop: "\f04d"; +@fa-var-stop-circle: "\f28d"; +@fa-var-stop-circle-o: "\f28e"; +@fa-var-street-view: "\f21d"; +@fa-var-strikethrough: "\f0cc"; +@fa-var-stumbleupon: "\f1a4"; +@fa-var-stumbleupon-circle: "\f1a3"; +@fa-var-subscript: "\f12c"; +@fa-var-subway: "\f239"; +@fa-var-suitcase: "\f0f2"; +@fa-var-sun-o: "\f185"; +@fa-var-superpowers: "\f2dd"; +@fa-var-superscript: "\f12b"; +@fa-var-support: "\f1cd"; +@fa-var-table: "\f0ce"; +@fa-var-tablet: "\f10a"; +@fa-var-tachometer: "\f0e4"; +@fa-var-tag: "\f02b"; +@fa-var-tags: "\f02c"; +@fa-var-tasks: "\f0ae"; +@fa-var-taxi: "\f1ba"; +@fa-var-telegram: "\f2c6"; +@fa-var-television: "\f26c"; +@fa-var-tencent-weibo: "\f1d5"; +@fa-var-terminal: "\f120"; +@fa-var-text-height: "\f034"; +@fa-var-text-width: "\f035"; +@fa-var-th: "\f00a"; +@fa-var-th-large: "\f009"; +@fa-var-th-list: "\f00b"; +@fa-var-themeisle: "\f2b2"; +@fa-var-thermometer: "\f2c7"; +@fa-var-thermometer-0: "\f2cb"; +@fa-var-thermometer-1: "\f2ca"; +@fa-var-thermometer-2: "\f2c9"; +@fa-var-thermometer-3: "\f2c8"; +@fa-var-thermometer-4: "\f2c7"; +@fa-var-thermometer-empty: "\f2cb"; +@fa-var-thermometer-full: "\f2c7"; +@fa-var-thermometer-half: "\f2c9"; +@fa-var-thermometer-quarter: "\f2ca"; +@fa-var-thermometer-three-quarters: "\f2c8"; +@fa-var-thumb-tack: "\f08d"; +@fa-var-thumbs-down: "\f165"; +@fa-var-thumbs-o-down: "\f088"; +@fa-var-thumbs-o-up: "\f087"; +@fa-var-thumbs-up: "\f164"; +@fa-var-ticket: "\f145"; +@fa-var-times: "\f00d"; +@fa-var-times-circle: "\f057"; +@fa-var-times-circle-o: "\f05c"; +@fa-var-times-rectangle: "\f2d3"; +@fa-var-times-rectangle-o: "\f2d4"; +@fa-var-tint: "\f043"; +@fa-var-toggle-down: "\f150"; +@fa-var-toggle-left: "\f191"; +@fa-var-toggle-off: "\f204"; +@fa-var-toggle-on: "\f205"; +@fa-var-toggle-right: "\f152"; +@fa-var-toggle-up: "\f151"; +@fa-var-trademark: "\f25c"; +@fa-var-train: "\f238"; +@fa-var-transgender: "\f224"; +@fa-var-transgender-alt: "\f225"; +@fa-var-trash: "\f1f8"; +@fa-var-trash-o: "\f014"; +@fa-var-tree: "\f1bb"; +@fa-var-trello: "\f181"; +@fa-var-tripadvisor: "\f262"; +@fa-var-trophy: "\f091"; +@fa-var-truck: "\f0d1"; +@fa-var-try: "\f195"; +@fa-var-tty: "\f1e4"; +@fa-var-tumblr: "\f173"; +@fa-var-tumblr-square: "\f174"; +@fa-var-turkish-lira: "\f195"; +@fa-var-tv: "\f26c"; +@fa-var-twitch: "\f1e8"; +@fa-var-twitter: "\f099"; +@fa-var-twitter-square: "\f081"; +@fa-var-umbrella: "\f0e9"; +@fa-var-underline: "\f0cd"; +@fa-var-undo: "\f0e2"; +@fa-var-universal-access: "\f29a"; +@fa-var-university: "\f19c"; +@fa-var-unlink: "\f127"; +@fa-var-unlock: "\f09c"; +@fa-var-unlock-alt: "\f13e"; +@fa-var-unsorted: "\f0dc"; +@fa-var-upload: "\f093"; +@fa-var-usb: "\f287"; +@fa-var-usd: "\f155"; +@fa-var-user: "\f007"; +@fa-var-user-circle: "\f2bd"; +@fa-var-user-circle-o: "\f2be"; +@fa-var-user-md: "\f0f0"; +@fa-var-user-o: "\f2c0"; +@fa-var-user-plus: "\f234"; +@fa-var-user-secret: "\f21b"; +@fa-var-user-times: "\f235"; +@fa-var-users: "\f0c0"; +@fa-var-vcard: "\f2bb"; +@fa-var-vcard-o: "\f2bc"; +@fa-var-venus: "\f221"; +@fa-var-venus-double: "\f226"; +@fa-var-venus-mars: "\f228"; +@fa-var-viacoin: "\f237"; +@fa-var-viadeo: "\f2a9"; +@fa-var-viadeo-square: "\f2aa"; +@fa-var-video-camera: "\f03d"; +@fa-var-vimeo: "\f27d"; +@fa-var-vimeo-square: "\f194"; +@fa-var-vine: "\f1ca"; +@fa-var-vk: "\f189"; +@fa-var-volume-control-phone: "\f2a0"; +@fa-var-volume-down: "\f027"; +@fa-var-volume-off: "\f026"; +@fa-var-volume-up: "\f028"; +@fa-var-warning: "\f071"; +@fa-var-wechat: "\f1d7"; +@fa-var-weibo: "\f18a"; +@fa-var-weixin: "\f1d7"; +@fa-var-whatsapp: "\f232"; +@fa-var-wheelchair: "\f193"; +@fa-var-wheelchair-alt: "\f29b"; +@fa-var-wifi: "\f1eb"; +@fa-var-wikipedia-w: "\f266"; +@fa-var-window-close: "\f2d3"; +@fa-var-window-close-o: "\f2d4"; +@fa-var-window-maximize: "\f2d0"; +@fa-var-window-minimize: "\f2d1"; +@fa-var-window-restore: "\f2d2"; +@fa-var-windows: "\f17a"; +@fa-var-won: "\f159"; +@fa-var-wordpress: "\f19a"; +@fa-var-wpbeginner: "\f297"; +@fa-var-wpexplorer: "\f2de"; +@fa-var-wpforms: "\f298"; +@fa-var-wrench: "\f0ad"; +@fa-var-xing: "\f168"; +@fa-var-xing-square: "\f169"; +@fa-var-y-combinator: "\f23b"; +@fa-var-y-combinator-square: "\f1d4"; +@fa-var-yahoo: "\f19e"; +@fa-var-yc: "\f23b"; +@fa-var-yc-square: "\f1d4"; +@fa-var-yelp: "\f1e9"; +@fa-var-yen: "\f157"; +@fa-var-yoast: "\f2b1"; +@fa-var-youtube: "\f167"; +@fa-var-youtube-play: "\f16a"; +@fa-var-youtube-square: "\f166"; + diff --git a/src/main/resources/static/css/font-awesome/scss/_animated.scss b/src/main/resources/static/css/font-awesome/scss/_animated.scss new file mode 100644 index 0000000..8a020db --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_animated.scss @@ -0,0 +1,34 @@ +// Spinning Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/src/main/resources/static/css/font-awesome/scss/_bordered-pulled.scss b/src/main/resources/static/css/font-awesome/scss/_bordered-pulled.scss new file mode 100644 index 0000000..d4b85a0 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_bordered-pulled.scss @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em $fa-border-color; + border-radius: .1em; +} + +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix} { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.#{$fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/src/main/resources/static/css/font-awesome/scss/_core.scss b/src/main/resources/static/css/font-awesome/scss/_core.scss new file mode 100644 index 0000000..7425ef8 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_core.scss @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix} { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} diff --git a/src/main/resources/static/css/font-awesome/scss/_fixed-width.scss b/src/main/resources/static/css/font-awesome/scss/_fixed-width.scss new file mode 100644 index 0000000..b221c98 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_fixed-width.scss @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/src/main/resources/static/css/font-awesome/scss/_icons.scss b/src/main/resources/static/css/font-awesome/scss/_icons.scss new file mode 100644 index 0000000..e63e702 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_icons.scss @@ -0,0 +1,789 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; } +.#{$fa-css-prefix}-music:before { content: $fa-var-music; } +.#{$fa-css-prefix}-search:before { content: $fa-var-search; } +.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; } +.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; } +.#{$fa-css-prefix}-star:before { content: $fa-var-star; } +.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; } +.#{$fa-css-prefix}-user:before { content: $fa-var-user; } +.#{$fa-css-prefix}-film:before { content: $fa-var-film; } +.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; } +.#{$fa-css-prefix}-th:before { content: $fa-var-th; } +.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; } +.#{$fa-css-prefix}-check:before { content: $fa-var-check; } +.#{$fa-css-prefix}-remove:before, +.#{$fa-css-prefix}-close:before, +.#{$fa-css-prefix}-times:before { content: $fa-var-times; } +.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; } +.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; } +.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; } +.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; } +.#{$fa-css-prefix}-gear:before, +.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; } +.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; } +.#{$fa-css-prefix}-home:before { content: $fa-var-home; } +.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; } +.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; } +.#{$fa-css-prefix}-road:before { content: $fa-var-road; } +.#{$fa-css-prefix}-download:before { content: $fa-var-download; } +.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; } +.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; } +.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; } +.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; } +.#{$fa-css-prefix}-rotate-right:before, +.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; } +.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; } +.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; } +.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; } +.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; } +.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; } +.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; } +.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; } +.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; } +.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; } +.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; } +.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; } +.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; } +.#{$fa-css-prefix}-book:before { content: $fa-var-book; } +.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; } +.#{$fa-css-prefix}-print:before { content: $fa-var-print; } +.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; } +.#{$fa-css-prefix}-font:before { content: $fa-var-font; } +.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; } +.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; } +.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; } +.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; } +.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; } +.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; } +.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; } +.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; } +.#{$fa-css-prefix}-list:before { content: $fa-var-list; } +.#{$fa-css-prefix}-dedent:before, +.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; } +.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; } +.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; } +.#{$fa-css-prefix}-photo:before, +.#{$fa-css-prefix}-image:before, +.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; } +.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; } +.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; } +.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; } +.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; } +.#{$fa-css-prefix}-edit:before, +.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; } +.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; } +.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; } +.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; } +.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; } +.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; } +.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; } +.#{$fa-css-prefix}-play:before { content: $fa-var-play; } +.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; } +.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; } +.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; } +.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; } +.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; } +.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; } +.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; } +.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; } +.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; } +.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; } +.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; } +.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; } +.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; } +.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; } +.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; } +.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; } +.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; } +.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; } +.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; } +.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; } +.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; } +.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; } +.#{$fa-css-prefix}-mail-forward:before, +.#{$fa-css-prefix}-share:before { content: $fa-var-share; } +.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; } +.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; } +.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; } +.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; } +.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; } +.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; } +.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; } +.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; } +.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; } +.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; } +.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; } +.#{$fa-css-prefix}-warning:before, +.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; } +.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; } +.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; } +.#{$fa-css-prefix}-random:before { content: $fa-var-random; } +.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; } +.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; } +.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; } +.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; } +.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; } +.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; } +.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; } +.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; } +.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; } +.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; } +.#{$fa-css-prefix}-bar-chart-o:before, +.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; } +.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; } +.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; } +.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; } +.#{$fa-css-prefix}-key:before { content: $fa-var-key; } +.#{$fa-css-prefix}-gears:before, +.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; } +.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; } +.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; } +.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; } +.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; } +.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; } +.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; } +.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; } +.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; } +.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; } +.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; } +.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; } +.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; } +.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; } +.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; } +.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; } +.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; } +.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; } +.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; } +.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; } +.#{$fa-css-prefix}-facebook-f:before, +.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; } +.#{$fa-css-prefix}-github:before { content: $fa-var-github; } +.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; } +.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; } +.#{$fa-css-prefix}-feed:before, +.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; } +.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; } +.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; } +.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; } +.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; } +.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; } +.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; } +.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; } +.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; } +.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; } +.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; } +.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; } +.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; } +.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; } +.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; } +.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; } +.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; } +.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; } +.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; } +.#{$fa-css-prefix}-group:before, +.#{$fa-css-prefix}-users:before { content: $fa-var-users; } +.#{$fa-css-prefix}-chain:before, +.#{$fa-css-prefix}-link:before { content: $fa-var-link; } +.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; } +.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; } +.#{$fa-css-prefix}-cut:before, +.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; } +.#{$fa-css-prefix}-copy:before, +.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; } +.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; } +.#{$fa-css-prefix}-save:before, +.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; } +.#{$fa-css-prefix}-square:before { content: $fa-var-square; } +.#{$fa-css-prefix}-navicon:before, +.#{$fa-css-prefix}-reorder:before, +.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; } +.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; } +.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; } +.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; } +.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; } +.#{$fa-css-prefix}-table:before { content: $fa-var-table; } +.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; } +.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; } +.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; } +.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; } +.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; } +.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; } +.#{$fa-css-prefix}-money:before { content: $fa-var-money; } +.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; } +.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; } +.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; } +.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; } +.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; } +.#{$fa-css-prefix}-unsorted:before, +.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; } +.#{$fa-css-prefix}-sort-down:before, +.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; } +.#{$fa-css-prefix}-sort-up:before, +.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; } +.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; } +.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; } +.#{$fa-css-prefix}-rotate-left:before, +.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; } +.#{$fa-css-prefix}-legal:before, +.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; } +.#{$fa-css-prefix}-dashboard:before, +.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; } +.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; } +.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; } +.#{$fa-css-prefix}-flash:before, +.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; } +.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; } +.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; } +.#{$fa-css-prefix}-paste:before, +.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; } +.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; } +.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; } +.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; } +.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; } +.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; } +.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; } +.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; } +.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; } +.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; } +.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; } +.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; } +.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; } +.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; } +.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; } +.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; } +.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; } +.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; } +.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; } +.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; } +.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; } +.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; } +.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; } +.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; } +.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; } +.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; } +.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; } +.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; } +.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; } +.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; } +.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; } +.#{$fa-css-prefix}-mobile-phone:before, +.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; } +.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; } +.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; } +.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; } +.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; } +.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; } +.#{$fa-css-prefix}-mail-reply:before, +.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; } +.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; } +.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; } +.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; } +.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; } +.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; } +.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; } +.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; } +.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; } +.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; } +.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; } +.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; } +.#{$fa-css-prefix}-code:before { content: $fa-var-code; } +.#{$fa-css-prefix}-mail-reply-all:before, +.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; } +.#{$fa-css-prefix}-star-half-empty:before, +.#{$fa-css-prefix}-star-half-full:before, +.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; } +.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; } +.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; } +.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; } +.#{$fa-css-prefix}-unlink:before, +.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; } +.#{$fa-css-prefix}-question:before { content: $fa-var-question; } +.#{$fa-css-prefix}-info:before { content: $fa-var-info; } +.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; } +.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; } +.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; } +.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; } +.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; } +.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; } +.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; } +.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; } +.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; } +.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; } +.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; } +.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; } +.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; } +.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; } +.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; } +.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; } +.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; } +.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; } +.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; } +.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; } +.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; } +.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; } +.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; } +.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; } +.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; } +.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; } +.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; } +.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; } +.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; } +.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; } +.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; } +.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; } +.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; } +.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; } +.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; } +.#{$fa-css-prefix}-toggle-down:before, +.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; } +.#{$fa-css-prefix}-toggle-up:before, +.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; } +.#{$fa-css-prefix}-toggle-right:before, +.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; } +.#{$fa-css-prefix}-euro:before, +.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; } +.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; } +.#{$fa-css-prefix}-dollar:before, +.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; } +.#{$fa-css-prefix}-rupee:before, +.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; } +.#{$fa-css-prefix}-cny:before, +.#{$fa-css-prefix}-rmb:before, +.#{$fa-css-prefix}-yen:before, +.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; } +.#{$fa-css-prefix}-ruble:before, +.#{$fa-css-prefix}-rouble:before, +.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; } +.#{$fa-css-prefix}-won:before, +.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; } +.#{$fa-css-prefix}-bitcoin:before, +.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; } +.#{$fa-css-prefix}-file:before { content: $fa-var-file; } +.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; } +.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; } +.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; } +.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; } +.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; } +.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; } +.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; } +.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; } +.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; } +.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; } +.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; } +.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; } +.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; } +.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; } +.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; } +.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; } +.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; } +.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; } +.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; } +.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; } +.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; } +.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; } +.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; } +.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; } +.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; } +.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; } +.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; } +.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; } +.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; } +.#{$fa-css-prefix}-android:before { content: $fa-var-android; } +.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; } +.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; } +.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; } +.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; } +.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; } +.#{$fa-css-prefix}-female:before { content: $fa-var-female; } +.#{$fa-css-prefix}-male:before { content: $fa-var-male; } +.#{$fa-css-prefix}-gittip:before, +.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; } +.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; } +.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; } +.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; } +.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; } +.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; } +.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; } +.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; } +.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; } +.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; } +.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; } +.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; } +.#{$fa-css-prefix}-toggle-left:before, +.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; } +.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; } +.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; } +.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; } +.#{$fa-css-prefix}-turkish-lira:before, +.#{$fa-css-prefix}-try:before { content: $fa-var-try; } +.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; } +.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; } +.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; } +.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; } +.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; } +.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; } +.#{$fa-css-prefix}-institution:before, +.#{$fa-css-prefix}-bank:before, +.#{$fa-css-prefix}-university:before { content: $fa-var-university; } +.#{$fa-css-prefix}-mortar-board:before, +.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; } +.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; } +.#{$fa-css-prefix}-google:before { content: $fa-var-google; } +.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; } +.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; } +.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; } +.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; } +.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; } +.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; } +.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; } +.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; } +.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; } +.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; } +.#{$fa-css-prefix}-language:before { content: $fa-var-language; } +.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; } +.#{$fa-css-prefix}-building:before { content: $fa-var-building; } +.#{$fa-css-prefix}-child:before { content: $fa-var-child; } +.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; } +.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; } +.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; } +.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; } +.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; } +.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; } +.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; } +.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; } +.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; } +.#{$fa-css-prefix}-automobile:before, +.#{$fa-css-prefix}-car:before { content: $fa-var-car; } +.#{$fa-css-prefix}-cab:before, +.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; } +.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; } +.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; } +.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; } +.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; } +.#{$fa-css-prefix}-database:before { content: $fa-var-database; } +.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; } +.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; } +.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; } +.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; } +.#{$fa-css-prefix}-file-photo-o:before, +.#{$fa-css-prefix}-file-picture-o:before, +.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; } +.#{$fa-css-prefix}-file-zip-o:before, +.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; } +.#{$fa-css-prefix}-file-sound-o:before, +.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; } +.#{$fa-css-prefix}-file-movie-o:before, +.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; } +.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; } +.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; } +.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; } +.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; } +.#{$fa-css-prefix}-life-bouy:before, +.#{$fa-css-prefix}-life-buoy:before, +.#{$fa-css-prefix}-life-saver:before, +.#{$fa-css-prefix}-support:before, +.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; } +.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; } +.#{$fa-css-prefix}-ra:before, +.#{$fa-css-prefix}-resistance:before, +.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; } +.#{$fa-css-prefix}-ge:before, +.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; } +.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; } +.#{$fa-css-prefix}-git:before { content: $fa-var-git; } +.#{$fa-css-prefix}-y-combinator-square:before, +.#{$fa-css-prefix}-yc-square:before, +.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; } +.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; } +.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; } +.#{$fa-css-prefix}-wechat:before, +.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; } +.#{$fa-css-prefix}-send:before, +.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; } +.#{$fa-css-prefix}-send-o:before, +.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; } +.#{$fa-css-prefix}-history:before { content: $fa-var-history; } +.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; } +.#{$fa-css-prefix}-header:before { content: $fa-var-header; } +.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; } +.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; } +.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; } +.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; } +.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; } +.#{$fa-css-prefix}-soccer-ball-o:before, +.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; } +.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; } +.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; } +.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; } +.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; } +.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; } +.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; } +.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; } +.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; } +.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; } +.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; } +.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; } +.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; } +.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; } +.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; } +.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; } +.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; } +.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; } +.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; } +.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; } +.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; } +.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; } +.#{$fa-css-prefix}-at:before { content: $fa-var-at; } +.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; } +.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; } +.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; } +.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; } +.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; } +.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; } +.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; } +.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; } +.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; } +.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; } +.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; } +.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; } +.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; } +.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; } +.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; } +.#{$fa-css-prefix}-shekel:before, +.#{$fa-css-prefix}-sheqel:before, +.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; } +.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; } +.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; } +.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; } +.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; } +.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; } +.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; } +.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; } +.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; } +.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; } +.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; } +.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; } +.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; } +.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; } +.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; } +.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; } +.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; } +.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; } +.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; } +.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; } +.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; } +.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; } +.#{$fa-css-prefix}-intersex:before, +.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; } +.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; } +.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; } +.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; } +.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; } +.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; } +.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; } +.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; } +.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; } +.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; } +.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; } +.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; } +.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; } +.#{$fa-css-prefix}-server:before { content: $fa-var-server; } +.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; } +.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; } +.#{$fa-css-prefix}-hotel:before, +.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; } +.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; } +.#{$fa-css-prefix}-train:before { content: $fa-var-train; } +.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; } +.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; } +.#{$fa-css-prefix}-yc:before, +.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; } +.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; } +.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; } +.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; } +.#{$fa-css-prefix}-battery-4:before, +.#{$fa-css-prefix}-battery:before, +.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; } +.#{$fa-css-prefix}-battery-3:before, +.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; } +.#{$fa-css-prefix}-battery-2:before, +.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; } +.#{$fa-css-prefix}-battery-1:before, +.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; } +.#{$fa-css-prefix}-battery-0:before, +.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; } +.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; } +.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; } +.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; } +.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; } +.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; } +.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; } +.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; } +.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; } +.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; } +.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; } +.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; } +.#{$fa-css-prefix}-hourglass-1:before, +.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; } +.#{$fa-css-prefix}-hourglass-2:before, +.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; } +.#{$fa-css-prefix}-hourglass-3:before, +.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; } +.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; } +.#{$fa-css-prefix}-hand-grab-o:before, +.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; } +.#{$fa-css-prefix}-hand-stop-o:before, +.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; } +.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; } +.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; } +.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; } +.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; } +.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; } +.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; } +.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; } +.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; } +.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; } +.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; } +.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; } +.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; } +.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; } +.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; } +.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; } +.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; } +.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; } +.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; } +.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; } +.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; } +.#{$fa-css-prefix}-tv:before, +.#{$fa-css-prefix}-television:before { content: $fa-var-television; } +.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; } +.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; } +.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; } +.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; } +.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; } +.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; } +.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; } +.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; } +.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; } +.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; } +.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; } +.#{$fa-css-prefix}-map:before { content: $fa-var-map; } +.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; } +.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; } +.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; } +.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; } +.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; } +.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; } +.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; } +.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; } +.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; } +.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; } +.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; } +.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; } +.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; } +.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; } +.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; } +.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; } +.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; } +.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; } +.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; } +.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; } +.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; } +.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; } +.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; } +.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; } +.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; } +.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; } +.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; } +.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; } +.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; } +.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; } +.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; } +.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; } +.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; } +.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; } +.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; } +.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; } +.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; } +.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; } +.#{$fa-css-prefix}-asl-interpreting:before, +.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; } +.#{$fa-css-prefix}-deafness:before, +.#{$fa-css-prefix}-hard-of-hearing:before, +.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; } +.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; } +.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; } +.#{$fa-css-prefix}-signing:before, +.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; } +.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; } +.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; } +.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; } +.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; } +.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; } +.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; } +.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; } +.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; } +.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; } +.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; } +.#{$fa-css-prefix}-google-plus-circle:before, +.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; } +.#{$fa-css-prefix}-fa:before, +.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; } +.#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; } +.#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; } +.#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; } +.#{$fa-css-prefix}-linode:before { content: $fa-var-linode; } +.#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; } +.#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; } +.#{$fa-css-prefix}-vcard:before, +.#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; } +.#{$fa-css-prefix}-vcard-o:before, +.#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; } +.#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; } +.#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; } +.#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; } +.#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; } +.#{$fa-css-prefix}-drivers-license:before, +.#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; } +.#{$fa-css-prefix}-drivers-license-o:before, +.#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; } +.#{$fa-css-prefix}-quora:before { content: $fa-var-quora; } +.#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; } +.#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; } +.#{$fa-css-prefix}-thermometer-4:before, +.#{$fa-css-prefix}-thermometer:before, +.#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; } +.#{$fa-css-prefix}-thermometer-3:before, +.#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; } +.#{$fa-css-prefix}-thermometer-2:before, +.#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; } +.#{$fa-css-prefix}-thermometer-1:before, +.#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; } +.#{$fa-css-prefix}-thermometer-0:before, +.#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; } +.#{$fa-css-prefix}-shower:before { content: $fa-var-shower; } +.#{$fa-css-prefix}-bathtub:before, +.#{$fa-css-prefix}-s15:before, +.#{$fa-css-prefix}-bath:before { content: $fa-var-bath; } +.#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; } +.#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; } +.#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; } +.#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; } +.#{$fa-css-prefix}-times-rectangle:before, +.#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; } +.#{$fa-css-prefix}-times-rectangle-o:before, +.#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; } +.#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; } +.#{$fa-css-prefix}-grav:before { content: $fa-var-grav; } +.#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; } +.#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; } +.#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; } +.#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; } +.#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; } +.#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; } +.#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; } +.#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; } +.#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; } diff --git a/src/main/resources/static/css/font-awesome/scss/_larger.scss b/src/main/resources/static/css/font-awesome/scss/_larger.scss new file mode 100644 index 0000000..41e9a81 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_larger.scss @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.#{$fa-css-prefix}-2x { font-size: 2em; } +.#{$fa-css-prefix}-3x { font-size: 3em; } +.#{$fa-css-prefix}-4x { font-size: 4em; } +.#{$fa-css-prefix}-5x { font-size: 5em; } diff --git a/src/main/resources/static/css/font-awesome/scss/_list.scss b/src/main/resources/static/css/font-awesome/scss/_list.scss new file mode 100644 index 0000000..7d1e4d5 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_list.scss @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + padding-left: 0; + margin-left: $fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.#{$fa-css-prefix}-li { + position: absolute; + left: -$fa-li-width; + width: $fa-li-width; + top: (2em / 14); + text-align: center; + &.#{$fa-css-prefix}-lg { + left: -$fa-li-width + (4em / 14); + } +} diff --git a/src/main/resources/static/css/font-awesome/scss/_mixins.scss b/src/main/resources/static/css/font-awesome/scss/_mixins.scss new file mode 100644 index 0000000..c3bbd57 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_mixins.scss @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +@mixin fa-icon() { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +@mixin fa-icon-rotate($degrees, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; + -webkit-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/src/main/resources/static/css/font-awesome/scss/_path.scss b/src/main/resources/static/css/font-awesome/scss/_path.scss new file mode 100644 index 0000000..bb457c2 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_path.scss @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); + src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), + url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), + url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), + url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), + url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); +// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/src/main/resources/static/css/font-awesome/scss/_rotated-flipped.scss b/src/main/resources/static/css/font-awesome/scss/_rotated-flipped.scss new file mode 100644 index 0000000..a3558fd --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_rotated-flipped.scss @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .#{$fa-css-prefix}-rotate-90, +:root .#{$fa-css-prefix}-rotate-180, +:root .#{$fa-css-prefix}-rotate-270, +:root .#{$fa-css-prefix}-flip-horizontal, +:root .#{$fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/src/main/resources/static/css/font-awesome/scss/_screen-reader.scss b/src/main/resources/static/css/font-awesome/scss/_screen-reader.scss new file mode 100644 index 0000000..637426f --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_screen-reader.scss @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only(); } +.sr-only-focusable { @include sr-only-focusable(); } diff --git a/src/main/resources/static/css/font-awesome/scss/_stacked.scss b/src/main/resources/static/css/font-awesome/scss/_stacked.scss new file mode 100644 index 0000000..aef7403 --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_stacked.scss @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.#{$fa-css-prefix}-stack-1x { line-height: inherit; } +.#{$fa-css-prefix}-stack-2x { font-size: 2em; } +.#{$fa-css-prefix}-inverse { color: $fa-inverse; } diff --git a/src/main/resources/static/css/font-awesome/scss/_variables.scss b/src/main/resources/static/css/font-awesome/scss/_variables.scss new file mode 100644 index 0000000..498fc4a --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/_variables.scss @@ -0,0 +1,800 @@ +// Variables +// -------------------------- + +$fa-font-path: "../fonts" !default; +$fa-font-size-base: 14px !default; +$fa-line-height-base: 1 !default; +//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly +$fa-css-prefix: fa !default; +$fa-version: "4.7.0" !default; +$fa-border-color: #eee !default; +$fa-inverse: #fff !default; +$fa-li-width: (30em / 14) !default; + +$fa-var-500px: "\f26e"; +$fa-var-address-book: "\f2b9"; +$fa-var-address-book-o: "\f2ba"; +$fa-var-address-card: "\f2bb"; +$fa-var-address-card-o: "\f2bc"; +$fa-var-adjust: "\f042"; +$fa-var-adn: "\f170"; +$fa-var-align-center: "\f037"; +$fa-var-align-justify: "\f039"; +$fa-var-align-left: "\f036"; +$fa-var-align-right: "\f038"; +$fa-var-amazon: "\f270"; +$fa-var-ambulance: "\f0f9"; +$fa-var-american-sign-language-interpreting: "\f2a3"; +$fa-var-anchor: "\f13d"; +$fa-var-android: "\f17b"; +$fa-var-angellist: "\f209"; +$fa-var-angle-double-down: "\f103"; +$fa-var-angle-double-left: "\f100"; +$fa-var-angle-double-right: "\f101"; +$fa-var-angle-double-up: "\f102"; +$fa-var-angle-down: "\f107"; +$fa-var-angle-left: "\f104"; +$fa-var-angle-right: "\f105"; +$fa-var-angle-up: "\f106"; +$fa-var-apple: "\f179"; +$fa-var-archive: "\f187"; +$fa-var-area-chart: "\f1fe"; +$fa-var-arrow-circle-down: "\f0ab"; +$fa-var-arrow-circle-left: "\f0a8"; +$fa-var-arrow-circle-o-down: "\f01a"; +$fa-var-arrow-circle-o-left: "\f190"; +$fa-var-arrow-circle-o-right: "\f18e"; +$fa-var-arrow-circle-o-up: "\f01b"; +$fa-var-arrow-circle-right: "\f0a9"; +$fa-var-arrow-circle-up: "\f0aa"; +$fa-var-arrow-down: "\f063"; +$fa-var-arrow-left: "\f060"; +$fa-var-arrow-right: "\f061"; +$fa-var-arrow-up: "\f062"; +$fa-var-arrows: "\f047"; +$fa-var-arrows-alt: "\f0b2"; +$fa-var-arrows-h: "\f07e"; +$fa-var-arrows-v: "\f07d"; +$fa-var-asl-interpreting: "\f2a3"; +$fa-var-assistive-listening-systems: "\f2a2"; +$fa-var-asterisk: "\f069"; +$fa-var-at: "\f1fa"; +$fa-var-audio-description: "\f29e"; +$fa-var-automobile: "\f1b9"; +$fa-var-backward: "\f04a"; +$fa-var-balance-scale: "\f24e"; +$fa-var-ban: "\f05e"; +$fa-var-bandcamp: "\f2d5"; +$fa-var-bank: "\f19c"; +$fa-var-bar-chart: "\f080"; +$fa-var-bar-chart-o: "\f080"; +$fa-var-barcode: "\f02a"; +$fa-var-bars: "\f0c9"; +$fa-var-bath: "\f2cd"; +$fa-var-bathtub: "\f2cd"; +$fa-var-battery: "\f240"; +$fa-var-battery-0: "\f244"; +$fa-var-battery-1: "\f243"; +$fa-var-battery-2: "\f242"; +$fa-var-battery-3: "\f241"; +$fa-var-battery-4: "\f240"; +$fa-var-battery-empty: "\f244"; +$fa-var-battery-full: "\f240"; +$fa-var-battery-half: "\f242"; +$fa-var-battery-quarter: "\f243"; +$fa-var-battery-three-quarters: "\f241"; +$fa-var-bed: "\f236"; +$fa-var-beer: "\f0fc"; +$fa-var-behance: "\f1b4"; +$fa-var-behance-square: "\f1b5"; +$fa-var-bell: "\f0f3"; +$fa-var-bell-o: "\f0a2"; +$fa-var-bell-slash: "\f1f6"; +$fa-var-bell-slash-o: "\f1f7"; +$fa-var-bicycle: "\f206"; +$fa-var-binoculars: "\f1e5"; +$fa-var-birthday-cake: "\f1fd"; +$fa-var-bitbucket: "\f171"; +$fa-var-bitbucket-square: "\f172"; +$fa-var-bitcoin: "\f15a"; +$fa-var-black-tie: "\f27e"; +$fa-var-blind: "\f29d"; +$fa-var-bluetooth: "\f293"; +$fa-var-bluetooth-b: "\f294"; +$fa-var-bold: "\f032"; +$fa-var-bolt: "\f0e7"; +$fa-var-bomb: "\f1e2"; +$fa-var-book: "\f02d"; +$fa-var-bookmark: "\f02e"; +$fa-var-bookmark-o: "\f097"; +$fa-var-braille: "\f2a1"; +$fa-var-briefcase: "\f0b1"; +$fa-var-btc: "\f15a"; +$fa-var-bug: "\f188"; +$fa-var-building: "\f1ad"; +$fa-var-building-o: "\f0f7"; +$fa-var-bullhorn: "\f0a1"; +$fa-var-bullseye: "\f140"; +$fa-var-bus: "\f207"; +$fa-var-buysellads: "\f20d"; +$fa-var-cab: "\f1ba"; +$fa-var-calculator: "\f1ec"; +$fa-var-calendar: "\f073"; +$fa-var-calendar-check-o: "\f274"; +$fa-var-calendar-minus-o: "\f272"; +$fa-var-calendar-o: "\f133"; +$fa-var-calendar-plus-o: "\f271"; +$fa-var-calendar-times-o: "\f273"; +$fa-var-camera: "\f030"; +$fa-var-camera-retro: "\f083"; +$fa-var-car: "\f1b9"; +$fa-var-caret-down: "\f0d7"; +$fa-var-caret-left: "\f0d9"; +$fa-var-caret-right: "\f0da"; +$fa-var-caret-square-o-down: "\f150"; +$fa-var-caret-square-o-left: "\f191"; +$fa-var-caret-square-o-right: "\f152"; +$fa-var-caret-square-o-up: "\f151"; +$fa-var-caret-up: "\f0d8"; +$fa-var-cart-arrow-down: "\f218"; +$fa-var-cart-plus: "\f217"; +$fa-var-cc: "\f20a"; +$fa-var-cc-amex: "\f1f3"; +$fa-var-cc-diners-club: "\f24c"; +$fa-var-cc-discover: "\f1f2"; +$fa-var-cc-jcb: "\f24b"; +$fa-var-cc-mastercard: "\f1f1"; +$fa-var-cc-paypal: "\f1f4"; +$fa-var-cc-stripe: "\f1f5"; +$fa-var-cc-visa: "\f1f0"; +$fa-var-certificate: "\f0a3"; +$fa-var-chain: "\f0c1"; +$fa-var-chain-broken: "\f127"; +$fa-var-check: "\f00c"; +$fa-var-check-circle: "\f058"; +$fa-var-check-circle-o: "\f05d"; +$fa-var-check-square: "\f14a"; +$fa-var-check-square-o: "\f046"; +$fa-var-chevron-circle-down: "\f13a"; +$fa-var-chevron-circle-left: "\f137"; +$fa-var-chevron-circle-right: "\f138"; +$fa-var-chevron-circle-up: "\f139"; +$fa-var-chevron-down: "\f078"; +$fa-var-chevron-left: "\f053"; +$fa-var-chevron-right: "\f054"; +$fa-var-chevron-up: "\f077"; +$fa-var-child: "\f1ae"; +$fa-var-chrome: "\f268"; +$fa-var-circle: "\f111"; +$fa-var-circle-o: "\f10c"; +$fa-var-circle-o-notch: "\f1ce"; +$fa-var-circle-thin: "\f1db"; +$fa-var-clipboard: "\f0ea"; +$fa-var-clock-o: "\f017"; +$fa-var-clone: "\f24d"; +$fa-var-close: "\f00d"; +$fa-var-cloud: "\f0c2"; +$fa-var-cloud-download: "\f0ed"; +$fa-var-cloud-upload: "\f0ee"; +$fa-var-cny: "\f157"; +$fa-var-code: "\f121"; +$fa-var-code-fork: "\f126"; +$fa-var-codepen: "\f1cb"; +$fa-var-codiepie: "\f284"; +$fa-var-coffee: "\f0f4"; +$fa-var-cog: "\f013"; +$fa-var-cogs: "\f085"; +$fa-var-columns: "\f0db"; +$fa-var-comment: "\f075"; +$fa-var-comment-o: "\f0e5"; +$fa-var-commenting: "\f27a"; +$fa-var-commenting-o: "\f27b"; +$fa-var-comments: "\f086"; +$fa-var-comments-o: "\f0e6"; +$fa-var-compass: "\f14e"; +$fa-var-compress: "\f066"; +$fa-var-connectdevelop: "\f20e"; +$fa-var-contao: "\f26d"; +$fa-var-copy: "\f0c5"; +$fa-var-copyright: "\f1f9"; +$fa-var-creative-commons: "\f25e"; +$fa-var-credit-card: "\f09d"; +$fa-var-credit-card-alt: "\f283"; +$fa-var-crop: "\f125"; +$fa-var-crosshairs: "\f05b"; +$fa-var-css3: "\f13c"; +$fa-var-cube: "\f1b2"; +$fa-var-cubes: "\f1b3"; +$fa-var-cut: "\f0c4"; +$fa-var-cutlery: "\f0f5"; +$fa-var-dashboard: "\f0e4"; +$fa-var-dashcube: "\f210"; +$fa-var-database: "\f1c0"; +$fa-var-deaf: "\f2a4"; +$fa-var-deafness: "\f2a4"; +$fa-var-dedent: "\f03b"; +$fa-var-delicious: "\f1a5"; +$fa-var-desktop: "\f108"; +$fa-var-deviantart: "\f1bd"; +$fa-var-diamond: "\f219"; +$fa-var-digg: "\f1a6"; +$fa-var-dollar: "\f155"; +$fa-var-dot-circle-o: "\f192"; +$fa-var-download: "\f019"; +$fa-var-dribbble: "\f17d"; +$fa-var-drivers-license: "\f2c2"; +$fa-var-drivers-license-o: "\f2c3"; +$fa-var-dropbox: "\f16b"; +$fa-var-drupal: "\f1a9"; +$fa-var-edge: "\f282"; +$fa-var-edit: "\f044"; +$fa-var-eercast: "\f2da"; +$fa-var-eject: "\f052"; +$fa-var-ellipsis-h: "\f141"; +$fa-var-ellipsis-v: "\f142"; +$fa-var-empire: "\f1d1"; +$fa-var-envelope: "\f0e0"; +$fa-var-envelope-o: "\f003"; +$fa-var-envelope-open: "\f2b6"; +$fa-var-envelope-open-o: "\f2b7"; +$fa-var-envelope-square: "\f199"; +$fa-var-envira: "\f299"; +$fa-var-eraser: "\f12d"; +$fa-var-etsy: "\f2d7"; +$fa-var-eur: "\f153"; +$fa-var-euro: "\f153"; +$fa-var-exchange: "\f0ec"; +$fa-var-exclamation: "\f12a"; +$fa-var-exclamation-circle: "\f06a"; +$fa-var-exclamation-triangle: "\f071"; +$fa-var-expand: "\f065"; +$fa-var-expeditedssl: "\f23e"; +$fa-var-external-link: "\f08e"; +$fa-var-external-link-square: "\f14c"; +$fa-var-eye: "\f06e"; +$fa-var-eye-slash: "\f070"; +$fa-var-eyedropper: "\f1fb"; +$fa-var-fa: "\f2b4"; +$fa-var-facebook: "\f09a"; +$fa-var-facebook-f: "\f09a"; +$fa-var-facebook-official: "\f230"; +$fa-var-facebook-square: "\f082"; +$fa-var-fast-backward: "\f049"; +$fa-var-fast-forward: "\f050"; +$fa-var-fax: "\f1ac"; +$fa-var-feed: "\f09e"; +$fa-var-female: "\f182"; +$fa-var-fighter-jet: "\f0fb"; +$fa-var-file: "\f15b"; +$fa-var-file-archive-o: "\f1c6"; +$fa-var-file-audio-o: "\f1c7"; +$fa-var-file-code-o: "\f1c9"; +$fa-var-file-excel-o: "\f1c3"; +$fa-var-file-image-o: "\f1c5"; +$fa-var-file-movie-o: "\f1c8"; +$fa-var-file-o: "\f016"; +$fa-var-file-pdf-o: "\f1c1"; +$fa-var-file-photo-o: "\f1c5"; +$fa-var-file-picture-o: "\f1c5"; +$fa-var-file-powerpoint-o: "\f1c4"; +$fa-var-file-sound-o: "\f1c7"; +$fa-var-file-text: "\f15c"; +$fa-var-file-text-o: "\f0f6"; +$fa-var-file-video-o: "\f1c8"; +$fa-var-file-word-o: "\f1c2"; +$fa-var-file-zip-o: "\f1c6"; +$fa-var-files-o: "\f0c5"; +$fa-var-film: "\f008"; +$fa-var-filter: "\f0b0"; +$fa-var-fire: "\f06d"; +$fa-var-fire-extinguisher: "\f134"; +$fa-var-firefox: "\f269"; +$fa-var-first-order: "\f2b0"; +$fa-var-flag: "\f024"; +$fa-var-flag-checkered: "\f11e"; +$fa-var-flag-o: "\f11d"; +$fa-var-flash: "\f0e7"; +$fa-var-flask: "\f0c3"; +$fa-var-flickr: "\f16e"; +$fa-var-floppy-o: "\f0c7"; +$fa-var-folder: "\f07b"; +$fa-var-folder-o: "\f114"; +$fa-var-folder-open: "\f07c"; +$fa-var-folder-open-o: "\f115"; +$fa-var-font: "\f031"; +$fa-var-font-awesome: "\f2b4"; +$fa-var-fonticons: "\f280"; +$fa-var-fort-awesome: "\f286"; +$fa-var-forumbee: "\f211"; +$fa-var-forward: "\f04e"; +$fa-var-foursquare: "\f180"; +$fa-var-free-code-camp: "\f2c5"; +$fa-var-frown-o: "\f119"; +$fa-var-futbol-o: "\f1e3"; +$fa-var-gamepad: "\f11b"; +$fa-var-gavel: "\f0e3"; +$fa-var-gbp: "\f154"; +$fa-var-ge: "\f1d1"; +$fa-var-gear: "\f013"; +$fa-var-gears: "\f085"; +$fa-var-genderless: "\f22d"; +$fa-var-get-pocket: "\f265"; +$fa-var-gg: "\f260"; +$fa-var-gg-circle: "\f261"; +$fa-var-gift: "\f06b"; +$fa-var-git: "\f1d3"; +$fa-var-git-square: "\f1d2"; +$fa-var-github: "\f09b"; +$fa-var-github-alt: "\f113"; +$fa-var-github-square: "\f092"; +$fa-var-gitlab: "\f296"; +$fa-var-gittip: "\f184"; +$fa-var-glass: "\f000"; +$fa-var-glide: "\f2a5"; +$fa-var-glide-g: "\f2a6"; +$fa-var-globe: "\f0ac"; +$fa-var-google: "\f1a0"; +$fa-var-google-plus: "\f0d5"; +$fa-var-google-plus-circle: "\f2b3"; +$fa-var-google-plus-official: "\f2b3"; +$fa-var-google-plus-square: "\f0d4"; +$fa-var-google-wallet: "\f1ee"; +$fa-var-graduation-cap: "\f19d"; +$fa-var-gratipay: "\f184"; +$fa-var-grav: "\f2d6"; +$fa-var-group: "\f0c0"; +$fa-var-h-square: "\f0fd"; +$fa-var-hacker-news: "\f1d4"; +$fa-var-hand-grab-o: "\f255"; +$fa-var-hand-lizard-o: "\f258"; +$fa-var-hand-o-down: "\f0a7"; +$fa-var-hand-o-left: "\f0a5"; +$fa-var-hand-o-right: "\f0a4"; +$fa-var-hand-o-up: "\f0a6"; +$fa-var-hand-paper-o: "\f256"; +$fa-var-hand-peace-o: "\f25b"; +$fa-var-hand-pointer-o: "\f25a"; +$fa-var-hand-rock-o: "\f255"; +$fa-var-hand-scissors-o: "\f257"; +$fa-var-hand-spock-o: "\f259"; +$fa-var-hand-stop-o: "\f256"; +$fa-var-handshake-o: "\f2b5"; +$fa-var-hard-of-hearing: "\f2a4"; +$fa-var-hashtag: "\f292"; +$fa-var-hdd-o: "\f0a0"; +$fa-var-header: "\f1dc"; +$fa-var-headphones: "\f025"; +$fa-var-heart: "\f004"; +$fa-var-heart-o: "\f08a"; +$fa-var-heartbeat: "\f21e"; +$fa-var-history: "\f1da"; +$fa-var-home: "\f015"; +$fa-var-hospital-o: "\f0f8"; +$fa-var-hotel: "\f236"; +$fa-var-hourglass: "\f254"; +$fa-var-hourglass-1: "\f251"; +$fa-var-hourglass-2: "\f252"; +$fa-var-hourglass-3: "\f253"; +$fa-var-hourglass-end: "\f253"; +$fa-var-hourglass-half: "\f252"; +$fa-var-hourglass-o: "\f250"; +$fa-var-hourglass-start: "\f251"; +$fa-var-houzz: "\f27c"; +$fa-var-html5: "\f13b"; +$fa-var-i-cursor: "\f246"; +$fa-var-id-badge: "\f2c1"; +$fa-var-id-card: "\f2c2"; +$fa-var-id-card-o: "\f2c3"; +$fa-var-ils: "\f20b"; +$fa-var-image: "\f03e"; +$fa-var-imdb: "\f2d8"; +$fa-var-inbox: "\f01c"; +$fa-var-indent: "\f03c"; +$fa-var-industry: "\f275"; +$fa-var-info: "\f129"; +$fa-var-info-circle: "\f05a"; +$fa-var-inr: "\f156"; +$fa-var-instagram: "\f16d"; +$fa-var-institution: "\f19c"; +$fa-var-internet-explorer: "\f26b"; +$fa-var-intersex: "\f224"; +$fa-var-ioxhost: "\f208"; +$fa-var-italic: "\f033"; +$fa-var-joomla: "\f1aa"; +$fa-var-jpy: "\f157"; +$fa-var-jsfiddle: "\f1cc"; +$fa-var-key: "\f084"; +$fa-var-keyboard-o: "\f11c"; +$fa-var-krw: "\f159"; +$fa-var-language: "\f1ab"; +$fa-var-laptop: "\f109"; +$fa-var-lastfm: "\f202"; +$fa-var-lastfm-square: "\f203"; +$fa-var-leaf: "\f06c"; +$fa-var-leanpub: "\f212"; +$fa-var-legal: "\f0e3"; +$fa-var-lemon-o: "\f094"; +$fa-var-level-down: "\f149"; +$fa-var-level-up: "\f148"; +$fa-var-life-bouy: "\f1cd"; +$fa-var-life-buoy: "\f1cd"; +$fa-var-life-ring: "\f1cd"; +$fa-var-life-saver: "\f1cd"; +$fa-var-lightbulb-o: "\f0eb"; +$fa-var-line-chart: "\f201"; +$fa-var-link: "\f0c1"; +$fa-var-linkedin: "\f0e1"; +$fa-var-linkedin-square: "\f08c"; +$fa-var-linode: "\f2b8"; +$fa-var-linux: "\f17c"; +$fa-var-list: "\f03a"; +$fa-var-list-alt: "\f022"; +$fa-var-list-ol: "\f0cb"; +$fa-var-list-ul: "\f0ca"; +$fa-var-location-arrow: "\f124"; +$fa-var-lock: "\f023"; +$fa-var-long-arrow-down: "\f175"; +$fa-var-long-arrow-left: "\f177"; +$fa-var-long-arrow-right: "\f178"; +$fa-var-long-arrow-up: "\f176"; +$fa-var-low-vision: "\f2a8"; +$fa-var-magic: "\f0d0"; +$fa-var-magnet: "\f076"; +$fa-var-mail-forward: "\f064"; +$fa-var-mail-reply: "\f112"; +$fa-var-mail-reply-all: "\f122"; +$fa-var-male: "\f183"; +$fa-var-map: "\f279"; +$fa-var-map-marker: "\f041"; +$fa-var-map-o: "\f278"; +$fa-var-map-pin: "\f276"; +$fa-var-map-signs: "\f277"; +$fa-var-mars: "\f222"; +$fa-var-mars-double: "\f227"; +$fa-var-mars-stroke: "\f229"; +$fa-var-mars-stroke-h: "\f22b"; +$fa-var-mars-stroke-v: "\f22a"; +$fa-var-maxcdn: "\f136"; +$fa-var-meanpath: "\f20c"; +$fa-var-medium: "\f23a"; +$fa-var-medkit: "\f0fa"; +$fa-var-meetup: "\f2e0"; +$fa-var-meh-o: "\f11a"; +$fa-var-mercury: "\f223"; +$fa-var-microchip: "\f2db"; +$fa-var-microphone: "\f130"; +$fa-var-microphone-slash: "\f131"; +$fa-var-minus: "\f068"; +$fa-var-minus-circle: "\f056"; +$fa-var-minus-square: "\f146"; +$fa-var-minus-square-o: "\f147"; +$fa-var-mixcloud: "\f289"; +$fa-var-mobile: "\f10b"; +$fa-var-mobile-phone: "\f10b"; +$fa-var-modx: "\f285"; +$fa-var-money: "\f0d6"; +$fa-var-moon-o: "\f186"; +$fa-var-mortar-board: "\f19d"; +$fa-var-motorcycle: "\f21c"; +$fa-var-mouse-pointer: "\f245"; +$fa-var-music: "\f001"; +$fa-var-navicon: "\f0c9"; +$fa-var-neuter: "\f22c"; +$fa-var-newspaper-o: "\f1ea"; +$fa-var-object-group: "\f247"; +$fa-var-object-ungroup: "\f248"; +$fa-var-odnoklassniki: "\f263"; +$fa-var-odnoklassniki-square: "\f264"; +$fa-var-opencart: "\f23d"; +$fa-var-openid: "\f19b"; +$fa-var-opera: "\f26a"; +$fa-var-optin-monster: "\f23c"; +$fa-var-outdent: "\f03b"; +$fa-var-pagelines: "\f18c"; +$fa-var-paint-brush: "\f1fc"; +$fa-var-paper-plane: "\f1d8"; +$fa-var-paper-plane-o: "\f1d9"; +$fa-var-paperclip: "\f0c6"; +$fa-var-paragraph: "\f1dd"; +$fa-var-paste: "\f0ea"; +$fa-var-pause: "\f04c"; +$fa-var-pause-circle: "\f28b"; +$fa-var-pause-circle-o: "\f28c"; +$fa-var-paw: "\f1b0"; +$fa-var-paypal: "\f1ed"; +$fa-var-pencil: "\f040"; +$fa-var-pencil-square: "\f14b"; +$fa-var-pencil-square-o: "\f044"; +$fa-var-percent: "\f295"; +$fa-var-phone: "\f095"; +$fa-var-phone-square: "\f098"; +$fa-var-photo: "\f03e"; +$fa-var-picture-o: "\f03e"; +$fa-var-pie-chart: "\f200"; +$fa-var-pied-piper: "\f2ae"; +$fa-var-pied-piper-alt: "\f1a8"; +$fa-var-pied-piper-pp: "\f1a7"; +$fa-var-pinterest: "\f0d2"; +$fa-var-pinterest-p: "\f231"; +$fa-var-pinterest-square: "\f0d3"; +$fa-var-plane: "\f072"; +$fa-var-play: "\f04b"; +$fa-var-play-circle: "\f144"; +$fa-var-play-circle-o: "\f01d"; +$fa-var-plug: "\f1e6"; +$fa-var-plus: "\f067"; +$fa-var-plus-circle: "\f055"; +$fa-var-plus-square: "\f0fe"; +$fa-var-plus-square-o: "\f196"; +$fa-var-podcast: "\f2ce"; +$fa-var-power-off: "\f011"; +$fa-var-print: "\f02f"; +$fa-var-product-hunt: "\f288"; +$fa-var-puzzle-piece: "\f12e"; +$fa-var-qq: "\f1d6"; +$fa-var-qrcode: "\f029"; +$fa-var-question: "\f128"; +$fa-var-question-circle: "\f059"; +$fa-var-question-circle-o: "\f29c"; +$fa-var-quora: "\f2c4"; +$fa-var-quote-left: "\f10d"; +$fa-var-quote-right: "\f10e"; +$fa-var-ra: "\f1d0"; +$fa-var-random: "\f074"; +$fa-var-ravelry: "\f2d9"; +$fa-var-rebel: "\f1d0"; +$fa-var-recycle: "\f1b8"; +$fa-var-reddit: "\f1a1"; +$fa-var-reddit-alien: "\f281"; +$fa-var-reddit-square: "\f1a2"; +$fa-var-refresh: "\f021"; +$fa-var-registered: "\f25d"; +$fa-var-remove: "\f00d"; +$fa-var-renren: "\f18b"; +$fa-var-reorder: "\f0c9"; +$fa-var-repeat: "\f01e"; +$fa-var-reply: "\f112"; +$fa-var-reply-all: "\f122"; +$fa-var-resistance: "\f1d0"; +$fa-var-retweet: "\f079"; +$fa-var-rmb: "\f157"; +$fa-var-road: "\f018"; +$fa-var-rocket: "\f135"; +$fa-var-rotate-left: "\f0e2"; +$fa-var-rotate-right: "\f01e"; +$fa-var-rouble: "\f158"; +$fa-var-rss: "\f09e"; +$fa-var-rss-square: "\f143"; +$fa-var-rub: "\f158"; +$fa-var-ruble: "\f158"; +$fa-var-rupee: "\f156"; +$fa-var-s15: "\f2cd"; +$fa-var-safari: "\f267"; +$fa-var-save: "\f0c7"; +$fa-var-scissors: "\f0c4"; +$fa-var-scribd: "\f28a"; +$fa-var-search: "\f002"; +$fa-var-search-minus: "\f010"; +$fa-var-search-plus: "\f00e"; +$fa-var-sellsy: "\f213"; +$fa-var-send: "\f1d8"; +$fa-var-send-o: "\f1d9"; +$fa-var-server: "\f233"; +$fa-var-share: "\f064"; +$fa-var-share-alt: "\f1e0"; +$fa-var-share-alt-square: "\f1e1"; +$fa-var-share-square: "\f14d"; +$fa-var-share-square-o: "\f045"; +$fa-var-shekel: "\f20b"; +$fa-var-sheqel: "\f20b"; +$fa-var-shield: "\f132"; +$fa-var-ship: "\f21a"; +$fa-var-shirtsinbulk: "\f214"; +$fa-var-shopping-bag: "\f290"; +$fa-var-shopping-basket: "\f291"; +$fa-var-shopping-cart: "\f07a"; +$fa-var-shower: "\f2cc"; +$fa-var-sign-in: "\f090"; +$fa-var-sign-language: "\f2a7"; +$fa-var-sign-out: "\f08b"; +$fa-var-signal: "\f012"; +$fa-var-signing: "\f2a7"; +$fa-var-simplybuilt: "\f215"; +$fa-var-sitemap: "\f0e8"; +$fa-var-skyatlas: "\f216"; +$fa-var-skype: "\f17e"; +$fa-var-slack: "\f198"; +$fa-var-sliders: "\f1de"; +$fa-var-slideshare: "\f1e7"; +$fa-var-smile-o: "\f118"; +$fa-var-snapchat: "\f2ab"; +$fa-var-snapchat-ghost: "\f2ac"; +$fa-var-snapchat-square: "\f2ad"; +$fa-var-snowflake-o: "\f2dc"; +$fa-var-soccer-ball-o: "\f1e3"; +$fa-var-sort: "\f0dc"; +$fa-var-sort-alpha-asc: "\f15d"; +$fa-var-sort-alpha-desc: "\f15e"; +$fa-var-sort-amount-asc: "\f160"; +$fa-var-sort-amount-desc: "\f161"; +$fa-var-sort-asc: "\f0de"; +$fa-var-sort-desc: "\f0dd"; +$fa-var-sort-down: "\f0dd"; +$fa-var-sort-numeric-asc: "\f162"; +$fa-var-sort-numeric-desc: "\f163"; +$fa-var-sort-up: "\f0de"; +$fa-var-soundcloud: "\f1be"; +$fa-var-space-shuttle: "\f197"; +$fa-var-spinner: "\f110"; +$fa-var-spoon: "\f1b1"; +$fa-var-spotify: "\f1bc"; +$fa-var-square: "\f0c8"; +$fa-var-square-o: "\f096"; +$fa-var-stack-exchange: "\f18d"; +$fa-var-stack-overflow: "\f16c"; +$fa-var-star: "\f005"; +$fa-var-star-half: "\f089"; +$fa-var-star-half-empty: "\f123"; +$fa-var-star-half-full: "\f123"; +$fa-var-star-half-o: "\f123"; +$fa-var-star-o: "\f006"; +$fa-var-steam: "\f1b6"; +$fa-var-steam-square: "\f1b7"; +$fa-var-step-backward: "\f048"; +$fa-var-step-forward: "\f051"; +$fa-var-stethoscope: "\f0f1"; +$fa-var-sticky-note: "\f249"; +$fa-var-sticky-note-o: "\f24a"; +$fa-var-stop: "\f04d"; +$fa-var-stop-circle: "\f28d"; +$fa-var-stop-circle-o: "\f28e"; +$fa-var-street-view: "\f21d"; +$fa-var-strikethrough: "\f0cc"; +$fa-var-stumbleupon: "\f1a4"; +$fa-var-stumbleupon-circle: "\f1a3"; +$fa-var-subscript: "\f12c"; +$fa-var-subway: "\f239"; +$fa-var-suitcase: "\f0f2"; +$fa-var-sun-o: "\f185"; +$fa-var-superpowers: "\f2dd"; +$fa-var-superscript: "\f12b"; +$fa-var-support: "\f1cd"; +$fa-var-table: "\f0ce"; +$fa-var-tablet: "\f10a"; +$fa-var-tachometer: "\f0e4"; +$fa-var-tag: "\f02b"; +$fa-var-tags: "\f02c"; +$fa-var-tasks: "\f0ae"; +$fa-var-taxi: "\f1ba"; +$fa-var-telegram: "\f2c6"; +$fa-var-television: "\f26c"; +$fa-var-tencent-weibo: "\f1d5"; +$fa-var-terminal: "\f120"; +$fa-var-text-height: "\f034"; +$fa-var-text-width: "\f035"; +$fa-var-th: "\f00a"; +$fa-var-th-large: "\f009"; +$fa-var-th-list: "\f00b"; +$fa-var-themeisle: "\f2b2"; +$fa-var-thermometer: "\f2c7"; +$fa-var-thermometer-0: "\f2cb"; +$fa-var-thermometer-1: "\f2ca"; +$fa-var-thermometer-2: "\f2c9"; +$fa-var-thermometer-3: "\f2c8"; +$fa-var-thermometer-4: "\f2c7"; +$fa-var-thermometer-empty: "\f2cb"; +$fa-var-thermometer-full: "\f2c7"; +$fa-var-thermometer-half: "\f2c9"; +$fa-var-thermometer-quarter: "\f2ca"; +$fa-var-thermometer-three-quarters: "\f2c8"; +$fa-var-thumb-tack: "\f08d"; +$fa-var-thumbs-down: "\f165"; +$fa-var-thumbs-o-down: "\f088"; +$fa-var-thumbs-o-up: "\f087"; +$fa-var-thumbs-up: "\f164"; +$fa-var-ticket: "\f145"; +$fa-var-times: "\f00d"; +$fa-var-times-circle: "\f057"; +$fa-var-times-circle-o: "\f05c"; +$fa-var-times-rectangle: "\f2d3"; +$fa-var-times-rectangle-o: "\f2d4"; +$fa-var-tint: "\f043"; +$fa-var-toggle-down: "\f150"; +$fa-var-toggle-left: "\f191"; +$fa-var-toggle-off: "\f204"; +$fa-var-toggle-on: "\f205"; +$fa-var-toggle-right: "\f152"; +$fa-var-toggle-up: "\f151"; +$fa-var-trademark: "\f25c"; +$fa-var-train: "\f238"; +$fa-var-transgender: "\f224"; +$fa-var-transgender-alt: "\f225"; +$fa-var-trash: "\f1f8"; +$fa-var-trash-o: "\f014"; +$fa-var-tree: "\f1bb"; +$fa-var-trello: "\f181"; +$fa-var-tripadvisor: "\f262"; +$fa-var-trophy: "\f091"; +$fa-var-truck: "\f0d1"; +$fa-var-try: "\f195"; +$fa-var-tty: "\f1e4"; +$fa-var-tumblr: "\f173"; +$fa-var-tumblr-square: "\f174"; +$fa-var-turkish-lira: "\f195"; +$fa-var-tv: "\f26c"; +$fa-var-twitch: "\f1e8"; +$fa-var-twitter: "\f099"; +$fa-var-twitter-square: "\f081"; +$fa-var-umbrella: "\f0e9"; +$fa-var-underline: "\f0cd"; +$fa-var-undo: "\f0e2"; +$fa-var-universal-access: "\f29a"; +$fa-var-university: "\f19c"; +$fa-var-unlink: "\f127"; +$fa-var-unlock: "\f09c"; +$fa-var-unlock-alt: "\f13e"; +$fa-var-unsorted: "\f0dc"; +$fa-var-upload: "\f093"; +$fa-var-usb: "\f287"; +$fa-var-usd: "\f155"; +$fa-var-user: "\f007"; +$fa-var-user-circle: "\f2bd"; +$fa-var-user-circle-o: "\f2be"; +$fa-var-user-md: "\f0f0"; +$fa-var-user-o: "\f2c0"; +$fa-var-user-plus: "\f234"; +$fa-var-user-secret: "\f21b"; +$fa-var-user-times: "\f235"; +$fa-var-users: "\f0c0"; +$fa-var-vcard: "\f2bb"; +$fa-var-vcard-o: "\f2bc"; +$fa-var-venus: "\f221"; +$fa-var-venus-double: "\f226"; +$fa-var-venus-mars: "\f228"; +$fa-var-viacoin: "\f237"; +$fa-var-viadeo: "\f2a9"; +$fa-var-viadeo-square: "\f2aa"; +$fa-var-video-camera: "\f03d"; +$fa-var-vimeo: "\f27d"; +$fa-var-vimeo-square: "\f194"; +$fa-var-vine: "\f1ca"; +$fa-var-vk: "\f189"; +$fa-var-volume-control-phone: "\f2a0"; +$fa-var-volume-down: "\f027"; +$fa-var-volume-off: "\f026"; +$fa-var-volume-up: "\f028"; +$fa-var-warning: "\f071"; +$fa-var-wechat: "\f1d7"; +$fa-var-weibo: "\f18a"; +$fa-var-weixin: "\f1d7"; +$fa-var-whatsapp: "\f232"; +$fa-var-wheelchair: "\f193"; +$fa-var-wheelchair-alt: "\f29b"; +$fa-var-wifi: "\f1eb"; +$fa-var-wikipedia-w: "\f266"; +$fa-var-window-close: "\f2d3"; +$fa-var-window-close-o: "\f2d4"; +$fa-var-window-maximize: "\f2d0"; +$fa-var-window-minimize: "\f2d1"; +$fa-var-window-restore: "\f2d2"; +$fa-var-windows: "\f17a"; +$fa-var-won: "\f159"; +$fa-var-wordpress: "\f19a"; +$fa-var-wpbeginner: "\f297"; +$fa-var-wpexplorer: "\f2de"; +$fa-var-wpforms: "\f298"; +$fa-var-wrench: "\f0ad"; +$fa-var-xing: "\f168"; +$fa-var-xing-square: "\f169"; +$fa-var-y-combinator: "\f23b"; +$fa-var-y-combinator-square: "\f1d4"; +$fa-var-yahoo: "\f19e"; +$fa-var-yc: "\f23b"; +$fa-var-yc-square: "\f1d4"; +$fa-var-yelp: "\f1e9"; +$fa-var-yen: "\f157"; +$fa-var-yoast: "\f2b1"; +$fa-var-youtube: "\f167"; +$fa-var-youtube-play: "\f16a"; +$fa-var-youtube-square: "\f166"; + diff --git a/src/main/resources/static/css/font-awesome/scss/font-awesome.scss b/src/main/resources/static/css/font-awesome/scss/font-awesome.scss new file mode 100644 index 0000000..f1c83aa --- /dev/null +++ b/src/main/resources/static/css/font-awesome/scss/font-awesome.scss @@ -0,0 +1,18 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables"; +@import "mixins"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "animated"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; +@import "screen-reader"; diff --git a/src/main/resources/static/css/fonts/PretendardVariable.woff2 b/src/main/resources/static/css/fonts/PretendardVariable.woff2 new file mode 100644 index 0000000..98125be Binary files /dev/null and b/src/main/resources/static/css/fonts/PretendardVariable.woff2 differ diff --git a/src/main/resources/static/css/main.css b/src/main/resources/static/css/main.css new file mode 100644 index 0000000..4f8924a --- /dev/null +++ b/src/main/resources/static/css/main.css @@ -0,0 +1,734 @@ +@charset "utf-8"; + +/* =========================== MAIN VISUAL + */ +#mainVisual { + position:relative; + height:clamp(470px, calc(34.82vw + 303px), 860px); + border-radius:0 0 50px 50px; + overflow:hidden +} +#mainVisual::before { + z-index:2; position:absolute; content:""; inset:0%; + width:100%; height:100%; background-color:rgba(0,0,0,0.3) +} +#mainVisual .main_slider_wrap { width:100%; height:100% } +#mainVisual .MainSwiper { width:100%; height:100% } +#mainVisual .swiper-slide { + height:100%; background-repeat:no-repeat; + background-position:center; background-size:cover +} +#mainVisual .list1 { background-image:url("../img/main/main_vs01.jpg") } +#mainVisual .list2 { background-image:url("../img/main/main_vs02.jpg") } +#mainVisual .list3 { background-image:url("../img/main/main_vs03.jpg") } + +#mainVisual .txt_wrap { + position:absolute; top:0; left:0; + display:flex; flex-direction:column; justify-content:flex-end; + padding-bottom:160px; + padding-left:calc((100% - var(--mainsize))/2); + width:100%; height:100%; z-index:3 +} +#mainVisual .txt_wrap .txt_box { padding-bottom:140px } +.txt_box { + transition: opacity 0.6s ease; +} +.txt_box.is-changing { + opacity: 0; +} + +#mainVisual .txt_wrap .txt_box .sub-tit { + padding-bottom:clamp(8px, 1.25vw, 20px); + font-size:clamp(2.6rem, calc(2.59vw + 1.4rem), 5.5rem); + line-height:1.18; + font-weight:300; + white-space:pre-line; + color:#fff; + word-break:keep-all; + margin-top: -0.5em; +} +#mainVisual .txt_wrap .txt_box .sub-tit b { font-weight:700 } +#mainVisual .txt_wrap .txt_box .main-tit { + font-size:clamp(1.5rem, calc(0.27vw + 1.457rem), 1.8rem); + line-height:1.5; + font-weight:500; + color:var(--primary); + font-family:var(--e-font); + letter-spacing:4pt; + word-break:keep-all; +} +@keyframes txtSlideDown { + from { + opacity: 0; + transform: translateY(-20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +/* 초기 상태 — 애니메이션 전엔 숨김 */ +.txt_box .main-tit, +.txt_box .sub-tit, +.txt_box .visual-btn-wrap { + opacity: 0; +} + +/* animate-in 클래스 붙으면 시간차 실행 */ +.txt_box.animate-in .main-tit { + animation: txtSlideDown 0.7s ease forwards; + animation-delay: 0s; +} +.txt_box.animate-in .sub-tit { + animation: txtSlideDown 0.7s ease forwards; + animation-delay: 0.15s; +} +.txt_box.animate-in .visual-btn-wrap { + animation: txtSlideDown 0.7s ease forwards; + animation-delay: 0.3s; +} + +/* swiper controller */ +#mainVisual .txt_wrap .swiper-controller { + display:flex; align-items:center; + gap:clamp(14px, 1.875vw, 30px) +} +#mainVisual .txt_wrap .swiper-controller .btn-nav { all:unset; cursor:pointer } +#mainVisual .txt_wrap .swiper-controller .btn-nav svg { + stroke:#a9b3b9; transform:translateY(1.5px); transition:stroke 0.2s +} +#mainVisual .txt_wrap .swiper-controller .console-box { + display:flex; align-items:center; gap:clamp(12px, 1.25vw, 20px) +} +#mainVisual .txt_wrap .swiper-controller .console-box span { + font-family:var(--e-font); + font-size:clamp(1.3rem, calc(0.18vw + 1.271rem), 1.5rem); + font-weight:700; color:#fff +} +#mainVisual .txt_wrap .swiper-controller .console-box .swiper-pagination { + position:static; display:flex; align-items:center; gap:10px +} +#mainVisual .txt_wrap .swiper-controller .console-box .swiper-pagination .swiper-pagination-bullet { + width:7px; height:7px; background:#fff; opacity:0.5; + border-radius:100px; transition:all 0.2s +} +#mainVisual .txt_wrap .swiper-controller .console-box .swiper-pagination .swiper-pagination-bullet-active { + width:47px; opacity:1 +} + +/* visual 버튼 */ +.visual-btn-wrap { + display:flex; align-items:center; gap:10px; + margin-top:clamp(28px, 3.125vw, 50px); flex-wrap:wrap; +} +.visual-btn { + display:inline-flex; align-items:center; + gap:clamp(20px, 2.5vw, 40px); + padding:15px clamp(22px, 1.875vw, 30px); + height:clamp(50px, 3.375vw, 54px); + border-radius:100px; + font-family:var(--k-font); + font-size:clamp(1.4rem, calc(0.36vw + 1.224rem), 1.8rem); + font-weight:600; letter-spacing:0.01em; white-space:nowrap; + transition:background-color .25s, color .25s, border-color .25s, transform .2s; +} +.visual-btn.btn-white { + background-color:#fff; + color:var(--navy); + border:2px solid #fff; +} +.visual-btn.btn-primary { + background-color:var(--primary); + color:#fff; + border:2px solid var(--primary); +} +.visual-btn .material-icons-round { + font-size:clamp(1.8rem, 1.25vw, 2rem); + transition:transform .2s; +} + +#mainVisual .scroll-mark { + position:absolute; z-index:3; bottom:0; right:75px; + display:flex; flex-direction:column; align-items:center; gap:14px; + font-family:var(--e-font); + font-size:clamp(1.1rem, calc(0.18vw + 1.071rem), 1.3rem); + font-weight:600; color:#fff +} +#mainVisual .scroll-mark .scroll-text { writing-mode:vertical-lr; letter-spacing:0.08em; } +#mainVisual .scroll-mark .scroll-line { + position:relative; width:1px; height:100px; + background-color:rgba(255,255,255,0.3); + overflow:hidden; +} +#mainVisual .scroll-mark .scroll-bar { + position:absolute; top:0; left:0; width:100%; height:35px; + background:linear-gradient(to bottom, transparent, #fff); + animation:scrollLine 1.8s ease-in-out infinite; +} +@keyframes scrollLine { + 0% { transform:translateY(-35px); opacity:0; } + 20% { opacity:1; } + 80% { opacity:1; } + 100% { transform:translateY(100px); opacity:0; } +} + +@media (hover:hover) { + #mainVisual .txt_wrap .swiper-controller .btn-nav:hover svg { stroke:#fff; } + .visual-btn.btn-white:hover { background-color:transparent; color:#fff; transform:translateY(-2px); } + .visual-btn.btn-primary:hover { background-color:transparent; border-color:#fff; transform:translateY(-2px); } + .visual-btn:hover .material-icons-round { transform:translateX(3px); } +} + +@media (max-width:1600px) { + #mainVisual::before { background-color:rgba(0,0,0,0.5); } + #mainVisual .txt_wrap { + top:50%; transform:translateY(-50%); + justify-content:center; align-items:center; + padding:0 20px; text-align:center; + padding-left:20px + } + #mainVisual .txt_wrap .txt_box { padding-bottom:45px; } + #mainVisual .scroll-mark { + bottom:0; right:20px; transform:translateX(50%); writing-mode:unset; + } + .visual-btn-wrap { + justify-content: center; + } + +} +@media (max-width:768px) { + #mainVisual { border-radius:0; } + #mainVisual .txt_wrap {top:50%; transform: translateY(-45%);} + #mainVisual .txt_wrap .txt_box { padding-bottom:35px; } + #mainVisual .txt_wrap .swiper-controller .console-box .swiper-pagination { gap:8px; } +} +@media (max-width:480px) { + #mainVisual .scroll-mark { display:none; } +} + + +/* =========================== atc01 + */ +#inc01 { + overflow:hidden; + padding-top:clamp(70px, calc(13.22vw - 32px), 180px); +} +#inc01 .group-cont { + display:flex; flex-direction:column; + gap:clamp(20px, 2.8125vw, 45px); +} +#inc01 .tab-menu { + display:flex; align-items:center; justify-content:center; + gap:clamp(20px, 3.125vw, 50px); +} +#inc01 .tab-menu li { + font-size:clamp(1.4rem, calc(0.98vw + 0.93rem), 2.5rem); + font-weight:700; color:#ccc; word-break:keep-all; cursor:pointer; +} +#inc01 .full-w { display:flex; width:100% } +#inc01 .tab-cont { display:flex; gap:clamp(12px, 1.75vw, 28px) } +#inc01 .tab-cont li { + position:relative; + display:flex; + flex-direction:column; + align-items:center; + justify-content:center; + width:222px; + height:clamp(400px, calc(20vw + 157px), 523px); + border-radius:20px; overflow:hidden; + transition:width 0.8s; + cursor:pointer; +} +#inc01 .tab-cont li .text-box { + opacity:0; + visibility:hidden; + position:relative; + z-index:2; + display:flex; + flex-direction:column; + align-items:center; + gap:clamp(12px, 1.875vw, 30px); + padding:0 15px; + text-align:center; + color:#fff; + transition:opacity 0.15s ease, visibility 0s 0.15s +} +#inc01 .tab-cont li .text-box h3 { + font-size:clamp(1.6rem, calc(0.8vw + 1.2rem), 2.5rem); + font-weight:700; + line-height:1.4; + white-space:pre-line; + word-break:keep-all; +} +#inc01 .tab-cont li .text-box .tag-wrap { + display:flex; + align-items:center; + justify-content:center; + gap:7px; + flex-wrap:wrap; +} +#inc01 .tab-cont li .text-box .tag-wrap span { + display:flex; + align-items:center; + justify-content:center; + font-size:clamp(1.3rem, calc(0.27vw + 1.27rem), 1.6rem); + font-weight:700; + padding:clamp(5px, 0.625vw, 10px) clamp(10px, 0.8125vw, 13px); + background:rgba(255,255,255,0.15); + border-radius:100px; + word-break:keep-all; +} +#inc01 .tab-cont li .bg { + position:absolute; + width:100%; + height:100%; + top:0; + left:0; +} +#inc01 .tab-cont li .bg::before { + opacity:0; + visibility:hidden; + z-index:1; + position:absolute; + content:''; + inset:0%; + width:100%; + height:100%; + background-color:rgba(22,54,105,0.5); + transition:opacity 0.15s ease, visibility 0s 0.15s; +} +#inc01 .tab-cont li .bg img { + width:100%; + height:100%; + object-fit:cover; + transform:scale(1); + transition:transform 0.8s ease; +} + +/* active */ +#inc01 .tab-menu li.active { color:#111; } +#inc01 .tab-cont li.active { width:1000px; } +#inc01 .tab-cont li.active .text-box { + opacity:1; + visibility:visible; + transition:opacity 0.35s 0.5s ease, visibility 0s 0.5s; +} +#inc01 .tab-cont li.active .bg::before { + opacity:1; + visibility:visible; + transition:opacity 0.35s 0.3s ease, visibility 0s 0.3s; +} +#inc01 .tab-cont li.active .bg img { transform:scale(1.5); } + +@media (max-width:1600px) { + #inc01 { padding-left:20px; padding-right:20px } + #inc01 .tab-cont li.active { width:clamp(870px, 62.5vw, 1000px); } +} +@media (max-width:1400px) { + #inc01 .tab-cont li.active { + width:clamp(710px, calc((100vw - 1200px) * (140/140) + 710px), 850px); + } + #inc01 .tab-cont li:not(.active) { flex-shrink:0; } +} +@media (max-width:1200px) { + #inc01 .tab-cont li.active { + width:clamp(610px, calc((100vw - 1024px) * (150/150) + 610px), 760px) + } + #inc01 .tab-cont li { width:180px; border-radius:15px; } +} +@media (max-width:1024px) { + #inc01 .tab-menu { + display:grid; + grid-template-columns:repeat(3,1fr); gap:6px 0; + } + #inc01 .tab-menu li { + display:flex; + align-items:center; + justify-content:center; + width:100%; + height:100%; + padding:14px; + text-align:center; + border-radius:5px + } + #inc01 .tab-menu li.active { background-color:var(--primary); color:#fff; } + #inc01 .tab-cont { width:100% } + #inc01 .tab-cont li { + flex-shrink:0 !important; width:100%; + height:clamp(300px, calc(11.03vw + 247px), 360px); + border-radius:10px; cursor:default; + } + #inc01 .tab-cont li.active { width:100%; } +} +@media (max-width:480px) { + #inc01 .tab-menu li { padding:10px; } + #inc01 .tab-cont li .bg::before { background-color:rgba(0,0,0,0.5); } +} + + +/* =========================== atc02 + * mask font: 50px → 26px | clamp(2.6rem, calc(2.14vw + 1.6rem), 5rem) + */ +#inc02 .inner { height:250vh; } +#inc02 .sticky-container { + position:sticky; top:0; height:100vh; + display:flex; align-items:center; justify-content:center; +} +#inc02 h2 { text-align:center } +#inc02 .mask { + font-size:clamp(2.6rem, calc(2.14vw + 1.6rem), 5rem); + font-weight:700; line-height:1.5; + white-space:pre-line; word-break:keep-all; + background-clip:text; background-repeat:no-repeat; + background-size:0% 100%; + color:rgba(0,0,0,0.15); + background-image:linear-gradient(to right, var(--primary), var(--primary)); +} +@media (max-width:1024px) { + #inc02 .sticky-container { padding:0 20px; } +} +@media (max-width:480px) { + #inc02 .mask { line-height:1.3; } +} + + +/* =========================== atc03 + * card-title: 20px → 16px | clamp(1.6rem, calc(0.36vw + 1.43rem), 2rem) + * marquee: 100px → 28px | clamp(2.8rem, calc(6.43vw - 0.3rem), 10rem) + */ +#inc03 { + background:var(--bg); + padding:clamp(70px, calc(12.62vw - 27px), 175px) 0 0; +} +#inc03 .inner { + display:flex; + justify-content:space-between; + align-items:flex-end; + padding:0 clamp(20px, 1.25vw, 20px) clamp(30px, 5vw, 80px); + max-width:var(--mainsize); + margin:0 auto; +} +#inc03 .group-title { + align-items:flex-start !important; + text-align:left !important; + padding-bottom:0 !important; +} +#inc03 .swiper-navigation { display:flex; align-items:center; gap:10px } +#inc03 .swiper-navigation button { + all:unset; + display:flex; + align-items:center; + justify-content:center; + width:clamp(45px, 3.25vw, 52px); + height:clamp(45px, 3.25vw, 52px); + border-radius:100px; background-color:#fff; color:var(--primary); + transition:background-color 0.2s, border-color 0.2s; cursor:pointer; +} +#inc03 .swiper-navigation button svg { transition:stroke 0.2s } +#inc03 .swiper-navigation .btn-detail { + display:inline-flex; + align-items:center; + gap:10px; + margin-left:6px; + height:clamp(45px, 3.25vw, 52px); + padding:0 clamp(16px, 1.5vw, 24px); + border-radius:100px; + background:#fff; + color:var(--navy); + font-size:clamp(1.5rem, calc(0.27vw + 1.457rem), 1.8rem); + font-weight:600; + white-space:nowrap; + border:none; + transition:background-color 0.2s, color 0.2s, transform 0.2s; +} +#inc03 .swiper-navigation a { + font-size:1.5rem; + font-weight:600; + color:#111; + white-space:nowrap; +} +#inc03 .group-cont { + margin-left:max(1px, calc((100% - var(--mainsize)) / 2)); +} + +/* 슬라이드 카드 */ +#inc03 .group-cont .swiper-slide { width:460px; } +#inc03 .group-cont .swiper-slide .thumb-box { + position:relative; + width:100%; + height:clamp(200px, calc(11.54vw + 136px), 350px); + border-radius:20px; + overflow:hidden; +} +#inc03 .group-cont .swiper-slide .thumb-box a { display:block; width:100%; height:100% } +#inc03 .group-cont .swiper-slide .thumb-box img { + width:100%; + height:100%; + object-fit:cover; + transition:transform 0.3s ease; +} +#inc03 .group-cont .swiper-slide .thumb-box .overlay { + position:absolute; + inset:0; + display:flex; + align-items:center; + justify-content:center; + pointer-events:none; + background:rgba(0,0,0,0); + transition:background 0.35s ease +} +#inc03 .group-cont .swiper-slide .thumb-box .btn-plus { + display:flex; + align-items:center; + justify-content:center; + width:64px; + height:64px; + border-radius:50%; + background:rgba(255,255,255,0.3); + backdrop-filter:blur(6px); + -webkit-backdrop-filter:blur(6px); + color:#fff; + font-size:3.2rem; + font-weight:300; + line-height:1; + transform:scale(0); transition:transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1); +} +#inc03 .group-cont .swiper-slide .card-title { + margin-top:clamp(16px, 1.5vw, 24px); + padding:0 10px; + font-size:clamp(1.6rem, calc(0.36vw + 1.43rem), 2rem); + font-weight:600; + font-family:var(--k-font); + color:#222; + white-space:nowrap; + overflow:hidden; + text-overflow:ellipsis; +} + +@media (hover:hover) { + #inc03 .swiper-navigation button:hover { background-color:var(--primary); border-color:var(--primary) } + #inc03 .swiper-navigation button:hover svg { stroke:#fff } + #inc03 .swiper-navigation .btn-detail:hover { background-color:var(--primary); color:#fff; transform:translateY(-2px) } + #inc03 .group-cont .swiper-slide .thumb-box:hover .overlay { opacity:1; background:rgba(0,0,0,0.18) } + #inc03 .group-cont .swiper-slide .thumb-box:hover .btn-plus { transform:scale(1) } +} + +/* 마퀴 */ +#inc03 .inc03_in { overflow:hidden; margin-top:clamp(40px, 10.625vw, 170px); } +#inc03 .inc03_in .marquee { --x:-3450px; } +#inc03 .inc03_in .marquee ul { + display:flex; + gap:clamp(24px, 3.125vw, 50px); + animation:inc03Marquee 25s linear infinite; +} +#inc03 .inc03_in .marquee ul li { + font-family:var(--e-font); + font-size:clamp(2.8rem, calc(6.43vw - 0.3rem), 10rem); + line-height:.7; + font-weight:700; + color:#E7F0FA; + text-transform:uppercase; + white-space:nowrap; +} +@keyframes inc03Marquee { + 0% { transform:translateX(0) } + 100% { transform:translateX(var(--x)) } +} + +@media (max-width:1600px) { + #inc03 .group-cont { padding-left:20px; } + #inc03 .group-cont .swiper-slide { width:520px; } +} +@media (max-width:1400px) { + #inc03 .group-cont .swiper-slide { width:460px; } +} +@media (max-width:1024px) { + #inc03 .inner { flex-direction:column; align-items:center; gap:20px; } + #inc03 .group-title { align-items:center !important; text-align:center !important } + #inc03 .inc03_in .marquee { --x:-1345.5px } + #inc03 .group-cont .swiper-slide { width:auto } + #inc03 .group-cont .swiper-slide .thumb-box { border-radius:10px } +} +@media (max-width:768px) { + #inc03 .group-cont { padding:0 20px } + #inc03 .inc03_in .marquee { --x:-1027.5px } +} +@media (max-width:600px) { + #inc03 .group-cont { padding:0 } +} +@media (max-width:480px) { + #inc03 .inc03_in .marquee { --x:-905px } +} +@media (max-width:390px) { + #inc03 .swiper-navigation { gap:5px } +} + + +/* =========================== atc04 + */ +#inc04 { + padding:clamp(70px, calc(12.02vw - 22px), 170px) 0; + background:url('../img/main/inc04/inc04_bg.png') center bottom; + background-size:cover +} +#inc04 .inner { max-width:var(--mainsize); margin:0 auto; padding:0 20px } + +#inc04 .inc04-grid { + display:grid; + grid-template-columns:1fr 1fr 1fr 300px; + grid-template-rows:auto auto; + gap:clamp(10px, 1vw, 16px) +} + +#inc04 .card-business { grid-column:1/4; grid-row:1 } +#inc04 .card-contact { grid-column:4; grid-row:1/3 } +#inc04 .card-sm:nth-of-type(3) { grid-column:1; grid-row:2 } +#inc04 .card-sm:nth-of-type(4) { grid-column:2; grid-row:2 } +#inc04 .card-sm:nth-of-type(5) { grid-column:3; grid-row:2 } + +#inc04 .inc04-card { + position:relative; border-radius:20px; overflow:hidden; + background:rgba(255,255,255,0.5); border:1px solid var(--bd-color); + transition:all .3s +} +#inc04 .inc04-card a { display:block } + +#inc04 .card-business { + display:flex; align-items:top; + gap:clamp(20px, 7.5vw, 120px); + padding:clamp(24px, calc(2.32vw + 16px), 50px) clamp(22px, calc(1.6vw + 16px), 40px) +} +#inc04 .business-left { + display:flex; flex-direction:column; align-items:flex-start; + gap:clamp(16px, 2.5vw, 40px); padding-top:10px; flex-shrink:0 +} +#inc04 .business-left .card-tit { + font-size:clamp(1.9rem, calc(0.54vw + 1.6rem), 2.5rem); + font-weight:700; color:var(--dark); white-space:nowrap +} +#inc04 .business-left .btn-plus { + display:flex; align-items:center; justify-content:center; + background-color:#E6F3FF; + width:clamp(40px, 3.25vw, 52px); + height:clamp(40px, 3.25vw, 52px); + border-radius:100px; color:var(--primary); + transition:all 0.2s; +} +#inc04 .business-list { + display:flex; flex-direction:column; flex:1; min-width:0; width:100% +} +#inc04 .business-list li a { + display:flex; align-items:center; justify-content:space-between; + gap:20px; color:#444; padding:10px 0; transition:opacity 0.2s +} +#inc04 .business-list li .b-tit { + font-size:clamp(1.4rem, calc(0.36vw + 1.22rem), 1.8rem); + font-weight:400; color:var(--cont1); + white-space:nowrap; overflow:hidden; text-overflow:ellipsis; + transition:color 0.2s +} +#inc04 .business-list li .b-date { + font-family:var(--k-font); + font-size:clamp(1.3rem, calc(0.27vw + 1.257rem), 1.6rem); + color:#888; flex-shrink:0 +} + +#inc04 .card-contact { + position:relative; display:flex; flex-direction:column; + justify-content:space-between; + padding:clamp(24px, 2.375vw, 38px) clamp(20px, 1.875vw, 30px) 0; + background:var(--navy) url('../img/main/inc04/contact_bg.png') right bottom no-repeat; + overflow:hidden +} +#inc04 .contact-label { + display:block; + font-size:clamp(1.8rem, calc(0.63vw + 1.7rem), 2.5rem); + font-weight:500; color:rgba(255,255,255,0.65); padding-bottom:12px +} +#inc04 .contact-tel { + display:block; font-family:var(--e-font); + font-size:clamp(2.6rem, calc(2.14vw + 1.475rem), 5rem); + font-weight:700; color:#fff; line-height:1.1; + padding-bottom:18px; letter-spacing:-0.5px +} +#inc04 .contact-info { + font-size:clamp(1.5rem, calc(0.27vw + 1.457rem), 1.8rem); + font-weight:400; color:rgba(255,255,255,0.5); line-height:1.7 +} +#inc04 .contact-mascot { display:flex; justify-content:end; margin-top:auto } +#inc04 .contact-mascot img { + width:100%; max-width:186px; display:block; object-fit:contain +} + +#inc04 .card-sm { + position:relative; display:flex; flex-direction:column; + justify-content:space-between; + padding:clamp(30px, 2.5vw, 40px) 0 0 clamp(30px, 2.5vw, 40px); + min-height:190px; overflow:hidden +} +#inc04 .card-white { background:rgba(255,255,255,.5) } +#inc04 .sm-card-inner { position:relative; z-index:1 } +#inc04 .sm-card-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:14px } +#inc04 .card-sm .card-tit { font-size:clamp(1.9rem, calc(0.54vw + 1.6rem), 2.5rem); } +#inc04 .card-white .card-tit { color:var(--dark); font-weight:800 } +#inc04 .btn-arrow { + display:flex; align-items:center; justify-content:center; + width:32px; height:32px; color:#888; transition:color 0.2s, transform 0.2s; flex-shrink:0 +} +#inc04 .card-white .btn-arrow { color:#aaa } +#inc04 .btn-arrow .material-icons-round { font-size:2.2rem } +#inc04 .sm-desc { + font-size:clamp(1.5rem, calc(0.27vw + 1.457rem), 1.8rem); /* 15px~18px */ + font-weight:400; color:var(--cont2); line-height:1.6; word-break:keep-all +} +#inc04 .card-white .sm-desc { color:var(--cont2) } +#inc04 .sm-icon { display:flex; justify-content:flex-end; align-items:flex-end; margin-top:auto } +#inc04 .sm-icon img { width:145px; height:145px; object-fit:contain } + +@media (hover:hover) { + #inc04 .btn-plus:hover { background-color:var(--primary); color:#fff } + #inc04 .business-list li a:hover .b-tit { color:var(--primary) } + #inc04 .business-left .btn-plus:hover { background-color:var(--primary); color:#fff } + #inc04 .inc04-card:hover { border:1px solid var(--primary) } +} + +@media (max-width:1600px) { + #inc04 .inc04-grid { grid-template-columns:1fr 1fr 1fr 260px } +} +@media (max-width:1200px) { + #inc04 .inc04-grid { + grid-template-columns:1fr 1fr 220px; + grid-template-rows:auto auto auto + } + #inc04 .card-business { grid-column:1/3; grid-row:1 } + #inc04 .card-contact { grid-column:3; grid-row:1/4 } + #inc04 .card-sm:nth-of-type(3) { grid-column:1; grid-row:2 } + #inc04 .card-sm:nth-of-type(4) { grid-column:2; grid-row:2 } + #inc04 .card-sm:nth-of-type(5) { grid-column:1/3; grid-row:3 } +} +@media (max-width:1024px) { + #inc04 .inc04-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto auto auto } + #inc04 .card-business { flex-direction:column; align-items:flex-start; gap:20px } + #inc04 .business-left { flex-direction:row; align-items:center; gap:16px } + #inc04 .card-contact { + grid-column:1/3; grid-row:2; + flex-direction:row; align-items:center; + padding:30px 36px; min-height:160px + } + #inc04 .contact-mascot { margin-top:0; margin-left:auto } + #inc04 .contact-mascot img { max-width:120px } + #inc04 .card-sm:nth-of-type(3) { grid-column:1; grid-row:3 } + #inc04 .card-sm:nth-of-type(4) { grid-column:2; grid-row:3 } + #inc04 .card-sm:nth-of-type(5) { grid-column:1/3; grid-row:4 } + #inc04 .sm-icon img { width:100px; height:100px } +} +@media (max-width:480px) { + #inc04 .inc04-grid { grid-template-columns:1fr } + #inc04 .card-business { grid-column:1 } + #inc04 .card-contact { grid-column:1; grid-row:auto; flex-direction:column; align-items:flex-start } + #inc04 .card-sm:nth-of-type(3), + #inc04 .card-sm:nth-of-type(4), + #inc04 .card-sm:nth-of-type(5) { grid-column:1; grid-row:auto } + #inc04 .contact-mascot img { max-width:100px } +} \ No newline at end of file diff --git a/src/main/resources/static/css/style.css b/src/main/resources/static/css/style.css new file mode 100644 index 0000000..efb2d2c --- /dev/null +++ b/src/main/resources/static/css/style.css @@ -0,0 +1,38 @@ +/* owrawww - base styles */ +*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } + +body { font-family: 'Noto Sans KR', sans-serif; background: #f5f5f5; color: #333; } + +/* nav */ +header nav { + display: flex; align-items: center; justify-content: space-between; + padding: 12px 24px; background: #1e3a5f; color: #fff; +} +header nav a { color: #fff; text-decoration: none; margin-left: 12px; } + +/* main */ +main { max-width: 960px; margin: 40px auto; padding: 0 16px; } + +/* login */ +.login-wrap { + max-width: 400px; margin: 80px auto; background: #fff; + padding: 40px; border-radius: 8px; box-shadow: 0 2px 12px rgba(0,0,0,.1); +} +.login-wrap h2 { margin-bottom: 24px; text-align: center; } +.form-group { margin-bottom: 16px; } +.form-group label { display: block; margin-bottom: 4px; font-weight: 600; } +.form-group input { + width: 100%; padding: 10px 12px; border: 1px solid #ccc; + border-radius: 4px; font-size: 14px; +} +button[type=submit] { + width: 100%; padding: 12px; background: #1e3a5f; color: #fff; + border: none; border-radius: 4px; font-size: 16px; cursor: pointer; + margin-top: 8px; +} +button[type=submit]:hover { background: #16304f; } + +/* alerts */ +.alert { padding: 10px 14px; border-radius: 4px; margin-bottom: 16px; font-size: 14px; } +.alert-error { background: #fde8e8; color: #c0392b; } +.alert-info { background: #e8f4fd; color: #2980b9; } diff --git a/src/main/resources/static/css/sub.css b/src/main/resources/static/css/sub.css new file mode 100644 index 0000000..dc2b483 --- /dev/null +++ b/src/main/resources/static/css/sub.css @@ -0,0 +1,4041 @@ +@charset "utf-8"; +/* ========================== + * SUB HEADER + * ========================== */ +#hd.sub { position: absolute !important } + +@media (max-width: 480px) { + #hd.sub { position: relative !important } +} +/* ========================== + * SUB VISUAL + * ========================== */ +#sub_visual { + position: relative; + height: clamp(240px, calc(43.27vw - 92.3px), 600px); +} +#sub_visual::before { + position: absolute; + content: ""; + inset: 0; + background-color: rgba(0, 0, 0, 0.45); + z-index: 1; +} +#sub_visual .sub-bg { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + background-repeat: no-repeat; + background-position: center; +} +/* 페이지별 배경 이미지 */ +.sub-bg.bg-company { background: url('../img/sub/subtop_company.png') center / cover no-repeat } +.sub-bg.bg-vision { background: url('../img/sub/subtop_vision.png') center / cover no-repeat } +.sub-bg.bg-history { background: url('../img/sub/subtop_history.png') center / cover no-repeat } +.sub-bg.bg-organ { background: url('../img/sub/subtop_organ.png') center / cover no-repeat } +.sub-bg.bg-location { background: url('../img/sub/subtop_location.png') center / cover no-repeat } +.sub-bg.bg-business { background: url('../img/sub/subtop_business.png') center / cover no-repeat } +.sub-bg.bg-pg { background: url('../img/sub/subtop_pg.png') center / cover no-repeat } +.sub-bg.bg-prepay { background: url('../img/sub/subtop_prepay.png') center / cover no-repeat } +.sub-bg.bg-pay { background: url('../img/sub/subtop_pay.png') center / cover no-repeat } +.sub-bg.bg-shop { background: url('../img/sub/subtop_shop.png') center / cover no-repeat } +.sub-bg.bg-b2b { background: url('../img/sub/subtop_b2b.png') center / cover no-repeat } +.sub-bg.bg-status { background: url('../img/sub/subtop_status.png') center / cover no-repeat } +.sub-bg.bg-talent { background: url('../img/sub/subtop_talent.png') center / cover no-repeat } +.sub-bg.bg-benefits { background: url('../img/sub/subtop_benefits.png') center / cover no-repeat } +.sub-bg.bg-employ { background: url('../img/sub/subtop_employ.png') center / cover no-repeat } +.sub-bg.bg-press { background: url('../img/sub/subtop_press.png') center / cover no-repeat } +.sub-bg.bg-news { background: url('../img/sub/subtop_news.png') center / cover no-repeat } +.sub-bg.bg-inquiry { background: url('../img/sub/subtop_inquiry.png') center / cover no-repeat } +#sub_visual .sub-tit-wrap { + position: absolute; + inset: 0; + z-index: 2; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + animation: subTitDown 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; +} +@keyframes subTitDown { + 0% { opacity: 0; transform: translateY(-30px) } + 100% { opacity: 1; transform: translateY(0) } +} +#sub_visual .sub-tit { + font-size: clamp(2.8rem, calc(2.14vw + 1.8rem), 5.5rem); + font-weight: 700; + color: #fff; + line-height: 1.2; + letter-spacing: -0.02em; + word-break: keep-all; + padding-bottom: clamp(8px, 0.75vw, 14px); +} +#sub_visual .sub-desc { + font-size: clamp(1.6rem, calc(0.36vw + 1.23rem), 2rem); + font-weight: 400; + color: rgba(255, 255, 255, 0.75); + line-height: 1.5; + word-break: keep-all; +} +@media (max-width: 480px) { + #sub_visual::before { background-color: rgba(0, 0, 0, 0.55) } +} +/* ========================== + * SUB BREADCRUMB + * ========================== */ +#sub_breadcrumb { + position: absolute; + width: 100%; + bottom: 0; + z-index: 10; + border-top: 1px solid rgba(255, 255, 255, 0.2); +} +#sub_breadcrumb .inner { + display: flex; + align-items: center; + justify-content: center; + max-width: var(--mainsize); + margin: 0 auto; + padding: 0 20px; + height: clamp(50px, calc(2.64vw + 29.73px), 72px); +} +#sub_breadcrumb .breadcrumb { + display: flex; + align-items: center; + justify-content: center; + gap: 0; + list-style: none; + margin: 0; + padding: 0; +} +#sub_breadcrumb .breadcrumb > li { + position: relative; + display: flex; + align-items: center; +} +#sub_breadcrumb .breadcrumb > li + li::before { + content: '·'; + display: inline-block; + margin: 0 clamp(10px, 1vw, 30px); + color: rgba(255, 255, 255, 0.5); + font-size: 1.8rem; + line-height: 1; +} +#sub_breadcrumb .bc-home { + display: flex; + align-items: center; + justify-content: center; + color: #888; + transition: color 0.2s; + text-decoration: none !important; +} +#sub_breadcrumb .bc-home svg { width: 16px; height: 16px; flex-shrink: 0 } +/* depth 버튼 공통 */ +#sub_breadcrumb .bc-btn { + display: flex; + align-items: center; + gap: 10px; + background: none; + border: none; + padding: 0; + cursor: pointer; + font-family: var(--k-font); + font-size: clamp(1.6rem, calc(0.18vw + 1.27rem), 1.8rem); + font-weight: 500; + color: #fff; + white-space: nowrap; + transition: color 0.2s; +} +#sub_breadcrumb .bc-btn .bc-arrow { + display: flex; + align-items: center; + color: #aaa; + transition: transform 0.25s, color 0.2s; +} +#sub_breadcrumb .bc-btn .bc-arrow img { width: 14px; height: 14px } +#sub_breadcrumb .bc-item.open .bc-arrow { transform: rotate(180deg) } +#sub_breadcrumb .bc-dropdown { + display: none; + opacity: 0; + transform: translateY(-6px); + position: absolute; + top: calc(100% + 8px); + left: -14px; + z-index: 100; + min-width: 160px; + background: #fff; + border: 1px solid var(--bd-color); + border-radius: 10px; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); + padding: 6px 0; + list-style: none; + margin: 0; + transition: opacity 0.2s ease, transform 0.2s ease; +} +#sub_breadcrumb .bc-dropdown.show { + display: block; + opacity: 1; + transform: translateY(0); +} +#sub_breadcrumb .bc-dropdown li a { + display: block; + padding: 9px 18px; + font-size: 1.6rem; + font-weight: 400; + color: #555; + transition: background-color 0.15s, color 0.15s; + white-space: nowrap; +} + +#sub_breadcrumb .bc-dropdown li a:hover, +#sub_breadcrumb .bc-dropdown li.active a { + background-color: var(--bg); + color: var(--primary); + font-weight: 600; +} +@media (max-width: 480px) { + #sub_breadcrumb .bc-dropdown { min-width: 130px } +} + +/* ========================== + * SUB CONTENT 공통 + * ========================== */ +.sub_content { + position: relative; + z-index: 0; +} +.sub_content .sub-section { + padding: clamp(6rem, calc(7.21vw + 0.46rem), 12rem) 0 + clamp(10rem, calc(12.02vw + 7.69px), 20rem); +} +.sub_content .sub-section2 { + padding: clamp(5rem, calc(6.01vw + 3.85px), 10rem) 0 0; +} + +.sub_content .sub-inner { + max-width: var(--mainsize); + margin: 0 auto; + padding: 0 20px; +} +.sub_content .blue-bg { + background: var(--bg); + padding: clamp(6rem, calc(4.81vw + 2.31rem), 10rem) 0; +} +.pb-10 { + padding-bottom: clamp(5rem, calc(6.01vw + 3.85px), 10rem) !important; +} +.pb-20 { + padding-bottom: clamp(10rem, calc(12.02vw + 7.69px), 20rem) !important; +} +.mb-10 { + margin-bottom: clamp(5rem, calc(6.01vw + 3.85px), 10rem); +} +.mb-20 { + margin-bottom: clamp(10rem, calc(12.02vw + 7.69px), 20rem); +} +.mt-10 { + margin-top: clamp(5rem, calc(6.01vw + 3.85px), 10rem); +} +.pd-10 { + padding: 10rem 0; +} +.sm-text { + font-size: clamp(1.4rem, calc(0.54vw + 1.5rem), 1.6rem) !important; + padding-top:2rem; + color:var(--cont1); + font-weight: 400; +} +.sub_content .sub-block-title { + font-size: clamp(1.5rem, calc(0.27vw + 1.457rem), 1.8rem); + font-weight: 700; + color: var(--primary); + padding-bottom: clamp(14px, 1.5vw, 24px); + border-bottom: 1px solid var(--bd-color); + margin-bottom: clamp(24px, 2.5vw, 40px); +} +.sub_content .sub-h2 { + font-size: clamp(2.2rem, calc(1.43vw + 1.514rem), 3.4rem); + font-weight: 700; + color: var(--dark); + line-height: 150%; + word-break: keep-all; + white-space: pre-line; +} + +.sub_content .sub-h2 em { color: var(--primary); font-style: normal } + +/* 본문 설명 텍스트 */ +.sub_content .sub-desc-txt { + font-size: clamp(1.6rem, calc(0.36vw + 1.23rem), 2rem); + font-weight: 400; + color: var(--cont2); + line-height: 150%; + letter-spacing: -0.2pt; + word-break: keep-all; + white-space: pre-line; + margin-top: clamp(12px, 1.25vw, 20px); +} +.sub_content .sub-desc-txt b { + color: var(--primary) +} +.text-center { text-align: center } + +/* ══════════════════════════ + 텍스트 + 이미지 레이아웃 + ══════════════════════════ */ +.sub_content .sub-txt-img { + display: flex; + align-items: center; + gap: clamp(30px, 5vw, 80px); + padding-bottom: clamp(5rem, calc(6.25vw - 0px), 10rem); +} + +.sub_content .sub-txt-img .txt-side { flex: 1; min-width: 0 } + +.sub_content .sub-txt-img .img-side { + flex-shrink: 0; + width: clamp(280px, 35vw, 690px); + border-radius: 16px; + overflow: hidden; +} + +.sub_content .sub-txt-img .img-side img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; +} + +/* ══════════════════════════ + 작은 타이틀 (dot_tit) + ══════════════════════════ */ +.dot-tit { + display: inline-flex; + align-items: center; + gap: 10px; + padding-bottom: 2rem; + font-size: clamp(2rem, calc(0.54vw + 1.5rem), 2.4rem); /* 18px~24px */ + font-weight: 600; + color: var(--dark); + line-height: 1.3; + word-break: keep-all; +} +.dot-tit::before { + content: ''; + display: inline-block; + flex-shrink: 0; + width: 21px; + height: 16px; + background: url('../img/sub/dot_tit.svg') center / contain no-repeat; +} + +@media (max-width: 768px) { + .sub_content .sub-txt-img { flex-direction: column } + .sub_content .sub-txt-img .img-side { width: 100% } +} + +/* ========================== + * 서브 사이드 레이아웃 + * ========================== */ +.sub-side-wrap { + display: flex; + align-items: flex-start; + padding-bottom: clamp(50px, calc(6.25vw - 0px), 100px); +} +.sub-side-wrap:last-of-type { padding-bottom: 0 } +.sub-side-label { + width: 270px; + flex-shrink: 0; + padding-top: 3px; + font-size: clamp(2rem, calc(0.27vw + 1.457rem), 2.4rem); + font-weight: 700; + color: var(--primary); + word-break: keep-all; +} +.sub-side-cont { flex: 1; min-width: 0 } +.sub-side-cont p { + font-size: clamp(1.8rem, calc(0.27vw + 1.457rem), 2rem); + padding-bottom:2rem; + font-weight: 600; +} +.sub-side-cont p em { + font-weight: 700; + color:var(--primary); + font-style: normal; +} +.sub-side-cont .sub-box { + padding: 30px; + border: 1px solid var(--bd-color); + border-radius: 12px; + background: #fff; +} +.sub-side-cont .sub-box .space-between { + justify-content: space-around; +} +@media (max-width: 1024px) { + .sub-side-wrap { flex-direction: column; gap: clamp(12px, 1.5vw, 20px) } + + .sub-side-label { + width: 100%; + padding-top: 0; + padding-bottom: 4px; + border-bottom: 2px solid var(--primary); + margin-bottom: 4px; + } + + .sub-side-cont { width: 100% } +} + +/* ========================== + * 회사개요 — 마퀴 + * ========================== */ +.company-text { overflow: hidden; width: 100%; max-width: 100% } +.company-text .marquee { --x: -3450px } +.company-text .marquee ul { + display: flex; + gap: clamp(24px, 3.125vw, 50px); + animation: Marquee 50s linear infinite; + will-change: transform; +} +.company-text .marquee ul li { + font-family: var(--e-font); + font-size: clamp(2.8rem, calc(6.43vw - 0.3rem), 10rem); + line-height: .8; + font-weight: 700; + color: #E7F0FA; + text-transform: uppercase; + white-space: nowrap; +} +@keyframes Marquee { + 0% { transform: translateX(0) } + 100% { transform: translateX(var(--x)) } +} + +/* ========================== + * 회사개요 — co-table + * ========================== */ +.co-row { + display: flex; + border-bottom: 1px solid var(--bd-color); +} +.co-row--last { border-bottom: 0 } +.co-cell { + display: flex; + align-items: flex-start; + flex: 1; + min-width: 0; + padding: clamp(18px, 1.875vw, 30px) 0; +} +.co-cell--full { flex: unset; width: 100% } +.co-row .co-cell:not(.co-cell--full) + .co-cell:not(.co-cell--full) { + padding-left: clamp(24px, 3.125vw, 50px); +} +.co-label { + flex-shrink: 0; + width: 190px; + font-size: clamp(1.6rem, calc(0.27vw + 1.35rem), 1.8rem); + font-weight: 700; + color: var(--dark); + line-height: 1.6; + padding-right: 20px; +} +.co-val { + flex: 1; + min-width: 0; + font-size: clamp(1.6rem, calc(0.27vw + 1.35rem), 1.8rem); + font-weight: 400; + color: var(--cont1); + line-height: 1.6; +} +.co-list {flex: 0.75;} +.co-reg-list { display: flex; flex-direction: column; gap: 6px } +.co-reg-list li { + display: flex; + align-items: baseline; + gap: 10px; + flex-wrap: wrap; +} +.co-reg-txt { color: var(--cont1); font-size: inherit } +.co-reg-org { + font-size: clamp(1.2rem, calc(0.18vw + 1.17rem), 1.6rem); + color: #999; + font-weight: 400; + white-space: nowrap; +} +.co-val .co-patent { color: var(--primary); font-weight: 600; margin-top: 4px } +.co-tech-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 30px } +.co-tech-list li { + display: flex; + align-items: center; + gap: 8px; + color: var(--cont1); +} +.co-tech-list li::before { + content: ''; + flex-shrink: 0; + width: 12px; + height: 9px; + border-radius: 50%; + background: url('../img/sub/check_small.svg') center / cover no-repeat; +} +@media (max-width: 1200px) { + .co-row { flex-direction: column } + .co-row .co-cell:not(.co-cell--full) + .co-cell:not(.co-cell--full) { + border-left: none; + border-top: 1px solid var(--bd-color); + padding-left: 0; + } + .co-label { width: 130px } + .co-tech-list { grid-template-columns: 1fr; gap: 8px } + .co-reg-list li { gap: 2px;} +} +@media (max-width: 768px) { + .co-block {display: block !important;} + .co-block .co-val {margin-top:10px;} +} +@media (max-width: 480px) { + .co-cell { gap: 8px } + .co-label { width: 100%; padding-right: 0; padding-bottom: 4px } +} +.co-cert-list { + display: flex; + flex-wrap: wrap; + gap: 34px; +} +.co-cert-list li { + flex: 1; + min-width: 160px; +} +.co-cert-list li img { + width: 100%; + max-width: 200px; + height: auto; + display: block; + border: 1px solid var(--bd-color); + border-radius: 8px; +} +@media (max-width: 768px) { + .co-cert-list { gap: 16px } + .co-cert-list li { min-width: calc(50% - 8px); flex: 0 0 calc(50% - 8px) } + .co-cert-list li img { max-width: 100% } +} +@media (max-width: 480px) { + .co-cert-list li { min-width: 100%; flex: 0 0 100% } +} + +/* ========================== + * 경영이념/비전 — 카드 그리드 + * ========================== */ +.vision-intro { + text-align: center; + padding-bottom: clamp(40px, 5vw, 100px); +} +.vision-cards { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: clamp(14px, 2vw, 30px); +} +.vision-card { + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-end; + gap: clamp(15px, 2vw, 30px); + padding: clamp(30px, 4vw, 60px) clamp(20px, 2vw, 30px) clamp(24px, 3vw, 40px); + background: linear-gradient(160deg, #A7DAFF 0%, #F3F9FF 100%); + border-radius: clamp(16px, 1.5vw, 24px); + min-height: clamp(100px, 25vw, 400px); + transition: transform 0.3s ease, box-shadow 0.3s ease; +} +.vision-card:hover { + transform: translateY(-6px); + box-shadow: 0 16px 40px rgba(19, 152, 248, 0.18); +} +.vision-card-icon { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + width: 100%; +} +.vision-card-icon img { + width: clamp(100px, 12vw, 180px); + height: auto; + object-fit: contain; + filter: drop-shadow(0 8px 20px rgba(19, 152, 248, 0.25)); +} +.vision-card-label { + font-size: 2.4rem; + font-weight: 600; + text-align: center; + letter-spacing: -0.01em; +} +@media (max-width: 768px) { + .vision-intro h2 br { display: none } +} +@media (max-width: 600px) { + .vision-cards { grid-template-columns: 1fr; max-width: 100%; margin: 0 auto } + .vision-card { + min-height: 130px; + flex-direction: row; + justify-content: flex-start; + padding: clamp(20px, 4vw, 30px); + gap: 20px; + } + .vision-card-icon { flex: 0 0 auto; width: 80px } + .vision-card-icon img { width: 80px } + .vision-card-label { text-align: left } +} + +/* ========================== + * 경영이념/비전 — 스크롤 슬라이드 + * ========================== */ +.vision-scroll { + position: relative; + height: 100vh; + overflow: hidden; +} +.vs-slide { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + display: flex; + align-items: center; +} +.vs-slide[data-idx="1"] { z-index: 1; opacity: 1 } +.vs-slide[data-idx="2"] { z-index: -1; opacity: 0; transform: translateY(30%) scale(1.2) } +.vs-bg { + position: absolute; + inset: 0; + background-repeat: no-repeat; + background-position: center; + background-size: cover; + will-change: transform, opacity; +} +.about-bg1 { background-image: url('../img/sub/bg_vision01.jpg') } +.about-bg2 { background-image: url('../img/sub/bg_vision02.jpg') } +.vs-slide[data-idx="2"] .vs-bg { opacity: 0; transform: scale(1.5) } +.vs-slide::after { + content: ''; + position: absolute; + inset: 0; + background: rgba(0, 0, 0, 0.2); + z-index: 1; + pointer-events: none; +} +.vs-slide-content { + position: relative; + z-index: 2; + text-align: center; + gap: clamp(30px, 5vw, 80px); + width: 100%; + max-width: var(--mainsize, 1400px); + margin: 0 auto; + padding: 0 clamp(20px, 3vw, 60px); +} +.vs-title-section { flex: 1 } +.vs-label { + display: block; + font-family: var(--e-font, "Outfit", sans-serif); + font-size: clamp(1.1rem, calc(0.18vw + 1.07rem), 1.6rem); + font-weight: 600; + letter-spacing: 0.22em; + color: var(--primary); + text-transform: uppercase; + margin-bottom: clamp(12px, 1.25vw, 20px); +} +.vs-label.white { color: #fff !important } +.vs-title { + font-size: clamp(2.8rem, calc(2.04vw + 1.233rem), 4.5rem); + font-weight: 700; + line-height: 1.15; + letter-spacing: -0.02em; + padding-bottom: 3rem; + color: #fff; + word-break: keep-all; + white-space: pre-line; +} +.vs-desc-section { flex: 1 } +.vs-desc { + font-size: clamp(1.5rem, calc(0.45vw + 1.28rem), 2rem); + font-weight: 400; + line-height: 1.75; + color: rgba(255, 255, 255, 0.72); + word-break: keep-all; +} +.vs-pagination { + position: absolute; + right: 180px; + top: 50%; + transform: translateY(-50%); + z-index: 10; + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; +} +.vs-bullet { + width: 7px; + height: 7px; + background: rgba(255, 255, 255, 0.4); + border-radius: 100px; + will-change: height; +} +.vs-bullet[data-idx="1"] { height: 30px; background: #fff } + +@media (max-width: 1400px) { + .vs-pagination { right: 10px } +} +@media (max-width: 768px) { + .vs-slide-content { flex-direction: column; text-align: center; gap: 20px } + .vs-desc br { display: none } +} +@media (max-width: 480px) { + .vs-pagination { right: 12px } +} + +/* ========================== + * 회사 연혁 + * ========================== */ + +.history-intro { padding: 0 0 clamp(20px, 7.5vw, 40px) } +.history-intro span { + display: block; + text-align: center; + font-family: var(--e-font); + font-size: 1.6rem; +} +.history-intro .hero-scroll-arrow { + display: flex; + flex-direction: column; + align-items: center; + animation: arrowBounce 1.8s ease-in-out infinite; +} +.history-wrap { + position: relative; + width: 100%; + border-top: 1px solid var(--bd-color); + padding-bottom: clamp(80px, calc(7.5vw + 0px), 200px); + background: url('../img/sub/bg_history.png') left bottom / contain no-repeat; +} +.history-inner { + max-width: 1400px; + margin: 0 auto; + padding: 0 20px 0 40px; + display: flex; + align-items: flex-start; +} +.year-col { + position: sticky; + top: 0; + width: 38%; + height: 100vh; + flex-shrink: 0; + display: flex; + flex-direction: column; + align-items: flex-start; + justify-content: center; + padding-right: 60px; + pointer-events: none; + z-index: 10; + align-self: flex-start; +} +.year-main { display: flex; align-items: baseline } +.year-static { + font-family: var(--e-font); + font-size: clamp(3rem, 11vw, 10rem); + line-height: 1; + color: var(--primary); + letter-spacing: -.5pt; + user-select: none; + font-weight: 700; +} +.odo-wrap { + display: inline-flex; + overflow: visible; + font-family: var(--e-font); + font-size: clamp(3rem, 11vw, 10rem); + line-height: 1; + color: var(--navy); + letter-spacing: -3pt; + user-select: none; + font-weight: 700; +} +.odo-col { overflow: hidden } +.odo-strip { + display: flex; + flex-direction: column; + will-change: transform; + transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94); +} +.odo-strip span { display: block; line-height: 1; text-align: center } +.year-label { + font-size: 1.6rem; + font-weight: 600; + font-family: var(--e-font); + text-transform: uppercase; + color: var(--dark); +} +.scroll-hint { + position: absolute; + bottom: 48px; + left: 0; + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 8px; + pointer-events: none; +} +.scroll-hint-text { + font-size: 1.1rem; + font-weight: 600; + letter-spacing: 0.2em; + text-transform: uppercase; + color: rgba(3, 43, 105, 0.25); +} +.scroll-arrow { + display: flex; + flex-direction: column; + align-items: center; + gap: 3px; + animation: arrowBounce 1.8s ease-in-out infinite; +} +.scroll-arrow svg:nth-child(2) { opacity: 0.35; margin-top: -7px } + +@keyframes arrowBounce { + 0%, 100% { transform: translateY(0) } + 50% { transform: translateY(6px) } +} +/* 우측: 리스트 컬럼 */ +.list-col { + flex: 1; + padding-top: 60px; + padding-bottom: 20vh; + border-left: 2px solid var(--bd-color); + padding-left: 60px; +} +.year-section { + padding-bottom: 60px; + opacity: 0; + transform: translateY(20px); + transition: opacity 0.6s ease, transform 0.6s ease; +} +.year-section:last-child { padding-bottom: 0 } +.year-section.is-visible { opacity: 1; transform: translateY(0) } +.year-section-head { + font-family: var(--e-font); + font-size: clamp(2rem, 5.5vw, 4rem); + color: #DEE6EE; + line-height: 1; + letter-spacing: -.5pt; + padding: 20px 0; + margin-bottom: 0; + font-weight: 700; +} +.timeline-items { display: flex; flex-direction: column; gap: 0 } +.timeline-item { + display: flex; + align-items: top; + margin-bottom: 12px; + transition: background 0.2s; +} +.item-month { + font-family: var(--e-font); + font-size: clamp(1.6rem, 1.5vw, 2rem); + line-height: 1.5; + color: var(--cont1); + font-weight: 700; + min-width: 70px; + width: 70px; + flex-shrink: 0; + letter-spacing: 0.02em; + display: flex; + align-items: top; +} +.item-text { + flex: 1; + font-size: clamp(1.6rem, 1.5vw, 2rem); + line-height: 1.5; + color: var(--cont2); + font-weight: 300; + word-break: keep-all; +} +.item-text a { color: var(--primary) } + +@media (max-width: 1024px) { + .year-col { width: 30%; padding-right: 40px } + .list-col { padding-left: 40px } + .timeline-item { margin-bottom: 5px } +} +@media (max-width: 768px) { + .history-inner { flex-direction: column; padding: 0 20px } + .year-col { display: none } + .list-col { border-left: none; padding-left: 0; padding-bottom: 10vh } + .year-section { padding-bottom: 40px } + .year-section-head { font-size: 4rem; padding: 15px 0 } + .item-month { min-width: 50px; width: 50px } +} + +/* ========================== + * 조직도 + * ========================== */ +.org-tree { + display: flex; + flex-direction: column; + align-items: center; + width: 100%; + max-width: 1220px; + margin: 0 auto; + padding: clamp(5rem, calc(6.01vw + 3.85px), 10rem) 0 0; +} +.node { + display: inline-flex; + align-items: center; + justify-content: center; + text-align: center; + border-radius: 10px; + font-weight: 600; + line-height: 1.35; + padding: 15px 20px; + white-space: nowrap; + position: relative; + z-index: 1; + transition: box-shadow .2s, transform .2s; +} +.node:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(19, 152, 248, .18) } +.node--ceo { + background: var(--primary); + color: #fff; + font-size: clamp(2rem, calc(0.27vw + 1.457rem), 2.4rem); + padding: 50px 70px; + border-radius: 12px; + box-shadow: 0 4px 20px rgba(19, 152, 248, .28); +} +.node--ceo::after { + position: absolute; + content: ''; + width: 13px; + height: 13px; + background-color: #fff; + border: 3px solid var(--primary); + bottom: -5px; + border-radius: 10px; +} +.node--support { + background: var(--navy); + color: #fff; + font-size: clamp(1.6rem, calc(0.27vw + 1.457rem), 2rem); + width: 240px; + height: 60px; + padding: 15px 24px; +} +.node--dept { + background: var(--white); + color: var(--navy); + border: 2px solid var(--navy); + font-size: clamp(1.6rem, calc(0.27vw + 1.457rem), 2rem); + width: 240px; + padding: 15px 0; +} +.node--team { + background: var(--bg); + color: var(--navy); + border: 1px solid var(--bd-color); + font-size: clamp(1.6rem, calc(0.27vw + 1.457rem), 2rem); + font-weight: 500; + padding: 12px 14px; + border-radius: 8px; + width: 120px; + height: 120px; +} +/* CEO 줄기 */ +.ceo-stem { + display: flex; + flex-direction: column; + align-items: center; + position: relative; +} +.ceo-stem__top { width: 1px; height: 20px; background: var(--bd-color) } +.ceo-stem__bot { width: 1px; height: 50px; background: var(--bd-color) } +/* 경영지원 그룹 */ +.support-group { + position: absolute; + top: 30px; + left: calc(50% + 1px); + transform: translateY(-50%); + display: flex; + align-items: center; +} +.support-group::before { + content: ''; + display: block; + width: clamp(60px, 8vw, 120px); + height: 1px; + background: var(--bd-color); + flex-shrink: 0; +} +.support-group::after { + content: ''; + display: block; + height: 50px; + left: 0; + width: 1px; + background: var(--bd-color); + flex-shrink: 0; +} +/* 부서 컬럼 */ +.depts-wrap { + display: flex; + align-items: flex-start; + width: 100%; + position: relative; +} +.dept-col { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + position: relative; +} +.dept-col::before { + content: ''; + display: block; + height: 50px; + flex-shrink: 0; +} +.dept-col--center::before { width: 1px; background: var(--bd-color) } +.dept-vdown { width: 1px; height: 50px; background: var(--bd-color); flex-shrink: 0 } +/* 팀 컬럼 */ +.teams-wrap { + position: relative; + display: flex; + align-items: flex-start; + width: 100%; +} +.teams-wrap::before { + content: ''; + position: absolute; + top: 0; + left: calc(100% / 6); + right: calc(100% / 6); + height: 1px; + background: var(--bd-color); + z-index: 0; +} +.team-col { flex: 1; display: flex; flex-direction: column; align-items: center } +.team-col::before { + content: ''; + display: block; + width: 1px; + height: 50px; + background: var(--bd-color); + flex-shrink: 0; +} +@media (max-width: 1200px) { + .dept-vdown { height: 20px } + .depts-wrap, + .teams-wrap { gap: 3px } + .node--dept, + .node--team, + .node--support { width: 100% } + .team-col::before { height: 20px } +} +@media (max-width: 768px) { + .ceo-stem { flex-direction: column; align-items: center; width: auto } + .ceo-stem__top, + .ceo-stem__bot { width: 1px; height: 30px } + .support-group::before { width: 28px } + .depts-wrap { flex-direction: column; align-items: center; width: 100% } + .dept-col--left::before { width: 1px; height: 30px; background: var(--bd-color) } + .dept-col { width: 100%; max-width: 420px } + .dept-col::before { height: 24px } + .team-col .node--team { width: 100%; text-align: center } +} +@media (max-width: 480px) { + .node--ceo { font-size: 1.35rem; padding: 12px 26px } + .node--support { font-size: 1.15rem; padding: 10px 14px } + .node--team { font-size: 1.05rem; padding: 9px 4px } + .support-group::before { width: 18px } +} +/* ========================== + * 찾아오는 길 + * ========================== */ +/* ── 본사주소 블록 ── */ +.loc-address { + padding-top: clamp(50px, 6.25vw, 100px); +} +.loc-address-info { + display: flex; + align-items: center; + justify-content: space-between; + gap: 20px; + padding-top: clamp(20px, 2.5vw, 20px); + padding-bottom: clamp(20px, 2.5vw, 36px); + flex-wrap: wrap; +} +.loc-address-info dl { + display: flex; + flex-direction: column; + gap: 10px; +} +.addr-row { + display: flex; + align-items: baseline; + gap: clamp(16px, 2.5vw, 40px); +} +.addr-row dt { + flex-shrink: 0; + width: clamp(80px, 7vw, 100px); + font-size: clamp(1.6rem, calc(0.18vw + 1.271rem), 2rem); + font-weight: 600; + color: var(--dark); + letter-spacing: -0.02em; +} +.addr-row dd { + font-size: clamp(1.5rem, calc(0.27vw + 1.457rem), 1.8rem); /* 15px~18px */ + font-weight: 400; + color: var(--cont2); + line-height: 1.5; + word-break: keep-all; +} +.loc-map-wrap { + width: 100%; + border-radius: 20px; + overflow: hidden; + border: 1px solid var(--bd-color); + line-height: 0; /* iframe 하단 여백 제거 */ + height: clamp(260px, calc(15.63vw + 160px), 500px); +} + +#kakao-map { + width: 100%; + height: 500px; +} + +@media (max-width: 768px) { + #kakao-map { + height: 350px; + } +} + +/* ── 하단 그리드: 교통 + 연락처 ── */ +.loc-bottom-grid { + padding-top: clamp(25px, 6.25vw, 50px); + padding-bottom: clamp(50px, 6.25vw, 100px); + display: grid; + grid-template-columns: 1fr 360px; + gap: clamp(20px, 3.125vw, 50px); + align-items: flex-start; +} +/* ── 대중교통 안내 ── */ +.loc-transport { + display: flex; + flex-direction: column; + gap: clamp(14px, 1.875vw, 24px); +} +/* 교통 카드 */ +.transport-card { + display: flex; + align-items: flex-start; + gap: clamp(20px, 2.5vw, 30px); +} +@media (hover: hover) { + .transport-card:hover { border-color: var(--primary);} +} +/* 아이콘 영역 */ +.transport-icon { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 6px; + flex-shrink: 0; + width: clamp(60px, 5.625vw, 110px); + height: clamp(60px, 5.625vw, 110px); + background: var(--bg); + border-radius: 14px; +} +.transport-icon .material-symbols-outlined { + font-size: clamp(2.2rem, 1.875vw, 3.2rem); + color: var(--navy); +} +.transport-label { + font-size: clamp(1.6rem, calc(0.27vw + 1.457rem), 1.8rem); + font-weight: 700; + color: var(--navy); +} +/* 노선 리스트 */ +.transport-routes { + flex: 1; + display: flex; + flex-direction: column; + gap: clamp(10px, 1.25vw, 16px); +} +.transport-routes li { display: block; } +.route-row { + display: flex; + align-items: flex-start; + gap: 12px; + flex-wrap: nowrap; +} +/* 지하철 노선 뱃지 */ +.subway-badge { + flex-shrink: 0; + display: inline-flex; + align-items: center; + justify-content: center; + height: 34px; + padding: 5px 15px; + border-radius: 30px; + font-size: clamp(1.4rem, 1.875vw, 1.6rem); + white-space: nowrap; + margin-top: 1px; +} +.subway-badge.line1 { background: #263C96; color: #fff; } +.subway-badge.line7 { background: #697215; color: #fff; } +/* 노선 설명 */ +.route-desc { + font-size: clamp(1.6rem, calc(0.27vw + 1.257rem), 1.7rem); /* 14px~17px */ + color: var(--cont1); + line-height: 1.6; + word-break: keep-all; +} +.route-highlight { + color: #263C96; +} +.route-highlight2 { + color: #697215; +} +/* ── 대표전화 ── */ +.loc-contact { + display: flex; + flex-direction: column; +} +.contact-card { + padding: clamp(15px, 3.125vw, 20px) 0; + display: flex; + flex-direction: column; + gap: clamp(18px, 1.875vw, 26px); + position: relative; + overflow: hidden; +} +.contact-card::before { + content: ''; + position: absolute; + bottom: -60px; + right: -60px; + width: 200px; + height: 200px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.04); +} +/* 전화번호 */ +.contact-tel-wrap { + display: flex; + align-items: center; + gap: 12px; +} +.contact-tel-wrap span { + font-size: clamp(2.6rem, 1.875vw, 3.6rem); + color: var(--dark); +} +.contact-tel-num { + font-family: var(--e-font); + font-size: clamp(2.8rem, calc(2.32vw + 1.7rem), 4.4rem); + font-weight: 800; + color: var(--dark); + line-height: 1; + transition: color 0.2s; +} +@media (hover: hover) { + .contact-tel-num:hover { color: var(--primary); } +} +/* 팩스 */ +.contact-fax { + font-family: var(--e-font); + font-size: clamp(1.5rem, calc(0.27vw + 1.457rem), 2rem); + color:var(--cont1); + padding-left:clamp(4rem, 1.875vw, 6rem); +} +/* 운영시간 */ +.contact-hours { + display: flex; + flex-direction: column; + gap: 8px; + padding: clamp(16px, 1.875vw, 22px); + background: rgba(255, 255, 255, 0.07); + border-radius: 12px; + border: 1px solid rgba(255,255,255,0.1); +} +.hours-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; +} +.hours-label { + font-size: clamp(1.3rem, calc(0.18vw + 1.271rem), 1.5rem); /* 13px~15px */ + font-weight: 700; + color: rgba(255,255,255,0.5); + width: 35px; + flex-shrink: 0; +} +.hours-val { + font-size: clamp(1.3rem, calc(0.18vw + 1.271rem), 1.5rem); /* 13px~15px */ + font-weight: 400; + color: rgba(255,255,255,0.8); + text-align: right; +} +.hours-row.hours-off .hours-val { color: rgba(255,255,255,0.4); } +/* 문의 버튼 */ +.btn-inquiry { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 8px; + height: clamp(48px, 3.25vw, 52px); + border-radius: 100px; + background: var(--primary); + color: #fff; + font-size: clamp(1.5rem, calc(0.27vw + 1.457rem), 1.8rem); /* 15px~18px */ + font-weight: 700; + transition: background-color 0.2s, transform 0.2s; +} +.btn-inquiry .material-icons-round { font-size: 1.8rem; /* 18px */ transition: transform 0.2s; } +@media (hover: hover) { + .btn-inquiry:hover { background-color: #0d7fd4; transform: translateY(-2px); } + .btn-inquiry:hover .material-icons-round { transform: translateX(3px); } +} + +/* ── 반응형 ── */ +@media (max-width: 1200px) { + .loc-bottom-grid { + grid-template-columns: 1fr 300px; + } +} +@media (max-width: 1024px) { + .loc-bottom-grid { + grid-template-columns: 1fr; + } + .loc-contact { + max-width: 100%; + } + .contact-card { + flex-direction: row; + flex-wrap: wrap; + gap: 20px; + align-items: flex-start; + } + .contact-tel-wrap, + .contact-fax { flex: 1; min-width: 200px; } + .contact-hours { flex: 1 0 100%; } + .btn-inquiry { flex: 1 0 100%; } +} +@media (max-width: 768px) { + .transport-card { + display: block; + padding-bottom:3rem + } + .transport-icon { + padding:10px 0; + width:100%; + margin-bottom:10px; + } + .loc-map-wrap { + height: clamp(220px, 52vw, 340px); + border-radius: 12px; + } + .subway-badge {padding:4px 10px;} + .contact-tel-wrap, .contact-fax { flex: none; width: 100%; } + .addr-row { gap: 12px; } + .addr-row dt { width: 80px; } +} +@media (max-width: 480px) { + .loc-map-wrap { height: 240px; border-radius: 10px; } + .route-row { flex-wrap: wrap; } +} + +/* ========================== + * 사업소개 + * ========================== */ +.diagram-grid { + display: flex; + justify-content: center; +} +.diagram-grid img { + width:100%; + max-width: var(--diagram-max, 940px); + margin:0 auto; +} + +.diagram-btns { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 20px; + max-width:990px; + margin-top: 7rem; + margin-left:auto; + margin-right:auto; +} +.diagram-btns .d-btn { + display: flex; + align-items: center; + justify-content: space-between; + padding: 20px 24px; + background: var(--bg); + border-radius: 14px; + cursor: pointer; + text-decoration: none; + transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s; + color: var(--navy) +} +.diagram-btns .d-btn:hover { + border-color: var(--primary); + box-shadow: 0 4px 20px rgba(19,152,248,0.12); + transform: translateY(-2px); +} +.diagram-btns .d-btn__left { + display: flex; + align-items: center; + gap: 12px; +} +.diagram-btns .d-btn__logo { + height: 26px; + display: flex; + align-items: center; +} +.diagram-btns .d-btn__logo img { height: 100%; } +.diagram-btns .d-btn__txt { + font-size: clamp(1.6rem, calc(0.63vw + 1.1rem), 2rem); + color: var(--navy); +} +.diagram-btns .d-btn__arrow { + width: 32px; + height: 32px; + background: var(--bg); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + transition: background 0.2s; +} +.diagram-btns .d-btn:hover .d-btn__arrow { background: var(--primary); } +.diagram-btns .d-btn__arrow svg { width: 16px; height: 16px; stroke: var(--primary); transition: stroke 0.2s; } +.diagram-btns .d-btn:hover .d-btn__arrow svg { stroke: #fff; } + +@media (max-width: 1200px) { + .diagram-btns { + gap:20px; + } +} +@media (max-width: 768px) { + + .diagram-btns { grid-template-columns: 1fr; gap: 8px; } + .diagram-btns .d-btn { padding: 16px 18px; } +} +@media (max-width: 480px) { +} + +/* ========================== + * 시스템 구성 공통 + * ========================== */ + +/* 복수 행 쌓기 */ +.ib-rows { + display: flex; + flex-direction: column; + gap: var(--row-gap); +} +/* 열 그리드 */ +.ib-grid--col1 { display: grid; grid-template-columns: 1fr; gap: var(--col-gap); align-items: stretch; } +.ib-grid--col2 { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--col-gap); align-items: stretch; } +.ib-grid--col3 { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--col-gap); align-items: stretch; } +.ib-grid--col4 { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--col-gap); align-items: stretch; } + +.ib-grid--col1, +.ib-grid--col2, +.ib-grid--col3, +.ib-grid--col4 { + margin-bottom:2rem; +} +/* 비율 그리드 */ +.ib-grid--r2-1 { display: grid; grid-template-columns: 2fr 1fr; gap: var(--col-gap); align-items: stretch; } +.ib-grid--r1-2 { display: grid; grid-template-columns: 1fr 2fr; gap: var(--col-gap); align-items: stretch; } +.ib-grid--r3-1 { display: grid; grid-template-columns: 3fr 1fr; gap: var(--col-gap); align-items: stretch; } +.ib-grid--r1-3 { display: grid; grid-template-columns: 1fr 3fr; gap: var(--col-gap); align-items: stretch; } +.ib-grid--r1-1-2 { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: var(--col-gap); align-items: stretch; } +.ib-grid--r2-1-1 { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--col-gap); align-items: stretch; } +.ib-grid--r1-2-1 { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: var(--col-gap); align-items: stretch; } + +.ib-grid--r2-1, +.ib-grid--r2-2, +.ib-grid--r3-1, +.ib-grid--r1-3, +.ib-grid--r1-1-2, +.ib-grid--r2-1-1, +.ib-grid--r1-2-1 { + margin-bottom:2rem; +} + /* ════════════════════════════════════════ + 컬럼 래퍼 .ib-col + ─ 같은 열의 카드들을 세로로 쌓는 flex 컨테이너 + ════════════════════════════════════════ */ +.ib-col { + display: flex; + flex-direction: column; + gap: var(--card-gap); +} +/* ════════════════════════════════════════ + 독립 카드 .ib-card + ─ 자체 border-radius, 자체 헤더 + ─ flex-grow 로 높이 비율 제어 + ════════════════════════════════════════ */ +.ib-card { + display: flex; + flex-direction: column; + border-radius: 20px; + border: 1px solid var(--bd-color); + overflow: hidden; + min-height: 0; +} + /* grow 헬퍼 */ +.ib-card--grow1 { flex-grow: 1; } +.ib-card--grow2 { flex-grow: 2; } +.ib-card--grow3 { flex-grow: 3; } +.ib-card--grow4 { flex-grow: 4; } + /* 카드 헤더 */ +.ib-card__hd { + background: var(--primary); + color: #fff; + font-size: clamp(1.8rem, calc(0.63vw + 1.1rem), 2rem); + font-weight: 700; + padding: 13px 16px; + height:5rem; + flex-shrink: 0; + text-align: center +} +.ib-card__hd--navy { background: var(--navy); } +.ib-card__hd--dark { background: var(--dark); } + +/* 카드 바디 */ +.ib-card__bd { + flex: 1; + background: #fff; + padding: var(--body-pad); + display: flex; + flex-direction: column; + gap: 5px; + min-height: 0; +} + /* 카드 바디 내부 2열 */ +.ib-card__bd--col2 { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 20px; + align-items: start; +} + +/* ════════════════════════════════════════ + 서브카드 .ib-sub + ─ 카드 바디 안의 배경 박스 + ════════════════════════════════════════ */ +.ib-sub { + display: flex; + flex-direction: column; + border-radius: 8px; + overflow: hidden; +} +.ib-sub--grow1 { flex-grow: 1; } +.ib-sub--grow2 { flex-grow: 2; } +.ib-sub--grow3 { flex-grow: 3; } + .ib-sub__title { + padding: 12px 30px; + font-size: clamp(1.6rem, calc(0.63vw + 1.1rem), 1.8rem); + color: var(--navy); + background: var(--bg); + font-weight: 500; + border-radius: 6px; + border: 1px solid var(--bd-color); + line-height: 1.4; +} + .ib-sub__content { + flex: 1; + padding: 10px 32px; + display: flex; + flex-direction: column; + gap: 4px; +} + +/* ════════════════════════════════════════ + 리스트 + ════════════════════════════════════════ */ +.ib-list { + list-style: none; + display: flex; + flex-direction: column; + gap: 8px; +} +.ib-list li { + /*display: flex;*/ + align-items: baseline; + gap: 10px; + font-size: clamp(1.4rem, calc(0.63vw + 1.1rem), 1.6rem); + color: var(--cont1); + line-height: 1.5; + padding-left:1.5rem; +} +.ib-list li::before { + position: absolute; + margin-top:9px; + margin-left:-1.5rem; + content: ''; + width: 3px; height: 3px; + border-radius: 50%; + background: var(--primary); + +} + +/* 흰 박스 아이템 리스트 */ +.ib-plain { + list-style: none; + display: flex; + flex-direction: column; + gap: 5px; +} +.ib-plain li { + padding: 12px 30px; + font-size: clamp(1.6rem, calc(0.63vw + 1.1rem), 1.8rem); + color: var(--navy); + background: var(--bg); + font-weight: 500; + border-radius: 6px; + border: 1px solid var(--bd-color); + line-height: 1.4; +} + +/* ════════════════════════════════════════ + 반응형 + ════════════════════════════════════════ */ +@media (max-width: 1024px) { + .ib-grid--col4, + .ib-grid--r1-1-2, + .ib-grid--r2-1-1, + .ib-grid--r1-2-1 { grid-template-columns: 1fr 1fr; } + + .ib-grid--r2-1-1, + .ib-grid--r1-2-1 { grid-template-columns: 1fr; } + +} +@media (max-width: 768px) { + .ib-grid--col3, + .ib-grid--r2-1, + .ib-grid--r1-2, + .ib-grid--r3-1, + .ib-grid--r1-3, + .ib-grid--r2-1, + .ib-grid--r2-2, + .ib-grid--r3-1, + .ib-grid--r1-3, + .ib-grid--r1-1-2, + .ib-grid--r2-1-1, + .ib-grid--r1-2-1 { grid-template-columns: 1fr; } + .ib-plain li, .ib-sub__title {padding:10px 20px;} + .ib-sub__content {padding:10px 20px} + +} +@media (max-width: 540px) { + .ib-grid--col2, + .ib-grid--col4 { grid-template-columns: 1fr; } + .sc-section__body { padding: 16px; } + .ib-card__bd--col2 { grid-template-columns: 1fr; } +} + +/* ========================== + * 시스템 구성 공통 + * ========================== */ + .mo-only { display: none; } + +@media (max-width: 768px) { + .pc-only { display: none; } + .mo-only { display: block; } +} +.sub-tab__list { + display: flex; + align-items: center; + background: var(--bg); + border-radius: 100px; + padding: 6px; + gap: 4px; + list-style: none; + max-width: var(--mainsize); + margin:0 auto; +} +.sub-tab__item { + flex: 1; +} +.sub-tab__btn { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: clamp(4rem, 4vw, 5rem); + border: none; + border-radius: 100px; + background: transparent; + font-family: var(--k-font); + font-size: clamp(1.6rem, calc(0.27vw + 1.2rem), 2rem); + font-weight: 600; + color: var(--cont1); + cursor: pointer; + transition: background-color 0.3s ease, color 0.3s ease; + white-space: nowrap; + padding: 0 clamp(1rem, 2vw, 1rem); +} +/* 활성화 */ +.sub-tab__btn[aria-selected="true"], +.sub-tab__btn.is-active { + background: var(--navy); + color: #fff; +} +/* 호버 */ +@media (hover: hover) { + .sub-tab__btn:not([aria-selected="true"]):not(.is-active):hover { + background: rgba(3, 43, 105, 0.07); + color: var(--navy); + } +} + +/* ══════════════════════════ + 탭 패널 (이미지 + 텍스트) + ══════════════════════════ */ +.sub-tab__panels { + margin-top: 5rem; +} +.sub-tab__panel { + display: none; +} +.sub-tab__panel.is-active { + display: block; + animation: tabFadeIn 0.35s ease both; +} + +@keyframes tabFadeIn { + from { opacity: 0; transform: translateY(12px); } + to { opacity: 1; transform: translateY(0); } +} + +.sub-tab__media { + display: flex; + align-items: center; + gap: clamp(2rem, 5vw, 4rem); +} + +.sub-tab__img { + flex-shrink: 0; + width: 550px; + height: 380px; + overflow: hidden; +} + +.sub-tab__img img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; +} + +.sub-tab__txt { + flex: 1; + min-width: 0; +} + +/* ══════════════════════════ + 반응형 + ══════════════════════════ */ +@media (max-width: 1200px) { + .sub-tab__txt .sub-h2 { + white-space:inherit; + } + .sub-tab__img { + width: clamp(300px, 42vw, 550px); + height: clamp(210px, 29vw, 380px); + } +} + +@media (max-width: 1024px) { + .sub-tab__list { + border-radius: 14px; + padding: 5px; + } + .sub-tab__btn { + border-radius: 10px; + } +} + +@media (max-width: 768px) { + .sub-tab__media { + flex-direction: column; + } + .sub-tab__img { + width: 100%; + height: 100%; + } +} + +@media (max-width: 480px) { + .sub-tab__list { + flex-wrap: wrap; + border-radius: 12px; + padding: 4px; + gap: 3px; + } + .sub-tab__item { + flex: 1 0 calc(50% - 2px); + } + .sub-tab__btn { + border-radius: 8px; + font-size: 1.4rem; + height: 44px; + } +} + +/* ───────────────────────────────────────── + 테이블 스크롤 +───────────────────────────────────────── */ +.tbl-scroll { + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} +.tbl-scroll::-webkit-scrollbar { height: 5px } +.tbl-scroll::-webkit-scrollbar-track { background: transparent } +.tbl-scroll::-webkit-scrollbar-thumb { background: var(--bd-color); border-radius: 10px } +/* ═══════════════════════════════════════════ + TABLE STYLE 1 +═══════════════════════════════════════════ */ +.tbl-gantt { + width: 100%; + min-width: 860px; + border-collapse: separate; + border-spacing: 0; + border:1px solid var(--bd-color); + overflow: hidden; + border-top: 2px solid var(--navy); +} +.tbl-gantt thead tr th { + font-size: clamp(1.4rem, calc(0.27vw + 1.35rem), 1.6rem); + font-weight: 600; + padding: 14px 8px; + text-align: center; + border-right: 1px solid var(--bd-color); + border-bottom: 1px solid var(--bd-color); + white-space: nowrap; +} +.tbl-gantt thead tr th:first-child { + text-align: center; + width: 230px; + color: var(--cont1); + border-right: 1px solid var(--bd-color); +} +.tbl-gantt tbody tr td { + border-right: 1px solid var(--bd-color); + border-bottom: 1px solid var(--bd-color); + padding: 0; + height: 52px; + text-align: center; + font-size: clamp(1.4rem, calc(0.27vw + 1.35rem), 1.6rem); +} +.tbl-gantt tbody tr td.td-label { + color: var(--cont1); + font-size: 1.6rem; + font-weight: 500; + padding: 14px 8px; + text-align: center; + border-right: 1px solid var(--bd-color); + white-space: nowrap; + letter-spacing: -0.3px; +} +.tbl-gantt tbody tr td.td-dots { + color: rgba(255,255,255,0.25); + font-size: 1.2rem; + border-right: 1px solid rgba(255,255,255,0.1); +} +.tbl-gantt tbody tr td.active { + background-color: var(--bg); + position: relative; +} +.tbl-gantt tbody tr td.active + td.active { + border-left: none; +} +.tbl-gantt thead tr th:last-child, .tbl-gantt tbody tr td:last-child { + border-right: none; +} +.tbl-gantt tbody tr:last-child td { + border-bottom: none; +} +.tbl-gantt tbody tr:hover td { background-color: #f9f9f9; } +.tbl-gantt tbody tr:hover td.active { background-color: #e8f4ff } +.tbl-gantt tbody tr:hover td.td-label, +.tbl-gantt tbody tr:hover td.td-dots { background-color: #f9f9f9; } + +/* ═══════════════════════════════════════════ + TABLE STYLE 2 +═══════════════════════════════════════════ */ +.tbl-spec { + width: 100%; + min-width: 700px; + border-collapse: separate; + border-spacing: 0; + overflow: hidden; + border: 1px solid var(--bd-color); + border-top: 2px solid var(--navy); +} +.tbl-spec thead tr th { + color: var(--dark); + font-size: 1.6rem; + font-weight: 600; + padding: 16px 20px; + text-align: center; + border-right: 1px solid var(--bd-color); + border-bottom: 1px solid var(--bd-color); + white-space: nowrap; + letter-spacing: 0.03em; +} +.tbl-spec thead tr th:last-child { border-right: none } + +.tbl-spec tbody tr td { + background-color: #fff; + border-right: 1px solid var(--bd-color); + border-bottom: 1px solid var(--bd-color); + padding: 18px 22px; + font-size: clamp(1.4rem, calc(0.27vw + 1.35rem), 1.6rem); + color: var(--dark); + vertical-align: middle; + line-height: 1.7; +} +.tbl-spec tbody tr td:last-child { border-right: none } +.tbl-spec tbody tr:last-child td { border-bottom: none } +.tbl-spec tbody tr td.td-item { + background-color: #f8fafd; + text-align: center; + font-weight: 600; + border-right: 1px solid var(--bd-color); + white-space: nowrap; +} +.tbl-spec tbody tr td.td-spec { + color: #555; + font-weight: 400; + line-height: 1.8; +} +.tbl-spec tbody tr td.td-qty, +.tbl-spec tbody tr td.td-note { + text-align: center; +} +.tbl-spec tbody tr:hover td { background-color: #f0f6ff } +.tbl-spec tbody tr:hover td.td-item { background-color: #e8f2fb } + + @media (max-width: 768px) { + .tbl-spec tbody tr th, .tbl-spec tbody tr td { + padding:10px 15px; + } +} +/* ═══════════════════════════════════════════ + Box List +═══════════════════════════════════════════ */ + +.split-list { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 20px; +} +.split-box { + border: 1px solid var(--bd-color); + border-radius: 12px; + overflow: hidden; + background-color: #fff; +} +.split-box__title { + padding: 40px 0 0 40px; + display: flex; + align-items: top; + font-size: clamp(2.0rem, calc(0.27vw + 1.35rem), 2.4rem); + font-weight: 700; + color: var(--primary); + word-break: keep-all; line-height: 1.4; +} +.split-box__divider { + width: 1px; + background: var(--bd-color); + flex-shrink: 0 +} +.split-box__content { + flex: 1; + padding: 20px 40px 40px 40px; + display: flex; + align-items: top; +} +.split-box__ul { + list-style: none; + display: flex; + flex-direction: column; + gap: 10px; +} +.split-box__ul li { + display: flex; + align-items: center; + gap: 10px; + font-size: clamp(1.6rem, calc(0.27vw + 1.35rem), 1.8rem); + color: var(--cont1); + line-height: 1.5; +} +.split-box__ul li::before { + content: ''; + flex-shrink: 0; + width: 3px; + height: 3px; + background: var(--primary); +} +@media (max-width: 1200px) { + .split-box { flex-direction: column; } + .split-box__title { flex:none; padding: 30px 30px 0;} + .split-box__content { padding: 20px 30px 30px 30px; } +} +@media (max-width: 768px) { + .split-list { grid-template-columns: 1fr; } + .split-box__title {padding: 20px 20px 0;} + .split-box__divider { display: none; } + .split-box__content { padding: 20px; } +} + +.premay-img__info { + background-color: #FFFBF3; + margin-top:50px; +} +.premay-img__info ul { + max-width:990px; + display: flex; + justify-content: space-around; + padding:20px; + margin:0 auto; +} +.premay-img__info ul li { + margin-right:20px; + font-size: clamp(1.4rem, calc(0.27vw + 1.35rem), 1.8rem); +} + +@media (max-width: 768px) { + .premay-img__info ul li img { + width:30px; + } +} + +/* ===== SECTION: 인재상 ===== */ +.sec-talent { + position: relative; + width: 100%; + padding: 0 20px clamp(10rem, calc(8vw + 10px), 15rem) 0; + overflow: hidden; + background: url('../img/sub/bg-talent.png') center center / cover no-repeat; +} + +/* 내부 wrap */ +.sec-talent .talent-inner { + position: relative; + z-index: 1; + max-width: 1400px; + margin: 0 auto; + display: flex; + flex-direction: column; + align-items: center; +} + +/* ── 상단 장식 선 (스크롤다운 효과) ── */ +.talent-scroll-line { + position: relative; + width: 1px; + height: 110px; + background: rgba(255,255,255,0.15); + margin-bottom: clamp(30px, 4vw, 56px); + overflow: hidden; +} +.talent-scroll-line::after { + content: ''; + position: absolute; + top: 0; left: 0; + width: 100%; + height: 40px; + background: linear-gradient(to bottom, transparent, #fff); + animation: scrollDown 1.8s ease-in-out infinite; +} +@keyframes scrollDown { + 0% { transform: translateY(-40px); opacity: 0 } + 20% { opacity: 1 } + 80% { opacity: 1 } + 100% { transform: translateY(80px); opacity: 0 } +} + +/* ── 타이틀 ── */ +.talent-title { + font-size: clamp(2.4rem, calc(1.25vw + 1.4rem), 3.4rem); + font-weight: 700; + color: #fff; + text-align: center; + line-height: 1.3; + letter-spacing: -0.02em; + margin-bottom: clamp(20px, 6vw, 40px); + word-break: keep-all; +} +.talent-title .point { + color: var(--primary); +} +/* 中心 한자 강조 */ +.talent-title .hanja { + font-family: var(--e-font); + color: var(--mint); +} + +/* ── 카드 그리드 ── */ +.talent-cards { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 20px; + width: 100%; +} +/* ── 개별 카드 ── */ +.talent-card { + background: #fff; + border-radius: 20px; + padding: clamp(28px, 3vw, 70px) clamp(2rem, 2vw, 3rem) clamp(3rem, 3vw, 5rem); + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + gap: 0; + box-shadow: 0 4px 24px rgba(0,0,0,0.12); + transition: transform 0.25s, box-shadow 0.25s; +} +@media (hover: hover) { + .talent-card:hover { + transform: translateY(-6px); + box-shadow: 0 12px 36px rgba(19, 152, 248, 0.25); + } +} + +/* 아이콘 영역 */ +.talent-card .card-icon { + width: 105px; + height: 105px; + margin-bottom: clamp(2.5rem, 2.5vw, 5.2rem); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} +.talent-card .card-icon img { + width: 105px; + height: 105px; + object-fit: contain; +} + +/* 카드 제목 */ +.talent-card .card-title { + font-size: clamp(1.8rem, calc(0.5vw + 1.35rem), 2.4rem); + font-weight: 700; + color: var(--dark); + line-height: 1.3; + margin-bottom: clamp(10px, 1.5vw, 10px); + word-break: keep-all; +} +.talent-card .card-title .point { + color: var(--primary); +} + + +/* 카드 설명 */ +.talent-card .card-desc { + font-size: clamp(1.6rem, calc(0.25vw + 1.22rem), 1.8rem); + font-weight: 400; + color: #666; + line-height: 1.75; + word-break: keep-all; +} + +/* ── 반응형 ── */ +@media (max-width: 1100px) { + .talent-cards { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 600px) { + .talent-cards { + grid-template-columns: 1fr; + max-width: 400px; + margin: 0 auto; + } +} + + +/* ========================== + * 복리후생 + * ========================== */ +.welfare-wrap { + border-top: 1px solid var(--bd-color); + border-bottom: 1px solid var(--bd-color); +} +.welfare-row { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 20px; +} +.welfare-row--border { + position: relative; + margin-bottom: 20px; /* 선 아래 → 다음 행 사이 간격 20px */ +} +.welfare-row--border::after { + content: ''; + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 1px; + background: rgba(255, 255, 255, 0.15); +} +.welfare-item { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + padding: 4rem clamp(1rem, 2vw, 2rem) 2.5rem; + border-bottom:1px solid var(--bd-color); +} +.welfare-icon { + height: 65px; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 20px; + flex-shrink: 0; +} +.welfare-icon img { + height: 65px; + width: auto; + object-fit: contain; +} +.welfare-icon svg { + height: 65px; + width: auto; +} +.welfare-title { + font-size: clamp(1.8rem, 1.4vw, 2rem); + font-weight: 600; + color: var(--dark); + margin-bottom: 12px; + letter-spacing: -0.01em; + line-height: 1.3; +} +.welfare-desc { + font-size: clamp(1.4rem, 1.1vw, 1.6rem); + font-weight: 400; + color: var(--cont2); + line-height: 1.7; + word-break: keep-all; +} +.welfare-row--last .welfare-item:nth-child(1), +.welfare-row--last .welfare-item:nth-child(2) { + border-bottom:0; +} + + +@media (max-width: 1024px) { + + .welfare-row { + grid-template-columns: repeat(2, 1fr); + } + .welfare-row--border { + padding-bottom: 0; + margin-bottom: 0; + } + .welfare-row--border::after { display: none; } + .welfare-row--border .welfare-item:nth-child(1), + .welfare-row--border .welfare-item:nth-child(2) { + position: relative; + padding-bottom: 20px; + margin-bottom: 20px; + } + .welfare-row--border .welfare-item:nth-child(1)::after, + .welfare-row--border .welfare-item:nth-child(2)::after { + content: ''; + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 1px; + background: rgba(255, 255, 255, 0.15); + } + .welfare-row--border + .welfare-row--border { + margin-top: 0; + } + .welfare-row--border:last-of-type { + position: relative; + padding-bottom: 20px; + margin-bottom: 20px; + } + .welfare-row--border:last-of-type::after { + display: block; + content: ''; + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 1px; + background: rgba(255, 255, 255, 0.15); + } + .welfare-row:last-child { + padding-bottom: 0; + margin-bottom: 0; + } + .welfare-row:last-child::after { display: none; } + .welfare-row:last-child .welfare-item::after { display: none !important; } + .welfare-row:last-child .welfare-item { + padding-bottom: clamp(3rem, 4vw, 5rem); + margin-bottom: 0; + } +} + +@media (max-width: 480px) { + .welfare-item { + padding: 2.5rem 1rem; + } + .welfare-title { font-size: 1.8rem; } + .welfare-desc { font-size: 1.4rem; line-height: 1.6; } + .welfare-icon { height: 55px; margin-bottom: 16px; } + .welfare-icon svg, + .welfare-icon img { height: 55px; } +} + + +.recruit-info-grid { + margin-top:1.5rem; + margin-bottom: 15rem; + display: grid; + grid-template-columns: 1fr 1fr; + gap:0 60px; +} +.ri-item { + padding: clamp(2rem, 4vw, 3rem) 0 clamp(2rem, 3vw, 3rem) 0; + display: flex; + align-items: flex-start; + gap: clamp(2rem, 3vw, 4rem); + border-top:1px solid var(--bd-color); +} +.ri-item:nth-child(3), +.ri-item:nth-child(4) { + border-bottom:1px solid var(--bd-color); +} + +/* 헤더 영역 */ +.ri-head { + flex-shrink: 0; + width: clamp(100px, 15vw, 140px); + flex-direction: column; /* 번호 위, 타이틀 아래 */ + align-items: flex-start; + gap: 0.6rem; + border-bottom: none; + padding-bottom: 0; + margin-bottom: 0; +} + +/* 번호 */ +.ri-num { + font-family: var(--e-font); + font-size: clamp(1.8rem, calc(1.25vw + 1.4rem), 2rem); + font-weight: 700; + color: var(--primary, #1398F8); + line-height: 1; + letter-spacing: -0.02em; +} + +/* 타이틀 */ +.ri-title { + font-size: clamp(1.8rem, calc(0.54vw + 1.5rem), 2.2rem); + font-weight: 600; + color: var(--dark, #222); + line-height: 1.3; + word-break: keep-all; + padding-top:10px; +} + +/* 리스트 */ +.ri-list { + margin-top:3rem; + list-style: none; + display: flex; + flex-direction: column; + gap: 8px; + flex: 1; +} + +.ri-list li { + position: relative; + padding-left: 1.6rem; + font-size: clamp(1.5rem, calc(0.27vw + 1.35rem), 1.6rem); + color: var(--cont1, #444); + line-height: 1.5; + word-break: keep-all; +} + +.ri-list li::before { + content: ''; + position: absolute; + left: 0; + top: 0.85em; + transform: translateY(-50%); + width: 4px; + height: 4px; + border-radius: 50%; + background: var(--primary, #1398F8); + flex-shrink: 0; +} + +/* 지원하기 버튼 */ +.ri-apply-wrap { + margin-top: clamp(2rem, 2.5vw, 3.2rem); +} + +.ri-apply-btn { + display: inline-flex; + align-items: center; + gap: 10px; + padding: 14px 28px; + border: 1.5px solid var(--navy); + border-radius: 100px; + font-size: clamp(1.5rem, calc(0.27vw + 1.35rem), 1.7rem); + font-weight: 500; + color: var(--navy); + background: #fff; + transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease; + cursor: pointer; + text-decoration: none !important; +} + +.ri-apply-btn:hover { + background: var(--navy); + color: #fff; + border-color: var(--navy); +} + +.ri-apply-btn svg { + transition: transform 0.22s ease; +} + +.ri-apply-btn:hover svg { + transform: translateX(4px); +} + + +/* ============================== + 반응형 + ============================== */ +@media (max-width: 900px) { + .recruit-info-grid { + grid-template-columns: 1fr; + grid-template-rows: none; + } + + .ri-item { + padding: clamp(2.4rem, 3.5vw, 3rem) 0; + } + .ri-item:nth-child(3) { + border-bottom: 0; + } + +} + +@media (max-width: 768px) { + .ri-item { + display:block; + } +} + + +.rp-flow { + margin-top:30px; + display: flex; + align-items: flex-start; + justify-content: center; + gap: 0; + flex-wrap: nowrap; +} + +/* 각 스텝 */ +.rp-step { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + flex: 1; + min-width: 0; +} + +/* 아이콘 카드 */ +.rp-card { + width: clamp(16rem, calc(4.8vw + 58px), 16rem); + height: clamp(16rem, calc(4.8vw + 58px), 16rem); + background: #fff; + border-radius: 20px; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: clamp(1.4rem, 1.8vw, 2.2rem); + transition: box-shadow 0.22s ease, transform 0.22s ease; +} + +.rp-step:hover .rp-card { + box-shadow: 0 6px 28px rgba(19, 152, 248, 0.20), 0 2px 8px rgba(0,0,0,0.08); + transform: translateY(-4px); +} + +.rp-icon { + display: flex; + align-items: center; + justify-content: center; +} + +/* 스텝 이름 */ +.rp-step-name { + display: block; + font-size: clamp(1.8rem, calc(0.36vw + 1.4rem), 2rem); + font-weight: 700; + color: var(--dark, #222); + line-height: 1.3; + margin-bottom: clamp(8px, 1vw, 12px); + word-break: keep-all; +} + +/* 스텝 설명 */ +.rp-step-desc { + font-size: clamp(1.5rem, calc(0.18vw + 1.2rem), 1.6rem); + font-weight: 400; + color: var(--cont2, #666); + line-height: 1.5; + word-break: keep-all; +} + +/* 화살표 */ +.rp-arrow { + flex-shrink: 0; + display: flex; + align-items: center; + margin-top:7.5rem; + padding: 0 clamp(4px, 0.8vw, 10px); +} + +.rp-arrow svg { + width: clamp(14px, 1.4vw, 22px); + height: clamp(14px, 1.4vw, 22px); + flex-shrink: 0; + opacity: 0.75; +} + +/* ============================== + 반응형 + ============================== */ +@media (max-width: 1024px) { + .rp-flow { + flex-wrap: wrap; + gap: 0; + justify-content: flex-start; + } + + .rp-step { + flex: 0 0 calc(30% - 10px); + max-width: calc(30%); + padding: 0 8px; + margin-bottom: clamp(2.4rem, 3.5vw, 4rem); + } + .rp-arrow:nth-child(6) { + display: none; + } +} + +@media (max-width: 640px) { + .rp-step { + flex: 0 0 45%; + max-width: 100%; + } + .rp-card { + width: 120px; + height: 120px; + } + .rp-icon img { + width: 50px; + height: 50px; + } + .rp-arrow:nth-child(3), + .rp-arrow:nth-child(4), + .rp-arrow:nth-child(8){ + display: none; + } + .rp-arrow:nth-child(6) { + display: block; + } +} + +@media (max-width: 400px) { + .rp-step { + flex: 0 0 100%; + max-width: 100%; + } + .rp-arrow{ + display: none; + } + .rp-arrow:nth-child(6) { + display: none + } +} + + +/* ========================== + * 채용문의 + * ========================== */ +.sec-recreuit { + background:url('../img/main/inc04/inc04_bg.png') center bottom no-repeat; + background-size: cover; +} +.sec-recreuit .sub-h2 { + padding-top:10rem; + padding-bottom:8rem; +} +.inquiry-wrap { + display: grid; + grid-template-columns: 280px 1fr; + gap: clamp(40px, 6vw, 100px); + align-items: flex-start; + border-top:1px solid var(--bd-color); + padding-top: 8rem; +} +.inquiry-aside { + position: sticky; + top: 120px; +} + +.inquiry-aside__title { + font-size: clamp(2.4rem, calc(0.89vw + 1.53rem), 3.4rem); + font-weight: 700; + color: var(--dark); + line-height: 1.3; + letter-spacing: -0.03em; + word-break: keep-all; + margin-bottom: 18px; +} + +.inquiry-aside__title em { + color: var(--primary); + font-style: normal; +} + +.inquiry-aside__desc { + font-size: clamp(1.8rem, calc(0.18vw + 1.26rem), 2rem); + color: var(--cont2); + line-height: 1.5; + word-break: keep-all; +} + +/* ── 폼 영역 ── */ +.inquiry-form { + width: 100%; +} + +/* ── 필드 그룹 ── */ +.form-row { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 20px; + margin-bottom: 4rem; +} + +.form-row--full { + grid-template-columns: 1fr; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; +} + +/* ── 라벨 ── */ +.form-label { + font-size: 1.8rem; + font-weight: 600; + color: var(--dark); + display: flex; + align-items: center; + gap: 4px; +} + +.form-label .required { + color: var(--primary); + font-size: 1.8rem; + line-height: 1; + margin-top: -2px; +} + +/* ── 입력 공통 ── */ +.form-input, +.form-select, +.form-textarea { + width: 100%; + height: 54px; + border: 1px solid var(--bd-color); + border-radius: 8px; + background: #fff; + font-family: var(--k-font); + font-size: 1.5rem; + color: var(--dark); + padding: 0 18px; + transition: border-color 0.2s ease, box-shadow 0.2s ease; + outline: none; + appearance: none; + -webkit-appearance: none; +} + +.form-input::placeholder, +.form-textarea::placeholder { + color: #aab4c0; + font-size: 1.45rem; +} + +.form-input:focus, +.form-select:focus, +.form-textarea:focus { + border-color: var(--primary); + box-shadow: 0 0 0 3px rgba(19, 152, 248, 0.12); +} + +/* ── 셀렉트 ── */ +.form-select-wrap { + position: relative; +} + +.form-select { + cursor: pointer; + padding-right: 44px; + background-color: #fff; +} + +.form-select-wrap .select-ico { + position: absolute; + right: 14px; + top: 50%; + transform: translateY(-50%); + pointer-events: none; + color: var(--cont2); + font-size: 2rem; +} + +/* ── 파일 업로드 ── */ +.form-file-wrap { + position: relative; + height: 54px; + border: 1px solid var(--bd-color); + border-radius: 8px; + background: #fff; + display: flex; + align-items: center; + gap: 12px; + padding: 0 18px; + cursor: pointer; + transition: border-color 0.2s ease, box-shadow 0.2s ease; + overflow: hidden; +} + +.form-file-wrap:hover { + border-color: var(--primary); +} + +.form-file-wrap:focus-within { + border-color: var(--primary); + box-shadow: 0 0 0 3px rgba(19, 152, 248, 0.12); +} + +.form-file-wrap .file-ico { + color: var(--dark); + font-size: 2.2rem; + flex-shrink: 0; +} + +.form-file-name { + flex: 1; + font-size: 1.45rem; + color: #aab4c0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.form-file-name.has-file { + color: var(--dark); +} + +.form-file-btn { + flex-shrink: 0; + height: 34px; + padding: 0 14px; + border: 1px solid var(--bd-color); + border-radius: 6px; + background: var(--bg); + font-family: var(--k-font); + font-size: 1.3rem; + font-weight: 600; + color: var(--cont1); + cursor: pointer; + white-space: nowrap; + transition: background 0.2s, border-color 0.2s; +} + +.form-file-btn:hover { + background: #e2eef9; + border-color: var(--primary); + color: var(--primary); +} + +.form-file-input { + position: absolute; + inset: 0; + opacity: 0; + width: 100%; + height: 100%; + cursor: pointer; + z-index: 2; +} + +/* ── 텍스트에어리어 ── */ +.form-textarea { + height: 180px; + padding: 16px 18px; + resize: vertical; + line-height: 1.7; +} + +/* ── 개인정보 수집 이용 안내 ── */ +.privacy-section { + margin-top: 80px; +} + +.privacy-section__title { + font-size: clamp(2.2rem, calc(1.43vw + 1.514rem), 3.4rem); + font-weight: 700; + color: var(--dark); + padding-bottom: 16px; + border-bottom: 1px solid var(--navy); + margin-bottom: 16px; +} + +.privacy-box { + border: 1px solid var(--bd-color); + border-radius: 8px; + background: #fff; + padding: 22px 24px; + height: 170px; + overflow-y: auto; + font-size: 1.4rem; + color: var(--cont2); + line-height: 1.8; + scrollbar-width: thin; + scrollbar-color: var(--bd-color) transparent; +} + +.privacy-box::-webkit-scrollbar { width: 5px } +.privacy-box::-webkit-scrollbar-track { background: transparent } +.privacy-box::-webkit-scrollbar-thumb { background: var(--bd-color); border-radius: 10px } + +.privacy-box p { margin-bottom: 14px; word-break: keep-all; } +.privacy-box p:last-child { margin-bottom: 0; } +.privacy-box strong { + display: block; + color: var(--dark); + font-weight: 600; + margin-bottom: 4px; +} + +/* ── 동의 체크박스 ── */ +.form-agree { + display: flex; + align-items: center; + gap: 10px; + margin-top: 18px; + cursor: pointer; +} + +.form-agree__cb { + position: relative; + flex-shrink: 0; + width: 20px; + height: 20px; + cursor: pointer; +} + +.form-agree__cb input[type="checkbox"] { + position: absolute; + opacity: 0; + width: 100%; + height: 100%; + cursor: pointer; + margin: 0; + z-index: 2; +} + +.form-agree__cb .cb-custom { + position: absolute; + inset: 0; + border: 2px solid var(--bd-color); + border-radius: 5px; + background: #fff; + transition: border-color 0.2s, background 0.2s; + display: flex; + align-items: center; + justify-content: center; +} + +.form-agree__cb .cb-custom::after { + content: ''; + display: block; + width: 5px; + height: 9px; + border: 2px solid #fff; + border-top: none; + border-left: none; + transform: rotate(45deg) translateY(-1px); + opacity: 0; + transition: opacity 0.15s; +} + +.form-agree__cb input:checked ~ .cb-custom { + background: var(--primary); + border-color: var(--primary); +} + +.form-agree__cb input:checked ~ .cb-custom::after { + opacity: 1; +} + +.form-agree__cb input:focus-visible ~ .cb-custom { + outline: 2px solid var(--primary); + outline-offset: 2px; +} + +.form-agree__label { + font-size: 1.6rem; + color: var(--cont1); + cursor: pointer; + user-select: none; + word-break: keep-all; +} + +.form-agree__label .required { + color: var(--primary); + margin-left: 2px; +} + +/* ── 제출 버튼 ── */ +.form-submit-wrap { + margin-top: 50px; + margin-bottom:200px; + display: flex; + justify-content: center; +} + +.form-submit-btn { + display: inline-flex; + align-items: center; + justify-content: space-between; + gap: 10px; + height: 58px; + min-width: 200px; + padding: 0 40px; + background: var(--primary); + border: none; + border-radius: 100px; + font-family: var(--k-font); + font-size: 1.7rem; + font-weight: 700; + color: #fff; + cursor: pointer; + letter-spacing: -0.01em; + transition: background 0.25s, transform 0.2s, box-shadow 0.25s; + box-shadow: 0 6px 24px rgba(19, 152, 248, 0.3); +} + +.form-submit-btn:hover { + background: #0a82d8; + transform: translateY(-2px); + box-shadow: 0 10px 32px rgba(19, 152, 248, 0.45); +} + +.form-submit-btn:active { + transform: translateY(0); + box-shadow: 0 4px 14px rgba(19, 152, 248, 0.25); +} + +.form-submit-btn .btn-arrow { + font-size: 2.2rem; + transition: transform 0.2s; +} + +.form-submit-btn:hover .btn-arrow { + transform: translateX(4px); +} + +/* ── 입력 오류 상태 ── */ +.form-input.is-error, +.form-select.is-error, +.form-textarea.is-error { + border-color: #e53e3e; + box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.1); +} + +/* JS validateField 클래스 (.is-invalid / .is-valid) */ +.form-input.is-invalid, +.form-select.is-invalid, +.form-textarea.is-invalid { + border-color: #e53e3e; + box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.12); + background-color: #fff8f8; + outline: none; +} + +.form-input.is-valid, +.form-select.is-valid, +.form-textarea.is-valid { + border-color: #38a169; + box-shadow: 0 0 0 3px rgba(56, 161, 105, 0.12); +} + +/* 포커스 상태 강조 */ +.form-input:focus, +.form-select:focus, +.form-textarea:focus { + outline: none; + border-color: #4a90d9; + box-shadow: 0 0 0 3px rgba(74, 144, 217, 0.2); +} + +.form-input.is-invalid:focus, +.form-select.is-invalid:focus, +.form-textarea.is-invalid:focus { + border-color: #e53e3e; + box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.25); +} + +.form-error-msg { + font-size: 1.6rem; + color: #e53e3e; + display: none; + margin-top: 4px; +} + +.form-error-msg.is-show, +.form-error-msg.visible { + display: flex; + align-items: center; + gap: 4px; +} + +.form-error-msg.is-show::before, +.form-error-msg.visible::before { + content: '!'; + display: inline-flex; + align-items: center; + justify-content: center; + width: 16px; + height: 16px; + min-width: 16px; + background: #e53e3e; + color: #fff; + border-radius: 50%; + font-size: 1.1rem; + font-weight: 700; + line-height: 1; +} + +/* ── 반응형 ── */ +@media (max-width: 1024px) { + .sec-recreuit .sub-h2 { + padding-top:5rem; + padding-bottom:5rem; + } + .inquiry-wrap { + grid-template-columns: 220px 1fr; + gap: clamp(30px, 4vw, 60px); + padding-top:5rem; + } +} + +@media (max-width: 768px) { + .inquiry-wrap { + grid-template-columns: 1fr; + gap: 30px; + } + + .inquiry-aside { + position: static; + } + + .inquiry-aside__title { + font-size: 2.4rem; + } + + .form-row { + grid-template-columns: 1fr; + } + .form-submit-wrap { + margin-top: 25px; + margin-bottom:100px; + } +} + +@media (max-width: 480px) { + .form-input, + .form-select, + .form-textarea, + .form-file-wrap { + height: 50px; + } + + .form-textarea { + height: 150px; + } + + .privacy-box { + height: 140px; + padding: 16px; + } +} + + + +/* ============================== + 완료 모달 + ============================== */ +#inquiryModal, +#careersModal { + position: fixed; + inset: 0; + z-index: 9999; + display: flex; + align-items: center; + justify-content: center; +} + +.inquiry-modal__backdrop { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.5); +} + +.inquiry-modal__box { + position: relative; + z-index: 1; + background: #fff; + border-radius: 16px; + padding: 48px 40px 40px; + width: min(440px, calc(100vw - 40px)); + text-align: center; + box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2); +} + +.inquiry-modal__icon { + font-size: 56px; + color: #4caf50; + display: block; + margin-bottom: 16px; +} + +.inquiry-modal__title { + font-size: 2rem; + font-weight: 700; + margin-bottom: 12px; + color: #111; +} + +.inquiry-modal__desc { + font-size: 1.5rem; + color: #555; + line-height: 1.7; + margin-bottom: 32px; +} + +.inquiry-modal__close { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 14px 40px; + background: #111; + color: #fff; + border: none; + border-radius: 8px; + font-size: 1.5rem; + font-weight: 600; + cursor: pointer; + transition: background 0.2s; +} + +.inquiry-modal__close:hover { + background: #333; +} + +/* ============================== + PG등록 + ============================== */ +.evpg-sec-head { + text-align: center; + margin: 0 auto 40px auto; +} +.evpg-eyebrow { + display: inline-block; + font-family: var(--e-font); + font-size: 1.2rem; + font-weight: 700; + color: var(--primary); + letter-spacing: .15em; + text-transform: uppercase; + margin-bottom: 12px; + background-color: var(--bg); + padding:10px 20px;; + border-radius: 30px; +} + +/* ── 요약 지표 카드 ── */ +.evpg-summary { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 20px; + margin-bottom: clamp(40px, 5vw, 70px); +} +.evpg-stat-card { + background: var(--bg); + border: 1px solid var(--bd-color); + border-radius: 16px; + padding: clamp(22px, 2.5vw, 36px); + position: relative; + overflow: hidden; + transition: box-shadow .25s, transform .25s; +} +.evpg-stat-card:hover { + box-shadow: 0 10px 32px rgba(19,152,248,.12); + transform: translateY(-3px); +} + +.evpg-stat-num { + font-family: var(--e-font); + font-size: clamp(3.6rem, calc(2vw + 2rem), 5.2rem); + font-weight: 800; + color: var(--navy); + line-height: 1; + display: flex; + align-items: baseline; + gap: 4px; +} +.evpg-stat-unit { font-size: clamp(1.8rem, calc(.5vw + 1.4rem), 2.4rem); font-weight: 600; color: var(--cont1) } +.evpg-stat-label { font-size: 1.6rem; color: var(--cont2); margin-top: 8px; line-height: 1.5; word-break: keep-all } +.evpg-stat-sub { font-size: 1.4rem; color: var(--primary); font-weight: 600; margin-top: 6px } + +/* ── 체크 카드 ── */ +.evpg-check-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 22px; +} +.evpg-check-card { + background: #fff; + border: 1px solid var(--bd-color); + border-radius: 16px; + padding: clamp(24px, 3vw, 38px); + position: relative; + overflow: hidden; + transition: box-shadow .25s, transform .25s, border-color .25s; +} +.evpg-check-card:hover { + box-shadow: 0 12px 36px rgba(19,152,248,.11); + transform: translateY(-4px); + border-color: rgba(19,152,248,.3); +} +.evpg-check-card::before { + content: ''; + position: absolute; + top: 0; left: 0; right: 0; + height: 4px; + background: linear-gradient(90deg, var(--primary), #0a5fd8); + transform: scaleX(0); + transform-origin: left; + transition: transform .3s; +} +.evpg-check-card:hover::before { transform: scaleX(1) } +.evpg-card-num { + font-family: var(--e-font); + font-size: 5rem; + font-weight: 800; + color: var(--bg); + line-height: 1; + margin-bottom: 10px; + user-select: none; + transition: color .25s; +} +.evpg-check-card:hover .evpg-card-num { color: rgba(19,152,248,.1) } +.evpg-card-icon { + width: 48px; height: 48px; + background: var(--bg); + border-radius: 12px; + display: flex; align-items: center; justify-content: center; + margin-bottom: 16px; + transition: background .25s; +} +.evpg-check-card:hover .evpg-card-icon { background: rgba(19,152,248,.1) } +.evpg-card-icon svg { width: 22px; height: 22px; stroke: var(--primary); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round } +.evpg-card-tit { + font-size: clamp(1.7rem, calc(.3vw + 1.4rem), 2rem); + font-weight: 700; color: var(--dark); line-height: 1.4; + margin-bottom: 12px; word-break: keep-all; +} +.evpg-card-body { font-size: 1.5rem; color: var(--cont2); line-height: 1.72; word-break: keep-all } +.evpg-card-body strong { color: var(--primary); font-weight: 600 } +.evpg-card-tag { + display: inline-flex; align-items: center; gap: 5px; + background: var(--bg); border: 1px solid var(--bd-color); + border-radius: 50px; padding: 4px 12px; + font-size: 1.2rem; font-weight: 600; color: var(--primary); margin-top: 14px; +} + +/* ── 요건 박스 ── */ +.evpg-req-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 22px; +} +.evpg-req-box { + border: 1px solid var(--bd-color); + border-radius: 16px; overflow: hidden; background: #fff; + transition: box-shadow .25s; +} +.evpg-req-box:hover { box-shadow: 0 8px 28px rgba(0,0,0,.06) } +.evpg-req-head { + background: var(--navy); + padding: 18px 26px; display: flex; align-items: center; gap: 14px; +} +.evpg-hicon { + width: 38px; height: 38px; + background: rgba(255,255,255,.12); border-radius: 9px; + display: flex; align-items: center; justify-content: center; flex-shrink: 0; +} +.evpg-hicon svg { width: 18px; height: 18px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round } +.evpg-req-head h3 { font-size: 1.6rem; font-weight: 700; color: #fff; line-height: 1.4 } +.evpg-req-body { padding: 22px 26px } +.evpg-dot-list { display: flex; flex-direction: column; gap: 10px } +.evpg-dot-list li { + display: flex; align-items: flex-start; gap: 10px; + font-size: 1.5rem; color: var(--cont1); line-height: 1.65; +} +.evpg-dot-list li::before { + content: ''; flex-shrink: 0; width: 6px; height: 6px; + border-radius: 50%; background: var(--primary); margin-top: 8px; +} +.evpg-dot-list li strong { color: var(--primary); font-weight: 600 } +.evpg-note { + margin-top: 14px; padding: 12px 16px; + background: var(--bg); border-radius: 8px; + font-size: 1.4rem; color: var(--cont2); line-height: 1.6; +} +.evpg-note strong { color: var(--primary); font-weight: 700 } + +/* ── 장점 리스트 ── */ +.evpg-adv-list { display: flex; flex-direction: column; gap: 16px } +.evpg-adv-item { + display: flex; align-items: flex-start; gap: 22px; + background: var(--bg); border: 1px solid var(--bd-color); + border-radius: 14px; + padding: clamp(18px,2vw,28px) clamp(20px,2.5vw,36px); + transition: box-shadow .25s, border-color .25s; +} +.evpg-adv-item:hover { + box-shadow: 0 6px 20px rgba(19,152,248,.09); + border-color: rgba(19,152,248,.22); +} +.evpg-adv-icon { + flex-shrink: 0; width: 50px; height: 50px; + background: var(--primary); border-radius: 12px; + display: flex; align-items: center; justify-content: center; +} +.evpg-adv-icon svg { width: 22px; height: 22px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round } +.evpg-adv-txt h4 { + font-size: clamp(1.6rem,calc(.2vw + 1.4rem),1.9rem); + font-weight: 700; color: var(--dark); margin-bottom: 6px; +} +.evpg-adv-txt p { font-size: 1.5rem; color: var(--cont2); line-height: 1.7; word-break: keep-all } + +/* ── 레퍼런스 다크 섹션 ── */ +.evpg-ref-wrap { + background: var(--navy); + padding: clamp(6rem,calc(6vw + 1rem),10rem) 0; +} +.evpg-ref-wrap .evpg-eyebrow { color: rgba(19,152,248,.9) } +.evpg-ref-wrap .sub-h2 { color: #fff } +.evpg-ref-wrap .sub-desc-txt { color: rgba(255,255,255,.65) } +.evpg-ref-grid { + display: grid; grid-template-columns: repeat(3, 1fr); + gap: 18px; margin-top: clamp(32px, 4vw, 54px); +} +.evpg-ref-card { + background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); + border-radius: 14px; padding: clamp(22px,2.5vw,34px); + transition: background .25s, border-color .25s; +} +.evpg-ref-card:hover { background: rgba(255,255,255,.1); border-color: rgba(19,152,248,.4) } +.evpg-ref-icon { + width: 44px; height: 44px; background: rgba(19,152,248,.2); + border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; +} +.evpg-ref-icon svg { width: 20px; height: 20px; stroke: var(--primary); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round } +.evpg-ref-card h4 { font-size: 1.8rem; font-weight: 700; color: #fff; margin-bottom: 10px; line-height: 1.4 } +.evpg-ref-card p { font-size: 1.45rem; color: rgba(255,255,255,.65); line-height: 1.7; word-break: keep-all } +.evpg-cta-row { + display: flex; justify-content: center; gap: 14px;flex-wrap: wrap; +} +.evpg-btn-outline { + display: inline-flex; align-items: center; gap: 8px; + background: transparent; color: #fff; + border: 1px solid rgba(255,255,255,.35); + font-size: 1.6rem; font-weight: 600; + padding: 0 28px; height: clamp(48px,3.25vw,52px); + border-radius: 100px; transition: background .25s, border-color .25s; +} +.evpg-btn-outline:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.65) } +.evpg-btn-outline svg, +.btn-inquiry svg { width: 16px; height: 16px; flex-shrink: 0; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round } + +/* ── 문의 폼 ── */ +.evpg-form-wrap { max-width: 860px; margin: 0 auto } +.evpg-form-box { + background: var(--bg); border: 1px solid var(--bd-color); + border-radius: 20px; padding: clamp(30px, 4vw, 52px); +} +.evpg-form-desc { font-size: 1.5rem; color: var(--cont2); margin-bottom: 28px; line-height: 1.6 } +.evpg-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px } +.evpg-form-row.full { grid-template-columns: 1fr } +.evpg-form-group { display: flex; flex-direction: column; gap: 7px } +.evpg-label { font-size: 1.4rem; font-weight: 600; color: var(--cont1) } +.evpg-label .req { color: var(--primary); margin-left: 2px } +.evpg-ctrl { + width: 100%; padding: 13px 16px; + font-size: 1.5rem; font-family: var(--k-font); + color: var(--dark); background: #fff; + border: 1px solid var(--bd-color); border-radius: 10px; + outline: none; transition: border-color .2s, box-shadow .2s; +} +.evpg-ctrl:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(19,152,248,.12) } +.evpg-ctrl::placeholder { color: #c0c8d4 } +select.evpg-ctrl { cursor: pointer } +textarea.evpg-ctrl { min-height: 130px; resize: vertical } +.evpg-agree { + background: rgba(19,152,248,.05); border: 1px solid rgba(19,152,248,.15); + border-radius: 10px; padding: 12px 15px; + font-size: 1.35rem; color: var(--cont2); line-height: 1.65; + margin-bottom: 22px; margin-top: 4px; +} +.evpg-agree strong { color: var(--cont1); font-weight: 600 } +.evpg-submit { + width: 100%; padding: 16px; + background: var(--primary); color: #fff; + font-size: 1.7rem; font-weight: 700; font-family: var(--k-font); + border: none; border-radius: 12px; cursor: pointer; + transition: background .25s, transform .2s; letter-spacing: -0.02em; +} +.evpg-submit:hover { background: #0d7fd4; transform: translateY(-1px) } +.evpg-submit:active { transform: translateY(0) } + +/* ── 스크롤 페이드업 ── */ +.evpg-fade { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease } +.evpg-fade.on { opacity: 1; transform: translateY(0) } +.evpg-fade:nth-child(2) { transition-delay: .08s } +.evpg-fade:nth-child(3) { transition-delay: .16s } +.evpg-fade:nth-child(4) { transition-delay: .24s } +.evpg-fade:nth-child(5) { transition-delay: .32s } +.evpg-fade:nth-child(6) { transition-delay: .40s } + +/* ── 반응형 ── */ +@media (max-width: 1200px) { + .split-box { flex-direction: column } + .split-box__title { flex: none; padding: 28px 28px 0 } + .split-box__content { padding: 18px 28px 28px } +} +@media (max-width: 1024px) { + .evpg-check-grid { grid-template-columns: repeat(2, 1fr) } + .evpg-ref-grid { grid-template-columns: repeat(2, 1fr) } +} +@media (max-width: 768px) { + .evpg-summary { grid-template-columns: 1fr 1fr } + .evpg-check-grid { grid-template-columns: 1fr } + .evpg-req-grid { grid-template-columns: 1fr } + .evpg-ref-grid { grid-template-columns: 1fr } + .evpg-form-row { grid-template-columns: 1fr } + .split-list { grid-template-columns: 1fr } + .split-box__divider { display: none } + .split-box__title { padding: 20px 20px 0 } + .split-box__content { padding: 16px 20px 20px } + .evpg-card-num {font-size:1.8rem;} +} +@media (max-width: 480px) { + .evpg-summary { grid-template-columns: 1fr } + .evpg-cta-row { flex-direction: column; align-items: center } + .evpg-btn-outline, + .btn-inquiry { width: 100%; justify-content: center } +} + + +/* ============================== + other - 선정산서비스 + ============================== */ + +/* ── 섹션 공통 헤더 ── */ +.ps-sec-head { + text-align: center; + margin-bottom: clamp(36px, 4.5vw, 60px); +} +.ps-eyebrow { + display: inline-block; + font-size: 1.3rem; + font-weight: 700; + letter-spacing: 0.12em; + text-transform: uppercase; + color: var(--primary); + background: rgba(19,152,248,.08); + border-radius: 50px; + padding: 5px 16px; + margin-bottom: 14px; +} + +/* ══════════════════════ + SECTION 1 — 시스템 카드 + ══════════════════════ */ +.ps-sys-section { + padding: clamp(6rem, calc(6vw + 1rem), 10rem) 0; + background: #fff; +} +.ps-sys-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 20px; + margin-top: clamp(32px, 4vw, 52px); +} +.ps-sys-card { + background: var(--bg); + border: 1px solid var(--bd-color); + border-radius: 18px; + padding: clamp(24px, 2.5vw, 36px) clamp(20px, 2vw, 28px); + transition: box-shadow .28s, border-color .28s, transform .28s; + position: relative; + overflow: hidden; +} + +.ps-sys-card:hover { + box-shadow: 0 10px 34px rgba(19,152,248,.12); + transform: translateY(-4px); +} +.ps-sys-card:hover::before { opacity: 1; } + +.ps-sys-num { + font-family: var(--e-font); + font-size: 3.6rem; + font-weight: 800; + color: rgba(19,152,248,.12); + line-height: 1; + margin-bottom: 8px; + transition: color .28s; +} +.ps-sys-card:hover .ps-sys-num { color: rgba(19,152,248,.2); } + +.ps-sys-icon { + width: 50px; height: 50px; + background: #fff; + border: 1px solid var(--bd-color); + border-radius: 14px; + display: flex; align-items: center; justify-content: center; + margin-bottom: 16px; + transition: background .28s, border-color .28s; +} +.ps-sys-card:hover .ps-sys-icon { + background: var(--primary); + border-color: var(--primary); +} +.ps-sys-icon svg { + width: 22px; height: 22px; + stroke: var(--primary); fill: none; + stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; + transition: stroke .28s; +} +.ps-sys-card:hover .ps-sys-icon svg { stroke: #fff; } + +.ps-sys-tit { + font-size: clamp(2.2rem, calc(.25vw + 1.4rem), 2.4rem); + font-weight: 700; + color: var(--dark); + line-height: 1.4; + margin-bottom: 16px; + word-break: keep-all; +} +.ps-sys-list { + display: flex; + flex-direction: column; + gap: 9px; +} +.ps-sys-list li { + display: flex; + align-items: flex-start; + gap: 9px; + font-size: 1.6rem; + color: var(--cont2); + line-height: 1.5; + word-break: keep-all; +} +.ps-sys-list li::before { + content: ''; + flex-shrink: 0; + width: 5px; height: 5px; + border-radius: 50%; + background: var(--primary); + margin-top: 8px; +} + +/* ══════════════════════ + SECTION 2 — 이용 혜택 + ══════════════════════ */ +.ps-benefit-section { + padding: clamp(6rem, calc(6vw + 1rem), 10rem) 0; + background: var(--navy); +} +.ps-benefit-section .ps-sec-head { margin-bottom: clamp(36px, 4.5vw, 60px); } +.ps-benefit-section .ps-eyebrow { color: rgba(19,152,248,.9); background: rgba(19,152,248,.15); } +.ps-benefit-section .sub-h2 { color: #fff; } +.ps-benefit-section .sub-desc-txt { color: rgba(255,255,255,.65); } + +.ps-benefit-grid { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 16px; + margin-top: clamp(32px, 4vw, 52px); +} +.ps-benefit-card { + background: rgba(255,255,255,.06); + border: 1px solid rgba(255,255,255,.12); + border-radius: 16px; + padding: clamp(22px, 2.5vw, 32px) clamp(18px, 2vw, 26px); + text-align: center; + transition: background .28s, border-color .28s, transform .28s; +} +.ps-benefit-card:hover { + background: rgba(255,255,255,.11); + border-color: rgba(19,152,248,.45); + transform: translateY(-4px); +} +.ps-benefit-ico { + width: 58px; height: 58px; + background: rgba(19,152,248,.2); + border-radius: 16px; + display: flex; align-items: center; justify-content: center; + margin: 0 auto 18px; + transition: background .28s; +} +.ps-benefit-card:hover .ps-benefit-ico { background: var(--primary); } +.ps-benefit-ico svg { + width: 24px; height: 24px; + stroke: var(--primary); fill: none; + stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; + transition: stroke .28s; +} +.ps-benefit-card:hover .ps-benefit-ico svg { stroke: #fff; } + +.ps-benefit-tit { + font-size: clamp(2.2rem, calc(.2vw + 1.35rem), 2.4rem); + font-weight: 700; + color: #fff; + margin-bottom: 10px; + word-break: keep-all; + line-height: 1.35; +} +.ps-benefit-desc { + font-size: 1.6rem; + color: rgba(255,255,255,.62); + line-height: 1.7; + word-break: keep-all; +} + +/* ══════════════════════ + SECTION 3 — 인터뷰 + ══════════════════════ */ +.ps-review-section { + padding: clamp(6rem, calc(6vw + 1rem), 10rem) 0; + background: var(--bg); +} +.ps-review-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 22px; + margin-top: clamp(36px, 4.5vw, 60px); +} +.ps-review-card { + background: #fff; + border: 1px solid var(--bd-color); + border-radius: 20px; + padding: clamp(26px, 3vw, 38px); + position: relative; + transition: box-shadow .28s, border-color .28s; +} +.ps-review-card:hover { + box-shadow: 0 10px 30px rgba(0,0,0,.07); + border-color: rgba(19,152,248,.25); +} + +/* 말풍선 꼬리 */ +.ps-review-card::after { + content: ''; + position: absolute; + bottom: -16px; + left: clamp(28px, 3vw, 38px); + width: 0; height: 0; + border-left: 14px solid transparent; + border-right: 8px solid transparent; + border-top: 16px solid #fff; + filter: drop-shadow(0 2px 1px rgba(0,0,0,.05)); +} +.ps-review-quote { + font-size: 4rem; + line-height: 1; + margin-bottom: 10px; +} +.ps-review-txt { + font-size: clamp(1.5rem, calc(.2vw + 1.35rem), 1.75rem); + color: var(--cont1); + line-height: 1.78; + word-break: keep-all; + font-weight: 500; + margin-bottom: 0; + height:80px; +} +.ps-reviewer-row { + display: flex; + align-items: center; + gap: 14px; + margin-top: 36px; +} +.ps-reviewer-ava { + width: 48px; height: 48px; + border-radius: 50%; + background: var(--primary); + display: flex; align-items: center; justify-content: center; + flex-shrink: 0; + overflow: hidden; +} +.ps-reviewer-ava img { + width: 50px; height: 50px; + stroke: #fff; fill: none; + stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; +} +.ps-reviewer-name { + font-size: 1.5rem; + font-weight: 700; + color: var(--dark); +} +.ps-reviewer-role { + font-size: 1.35rem; + color: var(--cont2); + margin-top: 2px; +} + +/* 인터뷰 섹션 헤더 intro */ +.ps-review-intro { + font-size: clamp(1.5rem, calc(.3vw + 1.3rem), 1.8rem); + color: var(--cont2); + line-height: 1.7; + word-break: keep-all; + text-align: center; + margin-top: clamp(10px, 1.2vw, 18px); +} + +/* ══════════════════════ + 하단 버튼 4개 + ══════════════════════ */ +.ps-cta-section { + background: #fff; + padding: clamp(5rem, calc(5vw + 1rem), 8rem) 0; + border-top: 1px solid var(--bd-color); +} +.ps-cta-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 16px; +} +.ps-cta-btn { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 12px; + padding: clamp(24px, 3vw, 36px) 16px; + border-radius: 16px; + border: 1.5px solid var(--bd-color); + background: var(--bg); + text-align: center; + transition: background .28s, border-color .28s, box-shadow .28s, transform .28s; + cursor: pointer; + text-decoration: none !important; +} +.ps-cta-btn:hover { + background: var(--primary); + border-color: var(--primary); + box-shadow: 0 8px 24px rgba(19,152,248,.22); + transform: translateY(-3px); +} +.ps-cta-btn-ico { + width: 52px; height: 52px; + background: #fff; + border-radius: 14px; + display: flex; align-items: center; justify-content: center; + box-shadow: 0 2px 8px rgba(0,0,0,.06); + transition: background .28s; +} +.ps-cta-btn:hover .ps-cta-btn-ico { background: rgba(255,255,255,.2); } +.ps-cta-btn-ico svg { + width: 22px; height: 22px; + stroke: var(--primary); fill: none; + stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; + transition: stroke .28s; +} +.ps-cta-btn:hover .ps-cta-btn-ico svg { stroke: #fff; } +.ps-cta-label { + font-size: clamp(1.4rem, calc(.25vw + 1.2rem), 1.7rem); + font-weight: 700; + color: var(--dark); + line-height: 1.35; + word-break: keep-all; + transition: color .28s; +} +.ps-cta-btn:hover .ps-cta-label { color: #fff; } + +/* ── 스크롤 페이드업 ── */ +.ps-fade { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease } +.ps-fade.on { opacity: 1; transform: translateY(0) } +.ps-fade:nth-child(2) { transition-delay: .08s } +.ps-fade:nth-child(3) { transition-delay: .16s } +.ps-fade:nth-child(4) { transition-delay: .24s } +.ps-fade:nth-child(5) { transition-delay: .32s } + +/* ── 반응형 ── */ +@media (max-width: 1200px) { + .ps-sys-grid { grid-template-columns: repeat(2, 1fr); } + .ps-benefit-grid { grid-template-columns: repeat(3, 1fr); } +} +@media (max-width: 1024px) { + .ps-cta-grid { grid-template-columns: repeat(2, 1fr); } + .ps-benefit-grid { grid-template-columns: repeat(2, 1fr); } +} +@media (max-width: 768px) { + .ps-sys-grid { grid-template-columns: 1fr; } + .ps-review-grid { grid-template-columns: 1fr; } + .ps-benefit-grid { grid-template-columns: repeat(2, 1fr); } + .ps-cta-grid { grid-template-columns: repeat(2, 1fr); } + .ps-review-card::after { display: none; } +} +@media (max-width: 480px) { + .ps-benefit-grid { grid-template-columns: 1fr; } + .ps-cta-grid { grid-template-columns: 1fr; } +} + + + /* ── 사이트맵 ── */ +.smap-wrap { + padding: clamp(60px, 8vw, 110px) 0 clamp(70px, 9vw, 120px); +} + +/* 그리드: 4열 */ +.smap-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 0; + border: 1px solid var(--bd-color); + border-radius: 20px; + overflow: hidden; +} + +/* 각 1depth 컬럼 */ +.smap-col { + border-right: 1px solid var(--bd-color); +} +.smap-col:last-child { border-right: none } + +/* 1depth 헤더 */ +.smap-depth1 { + display: flex; + align-items: center; + gap: 12px; + padding: 26px 28px; + background: var(--navy); + border-bottom: 1px solid rgba(255,255,255,0.08); +} + +.smap-depth1-icon { + width: 38px; + height: 38px; + background: rgba(255,255,255,0.1); + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} +.smap-depth1-icon svg { + width: 18px; height: 18px; + stroke: #fff; fill: none; + stroke-width: 2; + stroke-linecap: round; + stroke-linejoin: round; +} + +.smap-depth1-label { + display: flex; + flex-direction: column; + gap: 2px; +} +.smap-depth1-en { + font-family: var(--e-font, 'Outfit', sans-serif); + font-size: 1.2rem; + font-weight: 500; + color: rgba(255,255,255,0.45); + letter-spacing: 0.06em; + text-transform: uppercase; + line-height: 1; +} +.smap-depth1-ko { + font-size: 2rem; + font-weight: 700; + color: #fff; + line-height: 1.5; + letter-spacing: -0.02em; +} + +/* 2depth 목록 */ +.smap-depth2-list { + list-style: none; + margin: 0; padding: 0; +} + +.smap-depth2-list li { + border-bottom: 1px solid var(--bd-color); +} +.smap-depth2-list li:last-child { border-bottom: none } + +.smap-depth2-list li a { + display: flex; + align-items: center; + justify-content: space-between; + padding: 17px 28px; + font-size: 1.8rem; + font-weight: 500; + color: var(--cont1); + text-decoration: none; + transition: background 0.2s, color 0.2s, padding-left 0.2s; +} +.smap-depth2-list li a .smap-arrow { + display: flex; + align-items: center; + color: #c8d0dc; + transition: color 0.2s, transform 0.2s; + flex-shrink: 0; +} +.smap-depth2-list li a .smap-arrow svg { + width: 14px; height: 14px; + stroke: currentColor; fill: none; + stroke-width: 2; + stroke-linecap: round; stroke-linejoin: round; +} + +.smap-depth2-list li a:hover { + background: #f3f8ff; + color: var(--primary); + padding-left: 32px; +} +.smap-depth2-list li a:hover .smap-arrow { + color: var(--primary); + transform: translateX(3px); +} + +/* 컬럼별 액센트 라인 */ +.smap-col:nth-child(1) .smap-depth1 { background: #032B69 } +.smap-col:nth-child(2) .smap-depth1 { background: #053580 } +.smap-col:nth-child(3) .smap-depth1 { background: #073f98 } +.smap-col:nth-child(4) .smap-depth1 { background: #0949b0 } + +/* 하단 홈 링크 */ +.smap-home-row { + display: flex; + align-items: center; + justify-content: center; + gap: 16px; + margin-top: 40px; +} +.smap-home-btn { + display: inline-flex; + align-items: center; + gap: 9px; + background: var(--navy); + color: #fff; + font-size: 1.55rem; + font-weight: 600; + padding: 0 30px; + height: 52px; + border-radius: 100px; + text-decoration: none; + transition: background 0.2s, transform 0.2s; + letter-spacing: -0.02em; +} +.smap-home-btn svg { + width: 17px; height: 17px; + stroke: #fff; fill: none; + stroke-width: 2; + stroke-linecap: round; stroke-linejoin: round; +} +.smap-home-btn:hover { + background: var(--primary); + transform: translateY(-2px); +} + +/* ── 반응형 ── */ +@media (max-width: 1024px) { + .smap-grid { + grid-template-columns: repeat(2, 1fr); + border-radius: 16px; + } + .smap-col:nth-child(2) { border-right: none } + .smap-col:nth-child(3) { border-top: 1px solid var(--bd-color) } + .smap-col:nth-child(4) { + border-right: none; + border-top: 1px solid var(--bd-color); + } +} + +@media (max-width: 600px) { + .smap-grid { + grid-template-columns: 1fr; + border-radius: 14px; + } + .smap-col { border-right: none } + .smap-col + .smap-col { border-top: 1px solid var(--bd-color) } + .smap-depth1 { padding: 20px 22px } + .smap-depth2-list li a { padding: 15px 22px } + .smap-depth2-list li a:hover { padding-left: 26px } + .smap-home-row { flex-direction: column } + .smap-home-btn { width: 100%; max-width: 320px; justify-content: center } +} diff --git a/src/main/resources/static/css/swiper.min.css b/src/main/resources/static/css/swiper.min.css new file mode 100644 index 0000000..e0cb226 --- /dev/null +++ b/src/main/resources/static/css/swiper.min.css @@ -0,0 +1,564 @@ +/** + * Swiper 5.4.1 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * http://swiperjs.com + * + * Copyright 2014-2020 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: May 20, 2020 + */ + @font-face { + font-family: swiper-icons; + src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff"); + font-weight: 400; + font-style: normal +} + +:root { + --swiper-theme-color: #007aff +} + +.swiper-container { + margin-left: auto; + margin-right: auto; + position: relative; + overflow: hidden; + list-style: none; + padding: 0; + z-index: 1 +} + +.swiper-container-vertical>.swiper-wrapper { + flex-direction: column +} + +.swiper-wrapper { + position: relative; + width: 100%; + height: 100%; + z-index: 1; + display: flex; + transition-property: transform; + box-sizing: content-box +} + +.swiper-container-android .swiper-slide,.swiper-wrapper { + transform: translate3d(0px,0,0) +} + +.swiper-container-multirow>.swiper-wrapper { + flex-wrap: wrap +} + +.swiper-container-multirow-column>.swiper-wrapper { + flex-wrap: wrap; + flex-direction: column +} + +.swiper-container-free-mode>.swiper-wrapper { + transition-timing-function: ease-out; + margin: 0 auto +} + +.swiper-slide { + flex-shrink: 0; + width: 100%; + height: 100%; + position: relative; + transition-property: transform +} + +.swiper-slide-invisible-blank { + visibility: hidden +} + +.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide { + height: auto +} + +.swiper-container-autoheight .swiper-wrapper { + align-items: flex-start; + transition-property: transform,height +} + +.swiper-container-3d { + perspective: 1200px +} + +.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper { + transform-style: preserve-3d +} + +.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 10 +} + +.swiper-container-3d .swiper-slide-shadow-left { + background-image: linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0)) +} + +.swiper-container-3d .swiper-slide-shadow-right { + background-image: linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0)) +} + +.swiper-container-3d .swiper-slide-shadow-top { + background-image: linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0)) +} + +.swiper-container-3d .swiper-slide-shadow-bottom { + background-image: linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0)) +} + +.swiper-container-css-mode>.swiper-wrapper { + overflow: auto; + scrollbar-width: none; + -ms-overflow-style: none +} + +.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar { + display: none +} + +.swiper-container-css-mode>.swiper-wrapper>.swiper-slide { + scroll-snap-align: start start +} + +.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper { + scroll-snap-type: x mandatory +} + +.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper { + scroll-snap-type: y mandatory +} + +:root { + --swiper-navigation-size: 44px +} + +.swiper-button-next,.swiper-button-prev { + position: absolute; + top: 50%; + width: calc(var(--swiper-navigation-size)/ 44 * 27); + height: var(--swiper-navigation-size); + margin-top: calc(-1 * var(--swiper-navigation-size)/ 2); + z-index: 10; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + color: var(--swiper-navigation-color,var(--swiper-theme-color)) +} + +.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled { + opacity: .35; + cursor: auto; + pointer-events: none +} + +.swiper-button-next:after,.swiper-button-prev:after { + font-family: swiper-icons; + font-size: var(--swiper-navigation-size); + text-transform: none!important; + letter-spacing: 0; + text-transform: none; + font-variant: initial; + line-height: 1 +} + +.swiper-button-prev,.swiper-container-rtl .swiper-button-next { + left: 10px; + right: auto +} + +.swiper-button-prev:after,.swiper-container-rtl .swiper-button-next:after { + content: 'prev' +} + +.swiper-button-next,.swiper-container-rtl .swiper-button-prev { + right: 10px; + left: auto +} + +.swiper-button-next:after,.swiper-container-rtl .swiper-button-prev:after { + content: 'next' +} + +.swiper-button-next.swiper-button-white,.swiper-button-prev.swiper-button-white { + --swiper-navigation-color: #ffffff +} + +.swiper-button-next.swiper-button-black,.swiper-button-prev.swiper-button-black { + --swiper-navigation-color: #000000 +} + +.swiper-button-lock { + display: none +} + +.swiper-pagination { + position: absolute; + text-align: center; + transition: .3s opacity; + transform: translate3d(0,0,0); + z-index: 10 +} + +.swiper-pagination.swiper-pagination-hidden { + opacity: 0 +} + +.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction { + bottom: 10px; + width: 100% +} + +.swiper-pagination-bullets-dynamic { + overflow: hidden; + font-size: 0 +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + transform: scale(.33); + position: relative +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active { + transform: scale(1) +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main { + transform: scale(1) +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev { + transform: scale(.66) +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev { + transform: scale(.33) +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next { + transform: scale(.66) +} + +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next { + transform: scale(.33) +} + +.swiper-pagination-bullet { + width: 8px; + height: 8px; + display: inline-block; + border-radius: 100%; + background: #000; + opacity: .2 +} + +button.swiper-pagination-bullet { + border: none; + margin: 0; + padding: 0; + box-shadow: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none +} + +.swiper-pagination-clickable .swiper-pagination-bullet { + cursor: pointer +} + +.swiper-pagination-bullet-active { + opacity: 1; + background: var(--swiper-pagination-color,var(--swiper-theme-color)) +} + +.swiper-container-vertical>.swiper-pagination-bullets { + right: 10px; + top: 50%; + transform: translate3d(0px,-50%,0) +} + +.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet { + margin: 6px 0; + display: block +} + +.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { + top: 50%; + transform: translateY(-50%); + width: 8px +} + +.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + display: inline-block; + transition: .2s transform,.2s top +} + +.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet { + margin: 0 4px +} + +.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic { + left: 50%; + transform: translateX(-50%); + white-space: nowrap +} + +.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + transition: .2s transform,.2s left +} + +.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet { + transition: .2s transform,.2s right +} + +.swiper-pagination-progressbar { + background: rgba(0,0,0,.25); + position: absolute +} + +.swiper-pagination-progressbar .swiper-pagination-progressbar-fill { + background: var(--swiper-pagination-color,var(--swiper-theme-color)); + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + transform: scale(0); + transform-origin: left top +} + +.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill { + transform-origin: right top +} + +.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite { + width: 100%; + height: 4px; + left: 0; + top: 0 +} + +.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar { + width: 4px; + height: 100%; + left: 0; + top: 0 +} + +.swiper-pagination-white { + --swiper-pagination-color: #ffffff +} + +.swiper-pagination-black { + --swiper-pagination-color: #000000 +} + +.swiper-pagination-lock { + display: none +} + +.swiper-scrollbar { + border-radius: 10px; + position: relative; + -ms-touch-action: none; + background: rgba(0,0,0,.1) +} + +.swiper-container-horizontal>.swiper-scrollbar { + position: absolute; + left: 1%; + bottom: 3px; + z-index: 50; + height: 5px; + width: 98% +} + +.swiper-container-vertical>.swiper-scrollbar { + position: absolute; + right: 3px; + top: 1%; + z-index: 50; + width: 5px; + height: 98% +} + +.swiper-scrollbar-drag { + height: 100%; + width: 100%; + position: relative; + background: rgba(0,0,0,.5); + border-radius: 10px; + left: 0; + top: 0 +} + +.swiper-scrollbar-cursor-drag { + cursor: move +} + +.swiper-scrollbar-lock { + display: none +} + +.swiper-zoom-container { + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + text-align: center +} + +.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg { + max-width: 100%; + max-height: 100%; + object-fit: contain +} + +.swiper-slide-zoomed { + cursor: move +} + +.swiper-lazy-preloader { + width: 42px; + height: 42px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -21px; + margin-top: -21px; + z-index: 10; + transform-origin: 50%; + animation: swiper-preloader-spin 1s infinite linear; + box-sizing: border-box; + border: 4px solid var(--swiper-preloader-color,var(--swiper-theme-color)); + border-radius: 50%; + border-top-color: transparent +} + +.swiper-lazy-preloader-white { + --swiper-preloader-color: #fff +} + +.swiper-lazy-preloader-black { + --swiper-preloader-color: #000 +} + +@keyframes swiper-preloader-spin { + 100% { + transform: rotate(360deg) + } +} + +.swiper-container .swiper-notification { + position: absolute; + left: 0; + top: 0; + pointer-events: none; + opacity: 0; + z-index: -1000 +} + +.swiper-container-fade.swiper-container-free-mode .swiper-slide { + transition-timing-function: ease-out +} + +.swiper-container-fade .swiper-slide { + pointer-events: none; + transition-property: opacity +} + +.swiper-container-fade .swiper-slide .swiper-slide { + pointer-events: none +} + +.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active { + pointer-events: auto +} + +.swiper-container-cube { + overflow: visible +} + +.swiper-container-cube .swiper-slide { + pointer-events: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + z-index: 1; + visibility: hidden; + transform-origin: 0 0; + width: 100%; + height: 100% +} + +.swiper-container-cube .swiper-slide .swiper-slide { + pointer-events: none +} + +.swiper-container-cube.swiper-container-rtl .swiper-slide { + transform-origin: 100% 0 +} + +.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active { + pointer-events: auto +} + +.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev { + pointer-events: auto; + visibility: visible +} + +.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top { + z-index: 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden +} + +.swiper-container-cube .swiper-cube-shadow { + position: absolute; + left: 0; + bottom: 0px; + width: 100%; + height: 100%; + background: #000; + opacity: .6; + -webkit-filter: blur(50px); + filter: blur(50px); + z-index: 0 +} + +.swiper-container-flip { + overflow: visible +} + +.swiper-container-flip .swiper-slide { + pointer-events: none; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + z-index: 1 +} + +.swiper-container-flip .swiper-slide .swiper-slide { + pointer-events: none +} + +.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active { + pointer-events: auto +} + +.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top { + z-index: 0; + -webkit-backface-visibility: hidden; + backface-visibility: hidden +} diff --git a/src/main/resources/static/img/common/apple-touch-icon.png b/src/main/resources/static/img/common/apple-touch-icon.png new file mode 100644 index 0000000..824a6a5 Binary files /dev/null and b/src/main/resources/static/img/common/apple-touch-icon.png differ diff --git a/src/main/resources/static/img/common/del_bn.png b/src/main/resources/static/img/common/del_bn.png new file mode 100644 index 0000000..aa51ad6 Binary files /dev/null and b/src/main/resources/static/img/common/del_bn.png differ diff --git a/src/main/resources/static/img/common/favicon.ico b/src/main/resources/static/img/common/favicon.ico new file mode 100644 index 0000000..674b234 Binary files /dev/null and b/src/main/resources/static/img/common/favicon.ico differ diff --git a/src/main/resources/static/img/common/flogo1.png b/src/main/resources/static/img/common/flogo1.png new file mode 100644 index 0000000..e32fb8d Binary files /dev/null and b/src/main/resources/static/img/common/flogo1.png differ diff --git a/src/main/resources/static/img/common/flogo2.png b/src/main/resources/static/img/common/flogo2.png new file mode 100644 index 0000000..606b03a Binary files /dev/null and b/src/main/resources/static/img/common/flogo2.png differ diff --git a/src/main/resources/static/img/common/foot_logo.png b/src/main/resources/static/img/common/foot_logo.png new file mode 100644 index 0000000..4dfccd1 Binary files /dev/null and b/src/main/resources/static/img/common/foot_logo.png differ diff --git a/src/main/resources/static/img/common/hola_bn.png b/src/main/resources/static/img/common/hola_bn.png new file mode 100644 index 0000000..81f0c4f Binary files /dev/null and b/src/main/resources/static/img/common/hola_bn.png differ diff --git a/src/main/resources/static/img/common/ic-chat.png b/src/main/resources/static/img/common/ic-chat.png new file mode 100644 index 0000000..d9ad24c Binary files /dev/null and b/src/main/resources/static/img/common/ic-chat.png differ diff --git a/src/main/resources/static/img/common/ic-location.png b/src/main/resources/static/img/common/ic-location.png new file mode 100644 index 0000000..99e603e Binary files /dev/null and b/src/main/resources/static/img/common/ic-location.png differ diff --git a/src/main/resources/static/img/common/ic-reservation.png b/src/main/resources/static/img/common/ic-reservation.png new file mode 100644 index 0000000..fad9530 Binary files /dev/null and b/src/main/resources/static/img/common/ic-reservation.png differ diff --git a/src/main/resources/static/img/common/ing_bg.png b/src/main/resources/static/img/common/ing_bg.png new file mode 100644 index 0000000..a5c536b Binary files /dev/null and b/src/main/resources/static/img/common/ing_bg.png differ diff --git a/src/main/resources/static/img/common/logo.png b/src/main/resources/static/img/common/logo.png new file mode 100644 index 0000000..d443b9a Binary files /dev/null and b/src/main/resources/static/img/common/logo.png differ diff --git a/src/main/resources/static/img/common/logo_d.png b/src/main/resources/static/img/common/logo_d.png new file mode 100644 index 0000000..36d9a6d Binary files /dev/null and b/src/main/resources/static/img/common/logo_d.png differ diff --git a/src/main/resources/static/img/common/logo_d.svg b/src/main/resources/static/img/common/logo_d.svg new file mode 100644 index 0000000..320b3a9 --- /dev/null +++ b/src/main/resources/static/img/common/logo_d.svg @@ -0,0 +1,407 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/static/img/common/logo_w.svg b/src/main/resources/static/img/common/logo_w.svg new file mode 100644 index 0000000..72bf729 --- /dev/null +++ b/src/main/resources/static/img/common/logo_w.svg @@ -0,0 +1,407 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/static/img/common/map.png b/src/main/resources/static/img/common/map.png new file mode 100644 index 0000000..66f4255 Binary files /dev/null and b/src/main/resources/static/img/common/map.png differ diff --git a/src/main/resources/static/img/common/no_img.jpg b/src/main/resources/static/img/common/no_img.jpg new file mode 100644 index 0000000..e1b5fbf Binary files /dev/null and b/src/main/resources/static/img/common/no_img.jpg differ diff --git a/src/main/resources/static/img/common/pg_bn.png b/src/main/resources/static/img/common/pg_bn.png new file mode 100644 index 0000000..cc72bbe Binary files /dev/null and b/src/main/resources/static/img/common/pg_bn.png differ diff --git a/src/main/resources/static/img/main/inc01/inc01_img01.jpg b/src/main/resources/static/img/main/inc01/inc01_img01.jpg new file mode 100644 index 0000000..c2a1811 Binary files /dev/null and b/src/main/resources/static/img/main/inc01/inc01_img01.jpg differ diff --git a/src/main/resources/static/img/main/inc01/inc01_img02.jpg b/src/main/resources/static/img/main/inc01/inc01_img02.jpg new file mode 100644 index 0000000..151d678 Binary files /dev/null and b/src/main/resources/static/img/main/inc01/inc01_img02.jpg differ diff --git a/src/main/resources/static/img/main/inc01/inc01_img03.jpg b/src/main/resources/static/img/main/inc01/inc01_img03.jpg new file mode 100644 index 0000000..9c5f18f Binary files /dev/null and b/src/main/resources/static/img/main/inc01/inc01_img03.jpg differ diff --git a/src/main/resources/static/img/main/inc01/inc01_img04.jpg b/src/main/resources/static/img/main/inc01/inc01_img04.jpg new file mode 100644 index 0000000..6b1932b Binary files /dev/null and b/src/main/resources/static/img/main/inc01/inc01_img04.jpg differ diff --git a/src/main/resources/static/img/main/inc01/inc01_img05.jpg b/src/main/resources/static/img/main/inc01/inc01_img05.jpg new file mode 100644 index 0000000..20f34c9 Binary files /dev/null and b/src/main/resources/static/img/main/inc01/inc01_img05.jpg differ diff --git a/src/main/resources/static/img/main/inc03/inc03_img01.png b/src/main/resources/static/img/main/inc03/inc03_img01.png new file mode 100644 index 0000000..44cb282 Binary files /dev/null and b/src/main/resources/static/img/main/inc03/inc03_img01.png differ diff --git a/src/main/resources/static/img/main/inc03/inc03_img02.png b/src/main/resources/static/img/main/inc03/inc03_img02.png new file mode 100644 index 0000000..5508229 Binary files /dev/null and b/src/main/resources/static/img/main/inc03/inc03_img02.png differ diff --git a/src/main/resources/static/img/main/inc04/contact_bg.png b/src/main/resources/static/img/main/inc04/contact_bg.png new file mode 100644 index 0000000..2ae6ec1 Binary files /dev/null and b/src/main/resources/static/img/main/inc04/contact_bg.png differ diff --git a/src/main/resources/static/img/main/inc04/ico_coalition.png b/src/main/resources/static/img/main/inc04/ico_coalition.png new file mode 100644 index 0000000..25ae54a Binary files /dev/null and b/src/main/resources/static/img/main/inc04/ico_coalition.png differ diff --git a/src/main/resources/static/img/main/inc04/ico_employ.png b/src/main/resources/static/img/main/inc04/ico_employ.png new file mode 100644 index 0000000..ed0fd68 Binary files /dev/null and b/src/main/resources/static/img/main/inc04/ico_employ.png differ diff --git a/src/main/resources/static/img/main/inc04/ico_ora.png b/src/main/resources/static/img/main/inc04/ico_ora.png new file mode 100644 index 0000000..a89e257 Binary files /dev/null and b/src/main/resources/static/img/main/inc04/ico_ora.png differ diff --git a/src/main/resources/static/img/main/inc04/inc04_bg.png b/src/main/resources/static/img/main/inc04/inc04_bg.png new file mode 100644 index 0000000..0448a63 Binary files /dev/null and b/src/main/resources/static/img/main/inc04/inc04_bg.png differ diff --git a/src/main/resources/static/img/main/inc04/mascot.png b/src/main/resources/static/img/main/inc04/mascot.png new file mode 100644 index 0000000..f92a185 Binary files /dev/null and b/src/main/resources/static/img/main/inc04/mascot.png differ diff --git a/src/main/resources/static/img/main/main_vs01.jpg b/src/main/resources/static/img/main/main_vs01.jpg new file mode 100644 index 0000000..3145172 Binary files /dev/null and b/src/main/resources/static/img/main/main_vs01.jpg differ diff --git a/src/main/resources/static/img/main/main_vs02.jpg b/src/main/resources/static/img/main/main_vs02.jpg new file mode 100644 index 0000000..d5e52a4 Binary files /dev/null and b/src/main/resources/static/img/main/main_vs02.jpg differ diff --git a/src/main/resources/static/img/main/main_vs03.jpg b/src/main/resources/static/img/main/main_vs03.jpg new file mode 100644 index 0000000..0ffa8f4 Binary files /dev/null and b/src/main/resources/static/img/main/main_vs03.jpg differ diff --git a/src/main/resources/static/img/sub/Group 41.png b/src/main/resources/static/img/sub/Group 41.png new file mode 100644 index 0000000..833480a Binary files /dev/null and b/src/main/resources/static/img/sub/Group 41.png differ diff --git a/src/main/resources/static/img/sub/bg-talent.png b/src/main/resources/static/img/sub/bg-talent.png new file mode 100644 index 0000000..c10a366 Binary files /dev/null and b/src/main/resources/static/img/sub/bg-talent.png differ diff --git a/src/main/resources/static/img/sub/bg_history.png b/src/main/resources/static/img/sub/bg_history.png new file mode 100644 index 0000000..f54dc36 Binary files /dev/null and b/src/main/resources/static/img/sub/bg_history.png differ diff --git a/src/main/resources/static/img/sub/bg_vision01.jpg b/src/main/resources/static/img/sub/bg_vision01.jpg new file mode 100644 index 0000000..1539674 Binary files /dev/null and b/src/main/resources/static/img/sub/bg_vision01.jpg differ diff --git a/src/main/resources/static/img/sub/bg_vision02.jpg b/src/main/resources/static/img/sub/bg_vision02.jpg new file mode 100644 index 0000000..22ac14d Binary files /dev/null and b/src/main/resources/static/img/sub/bg_vision02.jpg differ diff --git a/src/main/resources/static/img/sub/check_small.svg b/src/main/resources/static/img/sub/check_small.svg new file mode 100644 index 0000000..43c7788 --- /dev/null +++ b/src/main/resources/static/img/sub/check_small.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/img/sub/dot_tit.svg b/src/main/resources/static/img/sub/dot_tit.svg new file mode 100644 index 0000000..a8d0d45 --- /dev/null +++ b/src/main/resources/static/img/sub/dot_tit.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/resources/static/img/sub/greeting_img.jpg b/src/main/resources/static/img/sub/greeting_img.jpg new file mode 100644 index 0000000..e4e77ff Binary files /dev/null and b/src/main/resources/static/img/sub/greeting_img.jpg differ diff --git a/src/main/resources/static/img/sub/ico-arrow-employ.png b/src/main/resources/static/img/sub/ico-arrow-employ.png new file mode 100644 index 0000000..17eae60 Binary files /dev/null and b/src/main/resources/static/img/sub/ico-arrow-employ.png differ diff --git a/src/main/resources/static/img/sub/ico-mark.png b/src/main/resources/static/img/sub/ico-mark.png new file mode 100644 index 0000000..9da27cf Binary files /dev/null and b/src/main/resources/static/img/sub/ico-mark.png differ diff --git a/src/main/resources/static/img/sub/ico-scroll.svg b/src/main/resources/static/img/sub/ico-scroll.svg new file mode 100644 index 0000000..55fed28 --- /dev/null +++ b/src/main/resources/static/img/sub/ico-scroll.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/resources/static/img/sub/ico_ad.svg b/src/main/resources/static/img/sub/ico_ad.svg new file mode 100644 index 0000000..cba9288 --- /dev/null +++ b/src/main/resources/static/img/sub/ico_ad.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/main/resources/static/img/sub/ico_arrow.svg b/src/main/resources/static/img/sub/ico_arrow.svg new file mode 100644 index 0000000..fdeafd2 --- /dev/null +++ b/src/main/resources/static/img/sub/ico_arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/img/sub/ico_asp.svg b/src/main/resources/static/img/sub/ico_asp.svg new file mode 100644 index 0000000..164e988 --- /dev/null +++ b/src/main/resources/static/img/sub/ico_asp.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/main/resources/static/img/sub/ico_bnf01.png b/src/main/resources/static/img/sub/ico_bnf01.png new file mode 100644 index 0000000..77d9edc Binary files /dev/null and b/src/main/resources/static/img/sub/ico_bnf01.png differ diff --git a/src/main/resources/static/img/sub/ico_bnf02.png b/src/main/resources/static/img/sub/ico_bnf02.png new file mode 100644 index 0000000..78009b5 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_bnf02.png differ diff --git a/src/main/resources/static/img/sub/ico_bnf03.png b/src/main/resources/static/img/sub/ico_bnf03.png new file mode 100644 index 0000000..e068073 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_bnf03.png differ diff --git a/src/main/resources/static/img/sub/ico_bnf04.png b/src/main/resources/static/img/sub/ico_bnf04.png new file mode 100644 index 0000000..eab5ddd Binary files /dev/null and b/src/main/resources/static/img/sub/ico_bnf04.png differ diff --git a/src/main/resources/static/img/sub/ico_bnf05.png b/src/main/resources/static/img/sub/ico_bnf05.png new file mode 100644 index 0000000..a101d7c Binary files /dev/null and b/src/main/resources/static/img/sub/ico_bnf05.png differ diff --git a/src/main/resources/static/img/sub/ico_bnf06.png b/src/main/resources/static/img/sub/ico_bnf06.png new file mode 100644 index 0000000..894e6e8 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_bnf06.png differ diff --git a/src/main/resources/static/img/sub/ico_bnf07.png b/src/main/resources/static/img/sub/ico_bnf07.png new file mode 100644 index 0000000..fbfa418 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_bnf07.png differ diff --git a/src/main/resources/static/img/sub/ico_bnf08.png b/src/main/resources/static/img/sub/ico_bnf08.png new file mode 100644 index 0000000..6e06eb7 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_bnf08.png differ diff --git a/src/main/resources/static/img/sub/ico_bnf09.png b/src/main/resources/static/img/sub/ico_bnf09.png new file mode 100644 index 0000000..20adc10 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_bnf09.png differ diff --git a/src/main/resources/static/img/sub/ico_bnf10.png b/src/main/resources/static/img/sub/ico_bnf10.png new file mode 100644 index 0000000..646ddd7 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_bnf10.png differ diff --git a/src/main/resources/static/img/sub/ico_bus.svg b/src/main/resources/static/img/sub/ico_bus.svg new file mode 100644 index 0000000..1109294 --- /dev/null +++ b/src/main/resources/static/img/sub/ico_bus.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/img/sub/ico_call.svg b/src/main/resources/static/img/sub/ico_call.svg new file mode 100644 index 0000000..a986ec6 --- /dev/null +++ b/src/main/resources/static/img/sub/ico_call.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/main/resources/static/img/sub/ico_employ01.png b/src/main/resources/static/img/sub/ico_employ01.png new file mode 100644 index 0000000..40ae81b Binary files /dev/null and b/src/main/resources/static/img/sub/ico_employ01.png differ diff --git a/src/main/resources/static/img/sub/ico_employ02.png b/src/main/resources/static/img/sub/ico_employ02.png new file mode 100644 index 0000000..e7f6f04 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_employ02.png differ diff --git a/src/main/resources/static/img/sub/ico_employ03.png b/src/main/resources/static/img/sub/ico_employ03.png new file mode 100644 index 0000000..7eeb5b0 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_employ03.png differ diff --git a/src/main/resources/static/img/sub/ico_employ04.png b/src/main/resources/static/img/sub/ico_employ04.png new file mode 100644 index 0000000..4830756 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_employ04.png differ diff --git a/src/main/resources/static/img/sub/ico_employ05.png b/src/main/resources/static/img/sub/ico_employ05.png new file mode 100644 index 0000000..1cda12e Binary files /dev/null and b/src/main/resources/static/img/sub/ico_employ05.png differ diff --git a/src/main/resources/static/img/sub/ico_employ06.png b/src/main/resources/static/img/sub/ico_employ06.png new file mode 100644 index 0000000..7eb15b7 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_employ06.png differ diff --git a/src/main/resources/static/img/sub/ico_home.svg b/src/main/resources/static/img/sub/ico_home.svg new file mode 100644 index 0000000..222f8d4 --- /dev/null +++ b/src/main/resources/static/img/sub/ico_home.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/main/resources/static/img/sub/ico_it.svg b/src/main/resources/static/img/sub/ico_it.svg new file mode 100644 index 0000000..e3e2c0d --- /dev/null +++ b/src/main/resources/static/img/sub/ico_it.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/main/resources/static/img/sub/ico_p2p.svg b/src/main/resources/static/img/sub/ico_p2p.svg new file mode 100644 index 0000000..89797b8 --- /dev/null +++ b/src/main/resources/static/img/sub/ico_p2p.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/main/resources/static/img/sub/ico_sm.svg b/src/main/resources/static/img/sub/ico_sm.svg new file mode 100644 index 0000000..2eca91e --- /dev/null +++ b/src/main/resources/static/img/sub/ico_sm.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/main/resources/static/img/sub/ico_talent01.png b/src/main/resources/static/img/sub/ico_talent01.png new file mode 100644 index 0000000..f065f75 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_talent01.png differ diff --git a/src/main/resources/static/img/sub/ico_talent02.png b/src/main/resources/static/img/sub/ico_talent02.png new file mode 100644 index 0000000..cf93da2 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_talent02.png differ diff --git a/src/main/resources/static/img/sub/ico_talent03.png b/src/main/resources/static/img/sub/ico_talent03.png new file mode 100644 index 0000000..ed76dcc Binary files /dev/null and b/src/main/resources/static/img/sub/ico_talent03.png differ diff --git a/src/main/resources/static/img/sub/ico_talent04.png b/src/main/resources/static/img/sub/ico_talent04.png new file mode 100644 index 0000000..0cffdf7 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_talent04.png differ diff --git a/src/main/resources/static/img/sub/ico_toll.svg b/src/main/resources/static/img/sub/ico_toll.svg new file mode 100644 index 0000000..a5ffce2 --- /dev/null +++ b/src/main/resources/static/img/sub/ico_toll.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/main/resources/static/img/sub/ico_vision1.png b/src/main/resources/static/img/sub/ico_vision1.png new file mode 100644 index 0000000..5fc3ad0 Binary files /dev/null and b/src/main/resources/static/img/sub/ico_vision1.png differ diff --git a/src/main/resources/static/img/sub/ico_vision2.png b/src/main/resources/static/img/sub/ico_vision2.png new file mode 100644 index 0000000..725660a Binary files /dev/null and b/src/main/resources/static/img/sub/ico_vision2.png differ diff --git a/src/main/resources/static/img/sub/ico_vision3.png b/src/main/resources/static/img/sub/ico_vision3.png new file mode 100644 index 0000000..550a28c Binary files /dev/null and b/src/main/resources/static/img/sub/ico_vision3.png differ diff --git a/src/main/resources/static/img/sub/ico_walk.svg b/src/main/resources/static/img/sub/ico_walk.svg new file mode 100644 index 0000000..8ed45cc --- /dev/null +++ b/src/main/resources/static/img/sub/ico_walk.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/img/sub/img_b2b.png b/src/main/resources/static/img/sub/img_b2b.png new file mode 100644 index 0000000..b289538 Binary files /dev/null and b/src/main/resources/static/img/sub/img_b2b.png differ diff --git a/src/main/resources/static/img/sub/img_b2b02.gif b/src/main/resources/static/img/sub/img_b2b02.gif new file mode 100644 index 0000000..4cc88f1 Binary files /dev/null and b/src/main/resources/static/img/sub/img_b2b02.gif differ diff --git a/src/main/resources/static/img/sub/img_business.png b/src/main/resources/static/img/sub/img_business.png new file mode 100644 index 0000000..bc4bbdf Binary files /dev/null and b/src/main/resources/static/img/sub/img_business.png differ diff --git a/src/main/resources/static/img/sub/img_certi01.png b/src/main/resources/static/img/sub/img_certi01.png new file mode 100644 index 0000000..2e5f135 Binary files /dev/null and b/src/main/resources/static/img/sub/img_certi01.png differ diff --git a/src/main/resources/static/img/sub/img_certi02.png b/src/main/resources/static/img/sub/img_certi02.png new file mode 100644 index 0000000..a4d3032 Binary files /dev/null and b/src/main/resources/static/img/sub/img_certi02.png differ diff --git a/src/main/resources/static/img/sub/img_certi03.png b/src/main/resources/static/img/sub/img_certi03.png new file mode 100644 index 0000000..e6524a2 Binary files /dev/null and b/src/main/resources/static/img/sub/img_certi03.png differ diff --git a/src/main/resources/static/img/sub/img_certi04.png b/src/main/resources/static/img/sub/img_certi04.png new file mode 100644 index 0000000..d63e7b8 Binary files /dev/null and b/src/main/resources/static/img/sub/img_certi04.png differ diff --git a/src/main/resources/static/img/sub/img_certi05.png b/src/main/resources/static/img/sub/img_certi05.png new file mode 100644 index 0000000..382b579 Binary files /dev/null and b/src/main/resources/static/img/sub/img_certi05.png differ diff --git a/src/main/resources/static/img/sub/img_certi06.png b/src/main/resources/static/img/sub/img_certi06.png new file mode 100644 index 0000000..64073ff Binary files /dev/null and b/src/main/resources/static/img/sub/img_certi06.png differ diff --git a/src/main/resources/static/img/sub/img_company.png b/src/main/resources/static/img/sub/img_company.png new file mode 100644 index 0000000..30b539f Binary files /dev/null and b/src/main/resources/static/img/sub/img_company.png differ diff --git a/src/main/resources/static/img/sub/img_delivery.png b/src/main/resources/static/img/sub/img_delivery.png new file mode 100644 index 0000000..cb36b12 Binary files /dev/null and b/src/main/resources/static/img/sub/img_delivery.png differ diff --git a/src/main/resources/static/img/sub/img_delivery02.png b/src/main/resources/static/img/sub/img_delivery02.png new file mode 100644 index 0000000..6b2bb29 Binary files /dev/null and b/src/main/resources/static/img/sub/img_delivery02.png differ diff --git a/src/main/resources/static/img/sub/img_mobile_pay.png b/src/main/resources/static/img/sub/img_mobile_pay.png new file mode 100644 index 0000000..2e46f0a Binary files /dev/null and b/src/main/resources/static/img/sub/img_mobile_pay.png differ diff --git a/src/main/resources/static/img/sub/img_o2o.png b/src/main/resources/static/img/sub/img_o2o.png new file mode 100644 index 0000000..8764d46 Binary files /dev/null and b/src/main/resources/static/img/sub/img_o2o.png differ diff --git a/src/main/resources/static/img/sub/img_o2o_m.png b/src/main/resources/static/img/sub/img_o2o_m.png new file mode 100644 index 0000000..0296a0e Binary files /dev/null and b/src/main/resources/static/img/sub/img_o2o_m.png differ diff --git a/src/main/resources/static/img/sub/img_pay.png b/src/main/resources/static/img/sub/img_pay.png new file mode 100644 index 0000000..2620c60 Binary files /dev/null and b/src/main/resources/static/img/sub/img_pay.png differ diff --git a/src/main/resources/static/img/sub/img_pg.png b/src/main/resources/static/img/sub/img_pg.png new file mode 100644 index 0000000..4edce9b Binary files /dev/null and b/src/main/resources/static/img/sub/img_pg.png differ diff --git a/src/main/resources/static/img/sub/img_pg2.png b/src/main/resources/static/img/sub/img_pg2.png new file mode 100644 index 0000000..09b5066 Binary files /dev/null and b/src/main/resources/static/img/sub/img_pg2.png differ diff --git a/src/main/resources/static/img/sub/img_prepay.png b/src/main/resources/static/img/sub/img_prepay.png new file mode 100644 index 0000000..68d2cbd Binary files /dev/null and b/src/main/resources/static/img/sub/img_prepay.png differ diff --git a/src/main/resources/static/img/sub/img_sales01.png b/src/main/resources/static/img/sub/img_sales01.png new file mode 100644 index 0000000..9f976f1 Binary files /dev/null and b/src/main/resources/static/img/sub/img_sales01.png differ diff --git a/src/main/resources/static/img/sub/img_sales02.png b/src/main/resources/static/img/sub/img_sales02.png new file mode 100644 index 0000000..9a3d080 Binary files /dev/null and b/src/main/resources/static/img/sub/img_sales02.png differ diff --git a/src/main/resources/static/img/sub/img_sales03.png b/src/main/resources/static/img/sub/img_sales03.png new file mode 100644 index 0000000..b1ee20f Binary files /dev/null and b/src/main/resources/static/img/sub/img_sales03.png differ diff --git a/src/main/resources/static/img/sub/img_sales04.gif b/src/main/resources/static/img/sub/img_sales04.gif new file mode 100644 index 0000000..0512028 Binary files /dev/null and b/src/main/resources/static/img/sub/img_sales04.gif differ diff --git a/src/main/resources/static/img/sub/img_server.png b/src/main/resources/static/img/sub/img_server.png new file mode 100644 index 0000000..8c43e90 Binary files /dev/null and b/src/main/resources/static/img/sub/img_server.png differ diff --git a/src/main/resources/static/img/sub/img_shop.png b/src/main/resources/static/img/sub/img_shop.png new file mode 100644 index 0000000..6ffebef Binary files /dev/null and b/src/main/resources/static/img/sub/img_shop.png differ diff --git a/src/main/resources/static/img/sub/img_system.png b/src/main/resources/static/img/sub/img_system.png new file mode 100644 index 0000000..911172f Binary files /dev/null and b/src/main/resources/static/img/sub/img_system.png differ diff --git a/src/main/resources/static/img/sub/img_talent.png b/src/main/resources/static/img/sub/img_talent.png new file mode 100644 index 0000000..0a51b95 Binary files /dev/null and b/src/main/resources/static/img/sub/img_talent.png differ diff --git a/src/main/resources/static/img/sub/logo_hola.png b/src/main/resources/static/img/sub/logo_hola.png new file mode 100644 index 0000000..1139c0d Binary files /dev/null and b/src/main/resources/static/img/sub/logo_hola.png differ diff --git a/src/main/resources/static/img/sub/logo_owra.png b/src/main/resources/static/img/sub/logo_owra.png new file mode 100644 index 0000000..c5c5219 Binary files /dev/null and b/src/main/resources/static/img/sub/logo_owra.png differ diff --git a/src/main/resources/static/img/sub/logo_paynuri.png b/src/main/resources/static/img/sub/logo_paynuri.png new file mode 100644 index 0000000..64e62d5 Binary files /dev/null and b/src/main/resources/static/img/sub/logo_paynuri.png differ diff --git a/src/main/resources/static/img/sub/prepay_arrow1.png b/src/main/resources/static/img/sub/prepay_arrow1.png new file mode 100644 index 0000000..f30c28a Binary files /dev/null and b/src/main/resources/static/img/sub/prepay_arrow1.png differ diff --git a/src/main/resources/static/img/sub/prepay_arrow2.png b/src/main/resources/static/img/sub/prepay_arrow2.png new file mode 100644 index 0000000..2c0761f Binary files /dev/null and b/src/main/resources/static/img/sub/prepay_arrow2.png differ diff --git a/src/main/resources/static/img/sub/prepay_arrow3.png b/src/main/resources/static/img/sub/prepay_arrow3.png new file mode 100644 index 0000000..b424304 Binary files /dev/null and b/src/main/resources/static/img/sub/prepay_arrow3.png differ diff --git a/src/main/resources/static/img/sub/prepay_flow.png b/src/main/resources/static/img/sub/prepay_flow.png new file mode 100644 index 0000000..0fe4001 Binary files /dev/null and b/src/main/resources/static/img/sub/prepay_flow.png differ diff --git a/src/main/resources/static/img/sub/prepay_flow_m.png b/src/main/resources/static/img/sub/prepay_flow_m.png new file mode 100644 index 0000000..51f04a0 Binary files /dev/null and b/src/main/resources/static/img/sub/prepay_flow_m.png differ diff --git a/src/main/resources/static/img/sub/sub_bg.jpg b/src/main/resources/static/img/sub/sub_bg.jpg new file mode 100644 index 0000000..9920c27 Binary files /dev/null and b/src/main/resources/static/img/sub/sub_bg.jpg differ diff --git a/src/main/resources/static/img/sub/subtop_b2b.png b/src/main/resources/static/img/sub/subtop_b2b.png new file mode 100644 index 0000000..161d800 Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_b2b.png differ diff --git a/src/main/resources/static/img/sub/subtop_benefits.png b/src/main/resources/static/img/sub/subtop_benefits.png new file mode 100644 index 0000000..a50d52f Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_benefits.png differ diff --git a/src/main/resources/static/img/sub/subtop_business.png b/src/main/resources/static/img/sub/subtop_business.png new file mode 100644 index 0000000..c6ef2da Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_business.png differ diff --git a/src/main/resources/static/img/sub/subtop_company.png b/src/main/resources/static/img/sub/subtop_company.png new file mode 100644 index 0000000..54b5ab2 Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_company.png differ diff --git a/src/main/resources/static/img/sub/subtop_delivery.png b/src/main/resources/static/img/sub/subtop_delivery.png new file mode 100644 index 0000000..1be27be Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_delivery.png differ diff --git a/src/main/resources/static/img/sub/subtop_employ.png b/src/main/resources/static/img/sub/subtop_employ.png new file mode 100644 index 0000000..4634c87 Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_employ.png differ diff --git a/src/main/resources/static/img/sub/subtop_history.png b/src/main/resources/static/img/sub/subtop_history.png new file mode 100644 index 0000000..2e4847f Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_history.png differ diff --git a/src/main/resources/static/img/sub/subtop_inquiry.png b/src/main/resources/static/img/sub/subtop_inquiry.png new file mode 100644 index 0000000..581f0ba Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_inquiry.png differ diff --git a/src/main/resources/static/img/sub/subtop_location.png b/src/main/resources/static/img/sub/subtop_location.png new file mode 100644 index 0000000..fa99a6f Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_location.png differ diff --git a/src/main/resources/static/img/sub/subtop_news.png b/src/main/resources/static/img/sub/subtop_news.png new file mode 100644 index 0000000..78dbf8f Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_news.png differ diff --git a/src/main/resources/static/img/sub/subtop_organ.png b/src/main/resources/static/img/sub/subtop_organ.png new file mode 100644 index 0000000..963a0a6 Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_organ.png differ diff --git a/src/main/resources/static/img/sub/subtop_pay.png b/src/main/resources/static/img/sub/subtop_pay.png new file mode 100644 index 0000000..879241e Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_pay.png differ diff --git a/src/main/resources/static/img/sub/subtop_pg.png b/src/main/resources/static/img/sub/subtop_pg.png new file mode 100644 index 0000000..da834b6 Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_pg.png differ diff --git a/src/main/resources/static/img/sub/subtop_prepay.png b/src/main/resources/static/img/sub/subtop_prepay.png new file mode 100644 index 0000000..a9aadc7 Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_prepay.png differ diff --git a/src/main/resources/static/img/sub/subtop_press.png b/src/main/resources/static/img/sub/subtop_press.png new file mode 100644 index 0000000..b86d532 Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_press.png differ diff --git a/src/main/resources/static/img/sub/subtop_shop.png b/src/main/resources/static/img/sub/subtop_shop.png new file mode 100644 index 0000000..a7cdf37 Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_shop.png differ diff --git a/src/main/resources/static/img/sub/subtop_status.png b/src/main/resources/static/img/sub/subtop_status.png new file mode 100644 index 0000000..327a15a Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_status.png differ diff --git a/src/main/resources/static/img/sub/subtop_talent.png b/src/main/resources/static/img/sub/subtop_talent.png new file mode 100644 index 0000000..d81b4a7 Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_talent.png differ diff --git a/src/main/resources/static/img/sub/subtop_vision.png b/src/main/resources/static/img/sub/subtop_vision.png new file mode 100644 index 0000000..2b11507 Binary files /dev/null and b/src/main/resources/static/img/sub/subtop_vision.png differ diff --git a/src/main/resources/static/img/sub/user01.png b/src/main/resources/static/img/sub/user01.png new file mode 100644 index 0000000..256c01b Binary files /dev/null and b/src/main/resources/static/img/sub/user01.png differ diff --git a/src/main/resources/static/img/sub/user02.png b/src/main/resources/static/img/sub/user02.png new file mode 100644 index 0000000..73f03e6 Binary files /dev/null and b/src/main/resources/static/img/sub/user02.png differ diff --git a/src/main/resources/static/img/sub/user03.png b/src/main/resources/static/img/sub/user03.png new file mode 100644 index 0000000..2315c8d Binary files /dev/null and b/src/main/resources/static/img/sub/user03.png differ diff --git a/src/main/resources/static/js/ScrollTrigger.min.js b/src/main/resources/static/js/ScrollTrigger.min.js new file mode 100644 index 0000000..b85a7ca --- /dev/null +++ b/src/main/resources/static/js/ScrollTrigger.min.js @@ -0,0 +1,10 @@ +/*! + * ScrollTrigger 3.9.0 + * https://greensock.com + * + * @license Copyright 2021, GreenSock. All rights reserved. + * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership. + * @author: Jack Doyle, jack@greensock.com + */ + +!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e=e||self).window=e.window||{})}(this,function(e){"use strict";function H(e){return e}function I(e){return Ve(e)[0]||(rr(e)&&!1!==Re.config().nullTargetWarn?console.warn("Element not found:",e):null)}function J(e){return Math.round(1e5*e)/1e5||0}function K(){return"undefined"!=typeof window}function L(){return Re||K()&&(Re=window.gsap)&&Re.registerPlugin&&Re}function M(e){return!!~i.indexOf(e)}function N(e,r){return~Ue.indexOf(e)&&Ue[Ue.indexOf(e)+1][r]}function O(r,e){var t=e.s,n=e.sc,i=g.indexOf(r),o=n===gr.sc?1:2;return~i||(i=g.push(r)-1),g[i+o]||(g[i+o]=N(r,t)||(M(r)?n:function(e){return arguments.length?r[t]=e:r[t]}))}function P(e){return N(e,"getBoundingClientRect")||(M(e)?function(){return wr.width=ze.innerWidth,wr.height=ze.innerHeight,wr}:function(){return hr(e)})}function S(e,r){var t=r.s,n=r.d2,i=r.d,o=r.a;return(t="scroll"+n)&&(o=N(e,t))?o()-P(e)()[i]:M(e)?(Fe[t]||We[t])-(ze["inner"+n]||We["client"+n]||Fe["client"+n]):e[t]-e["offset"+n]}function T(e,r){for(var t=0;t=e)return a[n];return a[n-1]}for(n=a.length,e+=t;n--;)if(a[n]<=e)return a[n];return a[0]}:function(e,r,t){void 0===t&&(t=.001);var n=o(e);return!r||Math.abs(n-e)t&&(n*=r/100),e=e.substr(0,t-1)),e=n+(e in b?b[e]*r:~e.indexOf("%")?parseFloat(e)*r/100:parseFloat(e)||0)}return e}function Ka(e,r,t,n,i,o,a,s){var l=i.startColor,c=i.endColor,u=i.fontSize,f=i.indent,p=i.fontWeight,d=Le.createElement("div"),g=M(t)||"fixed"===N(t,"pinType"),h=-1!==e.indexOf("scroller"),v=g?Fe:t,m=-1!==e.indexOf("start"),b=m?l:c,x="border-color:"+b+";font-size:"+u+";color:"+b+";font-weight:"+p+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return x+="position:"+((h||s)&&g?"fixed;":"absolute;"),!h&&!s&&g||(x+=(n===gr?y:w)+":"+(o+parseFloat(f))+"px;"),a&&(x+="box-sizing:border-box;text-align:left;width:"+a.offsetWidth+"px;"),d._isStart=m,d.setAttribute("class","gsap-marker-"+e+(r?" marker-"+r:"")),d.style.cssText=x,d.innerText=r||0===r?e+"-"+r:e,v.children[0]?v.insertBefore(d,v.children[0]):v.appendChild(d),d._offset=d["offset"+n.op.d2],E(d,0,n,m),d}function Oa(){return 34=S(Oe,Te),xe)if(e||!n&&!l)rb(de,Q);else{var g=hr(de,!0),h=u-B;rb(de,Fe,g.top+(Te===gr?h:0)+pr,g.left+(Te===gr?0:h)+pr)}Sr(n||l?K:Y),Z!==j&&p<1&&n||b(U+(1!==p||l?0:Z))}}else b(U+Z*p);!be||m.tween||Xe||qe||te.restart(!0),le&&(s||me&&p&&(p<1||!$e))&&Ve(le.targets).forEach(function(e){return e.classList[n||me?"add":"remove"](le.className)}),!se||Ee||e||se(Ie),a&&!Xe?(Ee&&(c&&("complete"===o?k.pause().totalProgress(1):"reset"===o?k.restart(!0).pause():"restart"===o?k.restart(!0):k[o]()),se&&se(Ie)),!s&&$e||(ce&&s&&_(Ie,ce),Ce[i]&&_(Ie,Ce[i]),me&&(1===p?Ie.kill(!1,1):Ce[i]=0),s||Ce[i=1===p?1:3]&&_(Ie,Ce[i])),Se&&!n&&Math.abs(Ie.getVelocity())>(W(Se)?Se:2500)&&($(Ie.callbackAnimation),re?re.progress(1):$(k,!p,1))):Ee&&se&&!Xe&&se(Ie)}if(w){var v=ye?u/ye.duration()*(ye._caScrollDist||0):u;y(v+(F._isFlipped?1:0)),w(v)}ae&&ae(-u/ye.duration()*(ye._caScrollDist||0))}},Ie.enable=function(e,r){Ie.enabled||(Ie.enabled=!0,Ea(Oe,"resize",Qa),Ea(Oe,"scroll",Pa),u&&Ea(ScrollTrigger,"refreshInit",u),!1!==e&&(Ie.progress=ne=0,C=A=g=Be()),!1!==r&&Ie.refresh())},Ie.getTween=function(e){return e&&m?m.tween:re},Ie.setPositions=function(e,r){de&&(U+=e-B,Z+=r-e-j),Ie.start=B=e,Ie.end=R=r,j=r-e,Ie.update()},Ie.disable=function(e,r){if(Ie.enabled&&(!1!==e&&Ie.revert(),Ie.enabled=Ie.isActive=!1,r||re&&re.pause(),ie=0,n&&(n.uncache=1),u&&Fa(ScrollTrigger,"refreshInit",u),te&&(te.pause(),m.tween&&m.tween.kill()&&(m.tween=0)),!_e)){for(var t=br.length;t--;)if(br[t].scroller===Oe&&br[t]!==Ie)return;Fa(Oe,"resize",Qa),Fa(Oe,"scroll",Pa)}},Ie.kill=function(e,r){Ie.disable(e,r),re&&re.kill(),o&&delete xr[o];var t=br.indexOf(Ie);0<=t&&br.splice(t,1),t===Je&&00&&void 0!==arguments[0]&&arguments[0];if(e&&(k=!0),k)return w=(0,y.default)(w,x),(0,b.default)(w,x.once),w},O=function(){w=(0,h.default)(),j()},_=function(){w.forEach(function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")})},S=function(e){return e===!0||"mobile"===e&&p.default.mobile()||"phone"===e&&p.default.phone()||"tablet"===e&&p.default.tablet()||"function"==typeof e&&e()===!0},z=function(e){x=i(x,e),w=(0,h.default)();var t=document.all&&!window.atob;return S(x.disable)||t?_():(document.querySelector("body").setAttribute("data-aos-easing",x.easing),document.querySelector("body").setAttribute("data-aos-duration",x.duration),document.querySelector("body").setAttribute("data-aos-delay",x.delay),"DOMContentLoaded"===x.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?j(!0):"load"===x.startEvent?window.addEventListener(x.startEvent,function(){j(!0)}):document.addEventListener(x.startEvent,function(){j(!0)}),window.addEventListener("resize",(0,f.default)(j,x.debounceDelay,!0)),window.addEventListener("orientationchange",(0,f.default)(j,x.debounceDelay,!0)),window.addEventListener("scroll",(0,u.default)(function(){(0,b.default)(w,x.once)},x.throttleDelay)),x.disableMutationObserver||(0,d.default)("[data-aos]",O),w)};e.exports={init:z,refresh:j,refreshHard:O}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function n(e,t,n){function o(t){var n=b,o=v;return b=v=void 0,k=t,g=e.apply(o,n)}function r(e){return k=e,h=setTimeout(s,t),_?o(e):g}function a(e){var n=e-w,o=e-k,i=t-n;return S?j(i,y-o):i}function c(e){var n=e-w,o=e-k;return void 0===w||n>=t||n<0||S&&o>=y}function s(){var e=O();return c(e)?d(e):void(h=setTimeout(s,a(e)))}function d(e){return h=void 0,z&&b?o(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),k=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(O())}function m(){var e=O(),n=c(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(s,t),o(w)}return void 0===h&&(h=setTimeout(s,t)),g}var b,v,y,g,h,w,k=0,_=!1,S=!1,z=!0;if("function"!=typeof e)throw new TypeError(f);return t=u(t)||0,i(n)&&(_=!!n.leading,S="maxWait"in n,y=S?x(u(n.maxWait)||0,t):y,z="trailing"in n?!!n.trailing:z),m.cancel=l,m.flush=p,m}function o(e,t,o){var r=!0,a=!0;if("function"!=typeof e)throw new TypeError(f);return i(o)&&(r="leading"in o?!!o.leading:r,a="trailing"in o?!!o.trailing:a),n(e,t,{leading:r,maxWait:t,trailing:a})}function i(e){var t="undefined"==typeof e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==("undefined"==typeof e?"undefined":c(e))}function a(e){return"symbol"==("undefined"==typeof e?"undefined":c(e))||r(e)&&k.call(e)==d}function u(e){if("number"==typeof e)return e;if(a(e))return s;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(l,"");var n=m.test(e);return n||b.test(e)?v(e.slice(2),n?2:8):p.test(e)?s:+e}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f="Expected a function",s=NaN,d="[object Symbol]",l=/^\s+|\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,b=/^0o[0-7]+$/i,v=parseInt,y="object"==("undefined"==typeof t?"undefined":c(t))&&t&&t.Object===Object&&t,g="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,h=y||g||Function("return this")(),w=Object.prototype,k=w.toString,x=Math.max,j=Math.min,O=function(){return h.Date.now()};e.exports=o}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function n(e,t,n){function i(t){var n=b,o=v;return b=v=void 0,O=t,g=e.apply(o,n)}function r(e){return O=e,h=setTimeout(s,t),_?i(e):g}function u(e){var n=e-w,o=e-O,i=t-n;return S?x(i,y-o):i}function f(e){var n=e-w,o=e-O;return void 0===w||n>=t||n<0||S&&o>=y}function s(){var e=j();return f(e)?d(e):void(h=setTimeout(s,u(e)))}function d(e){return h=void 0,z&&b?i(e):(b=v=void 0,g)}function l(){void 0!==h&&clearTimeout(h),O=0,b=w=v=h=void 0}function p(){return void 0===h?g:d(j())}function m(){var e=j(),n=f(e);if(b=arguments,v=this,w=e,n){if(void 0===h)return r(w);if(S)return h=setTimeout(s,t),i(w)}return void 0===h&&(h=setTimeout(s,t)),g}var b,v,y,g,h,w,O=0,_=!1,S=!1,z=!0;if("function"!=typeof e)throw new TypeError(c);return t=a(t)||0,o(n)&&(_=!!n.leading,S="maxWait"in n,y=S?k(a(n.maxWait)||0,t):y,z="trailing"in n?!!n.trailing:z),m.cancel=l,m.flush=p,m}function o(e){var t="undefined"==typeof e?"undefined":u(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==("undefined"==typeof e?"undefined":u(e))}function r(e){return"symbol"==("undefined"==typeof e?"undefined":u(e))||i(e)&&w.call(e)==s}function a(e){if("number"==typeof e)return e;if(r(e))return f;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(d,"");var n=p.test(e);return n||m.test(e)?b(e.slice(2),n?2:8):l.test(e)?f:+e}var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c="Expected a function",f=NaN,s="[object Symbol]",d=/^\s+|\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,m=/^0o[0-7]+$/i,b=parseInt,v="object"==("undefined"==typeof t?"undefined":u(t))&&t&&t.Object===Object&&t,y="object"==("undefined"==typeof self?"undefined":u(self))&&self&&self.Object===Object&&self,g=v||y||Function("return this")(),h=Object.prototype,w=h.toString,k=Math.max,x=Math.min,j=function(){return g.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){"use strict";function n(e,t){var n=window.document,r=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,a=new r(o);i=t,a.observe(n.documentElement,{childList:!0,subtree:!0,removedNodes:!0})}function o(e){e&&e.forEach(function(e){var t=Array.prototype.slice.call(e.addedNodes),n=Array.prototype.slice.call(e.removedNodes),o=t.concat(n).filter(function(e){return e.hasAttribute&&e.hasAttribute("data-aos")}).length;o&&i()})}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){};t.default=n},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(){return navigator.userAgent||navigator.vendor||window.opera||""}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;ne.position?e.node.classList.add("aos-animate"):"undefined"!=typeof o&&("false"===o||!n&&"true"!==o)&&e.node.classList.remove("aos-animate")},o=function(e,t){var o=window.pageYOffset,i=window.innerHeight;e.forEach(function(e,r){n(e,i+o,t)})};t.default=o},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(12),r=o(i),a=function(e,t){return e.forEach(function(e,n){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)}),e};t.default=a},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(13),r=o(i),a=function(e,t){var n=0,o=0,i=window.innerHeight,a={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(a.offset&&!isNaN(a.offset)&&(o=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(e=document.querySelectorAll(a.anchor)[0]),n=(0,r.default)(e).top,a.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=e.offsetHeight/2;break;case"bottom-bottom":n+=e.offsetHeight;break;case"top-center":n+=i/2;break;case"bottom-center":n+=i/2+e.offsetHeight;break;case"center-center":n+=i/2+e.offsetHeight/2;break;case"top-top":n+=i;break;case"bottom-top":n+=e.offsetHeight+i;break;case"center-top":n+=e.offsetHeight/2+i}return a.anchorPlacement||a.offset||isNaN(t)||(o=t),n+o};t.default=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}};t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,function(e){return{node:e}})};t.default=n}])}); \ No newline at end of file diff --git a/src/main/resources/static/js/feather.min.js b/src/main/resources/static/js/feather.min.js new file mode 100644 index 0000000..156cd61 --- /dev/null +++ b/src/main/resources/static/js/feather.min.js @@ -0,0 +1,13 @@ +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.feather=n():e.feather=n()}("undefined"!=typeof self?self:this,function(){return function(e){var n={};function i(t){if(n[t])return n[t].exports;var l=n[t]={i:t,l:!1,exports:{}};return e[t].call(l.exports,l,l.exports,i),l.l=!0,l.exports}return i.m=e,i.c=n,i.d=function(e,n,t){i.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:t})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="",i(i.s=80)}([function(e,n,i){(function(n){var i="object",t=function(e){return e&&e.Math==Math&&e};e.exports=t(typeof globalThis==i&&globalThis)||t(typeof window==i&&window)||t(typeof self==i&&self)||t(typeof n==i&&n)||Function("return this")()}).call(this,i(75))},function(e,n){var i={}.hasOwnProperty;e.exports=function(e,n){return i.call(e,n)}},function(e,n,i){var t=i(0),l=i(11),r=i(33),o=i(62),a=t.Symbol,c=l("wks");e.exports=function(e){return c[e]||(c[e]=o&&a[e]||(o?a:r)("Symbol."+e))}},function(e,n,i){var t=i(6);e.exports=function(e){if(!t(e))throw TypeError(String(e)+" is not an object");return e}},function(e,n){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,n,i){var t=i(8),l=i(7),r=i(10);e.exports=t?function(e,n,i){return l.f(e,n,r(1,i))}:function(e,n,i){return e[n]=i,e}},function(e,n){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,n,i){var t=i(8),l=i(35),r=i(3),o=i(18),a=Object.defineProperty;n.f=t?a:function(e,n,i){if(r(e),n=o(n,!0),r(i),l)try{return a(e,n,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported");return"value"in i&&(e[n]=i.value),e}},function(e,n,i){var t=i(4);e.exports=!t(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,n){e.exports={}},function(e,n){e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},function(e,n,i){var t=i(0),l=i(19),r=i(17),o=t["__core-js_shared__"]||l("__core-js_shared__",{});(e.exports=function(e,n){return o[e]||(o[e]=void 0!==n?n:{})})("versions",[]).push({version:"3.1.3",mode:r?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=o(i(43)),l=o(i(41)),r=o(i(40));function o(e){return e&&e.__esModule?e:{default:e}}n.default=Object.keys(l.default).map(function(e){return new t.default(e,l.default[e],r.default[e])}).reduce(function(e,n){return e[n.name]=n,e},{})},function(e,n){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,n,i){var t=i(72),l=i(20);e.exports=function(e){return t(l(e))}},function(e,n){e.exports={}},function(e,n,i){var t=i(11),l=i(33),r=t("keys");e.exports=function(e){return r[e]||(r[e]=l(e))}},function(e,n){e.exports=!1},function(e,n,i){var t=i(6);e.exports=function(e,n){if(!t(e))return e;var i,l;if(n&&"function"==typeof(i=e.toString)&&!t(l=i.call(e)))return l;if("function"==typeof(i=e.valueOf)&&!t(l=i.call(e)))return l;if(!n&&"function"==typeof(i=e.toString)&&!t(l=i.call(e)))return l;throw TypeError("Can't convert object to primitive value")}},function(e,n,i){var t=i(0),l=i(5);e.exports=function(e,n){try{l(t,e,n)}catch(i){t[e]=n}return n}},function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,n){var i=Math.ceil,t=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?t:i)(e)}},function(e,n,i){var t; +/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";var i=function(){function e(){}function n(e,n){for(var i=n.length,t=0;t0?l(t(e),9007199254740991):0}},function(e,n,i){var t=i(1),l=i(14),r=i(68),o=i(15),a=r(!1);e.exports=function(e,n){var i,r=l(e),c=0,p=[];for(i in r)!t(o,i)&&t(r,i)&&p.push(i);for(;n.length>c;)t(r,i=n[c++])&&(~a(p,i)||p.push(i));return p}},function(e,n,i){var t=i(0),l=i(11),r=i(5),o=i(1),a=i(19),c=i(36),p=i(37),y=p.get,h=p.enforce,x=String(c).split("toString");l("inspectSource",function(e){return c.call(e)}),(e.exports=function(e,n,i,l){var c=!!l&&!!l.unsafe,p=!!l&&!!l.enumerable,y=!!l&&!!l.noTargetGet;"function"==typeof i&&("string"!=typeof n||o(i,"name")||r(i,"name",n),h(i).source=x.join("string"==typeof n?n:"")),e!==t?(c?!y&&e[n]&&(p=!0):delete e[n],p?e[n]=i:r(e,n,i)):p?e[n]=i:a(n,i)})(Function.prototype,"toString",function(){return"function"==typeof this&&y(this).source||c.call(this)})},function(e,n){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},function(e,n,i){var t=i(8),l=i(73),r=i(10),o=i(14),a=i(18),c=i(1),p=i(35),y=Object.getOwnPropertyDescriptor;n.f=t?y:function(e,n){if(e=o(e),n=a(n,!0),p)try{return y(e,n)}catch(e){}if(c(e,n))return r(!l.f.call(e,n),e[n])}},function(e,n,i){var t=i(0),l=i(31).f,r=i(5),o=i(29),a=i(19),c=i(71),p=i(65);e.exports=function(e,n){var i,y,h,x,s,u=e.target,d=e.global,f=e.stat;if(i=d?t:f?t[u]||a(u,{}):(t[u]||{}).prototype)for(y in n){if(x=n[y],h=e.noTargetGet?(s=l(i,y))&&s.value:i[y],!p(d?y:u+(f?".":"#")+y,e.forced)&&void 0!==h){if(typeof x==typeof h)continue;c(x,h)}(e.sham||h&&h.sham)&&r(x,"sham",!0),o(i,y,x,e)}}},function(e,n){var i=0,t=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+t).toString(36))}},function(e,n,i){var t=i(0),l=i(6),r=t.document,o=l(r)&&l(r.createElement);e.exports=function(e){return o?r.createElement(e):{}}},function(e,n,i){var t=i(8),l=i(4),r=i(34);e.exports=!t&&!l(function(){return 7!=Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a})},function(e,n,i){var t=i(11);e.exports=t("native-function-to-string",Function.toString)},function(e,n,i){var t,l,r,o=i(76),a=i(0),c=i(6),p=i(5),y=i(1),h=i(16),x=i(15),s=a.WeakMap;if(o){var u=new s,d=u.get,f=u.has,g=u.set;t=function(e,n){return g.call(u,e,n),n},l=function(e){return d.call(u,e)||{}},r=function(e){return f.call(u,e)}}else{var v=h("state");x[v]=!0,t=function(e,n){return p(e,v,n),n},l=function(e){return y(e,v)?e[v]:{}},r=function(e){return y(e,v)}}e.exports={set:t,get:l,has:r,enforce:function(e){return r(e)?l(e):t(e,{})},getterFor:function(e){return function(n){var i;if(!c(n)||(i=l(n)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return i}}}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=Object.assign||function(e){for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:{};if("undefined"==typeof document)throw new Error("`feather.replace()` only works in a browser environment.");var n=document.querySelectorAll("[data-feather]");Array.from(n).forEach(function(n){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=function(e){return Array.from(e.attributes).reduce(function(e,n){return e[n.name]=n.value,e},{})}(e),o=i["data-feather"];delete i["data-feather"];var a=r.default[o].toSvg(t({},n,i,{class:(0,l.default)(n.class,i.class)})),c=(new DOMParser).parseFromString(a,"image/svg+xml").querySelector("svg");e.parentNode.replaceChild(c,e)}(n,e)})}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t,l=i(12),r=(t=l)&&t.__esModule?t:{default:t};n.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!e)throw new Error("The required `key` (icon name) parameter is missing.");if(!r.default[e])throw new Error("No icon matching '"+e+"'. See the complete list of icons at https://feathericons.com");return r.default[e].toSvg(n)}},function(e){e.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning","alert","danger"],"alert-octagon":["warning","alert","danger"],"alert-triangle":["warning","alert","danger"],"align-center":["text alignment","center"],"align-justify":["text alignment","justified"],"align-left":["text alignment","left"],"align-right":["text alignment","right"],anchor:[],archive:["index","box"],"at-sign":["mention","at","email","message"],award:["achievement","badge"],aperture:["camera","photo"],"bar-chart":["statistics","diagram","graph"],"bar-chart-2":["statistics","diagram","graph"],battery:["power","electricity"],"battery-charging":["power","electricity"],bell:["alarm","notification","sound"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read","library"],book:["read","dictionary","booklet","magazine","library"],bookmark:["read","clip","marker","tag"],box:["cube"],briefcase:["work","bag","baggage","folder"],calendar:["date"],camera:["photo"],cast:["chromecast","airplay"],circle:["off","zero","record"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],code:["source","programming"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],columns:["layout"],command:["keyboard","cmd","terminal","prompt"],compass:["navigation","safari","travel","direction"],copy:["clone","duplicate"],"corner-down-left":["arrow","return"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],cpu:["processor","technology"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage","memory"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch","hide","hidden"],"external-link":["outbound"],facebook:["logo","social"],"fast-forward":["music"],figma:["logo","design","tool"],"file-minus":["delete","remove","erase"],"file-plus":["add","create","new"],"file-text":["data","txt","pdf"],film:["movie","video"],filter:["funnel","hopper"],flag:["report"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],framer:["logo","design","tool"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],globe:["world","browser","language","translate"],"hard-drive":["computer","server","memory","data"],hash:["hashtag","number","pound"],headphones:["music","audio","sound"],heart:["like","love","emotion"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house","living"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication","secure"],layers:["stack"],layout:["window","webpage"],"life-bouy":["help","life ring","support"],link:["chain","url"],"link-2":["chain","url"],linkedin:["logo","social media"],list:["options"],lock:["security","password","secure"],"log-in":["sign in","arrow","enter"],"log-out":["sign out","arrow","exit"],mail:["email","message"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows","expand"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record","sound","mute"],mic:["record","sound","listen"],minimize:["exit fullscreen","close"],"minimize-2":["exit fullscreen","arrows","close"],minus:["subtract"],monitor:["tv","screen","display"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],music:["note"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box","container"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","audio","stop"],"pen-tool":["vector","drawing"],percent:["discount"],"phone-call":["ring"],"phone-forwarded":["call"],"phone-incoming":["call"],"phone-missed":["call"],"phone-off":["call","mute"],"phone-outgoing":["call"],phone:["call"],play:["music","start"],"pie-chart":["statistics","diagram"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],printer:["fax","office","device"],radio:["signal"],"refresh-cw":["synchronise","arrows"],"refresh-ccw":["arrows"],repeat:["loop","arrows"],rewind:["music"],"rotate-ccw":["arrow"],"rotate-cw":["arrow"],rss:["feed","subscribe"],save:["floppy disk"],scissors:["cut"],search:["find","magnifier","magnifying glass"],send:["message","mail","email","paper airplane","paper aeroplane"],settings:["cog","edit","gear","preferences"],"share-2":["network","connections"],shield:["security","secure"],"shield-off":["security","insecure"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slack:["logo"],slash:["ban","no"],sliders:["settings","controls"],smartphone:["cellphone","device"],smile:["emoji","face","happy","good","emotion"],speaker:["audio","music"],star:["bookmark","favorite","like"],"stop-circle":["media","music"],sun:["brightness","weather","light"],sunrise:["weather","time","morning","day"],sunset:["weather","time","evening","night"],tablet:["device"],tag:["label"],target:["logo","bullseye"],terminal:["code","command line","prompt"],thermometer:["temperature","celsius","fahrenheit","weather"],"thumbs-down":["dislike","bad","emotion"],"thumbs-up":["like","good","emotion"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],tool:["settings","spanner"],trash:["garbage","delete","remove","bin"],"trash-2":["garbage","delete","remove","bin"],triangle:["delta"],truck:["delivery","van","shipping","transport","lorry"],tv:["television","stream"],twitch:["logo"],twitter:["logo","social"],type:["text"],umbrella:["rain","weather"],unlock:["security"],"user-check":["followed","subscribed"],"user-minus":["delete","remove","unfollow","unsubscribe"],"user-plus":["new","add","create","follow","subscribe"],"user-x":["delete","remove","unfollow","unsubscribe","unavailable"],user:["person","account"],users:["group"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],"wifi-off":["disabled"],wifi:["connection","signal","wireless"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times","clear"],"x-octagon":["delete","stop","alert","warning","times","clear"],"x-square":["cancel","close","delete","remove","times","clear"],x:["cancel","close","delete","remove","times","clear"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"],"zoom-in":["magnifying glass"],"zoom-out":["magnifying glass"]}},function(e){e.exports={activity:'',airplay:'',"alert-circle":'',"alert-octagon":'',"alert-triangle":'',"align-center":'',"align-justify":'',"align-left":'',"align-right":'',anchor:'',aperture:'',archive:'',"arrow-down-circle":'',"arrow-down-left":'',"arrow-down-right":'',"arrow-down":'',"arrow-left-circle":'',"arrow-left":'',"arrow-right-circle":'',"arrow-right":'',"arrow-up-circle":'',"arrow-up-left":'',"arrow-up-right":'',"arrow-up":'',"at-sign":'',award:'',"bar-chart-2":'',"bar-chart":'',"battery-charging":'',battery:'',"bell-off":'',bell:'',bluetooth:'',bold:'',"book-open":'',book:'',bookmark:'',box:'',briefcase:'',calendar:'',"camera-off":'',camera:'',cast:'',"check-circle":'',"check-square":'',check:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"chevrons-down":'',"chevrons-left":'',"chevrons-right":'',"chevrons-up":'',chrome:'',circle:'',clipboard:'',clock:'',"cloud-drizzle":'',"cloud-lightning":'',"cloud-off":'',"cloud-rain":'',"cloud-snow":'',cloud:'',code:'',codepen:'',codesandbox:'',coffee:'',columns:'',command:'',compass:'',copy:'',"corner-down-left":'',"corner-down-right":'',"corner-left-down":'',"corner-left-up":'',"corner-right-down":'',"corner-right-up":'',"corner-up-left":'',"corner-up-right":'',cpu:'',"credit-card":'',crop:'',crosshair:'',database:'',delete:'',disc:'',"divide-circle":'',"divide-square":'',divide:'',"dollar-sign":'',"download-cloud":'',download:'',dribbble:'',droplet:'',"edit-2":'',"edit-3":'',edit:'',"external-link":'',"eye-off":'',eye:'',facebook:'',"fast-forward":'',feather:'',figma:'',"file-minus":'',"file-plus":'',"file-text":'',file:'',film:'',filter:'',flag:'',"folder-minus":'',"folder-plus":'',folder:'',framer:'',frown:'',gift:'',"git-branch":'',"git-commit":'',"git-merge":'',"git-pull-request":'',github:'',gitlab:'',globe:'',grid:'',"hard-drive":'',hash:'',headphones:'',heart:'',"help-circle":'',hexagon:'',home:'',image:'',inbox:'',info:'',instagram:'',italic:'',key:'',layers:'',layout:'',"life-buoy":'',"link-2":'',link:'',linkedin:'',list:'',loader:'',lock:'',"log-in":'',"log-out":'',mail:'',"map-pin":'',map:'',"maximize-2":'',maximize:'',meh:'',menu:'',"message-circle":'',"message-square":'',"mic-off":'',mic:'',"minimize-2":'',minimize:'',"minus-circle":'',"minus-square":'',minus:'',monitor:'',moon:'',"more-horizontal":'',"more-vertical":'',"mouse-pointer":'',move:'',music:'',"navigation-2":'',navigation:'',octagon:'',package:'',paperclip:'',"pause-circle":'',pause:'',"pen-tool":'',percent:'',"phone-call":'',"phone-forwarded":'',"phone-incoming":'',"phone-missed":'',"phone-off":'',"phone-outgoing":'',phone:'',"pie-chart":'',"play-circle":'',play:'',"plus-circle":'',"plus-square":'',plus:'',pocket:'',power:'',printer:'',radio:'',"refresh-ccw":'',"refresh-cw":'',repeat:'',rewind:'',"rotate-ccw":'',"rotate-cw":'',rss:'',save:'',scissors:'',search:'',send:'',server:'',settings:'',"share-2":'',share:'',"shield-off":'',shield:'',"shopping-bag":'',"shopping-cart":'',shuffle:'',sidebar:'',"skip-back":'',"skip-forward":'',slack:'',slash:'',sliders:'',smartphone:'',smile:'',speaker:'',square:'',star:'',"stop-circle":'',sun:'',sunrise:'',sunset:'',tablet:'',tag:'',target:'',terminal:'',thermometer:'',"thumbs-down":'',"thumbs-up":'',"toggle-left":'',"toggle-right":'',tool:'',"trash-2":'',trash:'',trello:'',"trending-down":'',"trending-up":'',triangle:'',truck:'',tv:'',twitch:'',twitter:'',type:'',umbrella:'',underline:'',unlock:'',"upload-cloud":'',upload:'',"user-check":'',"user-minus":'',"user-plus":'',"user-x":'',user:'',users:'',"video-off":'',video:'',voicemail:'',"volume-1":'',"volume-2":'',"volume-x":'',volume:'',watch:'',"wifi-off":'',wifi:'',wind:'',"x-circle":'',"x-octagon":'',"x-square":'',x:'',youtube:'',"zap-off":'',zap:'',"zoom-in":'',"zoom-out":''}},function(e){e.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=Object.assign||function(e){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:[];!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=n,this.contents=i,this.tags=l,this.attrs=t({},o.default,{class:"feather feather-"+n})}return l(e,[{key:"toSvg",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return""+this.contents+""}},{key:"toString",value:function(){return this.contents}}]),e}();n.default=c},function(e,n,i){"use strict";var t=o(i(12)),l=o(i(39)),r=o(i(38));function o(e){return e&&e.__esModule?e:{default:e}}e.exports={icons:t.default,toSvg:l.default,replace:r.default}},function(e,n,i){e.exports=i(0)},function(e,n,i){var t=i(2)("iterator"),l=!1;try{var r=0,o={next:function(){return{done:!!r++}},return:function(){l=!0}};o[t]=function(){return this},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,n){if(!n&&!l)return!1;var i=!1;try{var r={};r[t]=function(){return{next:function(){return{done:i=!0}}}},e(r)}catch(e){}return i}},function(e,n,i){var t=i(30),l=i(2)("toStringTag"),r="Arguments"==t(function(){return arguments}());e.exports=function(e){var n,i,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,n){try{return e[n]}catch(e){}}(n=Object(e),l))?i:r?t(n):"Object"==(o=t(n))&&"function"==typeof n.callee?"Arguments":o}},function(e,n,i){var t=i(47),l=i(9),r=i(2)("iterator");e.exports=function(e){if(void 0!=e)return e[r]||e["@@iterator"]||l[t(e)]}},function(e,n,i){"use strict";var t=i(18),l=i(7),r=i(10);e.exports=function(e,n,i){var o=t(n);o in e?l.f(e,o,r(0,i)):e[o]=i}},function(e,n,i){var t=i(2),l=i(9),r=t("iterator"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(l.Array===e||o[r]===e)}},function(e,n,i){var t=i(3);e.exports=function(e,n,i,l){try{return l?n(t(i)[0],i[1]):n(i)}catch(n){var r=e.return;throw void 0!==r&&t(r.call(e)),n}}},function(e,n){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,n,i){var t=i(52);e.exports=function(e,n,i){if(t(e),void 0===n)return e;switch(i){case 0:return function(){return e.call(n)};case 1:return function(i){return e.call(n,i)};case 2:return function(i,t){return e.call(n,i,t)};case 3:return function(i,t,l){return e.call(n,i,t,l)}}return function(){return e.apply(n,arguments)}}},function(e,n,i){"use strict";var t=i(53),l=i(24),r=i(51),o=i(50),a=i(27),c=i(49),p=i(48);e.exports=function(e){var n,i,y,h,x=l(e),s="function"==typeof this?this:Array,u=arguments.length,d=u>1?arguments[1]:void 0,f=void 0!==d,g=0,v=p(x);if(f&&(d=t(d,u>2?arguments[2]:void 0,2)),void 0==v||s==Array&&o(v))for(i=new s(n=a(x.length));n>g;g++)c(i,g,f?d(x[g],g):x[g]);else for(h=v.call(x),i=new s;!(y=h.next()).done;g++)c(i,g,f?r(h,d,[y.value,g],!0):y.value);return i.length=g,i}},function(e,n,i){var t=i(32),l=i(54);t({target:"Array",stat:!0,forced:!i(46)(function(e){Array.from(e)})},{from:l})},function(e,n,i){var t=i(6),l=i(3);e.exports=function(e,n){if(l(e),!t(n)&&null!==n)throw TypeError("Can't set "+String(n)+" as a prototype")}},function(e,n,i){var t=i(56);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,n=!1,i={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(i,[]),n=i instanceof Array}catch(e){}return function(i,l){return t(i,l),n?e.call(i,l):i.__proto__=l,i}}():void 0)},function(e,n,i){var t=i(0).document;e.exports=t&&t.documentElement},function(e,n,i){var t=i(28),l=i(13);e.exports=Object.keys||function(e){return t(e,l)}},function(e,n,i){var t=i(8),l=i(7),r=i(3),o=i(59);e.exports=t?Object.defineProperties:function(e,n){r(e);for(var i,t=o(n),a=t.length,c=0;a>c;)l.f(e,i=t[c++],n[i]);return e}},function(e,n,i){var t=i(3),l=i(60),r=i(13),o=i(15),a=i(58),c=i(34),p=i(16)("IE_PROTO"),y=function(){},h=function(){var e,n=c("iframe"),i=r.length;for(n.style.display="none",a.appendChild(n),n.src=String("javascript:"),(e=n.contentWindow.document).open(),e.write(" + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + +
+
+ + +
+
+
+

사업진행현황

+

항상 고객사와 소통하는 오라인포

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

금감원, START포털 오픈에 PG컨설팅 전문기업 '오라인포' 업무 진행

+
+ + calendar_today + 2024-11-25 + + + visibility + 조회 128 + + + person + 관리자 + +
+
+ +
+

금융감독원이 운영하는 START포털의 성공적인 오픈을 위해 PG컨설팅 전문기업 오라인포가 핵심 업무를 담당하며 프로젝트를 진행하고 있습니다.

+
+

오라인포는 이번 프로젝트에서 PG 시스템 구축 및 운영 컨설팅을 비롯하여, 금융당국의 규정 준수를 위한 시스템 설계와 내부통제 절차 수립을 맡아 수행하였습니다.

+
+

START포털은 핀테크 기업을 위한 원스톱 인허가 지원 플랫폼으로, 선불전자지급수단 등록, 전자금융업 허가, 소액해외송금업 등록 등 다양한 금융 인허가 절차를 통합 지원합니다.

+
+

오라인포는 앞으로도 금융당국 및 다양한 핀테크 기업들과 긴밀히 협력하여, 안전하고 투명한 금융 생태계 조성에 기여할 것입니다.

+
+ + + +
+ + +
+ + + + + + + +
+
+ +
+
+ +
+ +
+
+ + arrow_upward TOP +
+
+
+
+ + + + + \ No newline at end of file diff --git a/src/main/resources/templates/etc.html b/src/main/resources/templates/etc.html new file mode 100644 index 0000000..b8e5321 --- /dev/null +++ b/src/main/resources/templates/etc.html @@ -0,0 +1,348 @@ + + + + + + + 회사소개 - 오라인포 + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + +
+
+ + +
+
+
+

PG업 등록시 체크사항

+

전자지급결제대행업 등록을 위한 핵심 요건과 오라인포의 지원 서비스

+
+
+ + + + +
+
+
+ + +
+ PG Registration Guide +

PG업 등록 전 꼭 확인하세요

+

전자지급결제대행업(PG) 등록은 명확한 사업 모델과 자본금 요건, 법적 기준 준수가 핵심입니다.

+
+ +
+
+
10억원
+

최소 납입자본금

+

소규모 PG 3억원 별도 적용

+
+
+
5
+

전산업무 경력 2년 이상 임직원

+

허가·등록 시점까지 확보 가능

+
+
+
200%
+

부채비율 이하 유지 필수

+

물적 시설 6분야 25개 항목

+
+
+ +
사전 점검 체크리스트
+
+
+
01
+
+ +
+

명확한 사업 모델을
가지고 있는가?

+

전자지급결제대행업(PG) 등록이 필요한 명확한 비즈니스 모델 및 사업계획이 반드시 필요합니다. 법적 타당성이 검토된 3개년 사업계획서를 준비하세요.

+ ✓ 사업계획서 필수 +
+
+
02
+
+ +
+

초기 사업진행을 위한
자금계획이 있는가?

+

등록신청 자본금 요건은 최소 10억원입니다. 소규모 PG업의 경우 3억원(분기별 전자금융거래금액 30억 이하)이 적용됩니다.

+ ✓ 자본금 10억 / 소규모 3억 +
+
+
03
+
+ +
+

PG업 등록을 위한
법적 기준을 인지했나?

+

전자금융거래법 시행령, 전자금융감독 규정, 시행 세칙 등 일련의 법과 규정을 준수하여 금융감독원에 등록신청해야 합니다.

+ ✓ 금융감독원 등록 기준 +
+
+ +
법적 기준 — 4가지 필수 요건
+
+
+
+
+

재무건전성 요건

+
+
+
    +
  • 최소 자본금 10억원 (납입자본금 기준)
  • +
  • 부채비율 200% 이하 유지
  • +
+
소규모 전자지급결제대행업 자본금 3억원
(분기별 전자금융거래금액 30억 이하인 경우)
+
+
+
+
+
+

사업계획 (3개년)

+
+
+
    +
  • 등록하고자 하는 전자금융업에 관한 3년 간 예상 사업계획서, 수지계산서 등을 추산하여 작성
  • +
  • 금융감독원 규정에 맞는 양식 준수
  • +
  • 법적 타당성이 검토된 사업모델 포함
  • +
+
+
+
+
+
+

인적 요건

+
+
+
    +
  • 전산업무 경력 2년 이상인 임직원 5명 확보
  • +
  • 허가·등록 시점까지 확보 가능
  • +
  • 금융감독원 실사 시 개인 면담 대비 필요
  • +
+
+
+
+
+
+

물적 시설 설비 (6분야 25항목)

+
+
+
    +
  • 전자금융업을 원활히 영위하는데 필요한 전산기기 보유
  • +
  • 전산장애 발생 시 전산자료 손실에 대비한 백업장치 구비
  • +
  • 전자금융업의 원활한 영위를 위한 각종 프로그램 보유 (PG 결제 프로그램 필수)
  • +
  • 전산자료 보호 등을 위한 적절한 정보처리시스템 관리방안을 확보하고, 정보보호시스템 등 감시운영체제를 구축
  • +
  • 전산실 안정성을 확보하고 적절한 보안대책 수립
  • +
+
+
+
+
+ +
+
+
+

컨설팅 및 시스템 개발업체 선정 시 검토사항

+
+
+
+
PG업 등록 컨설팅 내용 검토
+
+
    +
  • 사업자 인허가 요건 분석 및 사업모델 적합성: 사업 계획의 법적 타당성 검토
  • +
  • 시스템 구축 설계 등 인적·물적 자원: 등록에 필요한 구체적인 자원 확보 방안 지원
  • +
  • 지속적인 등록 실적 확인: 최근까지의 성공적인 등록 사례 보유 여부
  • +
+
+
+
+
시스템 개발 내용 검토
+
+
    +
  • 다양한 지불수단의 결제 모듈 제공: 범용성 및 확장성을 갖춘 결제 수단 지원
  • +
  • 서비스 확장을 고려한 설계: 향후 비즈니스 모델 변화에 유연하게 대응
  • +
  • 실제 결제/정산 서비스 운영 가능: 실제 서비스 운영 경험 또는 가능성 확인
  • +
  • 금융감독원 등록 기준 완벽 지원: 최신 등록 요건에 부합하는 PG시스템
  • +
  • 소프트웨어 부문 완벽 지원: 물적 자원 중 소프트웨어 관련 모든 요구사항 충족
  • +
+
+
+
+
+
+ +
+
+
+ Check Point +

(주)오라인포의 최고의 장점

+

시스템 개발부터 사업 계획서 작성, 규정 준수까지 전반적인 지원을 포함합니다.

+
+ +
+
+
+
+

PG시스템 개발

+

전자금융업 영위에 필수적인 PG(Payment Gateway) 시스템을 개발합니다.

+
+
+
+
+
+

사업 계획서 및 제반 서류 작성 지원

+

금융감독원이 요구하는 양식과 내용에 맞춰 사업 계획서 작성을 지원합니다.

+
+
+
+
+
+

인프라 구성 컨설팅

+

안정적인 서비스 제공을 위한 하드웨어 및 소프트웨어 인프라 구축 방안을 제시하고 지원합니다.

+
+
+
+
+
+

인허가 서류 및 절차 지원

+

전자금융업 등록 신청서, 정관, 재무제표 등 필요한 서류 준비를 돕고 금융감독원 심사 및 현장 실사에 대한 가이드를 제공합니다.

+
+
+
+
+
+

운영 노하우 공유 및 규정 준수

+

실제 PG사업 운영에 필요한 실무적인 노하우와 정보보호 정책 및 지침 작성 가이드를 공유합니다. 최근 개정된 「전자금융거래법」 등 관련 규정 준수 사항에 대한 자문도 제공합니다.

+
+
+
+ +

+ 이러한 One-Stop Total Consulting Service는 전자금융업 등록 과정의 복잡성과 까다로운 요건을 해소하여 신속하게 사업을 시작할 수 있도록 돕습니다. +

+
+
+ +
+
+
+ Reference +

주요 레퍼런스 및 제공 서비스

+

전자상거래, 금융업, 물류업 등 다양한 산업 분야의 PG사 등록을 성공적으로 완료한 실적을 보유하고 있습니다.

+
+
+
+
+

PG업 등록 물적 시스템 컨설팅

+

서류 컨설팅은 물론 등록 노하우 전반을 지원합니다. 사업모델 개발부터 인적·물적 자원 구성까지 종합 컨설팅을 제공합니다.

+
+
+
+

금융감독원 제출서류 가이드

+

실사 및 심사를 위한 필수 제출서류 작성을 전문적으로 가이드하고 지원합니다. 심사 응대 노하우를 함께 제공합니다.

+
+
+
+

다양한 산업 분야 PG사 등록 완료

+

전자상거래, 금융업, 물류업 등 여러 분야 PG사 등록 성공 실적. 당사 직접 운영 노하우로 빠른 등록을 지원합니다.

+
+
+ +
+
+ + +
+
+ + + +
+
+ +
+ +
+
+ + arrow_upward TOP +
+
+
+ + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/include/common-head.html b/src/main/resources/templates/include/common-head.html new file mode 100644 index 0000000..1e23415 --- /dev/null +++ b/src/main/resources/templates/include/common-head.html @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/templates/include/footer.html b/src/main/resources/templates/include/footer.html new file mode 100644 index 0000000..65b2a89 --- /dev/null +++ b/src/main/resources/templates/include/footer.html @@ -0,0 +1,43 @@ +
+
+ +
+
+ +
+ 주소 : 서울시 금천구 가산디지털 1로 83, 10F(가산동, 파트너스타워)
+
    +
  • TEL : 1544-1680
  • +
  • 사업자등록번호 : 106-86-21229
  • +
  • 회사명 : (주)오라인포
  • +
  • 대표이사 : 조주형
  • +
+
+ Copyrights ⓒ Owrainfo Co., Ltd All Rights Reserved. +
+
+
+ +
+
+
\ No newline at end of file diff --git a/src/main/resources/templates/include/header.html b/src/main/resources/templates/include/header.html new file mode 100644 index 0000000..7d279b6 --- /dev/null +++ b/src/main/resources/templates/include/header.html @@ -0,0 +1,114 @@ +
+ \ No newline at end of file diff --git a/src/main/resources/templates/include/quick-menu.html b/src/main/resources/templates/include/quick-menu.html new file mode 100644 index 0000000..bf84411 --- /dev/null +++ b/src/main/resources/templates/include/quick-menu.html @@ -0,0 +1,32 @@ + + + +
+
+ + arrow_upward TOP +
+
+ + diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html new file mode 100644 index 0000000..e3fdea2 --- /dev/null +++ b/src/main/resources/templates/index.html @@ -0,0 +1,378 @@ + + + + +
+ +
+ + +
+ +
+ + + +
+ +
+ + +
+
+
+ +
+
+
+
+
+ +
+
+

FINANCE TECHNOLOGY SERVICE

+

+ 금융과 기술이 하나로 결합된 + 핀테크 솔루션 전문 기업 +

+ +
+
+ +
+ + + +
+ + +
+ +
+
+
+
+ +
+ SCROLLDOWN +
+
+
+
+
+ + + +
+ +
+
+
+

금융 인허가, 시작부터 승인까지

+

PG·선불업 인허가 등록을 위한 요건 검토, 서류 준비, 금융당국 대응
+ 전 과정을 전문 컨설팅으로 제공합니다.

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

    급변하는 기술 동향 및 지속적인 발전을 + 위해 기업부설 연구소를 운영하고 있습니다. +

    +
    + 솔루션 개발 및 운영 + 콘텐츠 관리시스템 + 전자결제 대행 +
    +
    +
    IT컨설팅
    +
  • +
  • +
    +

    거래 처리부터 정산·재정산까지 전 과정을 아우르는 + 통합 결제 기술 기반의 핀테크 서비스를 제공합니다. +

    +
    + 통합결제 + 정산시스템 + PG플랫폼 +
    +
    +
    결제 대행 시스템
    +
  • +
  • +
    +

    결제 대행부터 인프라 구축, 정산, 가맹점 관리 기능까지 + 포함하여 통합 결제 환경을 제공합니다. +

    +
    + PG결제 + 전자지불대행 + 가맹점관리 +
    +
    +
    PG 시스템
    +
  • +
  • +
    +

    API 기반 아키텍처와 보안 중심 설계를 통해 + 안정적이고 확장 가능한 선불 결제 인프라를 제공합니다. +

    +
    + 선불비즈니스 + 플랫폼월렛 + B2B선충전 +
    +
    +
    선불 시스템
    +
  • +
  • +
    +

    가맹점의 매출 입금 누락 없이 빠르고 + 정확한 정산을 지원하는 실시간 매출 정산 시스템입니다. +

    +
    + 매출정산시스템 + 정산효율화 + 리스크관리 +
    +
    +
    매출 정산 시스템
    +
  • +
+
+
+
+ +
+ + +
+
+
+

+ PG·선불업 서비스를 10년 이상 운영한 + 실무 경험과 노하우를 바탕으로, + 신규 사업자의 안정적인 시작을 돕겠습니다. + +

+
+
+
+ + + +
+
+
+

오라인포의 + 새로운 소식을 만나보세요. +

+
+
+ + + 자세히 보기 arrow_right_alt +
+
+
+
+
    + +
  • +
    + + + +
    +
    +
    +
    +
    +

    +
  • + +
+
+
+
+
+
    +
  • Online world recreating adventurer
  • + + + + + + + + + +
+
+
+
+ + + +
+ +
+ + + +
+ +
+ +
+ + + +
+ +
+ + + + + + + diff --git a/src/main/resources/templates/index_backup.html b/src/main/resources/templates/index_backup.html new file mode 100644 index 0000000..2d1c5a6 --- /dev/null +++ b/src/main/resources/templates/index_backup.html @@ -0,0 +1,29 @@ + + + + + + owrawww + + + +
+ +
+ +
+

메인 페이지

+

Spring Boot + Thymeleaf + MyBatis + Spring Security

+
+ + diff --git a/src/main/resources/templates/layout/default.html b/src/main/resources/templates/layout/default.html new file mode 100644 index 0000000..7577c08 --- /dev/null +++ b/src/main/resources/templates/layout/default.html @@ -0,0 +1,29 @@ + + + + 오라인포 + + + + + + + + + +
+ +
+
+ +
+ + + + + + + + diff --git a/src/main/resources/templates/layout/main.html b/src/main/resources/templates/layout/main.html new file mode 100644 index 0000000..7f8c2cb --- /dev/null +++ b/src/main/resources/templates/layout/main.html @@ -0,0 +1,43 @@ + + + + 오라인포 + + + + + + + + +
+ + +
+ + +
+
+ + +
+ +
+ +
+
+ +
+ + +
+ +
+ + + + + + diff --git a/src/main/resources/templates/pub_list.html b/src/main/resources/templates/pub_list.html new file mode 100644 index 0000000..4aae589 --- /dev/null +++ b/src/main/resources/templates/pub_list.html @@ -0,0 +1,549 @@ + + + + + + 오라인포 — 퍼블리싱 작업 목록 + + + + + + +
+
+ +
+ + +
Owrainfo · Publishing Index
+ + +

퍼블리싱
작업 목록

+

오라인포(Owrainfo) 웹사이트 UI 퍼블리싱 산출물 목록입니다.

+ + +
+
+ 📋  Publishing Notes +
+
    +
  • 작업 환경은 로컬 개발 서버(Live Server) 기반으로 진행되었으며, 파일 경로는 서버 루트 기준으로 설정되어 있습니다.
  • +
  • 헤더(header.html)와 푸터(footer.html)는 jQuery의 $.load()를 통해 공통 모듈로 분리·적용하였습니다. 코드 중복 제거 및 유지보수 편의성을 고려한 구조입니다.
  • +
  • 반응형은 Breakpoint 기준 1024px / 768px / 480px으로 구분하여 작업하였습니다.
  • +
  • 메인 비주얼 슬라이더 및 서브 콘텐츠 슬라이더는 Swiper.js를 사용하였으며, 스크롤 애니메이션은 GSAP + ScrollTrigger 기반으로 구현하였습니다.
  • +
  • 애니메이션은 AOS(Animate On Scroll) 라이브러리를 통해 처리하였습니다.
  • +
  • 아이콘은 Feather IconsGoogle Material Icons Round를 혼용하였습니다.
  • +
+
+ + +
+
+ 1 file + 01 + 메인 +
+ +
+ + +
+
+ 5 files + 02 + 회사소개 +
+ +
+ + +
+
+ 8 files + 03 + 사업소개 +
+ +
+ + +
+
+ 4 files + 04 + 인재채용 +
+ +
+ + +
+
+ 3 files + 05 + 오라인 +
+ +
+ + +
+ studio monde + / + UI Publishing Index + / + For internal use only +
+ +
+ + \ No newline at end of file diff --git a/src/main/resources/templates/service.html b/src/main/resources/templates/service.html new file mode 100644 index 0000000..bd21691 --- /dev/null +++ b/src/main/resources/templates/service.html @@ -0,0 +1,330 @@ + + + + + + + 회사소개 - 오라인포 + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + +
+
+ + +
+
+
+

매출정산서비스

+

선 정산 서비스 솔루션

+
+
+ + + + +
+
+
+
+ + +
+ Pre-Settlement Service +

매출정산 관리 통합 솔루션

+

매장 카드결제, 배달의 민족, 요기요 등
오늘 매출을 바로 다음날 입금해 드립니다.

+
+ + +
+ + +
+
+ +
+

매출정산 관리 시스템

+
    +
  • 대리점/가맹점 관리
  • +
  • 입금정산/출금정산
  • +
  • 통계관리
  • +
  • 실시간 매출관리
  • +
  • 수수료 관리
  • +
+
+ + +
+
+ +
+

여신 관리 시스템

+
    +
  • 가맹점 여신관리
  • +
  • 이자&상환관리
  • +
  • 채권관리
  • +
  • 통계관리
  • +
+
+ + +
+
+ +
+

가맹점 매출관리 어플

+
    +
  • 실시간 매출 관리
  • +
  • 카드 결제 모듈 (PG 연동)
  • +
  • 선정산&대출 정보 조회
  • +
  • 매출통계 관리
  • +
  • 긴급 자금 신청
  • +
+
+ + +
+
+ +
+

매출 연동 서비스

+
    +
  • 12개 VAN사 연동
  • +
  • 배달의 민족/요기요 연동
  • +
  • 은행계좌 연동
  • +
+
+ +
+
+
+
+ + + +
+
+
+ Why Pre-Settlement? +

선 정산 서비스를 이용하려면?

+

카드사별 입금 주기의 차이에서 발생하는 매출 누락·자금 공백을
선 정산 서비스 하나로 해결하세요.

+
+ +
+ +
+
+ +
+

매출 누락방지

+

카드사별로 입금 주기가 달라도 선 정산으로 카드 매출의 누락을 방지합니다.

+
+ +
+
+ +
+

현금 유동성 확보

+

오늘 매출이 내일 바로 입금되므로 묶이는 자금이 없어집니다.

+
+ +
+
+ +
+

매출 정산 관리

+

매장의 매출을 한 곳에서 정산·관리할 수 있습니다.

+
+
+
+ +
+

매출 횡령 방지

+

매출이 한 곳에서 정산·관리되므로 누락 및 횡령이 방지됩니다.

+
+ +
+
+ +
+

스팟대여금

+

스팟대여금이 가능하여 카드론·현금서비스를 받으실 필요가 없습니다.

+
+ +
+
+
+ + + +
+
+ +
+ Real Reviews +

사장님들의 인터뷰

+

오늘 매출을 내일 오전에 받는 배달시대
매장카드&배달앱 선정산 서비스를 이용하시는 사장님들의 리뷰!

+
+ +
+ + +
+
+

매출을 보이는데 통장에 들어오는 돈은 항상 틀리네요~
왜 차이가 나는지 이제 알겠습니다.

+
+
+ +
+
+

프랜차이즈 점장 3년차

+

경기도

+
+
+
+ + +
+
+

일도 힘들고 영업 끝난 후에 돈까지 맞추려니 쉴 시간도 없었는데, 믿을 수 있는 정산시스템이 있어서 믿고 갑니다.

+
+
+ +
+
+

제과점 운영 2년차

+

경기도

+
+
+
+ + +
+
+

오늘 매출이 내일 들어오니 결제 부분을 빨리 해줄 수 있어서 거래처에서도 할인도 받았어요!

+
+
+ +
+
+

요식업 운영 5년차

+

서울

+
+
+
+ +
+
+
+ + + + +
+ + + +
+
+ +
+ +
+
+ + arrow_upward TOP +
+
+
+ + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/sitemap.html b/src/main/resources/templates/sitemap.html new file mode 100644 index 0000000..48a146f --- /dev/null +++ b/src/main/resources/templates/sitemap.html @@ -0,0 +1,153 @@ + + + + 사이트맵 + + + +
+ + +
+ + +
+
+ + +
+
+
+

사이트맵

+

항상 고객사와 소통하는 오라인포

+
+
+ + + + +
+
+
+ +
+ + +
+
+
+ +
+
+ Company + 회사소개 +
+
+ +
+ + + + + +
+
+
+ +
+
+ Careers + 인재채용 +
+
+ +
+ + +
+
+
+ +
+
+ Oline + 오라인 +
+
+ +
+ +
+ + + +
+
+
+ + + +
+
+
+ + + + \ No newline at end of file diff --git a/src/main/resources/templates/sub01_01.html b/src/main/resources/templates/sub01_01.html new file mode 100644 index 0000000..e6feb3b --- /dev/null +++ b/src/main/resources/templates/sub01_01.html @@ -0,0 +1,233 @@ + + + + 회사개요 + + + + +
+ + +
+ + +
+
+ + +
+
+
+

회사개요

+

항상 고객사와 소통하는 오라인포

+
+ + +
+ + + + +
+
+
+
    +
  • Online world recreating adventurer
  • + + + + + +
+
+
+
+
+
+
+

(주)오라인포는 + ON/OFF-LINE 토탈 서비스 업체로서 + 새로운 비즈니스 모델을 제공합니다. +

+

+ 다양한 금융사 기반 솔루션을 보유, E-Business의 성공적 안착을 위한 + 기업전산 인프라를 구축하고 원활한 정보교환 및 서비스를 제공함으로서 + 고객사의 든든한 파트너 역할을 하고자 합니다. +

+
+
+ 오라인포 소개 이미지 +
+
+
+ 회사개요 +
+
+
+
+
+ 회사명 + (주)오라인포 +
+
+ 회사설립일 + 2003년 8월 +
+
+
+
+ 대표이사 + 조주형 +
+
+ 자본금 + 700,000,000원 +
+
+
+
+ 본사주소 + 서울특별시 금천구 가산디지털 1로 83, 10F(가산동, 파트너스 타워) +
+
+
+
+ 협회&사업자등록 +
+
    +
  • + 직접생산 증명서 (제 2011-08817) + 중소기업중앙회 +
  • +
  • + 소프트웨어사업자 신고확인서 (B11-45378-002) + 소프트웨어 산업협회 +
  • +
  • + 벤처기업등록 (2009년 02월) + 기술보증기금 +
  • +
  • + 기업부설 연구소 인증 (2010년 05월) + (사)한국산업기술진흥협회 +
  • +
+
+
+
+ + +
+
+ 보유면허 +
+

ISO9001 : 2008인증(품질경영시스템 인증기업)
+ 특허증 : 콘텐츠 거래 시스템 및 방법과 콘텐츠 거래 서버 특허증(특허 제 10-1423261호)

+
+
+
+ + +
+
+ 자체보유기술 +
+
    +
  • PG(전자결제대행) 시스템
  • +
  • 매출 정산 시스템
  • +
  • 통합신용관리 솔루션
  • +
  • 크라우드펀딩 시스템
  • +
  • 보안솔루션(문서보안/128Bit, 256Bit Data 암호화모듈)
  • +
  • CFS/CSS 솔루션
  • +
  • HTS 연동 시스템
  • +
  • 여신관리 시스템 (계정계/사후관리 솔루션)
  • +
  • 스크래핑 솔루션
  • +
  • 대출중개관리 솔루션
  • +
  • 메신저 솔루션
  • +
+
+
+
+ +
+
+
+
+ +
+ 협회 또는
사업자 등록 내용
+
+
+
    +
  • + 직접생산 증명서 +
  • +
  • + 소프트웨어사업자 신고확인서 +
  • +
  • + 벤처기업등록 +
  • +
  • + 기업부설 연구소 인증 +
  • +
  • + ISO9001 인증 +
  • +
  • + ISO9001 인증 +
  • +
+
+
+
+ +
+
+
+ +
+
\ No newline at end of file diff --git a/src/main/resources/templates/sub01_02.html b/src/main/resources/templates/sub01_02.html new file mode 100644 index 0000000..bbd33b7 --- /dev/null +++ b/src/main/resources/templates/sub01_02.html @@ -0,0 +1,264 @@ + + + + 경영이념/비전 + + + +
+ + +
+ + +
+
+ + +
+
+
+

경영이념/비전

+

항상 고객사와 소통하는 오라인포

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

+ 구성원의 창의적 가치를 존중하고 온·오프라인 토탈서비스로 + 새로운 비즈니스 모델을 창출하는 선도 기업이 되겠습니다. +

+
+ + +
+
+
+ 창의적 능력 아이콘 +
+

창의적 능력

+
+
+
+ 가치창조 아이콘 +
+

가치창조

+
+
+
+ 꿈의 기업창조 아이콘 +
+

꿈의 기업창조

+
+
+
+
+
+
+ + +
+
+
+
+ FINANCE TECHNOLOGY SERVICE +

경영이념

+
+
+

+ 모든 구성원의 가치 창조를 존중하고, 창의적인 능력을
+ 최대한 발휘할 수 있는 기업 문화를 표방하여 꿈의 기업을 창조한다. +

+
+
+
+ + +
+
+
+
+ VISION +

비전

+
+
+

+ 온/오프라인 토탈서비스 미디어 업체로서 새로운 비즈니스 모델을 개발하여
+ 고객사와 회원간의 원활한 정보 교환 및 서비스를 만들어 선도 기업이 된다. +

+
+
+
+ + +
+
+
+
+ +
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src/main/resources/templates/sub01_03.html b/src/main/resources/templates/sub01_03.html new file mode 100644 index 0000000..3c98366 --- /dev/null +++ b/src/main/resources/templates/sub01_03.html @@ -0,0 +1,967 @@ + + + + 회사연혁 + + + +
+ + +
+ + +
+
+ + +
+
+
+

회사연혁

+

항상 고객사와 소통하는 오라인포

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

+ ON/OFF-LINE 토탈 서비스 업체로서 나아가는 + (주)오라인포의 현재와 지난 발자취입니다. +

+

+ 저희 오라인포는 더 많은 연구와 노력을 발전하고 협력사, 고객사와 함께 성장하는 기업이 되겠습니다. +

+
+
+
+ + + +
+
+ Scroll +
+ scroll down +
+
+
+ +
+
+ + +
+ History +
+ 20 +
+
+
+ 0123 + 4567 + 89 +
+
+
+
+ 0123 + 4567 + 89 +
+
+
+
+ + +
+ + +
+ + +
+
2026
+
    +
  • + 01 +

    (주)페이패스 PG시스템 납품 및 컨설팅 계약 체결

    +
  • +
+
+ + +
+
2025
+
    +
  • + 07 + +

    (주)페이버 PG시스템 구축 등록 완료

    +
  • +
  • + 06 +

    (주)이오스시스템 PG시스템 구축 등록 완료

    +
  • +
  • + 06 +

    (주)페이누리 선불전자지급수단 발행 및 관리업 등록 완료

    +
  • +
+
+ + +
+
2024
+
    +
  • + 12 +

    (주)모스트P&S PG시스템 납품 및 등록 완료

    +
  • +
  • + 07 +

    (주)이룸페이 PG시스템 납품 및 등록 완료

    +
  • +
  • + 05 +

    (주)페이누리 선불업 등록 컨설팅 계약 체결

    +
  • +
  • + 04 +

    하랑코퍼레이션 PG시스템 납품 및 컨설팅 계약 체결

    +
  • +
  • + 01 +

    교원 그룹 LMS 납품 / 결제 및 빌링(정산) 시스템 개발 진행

    +
  • +
+
+ + +
+
2023
+
    +
  • + 06 + +

    하랑 코퍼레이션 외 2개 업체 매출정산 서비스 진행

    +
  • +
+
+ + +
+
2022
+
    +
  • + 12 +

    주식회사 크로스이엔에프 PG시스템 구축 계약 체결

    +
  • +
  • + 05 +

    자라다교육 교육관리시스템 리뉴얼 개발 계약

    +
  • +
  • + 05 +

    모스트P&S PG시스템 구축 계약 체결

    +
  • +
  • + 02 +

    이크래더블네트웍스 시스템 운영 유지보수 계약 체결

    +
  • +
  • + 02 +

    원남메디컬 척추측만 교정 모니터링 시스템 유지보수 계약 체결

    +
  • +
  • + 01 +

    (주)비즈크레스트 eB2B 시스템 유지보수 계약 체결

    +
  • +
+
+ + +
+
2021
+
    +
  • + 11 +

    헤세드에듀 학원통합관리프로그램(LMS) 구축 계약 체결

    +
  • +
  • + 09 +

    ㈜이룸페이 PG시스템 구축 계약 체결

    +
  • +
  • + 06 +

    ㈜케이엘넷 PG시스템 구축 계약 체결

    +
  • +
  • + 04 +

    프라미스어학원 학원통합관리프로그램(LMS) 구축 계약 체결

    +
  • +
  • + 04 +

    본인신용정보관리업(마이데이터) 2차 허가 신청 (현재 심사중)

    +
  • +
+
+ + +
+
2020
+
    +
  • + 12 +

    자본금 200,000,000원 증자 (총 자본금 7억)

    +
  • +
  • + 09 +

    경기도 시흥시 공식 지정 주문앱 런칭(와따)

    +
  • +
  • + 06 +

    금융위원회 금융서비스 테스트베드 사업 지정

    +
  • +
  • + 03 +

    혁신금융서비스 지정 "개인 및 소상공인 대상 맞춤형 대출 중개 플랫폼"

    +
  • +
+
+ + +
+
2019
+
    +
  • + 07 +

    혁신금융서비스 수요조사 및 1차 컨설팅

    +
  • +
  • + 07 +

    배달의 민족 배달대행 MOU 체결 및 프로그램 연동 개발

    +
  • +
  • + 06 +

    텐센트 위쳇페이 개발 구축 계약 체결

    +
  • +
  • + 04 +

    주식회사 페이플레이스 PG시스템 구축 등록 완료

    +
  • +
  • + 02 +

    (주)공터영어 학원통합관리프로그램(LMS) 구축 계약 체결

    +
  • +
  • + 02 +

    외국환업 등

    +
  • +
  • + 01 +

    리싱(구 삼홍미디어) PG시스템 구축 계약 체결

    +
  • +
+
+ + +
+
2018
+
    +
  • + 11 + +

    우리사이, 배고파딜리버리 배달대행 시스템 제공 계약

    +
  • +
  • + 11 + +

    자본금 50,000,000원 증자 (총 자본금 5억)

    +
  • +
  • + 09 + +

    주식회사 제로페이 PG시스템 구축 계약 체결

    +
  • +
  • + 08 + +

    서민금융진흥원 맞춤형 종합상담시스템 구축 계약

    +
  • + +
  • + 07 + +

    (주)장보고 PG시스템 구축 계약 체결

    +
  • +
  • + 05 + +

    자본금통신과금사업자 등록

    +
  • +
  • + 05 + +

    배달시대 시스템 런칭 및 쿠폰북 개발

    +
  • +
  • + 01 + +

    배달시대 주문APP 개발

    +
  • +
+
+ + +
+
2017
+
    +
  • + 11 +

    서민금융진흥원 전세특례보증 & 종합상담 시스템개발

    +
  • +
  • + 11 +

    ㈜행복컴퍼니 연예인 맞춤 블로그형 쇼핑몰 시스템 개발 계약

    +
  • +
  • + 08 +

    웰컴페이먼츠㈜ PG시스템 구축 계약 체결

    +
  • +
  • + 07 +

    ㈜YNT 경영 온라인 정보제공 인터넷 BIZ 구축

    +
  • +
  • + 07 +

    서민금융진흥원 맞춤대출 시스템 유지보수

    +
  • +
  • + 06 +

    ㈜컴파인렉스 매출정산 시스템 구축 & 유지관리

    +
  • + +
  • + 06 +

    ㈜청해비씨 매출정산 시스템 구축 & 유지관리

    +
  • +
  • + 03 +

    신한카드, 동원제일저축은행 서민금융진흥원 전문 연동 개발

    +
  • +
  • + 02 +

    ㈜비즈버그 PG시스템 구축 계약 체결

    +
  • +
+
+ + +
+
2016
+
    +
  • + 10 +

    ㈜프리페이 PG시스템 구축 계약 체결

    +
  • +
  • + 10 +

    ㈜아이씨비 전자지급결제대행업(PG) 등록 완료

    +
  • +
  • + 10 +

    배달대행프로그램 개발 및 오픈

    +
  • +
  • + 10 +

    코레일네트웍스㈜ 무인화 주차시스템(1단계) 구축 계약 체결

    +
  • +
  • + 09 +

    위드미컴퍼니 매출정산시스템 제공

    +
  • +
  • + 09 +

    한국직업능력개발원 마이스터고 차세대시스템 S/W 교체

    +
  • + +
  • + 07 +

    사무실 이전 (現 가산동 파트너스타워 1차 10층)

    +
  • +
  • + 06 +

    한국이지론㈜ 차세대시스템 오픈

    +
  • +
  • + 04 +

    ㈜티케이온 전자지급결제대행업(PG) 등록 완료

    +
  • +
  • + 04 +

    ㈜케이펀드 P2P시스템 납품 완료

    +
  • +
  • + 03 +

    한국직업능력개발원 마이스터고 포탈사이트 유지ㆍ관리

    +
  • +
  • + 03 +

    (주)페이누리 - 미소페이 APP(모바일결제서비스) 라이선스 계약 체결 및 APP오픈

    +
  • +
  • + 02 +

    (주)아이씨비 PG시스템 구축 계약 체결

    +
  • +
  • + 01 +

    (주)티케이온 PG시스템 구축 계약 체결

    +
  • +
+
+ + +
+
2015
+
    +
  • + 12 +

    (주)케이펀드 P2P시스템 개발 및 여신시스템 제공 계약 체결

    +
  • +
  • + 11 +

    한국이지론(주) 차세대 시스템 구축 계약 체결

    +
  • +
  • + 11 +

    (주)시큐브(코스닥 등록사) PG시스템 구축

    +
  • +
  • + 10 +

    간편결제 개발 진행

    +
  • +
  • + 09 +

    (주)비즈크레스트 eB2B 시스템 유지보수

    +
  • + +
  • + 08 +

    한국이지론(주) 한눈에 모바일 홈페이지 개발

    +
  • +
  • + 08 +

    PG사 매출 정산 시스템 개발

    +
  • + +
  • + 05 +

    (주)에이머스 - PG시스템 개발

    +
  • +
  • + 05 +

    (주)피지스 - 오라인포 카드매출정산 시스템 개발

    +
  • +
  • + 04 +

    희만사 - 상담관리 개발

    +
  • +
  • + 02 +

    한국직업능력개발원 마이스터고 포탈사이트 유지ㆍ관리

    +
  • +
+
+ + +
+
2014
+
    +
  • + 12 +

    자본금 1억 5천만원 증자 (총 자본금 4억5천만원)

    +
  • +
  • + 11 +

    스마트 저축은행 CFS 개발계약

    +
  • +
  • + 10 +

    ㈜KT캐피탈 매출정산개발

    +
  • +
  • + 06 +

    + BSP Solution - 매출정산서비스 오픈
    + SG리테일 (스피드공실) 관리자 페이지 개발 +

    +
  • +
  • + 05 +

    매출정산 서비스 - Daily Report 오픈

    +
  • +
  • + 01 +

    동아닷컴, 뉴시스, 연합뉴스, 중앙일보 외 10여개 언론사 Network 광고대행 체결

    +
  • +
+
+ + +
+
2013
+
    +
  • + 09 +

    256BIT 암호화 모듈 개발

    +
  • +
  • + 04 +

    KCB CB 전문연동 서비스 개발 - 웰컴크레디라인대부 ㈜

    +
  • +
  • + 03 +

    매출정산서비스 시스템 개발

    +
  • +
+
+ + +
+
2012
+
    +
  • + 12 + +

    KCB 대부업 CB(k-fomat) 등록 전문 개발

    +
  • +
  • + 11 +

    + 코리아크레딧뷰로(주) CB 업무제휴
    + 글로벌 B2B 시스템 개발
    + KCB 저축은행 신용대출 심사시스템 개발 +

    +
  • +
  • + 10 +

    다음 (finance.daum.net) 금융상품(대출, 예적금) 상품정보 제공 및 운영

    +
  • +
  • + 03 +

    모네타(loan.moneta.co.kr) 금융상품 정보 서비스 제공

    +
  • +
  • + 02 +

    한국직업능력개발원 마이스터고 포탈 사이트 개발

    +
  • +
  • + 01 +

    모바일, 웹 Network 광고상품 출시

    +
  • +
+
+ + +
+
2011
+
    +
  • + 11 +

    한경닷컴 예적금섹션 개발/입점 오픈

    +
  • +
  • + 10 +

    + 모네타 P2P 금융서비스(funding.moneta.co.kr) 시스템 개발
    + KJ머니 여신통합 시스템 개발 +

    +
  • +
  • + 09 +

    네이트(www.nate.com) 부동산 콘텐츠 제공 대행 체결

    +
  • +
  • + 05 +

    ISO 9001 : 2000 품질경영시스템 인증기업 획득 - ICR국제인증원

    +
  • +
  • + 01 +

    KCB 신용인증 송부시스템 개발 - www.sendcredit.co.kr

    +
  • +
+
+ + +
+
2010
+
    +
  • + 12 +

    머니투데이 재테크 섹션 입점

    +
  • +
  • + 11 +

    + 올크레딧 재테크 섹션 입점
    + 자본금 1억 증자 (총 자본금 3억) +

    +
  • +
  • + 10 +

    + 부동산 분양 정보 컨텐츠 제공 계약 - 네이버(www.naver.com)
    + 엔에이치엔비즈니스플랫폼주식회사 +

    +
  • +
  • + 09 +

    + 스피드메이트(www.speedmate.com) 재테크 섹션 입점/운영
    + SK네트웍스(주) 스피드메이트BHQ +

    +
  • +
  • + 07 +

    + 원크레디트 여신관리시스템 개발
    + 모네타, 동아이코노미, DAUM, 야후 창업 섹션 입점/운영 +

    +
  • +
  • + 04 +

    YTN, 프레시안, 연합뉴스, 한국재경신문 보도자료 및 온라인 광고 업무 파트너 협의

    +
  • +
  • + 03 +

    + 네이버 메인 AD캐스트 배너광고 입점/운영
    + 네이트 금융 맞춤대출신청 섹션 입점, 개발 중
    + 매일경제, 헤럴드경제, 아시아경제, Newsis 대출섹션 입점, 개발 중 +

    +
  • +
  • + 02 +

    희망 만드는 사람들 여신관리시스템 개발

    +
  • +
  • + 01 +

    한경닷컴 대출섹션 개발/입점 오픈

    +
  • +
+
+ + +
+
2009
+
    +
  • + 12 +

    + B2B 전자거래서비스 e-B2B 사이트 및 B2B 전용쇼핑몰 개발
    + 1,2금융권, 소비자 금융권 대상 CFS 대출시스템 공동연합 마케팅 개발 & 서비스 +

    +
  • +
  • + 11 +

    + 동아닷컴, 스포츠동아 줄광고 게제
    + 모네타 대출섹션(loan.moneta.co.kr) 개발/입점 오픈 +

    +
  • +
  • + 10 +

    + 모네타 www.moneta.co.kr 분양몰 섹션 개발/입점 오픈 + 헤럴드경제 보도자료 및 Text, 배너광고 (부동산 및 메디컬 하이라이트) +

    +
  • +
  • + 08 +

    온라인 마케팅 오라애드 오픈

    +
  • +
  • + 05 +

    + 금융권연동 CFS 자체 시스템 개발 및 연동 (자체 암호화모듈 연동/적용)
    + 헤럴드 경제 신문 HTS 연동 모듈 개발 +

    +
  • +
  • + 04 +

    128BIT 암호화 모듈 개발 (국정원 심사 중)

    +
  • +
  • + 02 +

    + (주)오라인포 벤처 등록 - 기업보증기금 + 남서울신협 - 채권관리 시스템 개발 & 연동 +

    +
  • +
+
+ + +
+
2008
+
    +
  • + 10 +

    + 한국이지론 & 1금융권(국민,기업,외환,신한,하나은행) CFS(CREDIT FILLTERING SYSTEM)적용 개발 +

    +
  • +
  • + 08 +

    + 웰컴 크레디트, 바로크레디트 암호화 모듈 적용 +

    +
  • +
  • + 06 +

    인터넷 사이트 암호화 모듈 개발

    +
  • +
  • + 03 +

    KCB㈜ 본인인증 신용정보 서비스 개발 (제휴)

    +
  • +
  • + 02 +

    니즈넷 닷컴 사이트 리뉴얼 참여 (온라인 보험 관리)

    +
  • +
+
+ + +
+
2007
+
    +
  • + 12 +

    농협 중앙회 부채 회계 기준 적용 변경 진행

    +
  • +
  • + 10 +

    전국신용보증재단 연합회 신용정보 통합 시스템 개발

    +
  • +
  • + 09 +

    삼성 SDS 메신저 개발 / 납품

    +
  • +
  • + 05 +

    www.owra.net 사이트 오픈 (사이트 + 메신저)

    +
  • +
  • + 03 +

    한국 PF금융㈜ 사이트 관리 및 유지보수 계약 체결

    +
  • +
+
+ + +
+
2006
+
    +
  • + 10 +

    네이트 대출 섹션 정보 제공 및 개발/운영

    +
  • +
  • + 03 +

    실시간 전문가 상담 전문포탈 www.owra.net 개발

    +
  • +
  • + 01 +

    중소기업 협력 재단 시스템 개발

    +
  • +
+
+ + +
+
2005
+
    +
  • + 10 +

    금융감독원 후원 서민맞춤대출 사이트 개발 및 운영

    +
  • +
  • + 03 +

    + 파란닷컴,드림위즈,벼룩시장,교차로 대출 컨텐츠 정보제공 및 운영
    + 오라인포 회사명 변경 +

    +
  • +
  • + 01 +

    인터넷 사업부 개인(기업)신용송부 업무 대행 서비스

    +
  • +
+
+ + +
+
2004
+
    +
  • + 05 +

    LG 생활건강㈜ 내부 신용정보 조회 및 조기경보서비스 개발 연동&한신평

    +
  • +
+
+ + +
+
2003
+
    +
  • + 12 +

    한국신용평가정보 기업정보 아웃소싱 계약체결

    +
  • +
  • + 10 +

    한국신용평가정보 C.B사업부 아웃소싱 계약 체결

    +
  • +
  • + 08 +

    회사 설립 (자본금 1억)

    +
  • +
+
+ + + +
+
+
+ + + + +
+ +
+
+
+ + + + + diff --git a/src/main/resources/templates/sub01_04.html b/src/main/resources/templates/sub01_04.html new file mode 100644 index 0000000..68cfec0 --- /dev/null +++ b/src/main/resources/templates/sub01_04.html @@ -0,0 +1,138 @@ + + + + 조직도 + + +
+ + +
+ + +
+
+ + +
+
+
+

조직도

+

항상 고객사와 소통하는 오라인포

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

+ 오라인포는 각 분야의 핵심 인재들로 + 유기적인 구성이 되어 있습니다. +

+
+ + +
+ +
대표이사
+
+ +
+
+
+
경영지원팀
+
+
+
+ +
+
+
솔루션 사업부
+
+
+
PG
솔루션
+
교육
솔루션
+
매출정산
솔루션
+
+
+
+
개발 운영팀
+
+
+
모바일
개발팀
+
결제
시스템 운영
+
SM&SI
+
+
+
+
PG 사업부
+
+
+
RM
관리
+
정산관리
+
영업관리
+
+
+ +
+ +
+ +
+
+
+ + + +
+
+
diff --git a/src/main/resources/templates/sub01_05.html b/src/main/resources/templates/sub01_05.html new file mode 100644 index 0000000..7076a9a --- /dev/null +++ b/src/main/resources/templates/sub01_05.html @@ -0,0 +1,212 @@ + + + + 찾아오시는 길 + + +
+ + +
+ + +
+
+ + +
+
+
+

찾아오시는길

+

항상 고객사와 소통하는 오라인포

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

+ 본사로 오시는 길을 안내합니다. +

+
+ + +
+

본사주소

+
+
+
+
도로명 주소
+
서울시 금천구 가산디지털 1로 83, 10F(가산동, 파트너스 타워)
+
+
+
구지번 주소
+
서울시 금천구 가산동 345-13 파트너스타워 10층
+
+
+
+ + +
+
+
+ +
+ + + + +
+ +
+

대중교통 안내

+ + +
+
+ directions_walk + 도보 +
+
    +
  • +
    + 지하철 1호선 +

    독산역 2번 출구 하차 → 가산디지털단지역 방향 900m

    +
    +
  • +
  • +
    + 지하철 7호선 +

    가산디지털단지역 5번 출구 하차 → 독산역 방향 800m

    +
    +
  • +
+
+ + +
+
+ bus_map_pin + 버스 +
+
    +
  • +
    + 지하철 1호선 +

    독산역 2번 출구 하차 → 가산디지털단지역 방향 27번, 75번 이용

    +
    +
  • +
  • +
    + 지하철 7호선 +

    가산디지털단지역 6번 출구 하차 → 맞은편 독산방향 75번 이용

    +
    +
  • +
+
+
+ + + +
+

대표전화

+
+
+ call + 1544-1680 +
+

Fax. 02-859-0697

+
+
+ +
+ + + + +
+
+
+ + + +
+
+
+ + + + + diff --git a/src/main/resources/templates/sub02_01.html b/src/main/resources/templates/sub02_01.html new file mode 100644 index 0000000..a639df9 --- /dev/null +++ b/src/main/resources/templates/sub02_01.html @@ -0,0 +1,238 @@ + + + + 사업소개 + + +
+ + +
+ + +
+
+ + +
+
+
+

사업소개

+

항상 고객사와 소통하는 오라인포

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

오라인포는 다양한 사업분야의 솔루션 개발 능력을 보유하고 있습니다. + 능력을 기반으로 다양한 서비스 플랫폼과 사업 브랜드를 운영하고 있습니다. +

+
+
+ +
+ ONE-STOP Service +
+ + +
+
+ + + +
+
+
+

자체 운영 브랜드 뿐아니라, + SM/SI, ASP 형태의 서비스도 제공합니다. +

+
+ +
+ +
+
+
+
핀테크 아이콘 핀테크
+
+
    +
  • PG 시스템
  • +
+
+
+
    +
  • PG시스템
  • +
  • Off-line 결제대행시스템
  • +
  • 배달대행시스템
  • +
  • 쇼핑몰솔루션
  • +
  • 모바일(동글이)결제 App
  • +
+
+
+
    +
  • 크라우드펀딩/P2P 대출 시스템
  • +
+
+
+
+
+
+
금융 아이콘 금융
+
+
    +
  • 매출정산시스템(즉시결제시스템)
  • +
  • 여신시스템
  • +
  • 대출중개시스템
  • +
  • 크라우드펀딩시스템/P2P 대출시스템
  • +
  • B2B구매자금시스템
  • +
  • 소호 사업자 Risk 관리 시스템
  • +
+
+
+
+
+
+
기업 IT 아이콘 기업 IT
+
+
    +
  • 쇼핑몰솔루션
  • +
  • 암호화모듈
  • +
  • CFS시스템
  • +
  • 인사관리시스템
  • +
  • 사내 메신저
  • +
+
+
+
+
+ + +
+
+
+
ASP 사업 아이콘 ASP 사업
+
+
    +
  • 여신관리, 대출중개, P2P
  • +
  • 매출정산(즉시결제) 시스템
  • +
  • PG 시스템
  • +
  • 배달대행 시스템
  • +
+
+
+
+
+
+
SM/SI 사업 아이콘 SM/SI 사업
+
+
    +
  • 금융 서비스 개발
  • +
  • 공공서비스 개발
  • +
  • 보유 솔루션 연계 개발
  • +
+
+
+
+
+
+
온라인광고 사업 아이콘 온라인광고 사업
+
+
    +
  • 온라인 광고 사업
  • +
+
+
+
+
+ +
+
+ + +
+ + +
+
+
+
+ diff --git a/src/main/resources/templates/sub02_02.html b/src/main/resources/templates/sub02_02.html new file mode 100644 index 0000000..7467308 --- /dev/null +++ b/src/main/resources/templates/sub02_02.html @@ -0,0 +1,759 @@ + + + + PG 시스템 + +
+ + +
+ + +
+
+ + +
+
+
+

PG시스템

+

항상 고객사와 소통하는 오라인포

+
+ + +
+ + + + + +
+
+
+ + +
+ + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • + +
+ + +
+ + +
+
+
+ PG시스템 +
+
+

오라인포는 전자결제시스템 구축 금융감독원 사업자 취득의 + Best Business Partner입니다. +

+

+ PG(Payment Gateway) 서비스 또는 전자지불서비스는 쇼핑몰, 콘텐츠, 사이트, 데이터 센터 등 다양한 사이트에서 고객이 실시간으로 신용카드 / 휴대폰 / 전자화폐 / 은행 계좌이체 등의 결제를 원할 경우 이를 결제 대행 처리 해주는 일련의 서비스로서, 전자상거래 공급 업체(온라인 쇼핑몰, 콘텐츠 제공 사이트 등)를 대신하여 구매자와 판매자간 온라인 대금 결제를 중계하고 정산하는 서비스를 지원하는 PG(Payment Gateway)시스템을 제공합니다. +

+
+
+ +
+

PG 등록 관련 전체 프로세스

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
구분···W1W2W3W4W5W6W7W8W9W10W11W12
H/W 구축
S/W 구축
문서준비
등록신청
실사준비
실사
실사보완
등록완료
+
+
+
+
+
오라인포 구축 범위
+
+
    +
  • 인프라 구축 제안
  • +
  • S/W 구축
  • +
+
+
+ +
+
오라인포 컨설팅 범위
+
+
    +
  • 사업 계획서 컨설팅
  • +
  • 인프라 컨설팅
  • +
  • 인적/물적 자원 문서 컨설팅
  • +
  • 실사 관련 컨설팅
  • +
+
+
+
+ +
+ + +
+

관리자 시스템

+
+ +
+
+
가맹점 관리
+
+
+
가맹점 관리
+
+
    +
  • 가맹점 관리
  • +
+
+
+
+
원천사 관리
+
+
    +
  • CAT ID 관리
  • +
  • 카드사별 가맹점 관리
  • +
  • 계좌이체 계약 관리
  • +
  • 가상계좌 관리
  • +
  • 휴대폰 계약 관리
  • +
+
+
+
+
+
+
게시판 관리
+
+
    +
  • 공지사항
  • +
  • 이벤트&행사
  • +
  • 관련뉴스
  • +
  • 자주 묻는 질문
  • +
  • 1:1 문의
  • +
  • 자료실
  • +
+
+
+
+ +
+
+
조회 서비스
+
+
+
통합검색
+
+
    +
  • 신용카드 조회
  • +
  • 계좌이체 조회
  • +
  • 가상계좌 조회
  • +
  • 현금영수증 조회
  • +
  • 휴대폰 결제 조회
  • +
+
+
+
+
+
+
고객 지원
+
+
    +
  • 상담(장애)관리
  • +
  • 상담 처리 현황
  • +
  • 신규 서비스 신청
  • +
+
+
+
+
매입 서비스
+
+
+
매입작업
+
+
    +
  • 반송 내역 처리
  • +
  • 미매입 내역 조회
  • +
+
+
+
+
+
+ +
+
+
통계 관리
+
+
+
거래 내역 통계
+
+
    +
  • 매출 기간별 통계
  • +
  • 입금 정산 내역 조회
  • +
  • 지급 정산 내역 조회
  • +
  • 카드사별 매출 조회
  • +
+
+
+
+
가맹점 실적
+
+
    +
  • 가맹점 일별 거래 추이
  • +
  • 가맹점 월별 거래 추이
  • +
  • 일별 거래액 및 수수료 추이
  • +
  • 월별 거래액 및 수수료 추이
  • +
  • 결제수단별 TOP순위
  • +
+
+
+
+
원천사 실적
+
+
    +
  • VAN 사별 거래 실적 현황
  • +
+
+
+
+
정산 입금
+
+
    +
  • 정산 입금 내역
  • +
+
+
+
+
+
+ + +
+
+
시스템 관리
+
+
+
사용자 관리
+
+
    +
  • 메뉴 관리
  • +
  • 권한 관리
  • +
  • 사용자 관리
  • +
  • 코드 관리
  • +
  • 영업일 관리
  • +
  • 비밀번호 관리
  • +
+
+
+
+
그룹/사업자 관리
+
+
    +
  • 영업 조직 관리
  • +
  • 관리 조직 관리
  • +
  • 사업자 관리
  • +
  • 그룹 및 사업자 이관
  • +
  • VAN 관리
  • +
+
+
+
+
+
+ +
+
+ +
+
+
통계 관리
+
+
+
신용카드 입금 정산
+
+
    +
  • 입금정산
  • +
  • 입금 보류 내역
  • +
  • 카드사 가맹점 입금 처리
  • +
  • 입금 정산 내역
  • +
+
+
+
+
휴대폰 입금 정산
+
+
    +
  • 입금 정산
  • +
  • 입금 보류 내역
  • +
  • 휴대폰 입금 처리
  • +
  • 입금 정산 내역
  • +
+
+
+
+
계좌이체 입금 정산
+
+
    +
  • 입금정산
  • +
  • 입금 보류 내역
  • +
  • 카드사 가맹점 입금 처리
  • +
  • 입금 정산 내역
  • +
+
+
+
+
지급 정산
+
+
    +
  • 지급 정산
  • +
  • 선급 지급 요청
  • +
  • 지급 정산 내역 조회
  • +
+
+
+
+
가상계좌 입금 정산
+
+
    +
  • 입금정산
  • +
  • 입금 보류 내역
  • +
  • 카드사 가맹점 입금 처리
  • +
  • 입금 정산 내역
  • +
+
+
+
+
영업대행사 지급 정산
+
+
    +
  • 지급 정산
  • 지급 정산 내역 조회
  • +
+
+
+
+
가맹점 정산
+
+
    +
  • 등록비/연회비 납후 현황
  • +
+
+
+
+
+
+ +
+
+
위험 관리
+
+
+
모니터링
+
+
  • 결제 수단별 모니터링
+
+
+
+
가맹점 위험 관리
+
+
    +
  • 거래 제한 정책 관리
  • +
  • 거래 제한 내역 조회
  • +
  • 블랙리스트 관리
  • +
+
+
+
+
신용카드 위험 관리
+
+
  • 유의 업종 관리
+
+
+
+
카드사별 한도 관리
+
+
  • 카드사별 월 한도 관리
+
+
+
+
+
+
+ + +

가맹점 시스템

+
+
+
+
조회 서비스
+
+
+
조회 서비스
+
+
    +
  • 통합 검색
  • +
  • 신용카드 조회
  • +
  • 계좌이체 조회
  • +
  • 가상계좌 조회
  • +
  • 현금영수증 조회
  • +
  • 휴대폰 결제 조회
  • +
+
+
+
+
+
+ +
+
+
정산(통계)
+
+
+
정산(통계)
+
+
    +
  • 승인 일자별 집계
  • +
  • 정산 일자별 집계
  • +
  • 승인 내역 집계
  • +
  • 정산 내역 집계
  • +
+
+
+
+
+
+ +
+
+
고객지원
+
+
+
상담(장애)관리
+
+
+
+
기본 정보 관리
+
+
    +
  • 가맹점 정보
  • +
  • 카드사 심사 현황
  • +
  • 비밀번호 변경
  • +
+
+
+
+
+
+
+ +
+ + +
+
+ PG시스템 화면구성 +
+ +

개발환경(H/W)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
항목스펙수량비고
WEB + DL360G7
+ CPU : INTEL XEON 쿼드코어 2.13Ghz * 1CPU
+ RAM : 8G
+ HDD : 146G 10K SAS HDD * 2EA +
2
WAS + DL360G7
+ CPU : INTEL XEON 쿼드코어 2.13Ghz * 1CPU
+ RAM : 8G
+ HDD : 146G 10K SAS HDD * 2EA +
2
백업Power EDGE C1101
예비 + DL360G7
+ CPU : INTEL XEON 쿼드코어 2.13Ghz * 1CPU
+ RAM : 8G
+ HDD : 146G 10K SAS HDD * 2EA +
1
DB + DL360G7
+ CPU : INTEL XEON 쿼드코어 2.13Ghz * 1CPU
+ RAM : 8G
+ HDD : 146G 10K SAS HDD * 2EA +
2
방화벽시큐아이㈜ SECUI MF2 3002
웹 방화벽펜타시큐리티 WAPPLES-502
L3CISCO 3560 Switch2
CISCO 3550 Switch2
웹 방화벽펜타시큐리티 WAPPLES-50웹 2
+
+ +

개발환경(S/W)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
항목제품명용도수량비고
서버OSCentOS 6.x운영체제1
DBMSOracle, My_sql데이터 저장1
WASTomcat 7.x웹 서비스1
WEBApache 2.x웹 서비스1
통신Vert.x 2.x통신1
통신Java / JSP (JDK 7), eGovFrameDev 3.5.1
+
+ + + +
+ +
+
+ +
+
+ +
+
+
+
\ No newline at end of file diff --git a/src/main/resources/templates/sub02_03.html b/src/main/resources/templates/sub02_03.html new file mode 100644 index 0000000..0506233 --- /dev/null +++ b/src/main/resources/templates/sub02_03.html @@ -0,0 +1,715 @@ + + + + 선불 시스템 + + +
+ + +
+ + +
+
+ + +
+
+
+

선불 시스템

+

항상 고객사와 소통하는 오라인포

+
+ + +
+ + + + + +
+
+ +
+ +
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+ + +
+ +
+
+
+
+ 선불 시스템 +
+
+

제안목적

+

+ 본 솔루션은 고객이 사전에 금액을 충전하고 이를 결제 수단으로 사용하는 선불 기반 결제 시스템을 + 구축하기 위한 통합 플랫폼입니다. 온라인·오프라인·모바일 환경에서 안정적이고 규제 대응 가능한 선불 충전·사용·정산·관리 체계를 제공합니다. +

+
+
+
+ +
+
+
+ 솔루션 개요 +
+

선불시스템 솔루션은 다음 기능을 통합 제공하는 전자지급 선불 관리 플랫폼입니다.

+
+
+
+
    +
  • 선불 충전 및 잔액 관리
  • +
  • 선불 결제 처리
  • +
  • 가맹점 사용 처리
  • +
  • 거래 승인 및 검증
  • +
+
+
+
    +
  • 정산 및 회계 연동
  • +
  • 사용자 및 가맹점 관리
  • +
  • 리스크 통제 및 이상거래 탐지
  • +
  • 규제 대응 보고 체계
  • +
+
+
+ +
+
+
+ +
+ 적용 가능 사업 모델 +
+

본 솔루션은 다음과 같은 사업 모델에 적용 가능합니다.

+
+
+
+
    +
  • 선불전자지급수단 발행
  • +
  • 충전형 페이 서비스
  • +
  • 포인트/마일리지 결제
  • +
  • 상품권/기프트카드
  • +
  • 폐쇄형 선불결제 (자사몰/체인점)
  • +
+
+
+
    +
  • 개방형 선불결제 (PG 연동형)
  • +
  • B2B 선충전 정산 시스템
  • +
  • 주유/유통/리테일 선결제 모델
  • +
  • 플랫폼 지갑(Wallet) 서비스
  • +
+
+
+ +
+
+
+
+
+
+
+

핵심 기능 구성

+
+ +
+
+
+
사용자 영역
+
+
    +
  • 계정 기반 선불 지갑 생성
  • +
  • 실시간 충전
  • +
  • 잔액 조회
  • +
  • 사용내역 조회
  • +
  • 환불 처리
  • +
+
+
+
+
+
+
충전 채널
+
+
    +
  • 카드 결제
  • +
  • 계좌이체
  • +
  • 가상계좌
  • +
  • 자동이체
  • +
  • 포인트 전환
  • +
  • API 외부 충전
  • +
+
+
+
+
+
+
결제 처리
+
+
    +
  • 온라인 결제
  • +
  • QR 결제
  • +
  • 바코드 결제
  • +
  • POS 연동 결제
  • +
  • API 결제 호출
  • +
  • 부분 결제 / 혼합 결제
  • +
+
+
+
+
+ + +
+
+
+
가맹점 관리
+
+
    +
  • 가맹점 등록
  • +
  • 정산 조건 설정
  • +
  • 수수료 정책
  • +
  • 정산 스케줄
  • +
  • 거래 모니터링
  • +
+
+
+
+
+
+
운영/관리자 기능
+
+
    +
  • 충전/사용 로그
  • +
  • 한도 정책 관리
  • +
  • AML 룰 설정
  • +
  • 거래 모니터링
  • +
  • 이상 거래 탐지
  • +
  • 계정 정지/해제
  • +
  • 수동 조정 처리
  • +
+
+
+
+ +
+
+
+
+ +
+
+
+
+
기술 아키텍처
+
+
    +
  • API 기반 구조
  • +
  • 모듈형 설계
  • +
  • 마이크로서비스 지원
  • +
  • 클라우드 배포 가능
  • +
  • 고가용성 구조
  • +
  • 실시간 거래 처리
  • +
  • 암호화 저장
  • +
  • 감사 로그 추적
  • +
+
+
+
+
보안 및 컴플라이언스
+
+
    +
  • 로그 감사 체계
  • +
  • 개인정보 보호
  • +
  • 전자금융 규제 대응 구조
  • +
  • 선불잔액 분리관리 구조 대응 가능
  • +
  • 거래 암호화
  • +
  • 이중 인증
  • +
  • 접근권한 통제
  • +
  • 거래 이상 탐지
  • +
+
+
+
+
외부 연동
+
+
    +
  • 거래 암호화
  • +
  • 이중 인증
  • +
  • 접근권한 통제
  • +
  • 거래 이상 탐지
  • +
  • 로그 감사 체계
  • +
  • 개인정보 보호
  • +
  • 전자금융 규제 대응 구조
  • +
  • 선불잔액 분리관리 구조 대응 가능
  • +
+
+
+
+
운영 리스크 관리
+
+
    +
  • 충전 한도
  • +
  • 일 사용 한도
  • +
  • 사용자 등급별 제한
  • +
  • 자동 차단 룰
  • +
  • 블랙리스트
  • +
  • 의심 거래 플래그
  • +
  • 환불 정책 통제
  • +
+
+
+
+
+
+ +
+ + +
+
+

선불전자 서비스 결제 Flow

+
+ 선불전자 서비스 결제 Flow + 선불전자 서비스 결제 Flow 모바일 +
+
+
    +
  • blue line 결제흐름
  • +
  • red line 정산흐름
  • +
  • dash line 계약관계
  • +
+
+
+
+ + +
+
+

관리자 시스템

+
+
+
+
카드정보
+
+
+
    +
  • 회원관리
  • +
  • 카드현황
  • +
+
거래 내역 통계
+
+
    +
  • 매출 기간별 통계
  • +
  • 입금 정산 내역 조회
  • +
  • 지급 정산 내역 조회
  • +
  • 카드사별 매출 조회
  • +
+
+
선물하기 내역(캐쉬)
+
실계좌 환급요청
+
카드 충전현황
+
+
    +
  • 카드 충전 요청
  • +
+
+
    +
  • 비밀번호 변경
  • +
  • 분실신고
  • +
  • 카드해지신청
  • +
  • SMS 전송 내역
  • +
  • 묻고 답하기
  • +
+
+
+
+
+
+
+
가맹점 정보
+
+
    +
  • 가맹점 현황
  • +
  • 가맹점 등록
  • +
  • 가맹점 상품 현황
  • +
+
+
+
+
판매원 정보
+
+
    +
  • 판매원 현황
  • +
  • 판매원 카드 등록
  • +
  • 송급자 현황
  • +
  • 추천 Tree
  • +
+
+
+
+ +
+
+
영업 관리
+
+
    +
  • 총판 관리
  • +
  • 거래처 관리
  • +
  • 대리점 관리
  • +
  • 가맹점 카드 등록
  • +
  • 판매원 카드 등록
  • +
  • 단체 카드등록
  • +
  • 카드 교체현황
  • +
  • 이체 허용 IP
  • +
  • 이체 금지 IP
  • +
  • 로그인 log
  • +
  • 입출금 집계표
  • +
  • 거래내역 잔액조정
  • +
  • 카드정보 변경내역
  • +
  • 회원정보 변경내역
  • +
+
+
+
+
+
+
+
+
신청 관리
+
+
    +
  • 카드 신청 정보 조회
  • +
  • 카드 승인
  • +
+
+
+
+
+
+
밴사 정보
+
+
    +
  • 은행출금내역
  • +
  • 은행 출금 취소내역
  • +
  • 은행 입금내역
  • +
  • 은행 입금 취소내역
  • +
  • 밴사 거래내역
  • +
  • 밴사 거래 집계표
  • +
  • 포인트 적립
  • +
  • 포인트 적립 취소
  • +
  • 포인트 사용
  • +
  • 포인트 사용 취소
  • +
+
+
+
+
+
+
커뮤니티
+
+
    +
  • 공지사항
  • +
  • 가입신청
  • +
  • 제휴신청
  • +
  • 카드분실신청
  • +
  • 회원 문의
  • +
  • FAQ
  • +
  • Q&A
  • +
+
+
+
+
+ +
+
+
+
전자 지갑
+
+
    +
  • 본인정보 관리
  • +
  • 카드관리
  • +
  • 결제관리(충전)
  • +
  • 결제정보
  • +
  • 마이페이지
  • +
+
+
+
+
+
+
+ + +
+
+
+ PG시스템 화면구성 +
+ +

개발환경(H/W)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
항목스펙수량비고
WEB + DL360G7
+ CPU : INTEL XEON 쿼드코어 2.13Ghz * 1CPU
+ RAM : 8G
+ HDD : 146G 10K SAS HDD * 2EA +
2
WAS + DL360G7
+ CPU : INTEL XEON 쿼드코어 2.13Ghz * 1CPU
+ RAM : 8G
+ HDD : 146G 10K SAS HDD * 2EA +
2
백업Power EDGE C1101
예비 + DL360G7
+ CPU : INTEL XEON 쿼드코어 2.13Ghz * 1CPU
+ RAM : 8G
+ HDD : 146G 10K SAS HDD * 2EA +
1
DB + DL360G7
+ CPU : INTEL XEON 쿼드코어 2.13Ghz * 1CPU
+ RAM : 8G
+ HDD : 146G 10K SAS HDD * 2EA +
2
방화벽시큐아이㈜ SECUI MF2 3002
웹 방화벽펜타시큐리티 WAPPLES-502
L3CISCO 3560 Switch2
CISCO 3550 Switch2
웹 방화벽펜타시큐리티 WAPPLES-50웹 2
+
+ +

개발환경(S/W)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
항목제품명용도수량비고
서버OSCentOS 6.x운영체제1
DBMSOracle, My_sql데이터 저장1
WASTomcat 7.x웹 서비스1
WEBApache 2.x웹 서비스1
통신Vert.x 2.x통신1
통신Java / JSP (JDK 7), eGovFrameDev 3.5.1
+
+
+
+ +
+
+ +
+ + +
+
+ +
+ +
+
+ + arrow_upward TOP +
+
+
+
+ + + + + \ No newline at end of file diff --git a/src/main/resources/templates/sub02_04.html b/src/main/resources/templates/sub02_04.html new file mode 100644 index 0000000..117f7db --- /dev/null +++ b/src/main/resources/templates/sub02_04.html @@ -0,0 +1,366 @@ + + + + 결제 솔루션 + + +
+ + +
+ + +
+
+ + +
+
+
+

결제 솔루션

+

항상 고객사와 소통하는 오라인포

+
+ + +
+ + + + + +
+
+ +
+ + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • + +
+ + +
+ + +
+
+
+
+ 결제 솔루션 +
+
+

+ 통합 결제 솔루션 및 재정산 시스템, 결제 서비스 + 애플리케이션, 결제대행(PG) 플랫폼을 전문적으로 + 개발·제공하는 핀테크 기술 기업입니다. +

+

+ 온라인과 오프라인을 아우르는 결제 인프라를 기반으로, 거래 처리부터 정산·재정산·가맹점 관리까지 전 과정을 아우르는 안정적이고 확장 가능한 결제 시스템을 제공합니다. API 기반 연동 구조와 보안 중심 아키텍처를 통해 다양한 산업 환경에 맞춘 맞춤형 결제 플랫폼 구축이 가능하며, 빠르고 안정적인 서비스 운영을 지원합니다. +

+
+
+
+ +
+
+
+ 솔루션 개요 +
+
+
+
+
    +
  • 통합 결제 솔루션 구축
  • +
  • 재정산 및 정산 관리 시스템
  • +
  • 결제 서비스 모바일 앱 개발
  • +
+
+
+
    +
  • 결제대행(PG) 시스템 개발 및 제공
  • +
  • 가맹점 정산·수수료 분배 엔진
  • +
  • API 기반 결제 연동 플랫폼
  • +
+
+
+
+ +
+ O2O + O2O 모바일 +

On/Off Line 결제의 사업 경계는 사라지고 있다.

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

관리자 시스템

+
+
+
+
기본 관리
+
+
    +
  • 메뉴 관리
  • +
  • 코드 관리
  • +
  • 영업일 관리
  • +
  • 결제대행자료
  • +
+
+
+
+
시스템 관리
+
+
    +
  • 메뉴 관리
  • +
  • 코드 관리
  • +
  • 영업일 관리
  • +
  • 결제대행자료
  • +
+
+
+
+
+
+
정산
+
+
    +
  • 입금정산
  • +
  • 미처리 입금내역
  • +
  • 카드사 입금자료
  • +
  • 여신협 매입 자료
  • +
  • 입금정산 내역 조회
  • +
  • 지급정산
  • +
  • 미처리 지급 내역
  • +
  • 지급정산 내역 조회
  • +
  • 일마감
  • +
+
+
+
+
+
+
매출관리
+
+
    +
  • 통합 매출 조회
  • +
  • 가맹점별 매출 조회
  • +
  • 총판 판매점 매출 조회
  • +
  • 단말기별 매출조회
  • +
  • 카드사별 매출조회
  • +
  • 승인 거래액 엑셀 등록
  • +
  • 미처리 거래 내역
  • +
  • 전문 미처리 내역
  • +
+
+
+
+
+
+
장비 관리
+
+
    +
  • 장비 관리
  • +
  • 단말기 모델 설정 관리
  • +
+
+
+
+
통계관리
+
+
    +
  • 일별 통계
  • +
  • 입금 정산 내역 통계
  • +
  • 지급 정산 내역 통계
  • +
+
+
+
+
민원관리
+
+
    +
  • 민원 관리
  • +
  • 전화 취소 관리
  • +
  • 전화 등록 관리
  • +
+
+
+
+
+
+ +
+

가맹점 및 영업대리점 시스템

+
+
+
+
가맹점 시스템
+
+
    +
  • 가맹점 매출 관리
  • +
  • 계약정보 관리
  • +
  • 정산 내역 관리
  • +
  • 입금 내역 관리
  • +
+
+
+
+
+
+
영업대리점 시스템
+
+
    +
  • 가맹점 관리
  • +
  • 영업 수수료 관리
  • +
+
+
+
+
+
+ +
+

Mobile 결제(동글) 시스템

+
+
+
+
결제 시스템
+
+
    +
  • 카드결제
  • +
  • 현금영수증 발급
  • +
  • 거래내역조회
  • +
  • 거래취소/환불
  • +
  • 환경설정
  • +
  • 고객센터
  • +
+
+
+
+
+
+
+
+ + +
+ +
+
+
+

관리자 시스템

+
+ 정산관리 시스템 +
+
+
+

모바일 결제(동글이) 솔루션

+
+ 모바일 결제(동글이) 솔루션 +
+
+
+

구축사례

+
+ + + + + + + + + + + + + + + + + + + + +
회사명계약기간내용참고
주식회사 페이누리2010. 05 ~ + - OffLine PG 시스템 납품
+ - 모바일결제 미소페이 납품 +
www.paynuri.com
* 그 외 다수 OFF-Line 결제대행시스템 납품
+
+ +
+ +
+
+ +
+
+ +
+
+
+
diff --git a/src/main/resources/templates/sub02_05.html b/src/main/resources/templates/sub02_05.html new file mode 100644 index 0000000..343dcf7 --- /dev/null +++ b/src/main/resources/templates/sub02_05.html @@ -0,0 +1,789 @@ + + + + 매출정산 솔루션 + + + +
+ + +
+ + +
+
+ + +
+
+
+

매출정산 솔루션

+

항상 고객사와 소통하는 오라인포

+
+ + +
+ + + + + +
+
+ +
+ + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • + +
+ + +
+ + +
+
+
+
+ 매출정산 솔루션 +
+
+

+ 정확한 입금! 정확한 정산! + 가맹점 편의를 우선시 하는 종합 매출정산관리시스템 +

+

+ 신용카드 결제일 차이가 있어 이로 인한 결산과정에서 어려움을 겪고 있는 가맹점들을 위해 당일 매출에 대한 당일 결산정보를 제공하고, 운영사에는 가맹점의 당일 입금정보와 매출정보를 제공하여 매출대금 입금누락을 방지 함으로서, 안정적인 정산업무를 할 수 있도록 지원합니다. 매출정산시스템(즉시결제시스템) 도입을 통해 가맹점 관리 전산화, 리스크 및 정산 인력 최소화, 미수금 해결 및 사업 확장이 가능합니다. +

+
+
+
+ 신용구매 대금결제 +
+
+ +
+
+
+ VAN사 +
+

VAN계약, 단말기 제공, 카드사별 가맹점 계약

+
+
+
+ VAN사 +
+
+
    +
  • 카드사별 가맹점 계약 필요
  • +
  • VAN사 제공 매출내역 확인 가능
  • +
+
+
+ +
+
+
+ +
+ PG사 +
+

결제대행계약, 단말기 제공

+
+
+
+ PG사 +
+
+
    +
  • PG사와 카드사간 계약체결
  • +
  • PG사 정산으로 누락금액 확인
  • +
  • 시간대별, 금액별 리스크 관리로 안전한 결제환경 제공
  • +
  • 카드압류에 대한 부담감 해소
  • +
+
+
+ +
+
+
+
+
+ + + +
+ + +
+
+

관리자 시스템

+
+
+
+
기초정보
+
+
+
여신사관리 관리
+
+
    +
  • 사업자정보관리
  • +
  • 비밀번호관리
  • +
  • 대출이자관리
  • +
  • 계좌정보 관리
  • +
+
+
+
+
대리점 관리
+
+
    +
  • 사업자정보관리
  • +
  • 비밀번호관리
  • +
  • 수수료관리
  • +
  • 담보관리
  • +
+
+
+
+
사용자 관리
+
+
    +
  • 사용자관리
  • +
  • 비밀번호관리
  • +
  • 권한관리
  • +
+
+
+
+
코드관리
+
+
    +
  • VAN사 코드
  • +
  • 은행코드
  • +
  • 입금전문매핑코드
  • +
  • 업종코드관리
  • +
  • 가맹점부실코드관리
  • +
  • 수기입출금코드관리
  • +
  • 가맹점부실사유코드관리
  • +
  • 유보금변동내역코드관리
  • +
+
+
+
+
영업일 관리
+
+
+
전문매핑정보관리
+
+
+
+
+
+
+
가맹점 관리
+
+
+
가맹점관리
+
+
    +
  • 일반정보 관리

    +

    + - 사업자정보관리
    + - 여신협정보 관리 +

    +
  • +
  • 계약정보관리

    +

    + - 기본정보관리
    + - 이자결제내용
    + - 대리점수수료
    + - 계좌정보
    + - 출금정보 관리 +

    +
  • +
  • VAN 정보 관리

    +

    + - VAN계정관리 +

    +
  • +
  • 카드사 관리

    +

    + - 카드사별 계약정보 +

    +
  • +
+
+
+
+
대표자 관리
+
+
    +
  • 대표자 정보 관리
  • +
+
+
+
+
연관가맹점 관리
+
+
    +
  • 연관가맹점 정보 관리
  • +
+
+
+
+
+
+
+
+
전문관리
+
+
+
승인전문조회
+
+
    +
  • Summary 조회
  • +
  • 가맹점별 승인내역
  • +
  • 일별Summary
  • +
  • 상세승인전문 lList
  • +
+
+
+
+
승인전문생성
+
+
+
미등록 전문 처리
+
+
    +
  • 전문처리현황
  • +
  • 상세내역
  • +
+
+
+
+
제외전문
+
+
+
전문 UPLoad
+
+
    +
  • VAN 사별 전문 업로드
  • +
+
+
+
+
    +
  • 전문 처리현황
  • +
  • 전문 조회
  • +
+
+
+
+
+
+ +
+
+
+
가맹점 출금
+
+
+
출금사전정산
+
+
    +
  • Summary 조회
  • +
  • 총출금 내역
  • +
  • 가맹점 매출현황
  • +
  • 카드사별 매출 현황
  • +
  • 상세승인전문 lList
  • +
  • 출금 처리
  • +
+
+
+
+
가맹점별출금내역
+
+
    +
  • 출금 Summary
  • +
  • 가맹점 출금 현황
  • +
  • 카드사별 출금 현황
  • +
  • 상세승인전문 lList
  • +
+
+
+
+
출금내역조회
+
+
    +
  • 일일출금 Summary
  • +
  • 가맹점 출금 내역
  • +
  • 상세승인전문 lList
  • +
+
+
+
+
미출금 자료 조회
+
+
+
차감관리
+
+
    +
  • 가맹점별 차감내역
  • +
  • 차감내역 등록 관리
  • +
  • 상세 차감 내역
  • +
+
+
+
+
차감정산 현황
+
+
    +
  • 차감정산현황
  • +
  • 차감 상세 내역
  • +
+
+
+
+
+
+
+
+
입금관리
+
+
+
입금관리
+
+
    +
  • 입금예정 현황
  • +
  • 가맹점 입금현황
  • +
  • 상세승인 LIST
  • +
  • 입금처리
  • +
+
+
+
+
입금결과조회
+
+
    +
  • 출금 Summary
  • +
  • 가맹점 출금 현황
  • +
  • 카드사별 출금 현황
  • +
  • 상세승인전문 lList
  • +
+
+
+
+
출금내역조회
+
+
    +
  • 전체 입금 현황
  • +
  • 가맹점 입금 현황
  • +
  • 상세승인전문 lList
  • +
+
+
+
+
과입금관리
+
+
    +
  • 가맹점별 과입금 내역
  • +
  • 상세 lList
  • +
+
+
+
+
총액정산
+
+
    +
  • 일마감 사전 조회
  • +
  • 일마감 처리
  • +
+
+
+
+
    +
  • 입금자료 UPLOAD
  • +
  • 매입자료 UPLOAD
  • +
  • 입금내역 조회
  • +
+
+
+
+
+
+
+
통계자료
+
+
    +
  • 영업일보
  • +
  • 영업월보
  • +
  • 매출현황 조회
  • +
  • 수수료현황 조회
  • +
+
+
+
+
시스템 모니터링
+
+
    +
  • Batch 처리현황
  • +
  • 로그인 관리
  • +
  • 프로그램 관리
  • +
  • 권한별 프로그램 관리
  • +
+
+
+
+
+ + +

대리점 시스템

+
+
+
+
대리점 정보
+
+
+
로그인 및 대리점 정보
+
+
+
+
+
월별 입금 정산 내역
+
+
+
월별 입금 정산 내역
+
+
+
+
+
입금 내역
+
+
+
입금 내역
+
+
+
+
+ +
+
+
관리가맹점정보
+
+
+
가맹점 관리 내역
+
+
+
+
+
승인 내역
+
+
+
승인 내역
+
+
+
+
+
대출 현황
+
+
+
대출 현황
+
+
+
+
+ +
+
+
수수료 현황 조회
+
+
+
수수료 현황 조회
+
+
+
+
+
출금 내역
+
+
+
출금 내역
+
+
+
+
+
+ +

가맹점 시스템

+
+
+
+
기초정보
+
+
+
로그인 및 가맹점 정보
+
+
+
+
+
송금 정산 내역
+
+
+
송금일별 정산 내역 조회
+
+
+
+
+
+
+
승인 현황 조회
+
+
+
가맹점 관리 내역
+
+
+
+
+
승인 내역
+
+
+
승인일별 승인 금액 조회
+
+
+
+
+
+
+
차감 정산 현황
+
+
+
일별 차감 내역
+
+
+
+
+
과입 현황
+
+
+
일별 과입금 현황
+
+
+
+
+
+ +
+
+ + +
+
+
+ 매출정산시스템 +
+

개발환경(H/W)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
항목스펙수량비고
WEBIntel E3-1230v2 3.10GHz 8GB Mem, 500GB SATA III * 21
DBIntel E3-1230v2 3.10GHz 8GB Mem, 500GB SATA III * 21
방화벽Juniper ssg-1401
+
+ +

개발환경(S/W)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
항목제품명용도수량비고
서버OSLinux CentOS 6.5OS1
DBMSOracle 11gDB1
WASTomcat 5.5WAS1
WEBApache 2.2.15WEB1
개발언어Java/Jsp , Javascript, Jquery, Spring Framework 3.x
+
+ +

구축사례(S/W)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
회사명계약기간내용참고
주식회사 비에스피솔루션2014.05~2016.02- 매출정산시스템 구축 및 유지 운영
주식회사 데일리리포트2014.05~2014.06- 매출정산시스템 구축 및 유지 운영
헬프크레딧대부중개 주식회사2014.04~2014.06- 매출정산시스템 구축 및 유지 운영
주식회사 피앤피대부2014.02~2014.04- 매출정산시스템 구축 및 유지 운영
인앤인금융네트워크2013.11~2014.04- 매출정산시스템 구축 및 유지 운영
주식회사 휴크레디트2013.03~2013.06 - 매출정산시스템 구축 및 유지 운영
* 그 외 다수 매출정산시스템(즉시결제시스템) 납품
+
+ +
+
+
+ +
+
+ +
+
+
+
+ diff --git a/src/main/resources/templates/sub02_06.html b/src/main/resources/templates/sub02_06.html new file mode 100644 index 0000000..1bcd97d --- /dev/null +++ b/src/main/resources/templates/sub02_06.html @@ -0,0 +1,338 @@ + + + + B2B구매자금 솔루션 + + +
+ + +
+ + +
+
+ + +
+
+
+

B2B구매자금 솔루션

+

항상 고객사와 소통하는 오라인포

+
+ + +
+ + + + + +
+
+
+ + +
+ + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • + +
+ + +
+ + +
+
+
+ B2B구매자금 솔루션 +
+
+

판매 기업과 구매 기업간의 대금결제의 안전을 보장하는 + 신뢰할 수 있는 B2B 구매 자금 시스템 +

+

+ B2B 전자상거래에서 판매기업과 구매기업간 체결된 매매계약의 확인, 매매대금결제, 수수료정산 등의 문제를 다양한 결제수단 및 매매보호 기능의 제공을 통하여 안전하게 연결해 주는 인터넷 전자결제 서비스를 지원합니다. 신용보증기금이 개설한 B2B공동구매장터 홈페이지(B2B플라자)에서 이루어진 기업 간 물품 거래의 결제를 지원 하기 위한 대출 보증 관리시스템을 제공합니다. +

+
+
+
+ + +
+

시스템 구성도

+
+ B2B구매자금 솔루션 시스템 구성도 +
+

관리자 시스템

+
+
+
+
회원사 관리
+
+
    +
  • 신청 업체 리스트
  • +
  • 업체 리스트
  • +
  • 구매 기업 리스트
  • +
+
+
+
+
+
+
영업관리
+
+
    +
  • 영업 기업 목록
  • +
  • 영업 기업 등록
  • +
  • 웹메일
  • +
+
+
+
+
+
+
게시판
+
+
    +
  • 공지사항
  • +
  • 뉴스 등
  • +
+
+
+
+
+ +
+
+
+
매매계약관리
+
+
    +
  • 거래 내역
  • +
  • 거래 수수료 내역
  • +
  • 수수료 통계
  • +
  • 일/월별 수수료
  • +
  • 사원별 수수료
  • +
  • 정산 내역
  • +
+
+
+
+
+
+
거래관리
+
+
    +
  • 수수료 조정
  • +
  • 영업사원 관리
  • +
  • 전문 송수신 목록
  • +
  • 세금계산서
  • +
  • SMS 사용 내역
  • +
+
+
+
+
+
+
보증관리
+
+
    +
  • 보증 리스트
  • +
  • 만기일 관리
  • +
+
+
+
+
+ + +
+ + +
+
+ B2B 화면구성 +
+ +

개발환경(H/W)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
항목스펙수량비고
WEBIntel Xeon QC 2.40Ghz 6GB Mem, 500GB SATA * 21
DBIntel E3-1230v2 3.10GHz 8GB Mem, 500GB SATA III * 21
방화벽Juniper ssg-1401
+
+ +

개발환경(S/W)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
항목제품명용도수량비고
서버OSWindows Server 2003WEB OS1
서버OSLinux CentOS 6.5DB OS1
DBMSOracle 11gDB1
WEBIIS 6.0WEB1
개발언어ASP.NET(C#), Jquery
+
+ +

구축사례

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
회사명계약기간내용참고
(주)이크레더블 네트웍스2019.09~- B2B전자결제 웹사이트 및 MP시스템 차세대 구축www.tamz.co.kr
주식회사 비즈크레스트 2009.09~- E-B2B 사이트 및 B2B 전용 쇼핑몰 개발www.eb2b.co.kr
* 그 외 다수 B2B구매자금시스템 납품
+
+
+
+
+ +
+
+ +
+
+
+
+ diff --git a/src/main/resources/templates/sub02_07.html b/src/main/resources/templates/sub02_07.html new file mode 100644 index 0000000..87649af --- /dev/null +++ b/src/main/resources/templates/sub02_07.html @@ -0,0 +1,473 @@ + + + + 배달대행 솔루션 + + +
+ + +
+ + +
+
+ + +
+
+
+

배달대행 솔루션

+

항상 고객사와 소통하는 오라인포

+
+ + +
+ + + + + +
+
+
+ + +
+ + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • + +
+ + +
+ + +
+
+
+ 배달대행 솔루션 +
+
+

배달대행 사업의 모든 솔루션을 한번에 +

+

+ 배달 대행 서비스를 진행/준비하고 있는 사업자를 위한 배달 대행 Total 시스템입니다. + 배달 접수부터 배차, 픽업, 결제까지 모든 배달 진행 상황을 하나로 통합하여 쉽게 관리할 수 있고, 기사님의 위치, 도착예정시간 등 실시간 배달 진행 상황 파악이 가능하여 주문이 몰리는 시간대에도 신속하고 정확한 배차가 가능하며, 매출현황 확인 및 매출 분석 등 배달대행 사업자를 위한 최적의 솔루션입니다. + + 누구나 쉽고 간단하게 이용할 수 있는 가맹점, 기사 전용 프로그램과 더불어 가맹점, 배달, 기사관리 등 전체적인 배달 대행을 관리하는 관리자 전용 프로그램을 제공하며, 상점을 위한 CID 연동 고객관리, 매장 내 매출관리, 정산관리 서비스를 제공합니다. +

+
+
+
+ B2B구매자금 솔루션 시스템 구성도 +
+
+ + +
+

관리자 시스템

+
+
+
+
배달대리점용 시스템 PC용
+
+
+
기본정보관리
+
+
    +
  • 기사관리
  • +
  • 상점관리
  • +
  • 고객관리
  • +
  • 거리별 배달요금 관리
  • +
  • 동별요금 관리
  • +
  • 대리점 공유콜 관리
  • +
+
+
+
+
환경 설정
+
+
    +
  • CTI 설정
  • +
  • CID 관리
  • +
  • 대리점 옵션 관리
  • +
  • ARS 지역코드 설정
  • +
  • 목적지 위치 키워드 설정
  • +
  • 업그레이드
  • +
  • 로그인 정보 관리
  • +
+
+
+
+
적립금 관리
+
+
    +
  • 기사적립금 관리
  • +
  • 상점 적립금 관리
  • +
+
+
+
+
상점별 지역 관리
+
+
    +
  • 상점별 배달지역 관리
  • +
+
+
+
+
정산 관리
+
+
    +
  • 기사 정산 레프토
  • +
  • 기사 정산 시간별 레포트
  • +
  • 상점 정산 레포트
  • +
  • 상점 정산 시간별 레포트
  • +
  • 매출차트
  • +
  • 상점별 매출 차트
  • +
  • 대리점 콜정산 레프토
  • +
  • 대리점 SMS 정산 레포트
  • +
  • 상점별 카드 정산 내역 리스트
  • +
+
+
+
+
공지사항 관리
+
+
    +
  • 업데이트 현황
  • +
  • 게시판 관리
  • +
+
+
+
+
+
+
+
+
배달대리점 관리자용 모바일앱
+
+
+
주문관리
+
+
    +
  • 오더 관리
  • +
  • 콜 관리
  • +
+
+
+
+
상점 관리
+
+
    +
  • 상점 관리
  • +
  • 상점 적립금 관리
  • +
+
+
+
+
기사관리
+
+
    +
  • 기사 설정 및 관리
  • +
  • 기사 적립금 관리
  • +
  • 기사 접속 리스트
  • +
+
+
+
+
환경설정
+
+
    +
  • 환경설정
  • +
  • 로그인 설정
  • +
+
+
+
+
+
+
+
+
배달 기사용 모바일앱
+
+
+
오더 관리
+
+
    +
  • 오더 리스트
  • +
  • 배차 리스트
  • +
  • 완료 리스트
  • +
  • 당일 내역
  • +
  • 배달 정산 (기사별)
  • +
+
+
+
+
환경설정
+
+
    +
  • 공지사항
  • +
  • 환경설정
  • +
  • 로그인 설정
  • +
+
+
+
+
+
+
+ +
+
+
+
상점용 시스템 PC용
+
+
+
기본정보 관리
+
+
    +
  • 배달대행 관리
  • +
  • 고객관리
  • +
  • 홀테이블 관리
  • +
  • 메뉴관리
  • +
  • 환경 설정
  • +
  • 주소내려받기
  • +
+
+
+
+
배달대행 정산
+
+
    +
  • 배달대행 콜 정산
  • +
+
+
+
+
배달 주문 접수 및 관리
+
+
+
데이터 베이스 관리
+
+
    +
  • 데이터 백업
  • +
  • 데이터 불러오기
  • +
+
+
+
+
+
+
+
+
상점용 모바일앱
+
+
+
주문관리
+
+
    +
  • 오더 등록
  • +
  • 접수현황
  • +
  • 카드매출 현황
  • +
+
+
+
+
기사관리
+
+
    +
  • 콜요금 리스트
  • +
  • 주소 불러오기
  • +
+
+
+
+
환경설정
+
+
    +
  • 환경설정
  • +
  • 로그인 설정
  • +
+
+
+
+
+
+
+ +
+ + +
+

개발환경(H/W)

+
+ + + + + + + + + + + + + + + + + + + + + + + +
항목스펙수량비고
WEB/DB/통신 서버Intel E3-1230v2 3.10GHz 8GB Mem, 500GB SATA III * 21
방화벽Juniper ssg-1401
+
+ +

개발환경(S/W)

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
항목제품명용도수량비고
서버OSWindows Server 2012 R2WEB/WAP/통신1
WEBIIS 6.0WEB서버1
DBMSMysql 5.7.13DB 서버1
개발언어C#, 안드로이드, VC++, PHP
개발언어ASP.NET(C#), Jquery
+
+ +

구축사례

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
회사명계약기간내용참고
레몬배달대행2016.08 ~- 배달대행 대리점, 상점, 기사관리 시스템
오산배달대행2016.09- 배달대행 대리점, 상점, 기사관리 시스템
* 그 외 다수 배달대행시스템 납품
+
+
+
+
+ +
+
+ +
+
+
+
diff --git a/src/main/resources/templates/sub02_08.html b/src/main/resources/templates/sub02_08.html new file mode 100644 index 0000000..7afe0d1 --- /dev/null +++ b/src/main/resources/templates/sub02_08.html @@ -0,0 +1,185 @@ + + + + 사업진행현황 + + + + + + +
+ + +
+ + +
+
+ + +
+
+
+

사업진행현황

+

항상 고객사와 소통하는 오라인포

+
+ + +
+ + + + + +
+
+
+ + + + + +
+ +
+ + + + +
+
    + + +
  • 등록된 게시물이 없습니다.
  • +
    + +
  • + + + +
  • + +
+
+ + + + + + + +
+
+ +
+
+
+
diff --git a/src/main/resources/templates/sub02_08_view.html b/src/main/resources/templates/sub02_08_view.html new file mode 100644 index 0000000..a11fae3 --- /dev/null +++ b/src/main/resources/templates/sub02_08_view.html @@ -0,0 +1,149 @@ + + + + 사업진행현황 상세 + + + +
+ + +
+ + +
+
+ + +
+
+
+

사업진행현황

+

항상 고객사와 소통하는 오라인포

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

+
+ + calendar_today + + + + visibility + 조회 + + + person + + +
+
+ + +
+ + +
+ + + + +
+ + + + +
+
+
+ + +
+
+
+ + diff --git a/src/main/resources/templates/sub03_01.html b/src/main/resources/templates/sub03_01.html new file mode 100644 index 0000000..26eb32a --- /dev/null +++ b/src/main/resources/templates/sub03_01.html @@ -0,0 +1,158 @@ + + + + 인재상 + + +
+ + +
+ + +
+
+ + +
+
+
+

인재상

+

항상 고객사와 소통하는 오라인포

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

빠르게 변화하는 온라인시장! + 과거, 현재보다는 미래를 + 오라인포와 함께 나아갈 인재를 찾습니다. +

+

+ 현재보다 미래의 가치 창출을 위해 도전적인 정신과 철저한 준비라는 + 강력한 무기를 가지고 회사와 개인의 더 밝은 미래와 풍요로운 가치를 + 위해 동행할 오라人을 찾습니다. 오라인포는 사람이 만들어가는, + 사람이 중심이 되는 기업을 만들어 가려 합니다. +

+
+
+ 인재채용 이미지 +
+
+
+
+
+ +
+
+ +

+ 인간이 中心이 되는 오라인포 +

+ +
+
+
+ 다양성을 지닌 전문가 아이콘 +
+

다양성을 지닌 전문가

+

+ 꾸준한 자기개발을 통해
+ 다양한 분야에서
+ 최고가 될 수 있는 인재 +

+
+
+
+ 새로움을 창조하는 혁신가 아이콘 +
+

새로움을 창조하는 혁신가

+

+ 급변하는 시대와 환경에
+ 적극적이고 능동적으로
+ 대처 할 수 있는 인재 +

+
+
+
+ 유연함을 지닌 전략가 아이콘 +
+

유연함을 지닌 전략가

+

+ 다양한 가능성과 협력으로
+ 어려움을 해결하고자
+ 노력하는 인재 +

+
+
+
+ 신뢰감을 지닌 동반자 아이콘 +
+

신뢰감을 지닌 동반자

+

+ 열린 마인드로 소통하며
+ 존중과 믿음으로 기업문화를
+ 함께 만들수 있는 인재 +

+
+
+
+
+ + + + +
+
+
+ diff --git a/src/main/resources/templates/sub03_02.html b/src/main/resources/templates/sub03_02.html new file mode 100644 index 0000000..8594688 --- /dev/null +++ b/src/main/resources/templates/sub03_02.html @@ -0,0 +1,184 @@ + + + + 복리후생 + + +
+ + +
+ + +
+
+ + +
+
+
+

복리후생

+

항상 고객사와 소통하는 오라인포

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

+ 오라인포는 기업의 가치와 더불어, + 사람의 가치를 소중히 여기고 있습니다. +

+

+ 인간의 가치가 중심인 오라인포는 구성원들의 자아실현을 최대한 돕고 풍요로운 삶을 제공할 수 있도록 하며, + 조직과 개인이 함께 성장해 나갈 수 있는 기업이 될 수 있도록 항상 노력하고 있습니다. +

+
+ +
+
+
+
+ +
+

연금 및 보험

+

4대보험(국민연금, 고용보험, 산재보험, 건강보험)

+
+ +
+
+ +
+

근무 및 휴가

+

주 5일 근무제, 연차, 정기휴가 (하계휴가)

+
+ +
+
+ +
+

건강관리지원

+

정기적으로 사원들의 건강검진 제공

+
+ +
+
+ +
+

보상제도

+

인센티브제, 퇴직금

+
+ +
+ +
+ +
+
+ +
+

장기근속표창

+

10년 이상 장기 근속자에게
포상금 및 포상휴가 지급

+
+ +
+
+ +
+

생활편의

+

중식지원, 석식제공, 야간교통비 지급

+
+ +
+
+ +
+

경조사지원

+

결혼, 회갑, 사망, 출산 등 각종 경조금, 경조휴가, 화환 지급

+
+ +
+
+ +
+

교육지원

+

업무 능력 향상을 위한 교육비 지원,
자기개발비 지원, 도서구입비 지원

+
+ +
+
+
+
+ +
+

여가지원

+

사내 동호회 활동 지원 및 보조금 지원

+
+ +
+
+ +
+

워크샵 및 행사

+

매년 전 직원 워크샵을 진행하며,
연극, 뮤지컬 등 각종 문화생활 수시로 지원

+
+
+
+
+
+
+ + + +
+
+
diff --git a/src/main/resources/templates/sub03_03.html b/src/main/resources/templates/sub03_03.html new file mode 100644 index 0000000..0b1699e --- /dev/null +++ b/src/main/resources/templates/sub03_03.html @@ -0,0 +1,254 @@ + + + + 채용정보 + + +
+ + +
+ + +
+
+ + +
+
+
+

채용정보

+

항상 고객사와 소통하는 오라인포

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

+ 사람을 중시하는 저희 오라인포는 인재채용에 있어서 + 엄정한 심사와 기준으로 이루어집니다. +

+

+ 오라인포의 인재채용은 상시 이루어지고 있습니다. + 입사 지원은 당사 홈페이지의 채용문의의 게시판으로만 접수 가능하며 + 별도 우편이나 전화, 이메일, 방문 접수는 불가 합니다. +

+
+ +

채용안내

+
+ +
+
+ 01 +

근무환경

+
+
    +
  • 본사 내근 또는 파견 근무
  • +
  • 근무제 : 월~금, 주 5일 근무제
  • +
  • 근무시간 : 09:30 ~ 18:30
  • +
+
+ + +
+
+ 02 +

전형방법

+
+
    +
  • 1차 서류전형 : 이력서, 자기소개서, 포트폴리오(필요시) 1부
  • +
  • 2차 면접 : 1차 서류 전형 완료 후 합격자에 한해 개별 연락
  • +
+
+ +
+
+ 03 +

지원자격

+
+
    +
  • 신입 : 초대졸 이상의 학력과 이에 준하는 자(관련학과 전공자 우대)
  • +
  • 경력 : 관련분야 3년 이상 근무자(지원시 관련업적 또는 포트폴리오 첨부)
  • +
  • 공통 : 해외 여행에 결격사유가 없는 자(국가유공자 우대)/업무에 지장을 주지 않는 신체 건강한 자
  • +
+
+ + +
+
+ 04 +

지원방법

+
+
+
    +
  • 1차 서류전형 : 이력서, 자기소개서, 포트폴리오(필요시) 1부
  • +
  • 2차 면접 : 1차 서류 전형 완료 후 합격자에 한해 개별 연락
  • +
+ +
+
+ +
+
+ +
+
+

채용절차

+
+ +
+
+
+ 입사지원 +
+
+ 입사지원 +

자사 홈페이지를 통해
온라인으로 이력서 및
자기소개서를 접수

+
+ + + + +
+
+
+ 서류전형 +
+
+ 서류전형 +

이력서, 자기소개서
접수 후 서류전형으로
합격자를 개별 통보

+
+ + + + +
+
+
+ 1차 면접 +
+
+ 1차 면접 +

해당 분야 팀장을 통해
기술수준, 업무능력 등을
판단하는 1차 면접

+
+ + + + +
+
+
+ 2차 면접 +
+
+ 2차 면접 +

1차 면접 합격자는
임원 및 대표이사를 통한
2차 면접

+
+ + + + +
+
+
+ 최종합격 +
+
+ 최종합격 +

1,2차 면접 후 최종
합격자에게 합격 통보

+
+ + + + +
+
+
+ 입사 +
+
+ 입사 +

최종합격자에게 입사
구비서류 및 제반 사항을
안내 정식 입사

+
+ +
+
+
+
+ +
+ + + +
+
+
diff --git a/src/main/resources/templates/sub03_04.html b/src/main/resources/templates/sub03_04.html new file mode 100644 index 0000000..414acaa --- /dev/null +++ b/src/main/resources/templates/sub03_04.html @@ -0,0 +1,427 @@ + + + + 채용문의 + +
+ + +
+ + +
+
+ + + +
+
+
+
+

+ 오라인포 인재채용의 문은 항상 열려있습니다. + 기업과 개인이 함께 성장하는 오라인포에 지금 바로 지원하세요! +

+
+ +
+ + + + + +
+
+ + +
+
+ + + 성명을 입력해주세요. +
+
+ + + 올바른 이메일을 입력해주세요. +
+
+ + +
+
+ + + 연락처를 입력해주세요. +
+
+ +
+ + +
+ 지원분야를 선택해주세요. +
+
+ + +
+
+ +
+ + 파일을 선택해주세요. (이력서, 포트폴리오 등) 10MB 이하 + + +
+
+
+ + +
+
+ + + 제목을 입력해주세요. +
+
+ + +
+
+ + + 내용을 입력해주세요. +
+
+ + +
+

개인정보 수집 및 이용 안내

+
+

(주)오라인포는 아래의 목적으로 개인정보를 수집 및 이용하며, 방문자의 개인정보를 안전하게 취급하는데 최선을 다합니다.

+

+ 1. 수집목적 + – 원활한 서비스를 위한 이용자 식별
+ – 문의사항(광고제휴, 채용문의)의 처리 및 결과 통보 +

+

+ 2. 수집항목 + – 필수항목 : 성명, 이메일, 연락처, 지원분야, 제목, 문의내용
+ – 선택항목 : 첨부파일 +

+

+ 3. 보유 및 이용기간 + – 수집된 개인정보는 수집 및 이용 목적이 달성된 후 지체없이 파기합니다.
+ – 단, 관련 법령에 의거하여 일정 기간 보존이 필요한 경우 해당 기간 동안 보관합니다. +

+

귀하는 개인정보 수집·이용에 대한 동의를 거부할 권리가 있으며, 동의 거부 시 채용문의 및 입사지원 서비스 이용이 제한됩니다.

+
+ + + + 개인정보 수집·이용에 동의해주세요. +
+ + +
+ +
+ +
+
+ + +
+ + +
+ +
+ +
+ + + +
+
+
+ + + + \ No newline at end of file diff --git a/src/main/resources/templates/sub04_01.html b/src/main/resources/templates/sub04_01.html new file mode 100644 index 0000000..66ee6ea --- /dev/null +++ b/src/main/resources/templates/sub04_01.html @@ -0,0 +1,149 @@ + + + + 오라인 소식 + + + + + + +
+ +
+ + +
+
+ +
+
+
+

오라인 소식

+

항상 고객사와 소통하는 오라인포

+
+ + +
+ + + +
+
+
+ + +
+ +
+ + +
+
    + + +
  • 등록된 게시물이 없습니다.
  • +
    + +
  • + + + +
  • + +
+
+ + + + +
+
+
+ +
diff --git a/src/main/resources/templates/sub04_01_view.html b/src/main/resources/templates/sub04_01_view.html new file mode 100644 index 0000000..51061cf --- /dev/null +++ b/src/main/resources/templates/sub04_01_view.html @@ -0,0 +1,135 @@ + + + + 오라인 소식 상세 + + + + + +
+ +
+ + +
+
+ +
+
+
+

오라인 소식

+

항상 고객사와 소통하는 오라인포

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

+
+ + calendar_today + + + + visibility + 조회 + + + person + + +
+
+ + +
+ + +
+ + + + +
+ + + + +
+
+
+ +
diff --git a/src/main/resources/templates/sub04_02.html b/src/main/resources/templates/sub04_02.html new file mode 100644 index 0000000..7afc0cc --- /dev/null +++ b/src/main/resources/templates/sub04_02.html @@ -0,0 +1,345 @@ + + + + 광고 및 제휴문의 + + +
+ + +
+ + +
+
+ + +
+
+
+
+

+ 온라인 광고와 마케팅에 관한 문의 또는 제휴를 기다리고 있습니다. +

+
+ +
+ + + + + +
+
+ + +
+
+ + + 성명을 입력해주세요. +
+
+ + + 올바른 이메일을 입력해주세요. +
+
+ + +
+
+ + + 연락처를 입력해주세요. +
+
+ +
+ + +
+ 지원분야를 선택해주세요. +
+
+ + +
+
+ + + 제목을 입력해주세요. +
+
+ + +
+
+ + + 내용을 입력해주세요. +
+
+ + +
+

개인정보 수집 및 이용 안내

+
+

(주)오라인포는 아래의 목적으로 개인정보를 수집 및 이용하며, 방문자의 개인정보를 안전하게 취급하는데 최선을 다합니다.

+

+ 1. 수집목적 + – 원활한 서비스를 위한 이용자 식별
+ – 문의사항(광고제휴, 채용문의)의 처리 및 결과 통보 +

+

+ 2. 수집항목 + – 필수항목 : 성명, 이메일, 연락처, 지원분야, 제목, 문의내용
+ – 선택항목 : 첨부파일 +

+

+ 3. 보유 및 이용기간 + – 수집된 개인정보는 수집 및 이용 목적이 달성된 후 지체없이 파기합니다.
+ – 단, 관련 법령에 의거하여 일정 기간 보존이 필요한 경우 해당 기간 동안 보관합니다. +

+

귀하는 개인정보 수집·이용에 대한 동의를 거부할 권리가 있으며, 동의 거부 시 채용문의 및 입사지원 서비스 이용이 제한됩니다.

+
+ + + + 개인정보 수집·이용에 동의해주세요. +
+ + +
+ +
+ +
+
+ + +
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/src/main/resources/templates/sub04_03.html b/src/main/resources/templates/sub04_03.html new file mode 100644 index 0000000..7337892 --- /dev/null +++ b/src/main/resources/templates/sub04_03.html @@ -0,0 +1,182 @@ + + + + 보도자료 + + + +
+ +
+ + +
+
+ + +
+
+
+

보도자료

+

항상 고객사와 소통하는 오라인포

+
+ +
+ + + + + +
+
+
+ + + +
+ +
+ + + + +
+ +
+ + + + + + + +
+
+ +
+
+
+
diff --git a/src/main/resources/templates/sub04_03_view.html b/src/main/resources/templates/sub04_03_view.html new file mode 100644 index 0000000..08725d0 --- /dev/null +++ b/src/main/resources/templates/sub04_03_view.html @@ -0,0 +1,142 @@ + + + + 보도자료 상세 + + + +
+ +
+ + +
+
+ + +
+
+
+

보도자료

+

항상 고객사와 소통하는 오라인포

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

+
+ + calendar_today + + + + visibility + 조회 + +
+
+ + +
+ +
+ + +
+ + +
+ + + + +
+ + + + +
+
+
+ +
+
+
+ diff --git a/src/test/java/com/owrawww/OwrawwwApplicationTests.java b/src/test/java/com/owrawww/OwrawwwApplicationTests.java new file mode 100644 index 0000000..6b064ce --- /dev/null +++ b/src/test/java/com/owrawww/OwrawwwApplicationTests.java @@ -0,0 +1,12 @@ +package com.owrawww; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class OwrawwwApplicationTests { + + @Test + void contextLoads() { + } +} diff --git a/update0403.ps1 b/update0403.ps1 new file mode 100644 index 0000000..9f365aa --- /dev/null +++ b/update0403.ps1 @@ -0,0 +1,173 @@ +$file = "d:\workspace_vs1\owrainfo_www\owrawww\src\main\resources\templates\sub04_03.html" +$enc = [System.Text.Encoding]::UTF8 +$c = [System.IO.File]::ReadAllText($file, $enc) + +# ---- 1. Head: add board.css ---- +$h_old = "`r`n 보도자료`r`n" +$h_new = "`r`n 보도자료`r`n `r`n `r`n `r`n`r`n" +$c = $c.Replace($h_old, $h_new) +Write-Host "1. Head: $([bool]($c -match 'board.css'))" + +# ---- 2. Depth1 breadcrumb label + links (8 tabs before button/ul, 9 tabs before inner) ---- +$tab8 = "`t" * 8 +$tab9 = "`t" * 9 +$tab10 = "`t" * 10 +$crlf = "`r`n" + +$d1old = "$tab8$crlf" + + "$tab8" + +$d1new = "$tab8$crlf" + + "$tab8" + +$before = $c.Length +$c = $c.Replace($d1old, $d1new) +Write-Host "2. Depth1: replaced=$($c.Length -ne $before)" + +# ---- 3. Depth2 breadcrumb links ---- +$d2old = "$tab8" + +$d2new = "$tab8" + +$before = $c.Length +$c = $c.Replace($d2old, $d2new) +Write-Host "3. Depth2: replaced=$($c.Length -ne $before)" + +# ---- 4. Search form: div -> form with th: attributes ---- +# Use regex to replace the whole board-search-wrap div through section 1 comment +$sfNew = @" +
+ +
+ +"@ + +# Escape $ in replacement string for [regex]::Replace +$sfNewEsc = $sfNew.Replace('$', '$$') +$before = $c.Length +$c = [regex]::Replace($c, '(?s)
[\s\S]*? +"@ + +$galleryNewEsc = $galleryNew.Replace('$', '$$') +$before = $c.Length +$c = [regex]::Replace($c, '(?s)
[\s\S]*? +"@ + +$pgNewEsc = $pgNew.Replace('$', '$$') +$before = $c.Length +$c = [regex]::Replace($c, '(?s)
[\s\S]*?