Commit 27b23e0da973945e87e615ecd52b97563ec1c8f9

Authored by 徐烜
1 parent 993ce8e5

1、修改WorkDto,WorkCreateRequest,WorkQueryReuest,WorkUpdateRequest的字段json映射,使用@JsonProperty标注

2、添加WorkPageRequest,修改WorkController,WorkService中的分页查询
3、static目录下添加pageTemplates目录,添加鲁班h5预览页面的ejs模版文件,及相关css,js文件
4、创建ZipWorkPage类,内部使用java7的nio文件api,可配置的构建zip文件
5、创建ZipController,输出zip文件

Too many changes to show.

To preserve performance only 23 of 126 files are displayed.

src/main/java/com/bsth/luban_springboot2/controller/WorkController.java
... ... @@ -2,20 +2,19 @@ package com.bsth.luban_springboot2.controller;
2 2  
3 3 import com.bsth.luban_springboot2.dto.WorkDto;
4 4 import com.bsth.luban_springboot2.dto.request.WorkCreateRequest;
  5 +import com.bsth.luban_springboot2.dto.request.WorkPageRequest;
5 6 import com.bsth.luban_springboot2.dto.request.WorkQueryRequest;
6 7 import com.bsth.luban_springboot2.dto.request.WorkUpdateRequest;
7 8 import com.bsth.luban_springboot2.service.WorkService;
8 9 import org.springframework.beans.BeanUtils;
9 10 import org.springframework.beans.factory.annotation.Autowired;
10 11 import org.springframework.data.domain.Page;
11   -import org.springframework.data.domain.Pageable;
  12 +import org.springframework.data.domain.PageRequest;
12 13 import org.springframework.data.domain.Sort;
13   -import org.springframework.data.web.PageableDefault;
14 14 import org.springframework.http.HttpStatus;
15 15 import org.springframework.web.bind.annotation.*;
16 16  
17 17 import javax.validation.Valid;
18   -import java.util.List;
19 18  
20 19 /**
21 20 * 作品控制器(和鲁班h5后台strapi.js保持一致)。
... ... @@ -33,24 +32,18 @@ public class WorkController {
33 32 return this.workService.findWorkById(id);
34 33 }
35 34  
36   - // 查询所有work
37   - @RequestMapping(method = RequestMethod.GET)
38   - public List<WorkDto> listAllWorks(@Valid @ModelAttribute WorkQueryRequest request) {
39   - WorkDto workDto = new WorkDto();
40   - workDto.setTemplate(Boolean.valueOf(request.getIs_template()));
41   - BeanUtils.copyProperties(request, workDto);
42   - return this.workService.listAllWorks(workDto);
43   - }
44   -
45 35 // 分页查询work
46   - @RequestMapping(value = "/pageable", method = RequestMethod.GET)
  36 + @RequestMapping(method = RequestMethod.GET)
47 37 public Page<WorkDto> listWorks(
48 38 @Valid @ModelAttribute WorkQueryRequest request,
49   - @PageableDefault(sort = {"createTime"}, direction = Sort.Direction.DESC) Pageable pageable) {
  39 + @Valid @ModelAttribute WorkPageRequest workPageRequest) {
  40 + PageRequest pageRequest = PageRequest.of(
  41 + workPageRequest.getPage(), workPageRequest.getSize(),
  42 + Sort.Direction.DESC, "createTime");
  43 +
50 44 WorkDto workDto = new WorkDto();
51   - workDto.setTemplate(Boolean.valueOf(request.getIs_template()));
52 45 BeanUtils.copyProperties(request, workDto);
53   - return this.workService.listWorks(workDto, pageable);
  46 + return this.workService.listWorks(workDto, pageRequest);
54 47 }
55 48  
56 49 // 创建work
... ... @@ -67,15 +60,15 @@ public class WorkController {
67 60 @ResponseStatus(HttpStatus.OK)
68 61 public WorkDto updateWork(@PathVariable Long id, @RequestBody @Valid WorkUpdateRequest request) {
69 62 WorkDto workDto = new WorkDto();
70   - workDto.setId(id);
71 63 BeanUtils.copyProperties(request, workDto);
  64 + workDto.setId(id);
72 65 return workService.updateWork(workDto);
73 66 }
74 67  
75 68 // 删除work
76 69 @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
77   - public void deleteWorkById(@PathVariable Long id) {
78   - this.workService.deleteWorkById(id);
  70 + public WorkDto deleteWorkById(@PathVariable Long id) {
  71 + return this.workService.deleteWorkById(id);
79 72 }
80 73  
81 74 // 设置为模版
... ... @@ -86,8 +79,10 @@ public class WorkController {
86 79  
87 80 // 作品数量
88 81 @RequestMapping(value = "/count", method = RequestMethod.GET)
89   - public Long countWork() {
90   - return this.workService.countWork();
  82 + public Long countWork(@Valid @ModelAttribute WorkQueryRequest request) {
  83 + WorkDto workDto = new WorkDto();
  84 + BeanUtils.copyProperties(request, workDto);
  85 + return this.workService.countWork(workDto);
91 86 }
92 87  
93 88 // 使用模版创建作品
... ...
src/main/java/com/bsth/luban_springboot2/controller/ZipController.java 0 → 100644
  1 +package com.bsth.luban_springboot2.controller;
  2 +
  3 +import com.bsth.luban_springboot2.utils.ZipWorkPage;
  4 +import org.springframework.http.HttpHeaders;
  5 +import org.springframework.http.HttpStatus;
  6 +import org.springframework.http.MediaType;
  7 +import org.springframework.http.ResponseEntity;
  8 +import org.springframework.web.bind.annotation.GetMapping;
  9 +import org.springframework.web.bind.annotation.RequestMapping;
  10 +import org.springframework.web.bind.annotation.RestController;
  11 +
  12 +import java.nio.file.Paths;
  13 +
  14 +@RestController
  15 +@RequestMapping(value = "/zip_test")
  16 +public class ZipController {
  17 + /**
  18 + * 获取打包后的Page。
  19 + * @return
  20 + */
  21 + @GetMapping(value = "/getPage")
  22 + public ResponseEntity<byte[]> getPage() {
  23 + // TODO:打包zip文件
  24 + byte[] zipBytes = null;
  25 +
  26 +
  27 + // 设置header
  28 + HttpHeaders httpHeaders = new HttpHeaders();
  29 + // 设置ContentType
  30 + httpHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);
  31 + // 这里的filename参数
  32 + httpHeaders.setContentDispositionFormData("attachment", "page.zip");
  33 +
  34 + // 注意:如果使用HttpStatus.CREATED,ie下会有问题,HttpStatus.Ok表示服务端已经创建了文件,不是下载文件
  35 + return new ResponseEntity<>(zipBytes, httpHeaders, HttpStatus.CREATED);
  36 +
  37 + }
  38 +
  39 + public static void main(String[] args) throws Exception {
  40 +
  41 + ZipWorkPage zipWorkPage = ZipWorkPage.createPageZip(
  42 + Paths.get("/Users/xu/resource/project_code/bsth_project/bsth_ebus/luban_springboot2/src/main/resources/static/pageTemplates"),
  43 + Paths.get("/Users/xu/resource/project_code/runtime_temp")
  44 + );
  45 +
  46 +
  47 +
  48 +
  49 +
  50 + }
  51 +}
... ...
src/main/java/com/bsth/luban_springboot2/dto/WorkDto.java
1 1 package com.bsth.luban_springboot2.dto;
2 2  
3 3 import com.bsth.luban_springboot2.entity.Work;
  4 +import com.fasterxml.jackson.annotation.JsonProperty;
4 5 import com.fasterxml.jackson.core.JsonProcessingException;
5 6 import com.fasterxml.jackson.core.type.TypeReference;
6 7 import com.fasterxml.jackson.databind.ObjectMapper;
... ... @@ -29,18 +30,30 @@ public class WorkDto implements Serializable {
29 30 /** 作品描述 */
30 31 private String description;
31 32 /** 封面图片url */
  33 + @JsonProperty(value = "cover_image_url")
32 34 private String coverImageUrl;
33 35 /** 放置作品的json array */
34 36 private List<Object> pages;
35 37 /** 创建时间 */
  38 + @JsonProperty(value = "created_at")
36 39 private Date createTime;
37 40 /** 更新时间 */
  41 + @JsonProperty(value = "updated_at")
38 42 private Date updateTime;
39 43 /** 是否已经发布 */
  44 + @JsonProperty(value = "is_publish")
40 45 private Boolean publish;
41 46 /** 是否是模版 */
  47 + @JsonProperty(value = "is_template")
42 48 private Boolean template;
43 49  
  50 + /** 宽度 */
  51 + private Integer width;
  52 + /** 高度 */
  53 + private Integer height;
  54 + /** 页面模式(整屏滑动) */
  55 + private String pageMode;
  56 +
44 57 public Long getId() {
45 58 return id;
46 59 }
... ... @@ -113,6 +126,30 @@ public class WorkDto implements Serializable {
113 126 this.template = template;
114 127 }
115 128  
  129 + public Integer getWidth() {
  130 + return width;
  131 + }
  132 +
  133 + public void setWidth(Integer width) {
  134 + this.width = width;
  135 + }
  136 +
  137 + public Integer getHeight() {
  138 + return height;
  139 + }
  140 +
  141 + public void setHeight(Integer height) {
  142 + this.height = height;
  143 + }
  144 +
  145 + public String getPageMode() {
  146 + return pageMode;
  147 + }
  148 +
  149 + public void setPageMode(String pageMode) {
  150 + this.pageMode = pageMode;
  151 + }
  152 +
116 153 public WorkDto() {}
117 154 public WorkDto(Builder builder) {
118 155 this.id = builder.id;
... ... @@ -124,6 +161,9 @@ public class WorkDto implements Serializable {
124 161 this.updateTime = builder.updateTime;
125 162 this.publish = builder.publish;
126 163 this.template = builder.template;
  164 + this.width = builder.width;
  165 + this.height = builder.height;
  166 + this.pageMode = builder.pageMode;
127 167 }
128 168  
129 169 /**
... ... @@ -168,6 +208,12 @@ public class WorkDto implements Serializable {
168 208 private Boolean publish;
169 209 /** 是否是模版 */
170 210 private Boolean template;
  211 + /** 宽度 */
  212 + private Integer width;
  213 + /** 高度 */
  214 + private Integer height;
  215 + /** 页面模式(整屏滑动) */
  216 + private String pageMode;
171 217  
172 218 public Builder setId(Long id) {
173 219 this.id = id;
... ... @@ -214,6 +260,21 @@ public class WorkDto implements Serializable {
214 260 return this;
215 261 }
216 262  
  263 + public Builder setWidth(Integer width) {
  264 + this.width = width;
  265 + return this;
  266 + }
  267 +
  268 + public Builder setHeight(Integer height) {
  269 + this.height = height;
  270 + return this;
  271 + }
  272 +
  273 + public Builder setPageMode(String pageMode) {
  274 + this.pageMode = pageMode;
  275 + return this;
  276 + }
  277 +
217 278 /**
218 279 * 使用work对象直接复制属性。
219 280 * @param work
... ...
src/main/java/com/bsth/luban_springboot2/dto/request/WorkCreateRequest.java
1 1 package com.bsth.luban_springboot2.dto.request;
2 2  
  3 +import com.fasterxml.jackson.annotation.JsonProperty;
3 4 import lombok.Data;
4 5  
5   -import java.util.Date;
6 6 import java.util.List;
7 7  
8 8 /**
... ... @@ -14,15 +14,21 @@ public class WorkCreateRequest {
14 14  
15 15 private String description;
16 16  
  17 + @JsonProperty(value = "cover_image_url")
17 18 private String coverImageUrl;
18 19  
19 20 private List<Object> pages;
20 21  
21   - private Date createTime = new Date();
22   -
23   - private Date updateTime = new Date();
24   -
  22 + @JsonProperty(value = "is_publish")
25 23 private boolean publish = false;
26 24  
  25 + @JsonProperty(value = "is_template")
27 26 private boolean template = false;
  27 +
  28 + private Integer width;
  29 +
  30 + private Integer height;
  31 +
  32 + @JsonProperty(value = "page_mode")
  33 + private String pageMode;
28 34 }
... ...
src/main/java/com/bsth/luban_springboot2/dto/request/WorkPageRequest.java 0 → 100644
  1 +package com.bsth.luban_springboot2.dto.request;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonProperty;
  4 +import lombok.Data;
  5 +
  6 +/**
  7 + * 分页请求。
  8 + */
  9 +@Data
  10 +public class WorkPageRequest {
  11 + /** 第几页(从0开始) */
  12 + @JsonProperty(value = "_start")
  13 + private Integer page;
  14 + /** 每页记录数 */
  15 + @JsonProperty(value = "_limit")
  16 + private Integer size;
  17 +}
... ...
src/main/java/com/bsth/luban_springboot2/dto/request/WorkQueryRequest.java
1 1 package com.bsth.luban_springboot2.dto.request;
2 2  
  3 +import com.fasterxml.jackson.annotation.JsonProperty;
3 4 import lombok.Data;
4 5  
5   -import java.util.Date;
6   -import java.util.List;
7   -
8 6 /**
9 7 * 作品查询请求对象(类似WorkDto)。
10 8 */
... ... @@ -14,15 +12,9 @@ public class WorkQueryRequest {
14 12  
15 13 private String description;
16 14  
17   - private String coverImageUrl;
18   -
19   - private List<Object> pages;
20   -
21   - private Date createTime;
22   -
23   - private Date updateTime;
24   -
25   - private String is_publish;
  15 + @JsonProperty(value = "is_publish")
  16 + private boolean publish = false;
26 17  
27   - private String is_template;
  18 + @JsonProperty(value = "is_template")
  19 + private boolean template = false;
28 20 }
... ...
src/main/java/com/bsth/luban_springboot2/dto/request/WorkUpdateRequest.java
1 1 package com.bsth.luban_springboot2.dto.request;
2 2  
  3 +import com.fasterxml.jackson.annotation.JsonProperty;
3 4 import lombok.Data;
4 5  
5 6 import java.util.Date;
... ... @@ -10,17 +11,33 @@ import java.util.List;
10 11 */
11 12 @Data
12 13 public class WorkUpdateRequest {
  14 + private Long id;
  15 +
13 16 private String title;
14 17  
15 18 private String description;
16 19  
  20 + @JsonProperty(value = "cover_image_url")
17 21 private String coverImageUrl;
18 22  
19 23 private List<Object> pages;
20 24  
  25 + @JsonProperty(value = "create_at")
  26 + private Date createTime = new Date();
  27 +
  28 + @JsonProperty(value = "update_at")
21 29 private Date updateTime = new Date();
22 30  
23   - private boolean publish;
  31 + @JsonProperty(value = "is_publish")
  32 + private boolean publish = false;
  33 +
  34 + @JsonProperty(value = "is_template")
  35 + private boolean template = false;
  36 +
  37 + private Integer width;
  38 +
  39 + private Integer height;
24 40  
25   - private boolean template;
  41 + @JsonProperty(value = "page_mode")
  42 + private String pageMode;
26 43 }
... ...
src/main/java/com/bsth/luban_springboot2/entity/Work.java
... ... @@ -33,7 +33,7 @@ import java.util.Set;
33 33 public class Work implements Serializable {
34 34 private static final long serialVersionUID = -7998068854237393822L;
35 35  
36   - /** 轮播信息Id */
  36 + /** Id */
37 37 @Id
38 38 @GeneratedValue(strategy = GenerationType.AUTO)
39 39 @Column(length = 11)
... ... @@ -77,6 +77,16 @@ public class Work implements Serializable {
77 77 @Column(nullable = false)
78 78 private Boolean template = Boolean.FALSE;
79 79  
  80 + /** 宽度 */
  81 + @Column(nullable = false)
  82 + private Integer width = 800;
  83 + /** 高度 */
  84 + @Column(nullable = false)
  85 + private Integer height = 600;
  86 + /** 页面模式(整屏滑动) */
  87 + @Column(nullable = false)
  88 + private String pageMode = "h5-swipper";
  89 +
80 90 //-------------------- 关联对象 -------------------//
81 91 /** 关联的表单列表 */
82 92 @OneToMany(mappedBy = "work", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
... ...
src/main/java/com/bsth/luban_springboot2/service/WorkService.java
... ... @@ -4,18 +4,10 @@ import com.bsth.luban_springboot2.dto.WorkDto;
4 4 import org.springframework.data.domain.Page;
5 5 import org.springframework.data.domain.Pageable;
6 6  
7   -import java.util.List;
8   -
9 7 /**
10 8 * 作品Service。
11 9 */
12 10 public interface WorkService {
13   - /**
14   - * 查询所有work列表。
15   - * @param workDto
16   - * @return
17   - */
18   - List<WorkDto> listAllWorks(WorkDto workDto);
19 11  
20 12 /**
21 13 * 分页查收work列表。
... ... @@ -50,7 +42,7 @@ public interface WorkService {
50 42 * 根据Id删除work。
51 43 * @param id
52 44 */
53   - void deleteWorkById(Long id);
  45 + WorkDto deleteWorkById(Long id);
54 46  
55 47 /**
56 48 * 设置work为模版。
... ... @@ -61,9 +53,10 @@ public interface WorkService {
61 53  
62 54 /**
63 55 * work总数。
  56 + * @param workDto
64 57 * @return
65 58 */
66   - Long countWork();
  59 + Long countWork(WorkDto workDto);
67 60  
68 61 /**
69 62 * 使用workId创建一个新的work。
... ...
src/main/java/com/bsth/luban_springboot2/service/impl/WorkServiceImpl.java
... ... @@ -14,9 +14,7 @@ import org.springframework.transaction.annotation.Propagation;
14 14 import org.springframework.transaction.annotation.Transactional;
15 15  
16 16 import java.util.Date;
17   -import java.util.List;
18 17 import java.util.Optional;
19   -import java.util.stream.Collectors;
20 18  
21 19 /**
22 20 * 作品Service实现。
... ... @@ -27,17 +25,6 @@ public class WorkServiceImpl implements WorkService {
27 25 private WorkRepo workRepo;
28 26  
29 27 @Override
30   - public List<WorkDto> listAllWorks(WorkDto workDto) {
31   - Work work = WorkDto.toWork(workDto);
32   - Example<Work> example = Example.of(work);
33   - List<Work> works = this.workRepo.findAll(example);
34   - List<WorkDto> workDtos = works.stream()
35   - .map(w -> WorkDto.getBuilder().setPropertyFromWork(w).build())
36   - .collect(Collectors.toList());
37   - return workDtos;
38   - }
39   -
40   - @Override
41 28 public Page<WorkDto> listWorks(WorkDto workDto, Pageable pageable) {
42 29 // TODO:暂无业务驱动
43 30  
... ... @@ -84,8 +71,19 @@ public class WorkServiceImpl implements WorkService {
84 71  
85 72 @Override
86 73 @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)
87   - public void deleteWorkById(Long id) {
88   - this.workRepo.deleteById(id);
  74 + public WorkDto deleteWorkById(Long id) {
  75 + Optional<Work> optionalWork = this.workRepo.findById(id);
  76 + Work work = optionalWork.isPresent() ? optionalWork.get() : null;
  77 + if (work == null) {
  78 + return null;
  79 + } else {
  80 + WorkDto workDto = WorkDto
  81 + .getBuilder()
  82 + .setPropertyFromWorkIgnoreNullProperties(work)
  83 + .build();
  84 + this.workRepo.deleteById(id);
  85 + return workDto;
  86 + }
89 87 }
90 88  
91 89 @Override
... ... @@ -104,8 +102,10 @@ public class WorkServiceImpl implements WorkService {
104 102 }
105 103  
106 104 @Override
107   - public Long countWork() {
108   - return this.workRepo.count();
  105 + public Long countWork(WorkDto workDto) {
  106 + Work work = WorkDto.toWork(workDto);
  107 + Example<Work> example = Example.of(work);
  108 + return this.workRepo.count(example);
109 109 }
110 110  
111 111 @Override
... ...
src/main/java/com/bsth/luban_springboot2/utils/ZipWorkPage.java 0 → 100644
  1 +package com.bsth.luban_springboot2.utils;
  2 +
  3 +import com.bsth.luban_springboot2.dto.WorkDto;
  4 +
  5 +import java.io.File;
  6 +import java.io.IOException;
  7 +import java.net.URI;
  8 +import java.nio.file.*;
  9 +import java.nio.file.attribute.BasicFileAttributes;
  10 +import java.util.ArrayList;
  11 +import java.util.HashMap;
  12 +import java.util.List;
  13 +import java.util.Map;
  14 +
  15 +/**
  16 + * 作品页面zip压缩类。
  17 + */
  18 +public class ZipWorkPage {
  19 + /** 存放生成zip文件的目录 */
  20 + private Path destZipDirPath;
  21 + public ZipWorkPage(Path destZipDirPath) {
  22 + this.destZipDirPath = destZipDirPath;
  23 +
  24 + }
  25 +
  26 + private List<SourcePageFile> sourcePageFileList = new ArrayList<>();
  27 + public ZipWorkPage addSourcePageFile(SourcePageFile sourcePageFile) {
  28 + sourcePageFileList.add(sourcePageFile);
  29 + return this;
  30 + }
  31 + private List<SourcePageDir> sourcePageDirList = new ArrayList<>();
  32 + public ZipWorkPage addSourcePageDir(SourcePageDir sourcePageDir) {
  33 + sourcePageDirList.add(sourcePageDir);
  34 + return this;
  35 + }
  36 +
  37 + /** 作品dto */
  38 + private WorkDto workDto;
  39 +
  40 +
  41 + public void build() {
  42 + // 创建一个zip文件系统
  43 + Path zipPath = Paths.get(destZipDirPath.toString(), "page.zip");
  44 + URI zipPathURI = URI.create("jar:file:" + zipPath.toUri().getPath());
  45 + Map<String, Object> env = new HashMap<>();
  46 +// System.out.printf("zip uri %s\n", zipPathURI);
  47 + env.put("create", "true");
  48 + env.put("useTempFile", Boolean.TRUE);
  49 +
  50 + // jdk7 try-with-resource写法
  51 + try (FileSystem zipPageFileSystem = FileSystems.newFileSystem(zipPathURI, env)) {
  52 + // 压缩文件
  53 + for (SourcePageFile sourcePageFile : sourcePageFileList) {
  54 + /**
  55 + * 压缩规则:
  56 + * 1、如果zip内部的文件路径不是根路径,先创建父目录,如:/js/vue.js,先创建/js目录
  57 + * 2、copy文件压缩
  58 + */
  59 + Path zipInternalPath = zipPageFileSystem.getPath(sourcePageFile.zipFilePath.toString());
  60 + Files.createDirectories(zipInternalPath.getParent());
  61 + Files.copy(sourcePageFile.sourceFilePath, zipInternalPath, StandardCopyOption.REPLACE_EXISTING);
  62 + }
  63 +
  64 + // 压缩目录
  65 + for (SourcePageDir sourcePageDir : sourcePageDirList) {
  66 + /**
  67 + * 压缩规则:
  68 + * 1、原始路径下的目录结构,还原到zip内部的目录结构,
  69 + * 如: /dev/resource
  70 + * |-->1.js
  71 + * |-->/js/2.js
  72 + * 以上目录结构,如果原始目录是/dev/resource,则子目录,子文件的结构在zip中是一样的
  73 + * 2、copy文件压缩
  74 + */
  75 + Files.walkFileTree(sourcePageDir.sourceDirPath, new SimpleFileVisitor<Path>() {
  76 + @Override
  77 + public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
  78 + if (dir.getNameCount() == sourcePageDir.sourceDirPath.getNameCount()) { // 根路径
  79 + Path zipInternalPath = zipPageFileSystem.getPath(sourcePageDir.zipDirPath.toString());
  80 + Files.createDirectories(zipInternalPath);
  81 + return FileVisitResult.CONTINUE;
  82 + } else if (dir.getNameCount() > sourcePageDir.sourceDirPath.getNameCount()) { // 子目录
  83 + int count = dir.getNameCount() - sourcePageDir.sourceDirPath.getNameCount();
  84 + List<String> sub_dir_list = new ArrayList<>(count);
  85 + for (int index = dir.getNameCount() - count; index < dir.getNameCount(); index ++) {
  86 + sub_dir_list.add(dir.getName(index).toString());
  87 + }
  88 + Path dir_c = zipPageFileSystem.getPath(sourcePageDir.zipDirPath.toString(), String.join(File.separator, sub_dir_list));
  89 + Files.createDirectories(dir_c);
  90 + return FileVisitResult.CONTINUE;
  91 + } else {
  92 + // 不可能小于
  93 + throw new RuntimeException("目录异常!");
  94 + }
  95 +
  96 + }
  97 +
  98 + @Override
  99 + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
  100 + if (file.getParent().getNameCount() == sourcePageDir.sourceDirPath.getNameCount()) { // 根路径
  101 + Path dest = zipPageFileSystem.getPath(sourcePageDir.zipDirPath.toString(), file.getFileName().toString());
  102 + Files.copy(file, dest, StandardCopyOption.REPLACE_EXISTING);
  103 + return FileVisitResult.CONTINUE;
  104 + } else if (file.getParent().getNameCount() > sourcePageDir.sourceDirPath.getNameCount()) { // 子目录
  105 + int count = file.getParent().getNameCount() - sourcePageDir.sourceDirPath.getNameCount();
  106 + List<String> sub_dir_list = new ArrayList<>(count);
  107 + for (int index = file.getParent().getNameCount() - count; index < file.getParent().getNameCount(); index ++) {
  108 + sub_dir_list.add(file.getParent().getName(index).toString());
  109 + }
  110 + Path dest = zipPageFileSystem.getPath(sourcePageDir.zipDirPath.toString(), String.join(File.separator, sub_dir_list), file.getFileName().toString());
  111 + Files.copy(file, dest, StandardCopyOption.REPLACE_EXISTING);
  112 + return FileVisitResult.CONTINUE;
  113 + } else {
  114 + // 不可能小于
  115 + throw new RuntimeException("目录异常!");
  116 + }
  117 +
  118 + }
  119 + });
  120 + }
  121 + } catch(Exception exp) {
  122 +
  123 + }
  124 +
  125 + }
  126 +
  127 + /**
  128 + * 创建页面Zip。
  129 + * @param sourceRootPath 来源文件根路径(目录)
  130 + * @param destZipDirPath 目标zip文件存放路径(目录)
  131 + * @return
  132 + */
  133 + public static ZipWorkPage createPageZip(Path sourceRootPath, Path destZipDirPath) {
  134 + //----------------------- 1、添加待压缩的文件和目录 ---------------------//
  135 + ZipWorkPage zipWorkPage = new ZipWorkPage(destZipDirPath);
  136 + // vue_v2.6.12.js
  137 + zipWorkPage.addSourcePageFile(
  138 + new SourcePageFile()
  139 + .setSourceFilePath(Paths.get(sourceRootPath.toString(), "js", "vue_v2.6.12.js"))
  140 + .setZipFilePath(Paths.get("js", "vue_v2.6.12.js")));
  141 + // vuex_v3.6.2.js
  142 + zipWorkPage.addSourcePageFile(
  143 + new SourcePageFile()
  144 + .setSourceFilePath(Paths.get(sourceRootPath.toString(), "js", "vuex_v3.6.2.js"))
  145 + .setZipFilePath(Paths.get("js","vuex_v3.6.2.js")));
  146 + // animate_v4.1.1.css
  147 + zipWorkPage.addSourcePageFile(
  148 + new SourcePageFile()
  149 + .setSourceFilePath(Paths.get(sourceRootPath.toString(), "css", "animate_v4.1.1.css"))
  150 + .setZipFilePath(Paths.get("css","animate_v4.1.1.css")));
  151 + // swiper_v4.5.1.css
  152 + zipWorkPage.addSourcePageFile(
  153 + new SourcePageFile()
  154 + .setSourceFilePath(Paths.get(sourceRootPath.toString(), "css", "swiper_v4.5.1.css"))
  155 + .setZipFilePath(Paths.get("css","swiper_v4.5.1.css")));
  156 + // swiper_v4.5.1.js
  157 + zipWorkPage.addSourcePageFile(
  158 + new SourcePageFile()
  159 + .setSourceFilePath(Paths.get(sourceRootPath.toString(), "js", "swiper_v4.5.1.js"))
  160 + .setZipFilePath(Paths.get("js","swiper_v4.5.1.js")));
  161 + // swiper-animation_v2.0.2.js
  162 + zipWorkPage.addSourcePageFile(
  163 + new SourcePageFile()
  164 + .setSourceFilePath(Paths.get(sourceRootPath.toString(), "js", "swiper-animation_v2.0.2.js"))
  165 + .setZipFilePath(Paths.get("js","swiper-animation_v2.0.2.js")));
  166 + // echarts_v5.0.2.js
  167 + zipWorkPage.addSourcePageFile(
  168 + new SourcePageFile()
  169 + .setSourceFilePath(Paths.get(sourceRootPath.toString(), "js", "echarts_v5.0.2.js"))
  170 + .setZipFilePath(Paths.get("js","echarts_v5.0.2.js")));
  171 + // v-charts_v1.19.0
  172 + zipWorkPage.addSourcePageDir(
  173 + new SourcePageDir()
  174 + .setSourceDirPath(Paths.get(sourceRootPath.toString(), "js", "v-charts_v1.19.0"))
  175 + .setZipDirPath(Paths.get("js", "v-charts_v1.19.0")));
  176 + // v-charts_v1.19.0.css
  177 + zipWorkPage.addSourcePageFile(
  178 + new SourcePageFile()
  179 + .setSourceFilePath(Paths.get(sourceRootPath.toString(), "css", "v-charts_v1.19.0.css"))
  180 + .setZipFilePath(Paths.get("css","v-charts_v1.19.0.css")));
  181 +
  182 +
  183 + // TODO:鲁班h5前台编辑,后台模版生成的html文件
  184 + // TODO:之后要使用freemark来生成(需要绑定WorkDto对象)
  185 + zipWorkPage.addSourcePageFile(
  186 + new SourcePageFile()
  187 + .setSourceFilePath(Paths.get(sourceRootPath.toString(), "engine-example.ejs"))
  188 + .setZipFilePath(Paths.get(File.separator,"engine-example.ejs")));
  189 +
  190 + //-------------------------------- 2、压缩生成zip文件 -------------------------//
  191 + zipWorkPage.build();
  192 +
  193 + return zipWorkPage;
  194 + }
  195 +
  196 + /**
  197 + * 待压缩的页面文件。
  198 + */
  199 + public static class SourcePageFile {
  200 + /** 原始文件路径 */
  201 + private Path sourceFilePath;
  202 + /** zip内部的文件路径 */
  203 + private Path zipFilePath;
  204 +
  205 + public SourcePageFile setSourceFilePath(Path sourceFilePath) {
  206 + this.sourceFilePath = sourceFilePath;
  207 + return this;
  208 + }
  209 +
  210 + public SourcePageFile setZipFilePath(Path zipFilePath) {
  211 + this.zipFilePath = zipFilePath;
  212 + return this;
  213 + }
  214 + }
  215 +
  216 + /**
  217 + * 待压缩的页面目录。
  218 + */
  219 + public static class SourcePageDir {
  220 + /** 原始目录路径 */
  221 + private Path sourceDirPath;
  222 + /** zip内部的目录路径 */
  223 + private Path zipDirPath;
  224 +
  225 + public SourcePageDir setSourceDirPath(Path sourceDirPath) {
  226 + this.sourceDirPath = sourceDirPath;
  227 + return this;
  228 + }
  229 +
  230 + public SourcePageDir setZipDirPath(Path zipDirPath) {
  231 + this.zipDirPath = zipDirPath;
  232 + return this;
  233 + }
  234 + }
  235 +}
... ...
src/main/resources/application-db.properties
... ... @@ -15,6 +15,6 @@ spring.config.activate.on-profile=mysql_db_config
15 15 # 数据库url连接字符串
16 16 # serverTimezone参数解决数据库时区不一致的问题
17 17 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
18   -spring.datasource.url=jdbc:mysql://127.0.0.1/lubanh5?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
  18 +spring.datasource.url=jdbc:mysql://127.0.0.1/luban_h5?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
19 19 spring.datasource.username=root
20 20 spring.datasource.password=
... ...
src/main/resources/application.properties
... ... @@ -16,7 +16,7 @@ spring.profiles.group.test=db,h2_db_config,jpa,h2_jpa_config,ds,task
16 16 spring.profiles.group.prod=db,mysql_db_config,jpa,mysql_jpa_config,ds,task
17 17  
18 18 # 启动使用的profile(使用group)
19   -spring.profiles.active=test
  19 +spring.profiles.active=prod
20 20  
21 21 # hikari日志开关
22 22 logging.level.com.zaxxer.hikari.HikariConfig=DEBUG
... ...
src/main/resources/readme.txt 0 → 100644
  1 +[{"uuid":1615173422290,"title":"","elements":[{"name":"lbp-background","uuid":"49831f05-c1ea-f96e-b50b-2ec793c70528","pluginProps":{"uuid":"49831f05-c1ea-f96e-b50b-2ec793c70528","imgSrc":"","backgroundColor":"rgba(255, 255, 255, 0.2)","waterMarkText":"水印文字","waterMarkFontSize":16,"waterMarkRotate":10,"waterMarkColor":"rgba(184, 184, 184, 0.2)"},"commonStyle":{"top":100,"left":100,"width":100,"height":40,"zindex":1,"textAlign":"center","color":"#000000","backgroundColor":"rgba(255, 255, 255, 0)","fontSize":14,"margin":{"top":{"value":0,"unit":"px"},"right":{"value":0,"unit":"px"},"bottom":{"value":0,"unit":"px"},"left":{"value":0,"unit":"px"}},"padding":{"top":{"value":0,"unit":"px"},"right":{"value":0,"unit":"px"},"bottom":{"value":0,"unit":"px"},"left":{"value":0,"unit":"px"}},"border":{"top":{"value":0,"unit":"px"},"right":{"value":0,"unit":"px"},"bottom":{"value":0,"unit":"px"},"left":{"value":0,"unit":"px"},"color":{"value":"#000"},"style":{"value":"solid"}},"border-style":"solid","boxModelPart":""},"events":[],"animations":[]},{"name":"lbp-text","uuid":"8f2f39d3-2776-6683-17a4-3747afa2665b","pluginProps":{"uuid":"8f2f39d3-2776-6683-17a4-3747afa2665b","backgroundColor":"rgba(0, 0, 0, 0)","borderWidth":0,"borderRadius":10,"borderColor":"#000000","text":"<p>测试</p>","editorMode":"preview","isEditingElement":false},"commonStyle":{"top":14,"left":22.5,"width":278,"height":106,"zindex":2,"textAlign":"center","color":"#000000","backgroundColor":"rgba(255, 255, 255, 0)","fontSize":14,"margin":{"top":{"value":0,"unit":"px"},"right":{"value":0,"unit":"px"},"bottom":{"value":0,"unit":"px"},"left":{"value":0,"unit":"px"}},"padding":{"top":{"value":0,"unit":"px"},"right":{"value":0,"unit":"px"},"bottom":{"value":0,"unit":"px"},"left":{"value":0,"unit":"px"}},"border":{"top":{"value":0,"unit":"px"},"right":{"value":0,"unit":"px"},"bottom":{"value":0,"unit":"px"},"left":{"value":0,"unit":"px"},"color":{"value":"#000"},"style":{"value":"solid"}},"border-style":"solid","boxModelPart":""},"events":[],"animations":[]}]}]
0 2 \ No newline at end of file
... ...
src/main/resources/static/index.html 0 → 100644
  1 +<!doctype html>
  2 +<html lang="zh">
  3 +<head>
  4 + <meta charset="UTF-8">
  5 + <meta name="viewport"
  6 + content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  7 + <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8 + <title>Document</title>
  9 +</head>
  10 +<body>
  11 +测试页面
  12 +</body>
  13 +</html>
0 14 \ No newline at end of file
... ...
src/main/resources/static/pageTemplates/css/animate_v4.1.1.css 0 → 100644
  1 +@charset "UTF-8";/*!
  2 + * animate.css - https://animate.style/
  3 + * Version - 4.1.1
  4 + * Licensed under the MIT license - http://opensource.org/licenses/MIT
  5 + *
  6 + * Copyright (c) 2020 Animate.css
  7 + */
  8 +:root {
  9 + --animate-duration: 1s;
  10 + --animate-delay: 1s;
  11 + --animate-repeat: 1;
  12 +}
  13 +.animate__animated {
  14 + -webkit-animation-duration: 1s;
  15 + animation-duration: 1s;
  16 + -webkit-animation-duration: var(--animate-duration);
  17 + animation-duration: var(--animate-duration);
  18 + -webkit-animation-fill-mode: both;
  19 + animation-fill-mode: both;
  20 +}
  21 +.animate__animated.animate__infinite {
  22 + -webkit-animation-iteration-count: infinite;
  23 + animation-iteration-count: infinite;
  24 +}
  25 +.animate__animated.animate__repeat-1 {
  26 + -webkit-animation-iteration-count: 1;
  27 + animation-iteration-count: 1;
  28 + -webkit-animation-iteration-count: var(--animate-repeat);
  29 + animation-iteration-count: var(--animate-repeat);
  30 +}
  31 +.animate__animated.animate__repeat-2 {
  32 + -webkit-animation-iteration-count: calc(1 * 2);
  33 + animation-iteration-count: calc(1 * 2);
  34 + -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
  35 + animation-iteration-count: calc(var(--animate-repeat) * 2);
  36 +}
  37 +.animate__animated.animate__repeat-3 {
  38 + -webkit-animation-iteration-count: calc(1 * 3);
  39 + animation-iteration-count: calc(1 * 3);
  40 + -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
  41 + animation-iteration-count: calc(var(--animate-repeat) * 3);
  42 +}
  43 +.animate__animated.animate__delay-1s {
  44 + -webkit-animation-delay: 1s;
  45 + animation-delay: 1s;
  46 + -webkit-animation-delay: var(--animate-delay);
  47 + animation-delay: var(--animate-delay);
  48 +}
  49 +.animate__animated.animate__delay-2s {
  50 + -webkit-animation-delay: calc(1s * 2);
  51 + animation-delay: calc(1s * 2);
  52 + -webkit-animation-delay: calc(var(--animate-delay) * 2);
  53 + animation-delay: calc(var(--animate-delay) * 2);
  54 +}
  55 +.animate__animated.animate__delay-3s {
  56 + -webkit-animation-delay: calc(1s * 3);
  57 + animation-delay: calc(1s * 3);
  58 + -webkit-animation-delay: calc(var(--animate-delay) * 3);
  59 + animation-delay: calc(var(--animate-delay) * 3);
  60 +}
  61 +.animate__animated.animate__delay-4s {
  62 + -webkit-animation-delay: calc(1s * 4);
  63 + animation-delay: calc(1s * 4);
  64 + -webkit-animation-delay: calc(var(--animate-delay) * 4);
  65 + animation-delay: calc(var(--animate-delay) * 4);
  66 +}
  67 +.animate__animated.animate__delay-5s {
  68 + -webkit-animation-delay: calc(1s * 5);
  69 + animation-delay: calc(1s * 5);
  70 + -webkit-animation-delay: calc(var(--animate-delay) * 5);
  71 + animation-delay: calc(var(--animate-delay) * 5);
  72 +}
  73 +.animate__animated.animate__faster {
  74 + -webkit-animation-duration: calc(1s / 2);
  75 + animation-duration: calc(1s / 2);
  76 + -webkit-animation-duration: calc(var(--animate-duration) / 2);
  77 + animation-duration: calc(var(--animate-duration) / 2);
  78 +}
  79 +.animate__animated.animate__fast {
  80 + -webkit-animation-duration: calc(1s * 0.8);
  81 + animation-duration: calc(1s * 0.8);
  82 + -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
  83 + animation-duration: calc(var(--animate-duration) * 0.8);
  84 +}
  85 +.animate__animated.animate__slow {
  86 + -webkit-animation-duration: calc(1s * 2);
  87 + animation-duration: calc(1s * 2);
  88 + -webkit-animation-duration: calc(var(--animate-duration) * 2);
  89 + animation-duration: calc(var(--animate-duration) * 2);
  90 +}
  91 +.animate__animated.animate__slower {
  92 + -webkit-animation-duration: calc(1s * 3);
  93 + animation-duration: calc(1s * 3);
  94 + -webkit-animation-duration: calc(var(--animate-duration) * 3);
  95 + animation-duration: calc(var(--animate-duration) * 3);
  96 +}
  97 +@media print, (prefers-reduced-motion: reduce) {
  98 + .animate__animated {
  99 + -webkit-animation-duration: 1ms !important;
  100 + animation-duration: 1ms !important;
  101 + -webkit-transition-duration: 1ms !important;
  102 + transition-duration: 1ms !important;
  103 + -webkit-animation-iteration-count: 1 !important;
  104 + animation-iteration-count: 1 !important;
  105 + }
  106 +
  107 + .animate__animated[class*='Out'] {
  108 + opacity: 0;
  109 + }
  110 +}
  111 +/* Attention seekers */
  112 +@-webkit-keyframes bounce {
  113 + from,
  114 + 20%,
  115 + 53%,
  116 + to {
  117 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  118 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  119 + -webkit-transform: translate3d(0, 0, 0);
  120 + transform: translate3d(0, 0, 0);
  121 + }
  122 +
  123 + 40%,
  124 + 43% {
  125 + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  126 + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  127 + -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
  128 + transform: translate3d(0, -30px, 0) scaleY(1.1);
  129 + }
  130 +
  131 + 70% {
  132 + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  133 + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  134 + -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
  135 + transform: translate3d(0, -15px, 0) scaleY(1.05);
  136 + }
  137 +
  138 + 80% {
  139 + -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  140 + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  141 + -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
  142 + transform: translate3d(0, 0, 0) scaleY(0.95);
  143 + }
  144 +
  145 + 90% {
  146 + -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
  147 + transform: translate3d(0, -4px, 0) scaleY(1.02);
  148 + }
  149 +}
  150 +@keyframes bounce {
  151 + from,
  152 + 20%,
  153 + 53%,
  154 + to {
  155 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  156 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  157 + -webkit-transform: translate3d(0, 0, 0);
  158 + transform: translate3d(0, 0, 0);
  159 + }
  160 +
  161 + 40%,
  162 + 43% {
  163 + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  164 + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  165 + -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
  166 + transform: translate3d(0, -30px, 0) scaleY(1.1);
  167 + }
  168 +
  169 + 70% {
  170 + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  171 + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  172 + -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
  173 + transform: translate3d(0, -15px, 0) scaleY(1.05);
  174 + }
  175 +
  176 + 80% {
  177 + -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  178 + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  179 + -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
  180 + transform: translate3d(0, 0, 0) scaleY(0.95);
  181 + }
  182 +
  183 + 90% {
  184 + -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
  185 + transform: translate3d(0, -4px, 0) scaleY(1.02);
  186 + }
  187 +}
  188 +.animate__bounce {
  189 + -webkit-animation-name: bounce;
  190 + animation-name: bounce;
  191 + -webkit-transform-origin: center bottom;
  192 + transform-origin: center bottom;
  193 +}
  194 +@-webkit-keyframes flash {
  195 + from,
  196 + 50%,
  197 + to {
  198 + opacity: 1;
  199 + }
  200 +
  201 + 25%,
  202 + 75% {
  203 + opacity: 0;
  204 + }
  205 +}
  206 +@keyframes flash {
  207 + from,
  208 + 50%,
  209 + to {
  210 + opacity: 1;
  211 + }
  212 +
  213 + 25%,
  214 + 75% {
  215 + opacity: 0;
  216 + }
  217 +}
  218 +.animate__flash {
  219 + -webkit-animation-name: flash;
  220 + animation-name: flash;
  221 +}
  222 +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
  223 +@-webkit-keyframes pulse {
  224 + from {
  225 + -webkit-transform: scale3d(1, 1, 1);
  226 + transform: scale3d(1, 1, 1);
  227 + }
  228 +
  229 + 50% {
  230 + -webkit-transform: scale3d(1.05, 1.05, 1.05);
  231 + transform: scale3d(1.05, 1.05, 1.05);
  232 + }
  233 +
  234 + to {
  235 + -webkit-transform: scale3d(1, 1, 1);
  236 + transform: scale3d(1, 1, 1);
  237 + }
  238 +}
  239 +@keyframes pulse {
  240 + from {
  241 + -webkit-transform: scale3d(1, 1, 1);
  242 + transform: scale3d(1, 1, 1);
  243 + }
  244 +
  245 + 50% {
  246 + -webkit-transform: scale3d(1.05, 1.05, 1.05);
  247 + transform: scale3d(1.05, 1.05, 1.05);
  248 + }
  249 +
  250 + to {
  251 + -webkit-transform: scale3d(1, 1, 1);
  252 + transform: scale3d(1, 1, 1);
  253 + }
  254 +}
  255 +.animate__pulse {
  256 + -webkit-animation-name: pulse;
  257 + animation-name: pulse;
  258 + -webkit-animation-timing-function: ease-in-out;
  259 + animation-timing-function: ease-in-out;
  260 +}
  261 +@-webkit-keyframes rubberBand {
  262 + from {
  263 + -webkit-transform: scale3d(1, 1, 1);
  264 + transform: scale3d(1, 1, 1);
  265 + }
  266 +
  267 + 30% {
  268 + -webkit-transform: scale3d(1.25, 0.75, 1);
  269 + transform: scale3d(1.25, 0.75, 1);
  270 + }
  271 +
  272 + 40% {
  273 + -webkit-transform: scale3d(0.75, 1.25, 1);
  274 + transform: scale3d(0.75, 1.25, 1);
  275 + }
  276 +
  277 + 50% {
  278 + -webkit-transform: scale3d(1.15, 0.85, 1);
  279 + transform: scale3d(1.15, 0.85, 1);
  280 + }
  281 +
  282 + 65% {
  283 + -webkit-transform: scale3d(0.95, 1.05, 1);
  284 + transform: scale3d(0.95, 1.05, 1);
  285 + }
  286 +
  287 + 75% {
  288 + -webkit-transform: scale3d(1.05, 0.95, 1);
  289 + transform: scale3d(1.05, 0.95, 1);
  290 + }
  291 +
  292 + to {
  293 + -webkit-transform: scale3d(1, 1, 1);
  294 + transform: scale3d(1, 1, 1);
  295 + }
  296 +}
  297 +@keyframes rubberBand {
  298 + from {
  299 + -webkit-transform: scale3d(1, 1, 1);
  300 + transform: scale3d(1, 1, 1);
  301 + }
  302 +
  303 + 30% {
  304 + -webkit-transform: scale3d(1.25, 0.75, 1);
  305 + transform: scale3d(1.25, 0.75, 1);
  306 + }
  307 +
  308 + 40% {
  309 + -webkit-transform: scale3d(0.75, 1.25, 1);
  310 + transform: scale3d(0.75, 1.25, 1);
  311 + }
  312 +
  313 + 50% {
  314 + -webkit-transform: scale3d(1.15, 0.85, 1);
  315 + transform: scale3d(1.15, 0.85, 1);
  316 + }
  317 +
  318 + 65% {
  319 + -webkit-transform: scale3d(0.95, 1.05, 1);
  320 + transform: scale3d(0.95, 1.05, 1);
  321 + }
  322 +
  323 + 75% {
  324 + -webkit-transform: scale3d(1.05, 0.95, 1);
  325 + transform: scale3d(1.05, 0.95, 1);
  326 + }
  327 +
  328 + to {
  329 + -webkit-transform: scale3d(1, 1, 1);
  330 + transform: scale3d(1, 1, 1);
  331 + }
  332 +}
  333 +.animate__rubberBand {
  334 + -webkit-animation-name: rubberBand;
  335 + animation-name: rubberBand;
  336 +}
  337 +@-webkit-keyframes shakeX {
  338 + from,
  339 + to {
  340 + -webkit-transform: translate3d(0, 0, 0);
  341 + transform: translate3d(0, 0, 0);
  342 + }
  343 +
  344 + 10%,
  345 + 30%,
  346 + 50%,
  347 + 70%,
  348 + 90% {
  349 + -webkit-transform: translate3d(-10px, 0, 0);
  350 + transform: translate3d(-10px, 0, 0);
  351 + }
  352 +
  353 + 20%,
  354 + 40%,
  355 + 60%,
  356 + 80% {
  357 + -webkit-transform: translate3d(10px, 0, 0);
  358 + transform: translate3d(10px, 0, 0);
  359 + }
  360 +}
  361 +@keyframes shakeX {
  362 + from,
  363 + to {
  364 + -webkit-transform: translate3d(0, 0, 0);
  365 + transform: translate3d(0, 0, 0);
  366 + }
  367 +
  368 + 10%,
  369 + 30%,
  370 + 50%,
  371 + 70%,
  372 + 90% {
  373 + -webkit-transform: translate3d(-10px, 0, 0);
  374 + transform: translate3d(-10px, 0, 0);
  375 + }
  376 +
  377 + 20%,
  378 + 40%,
  379 + 60%,
  380 + 80% {
  381 + -webkit-transform: translate3d(10px, 0, 0);
  382 + transform: translate3d(10px, 0, 0);
  383 + }
  384 +}
  385 +.animate__shakeX {
  386 + -webkit-animation-name: shakeX;
  387 + animation-name: shakeX;
  388 +}
  389 +@-webkit-keyframes shakeY {
  390 + from,
  391 + to {
  392 + -webkit-transform: translate3d(0, 0, 0);
  393 + transform: translate3d(0, 0, 0);
  394 + }
  395 +
  396 + 10%,
  397 + 30%,
  398 + 50%,
  399 + 70%,
  400 + 90% {
  401 + -webkit-transform: translate3d(0, -10px, 0);
  402 + transform: translate3d(0, -10px, 0);
  403 + }
  404 +
  405 + 20%,
  406 + 40%,
  407 + 60%,
  408 + 80% {
  409 + -webkit-transform: translate3d(0, 10px, 0);
  410 + transform: translate3d(0, 10px, 0);
  411 + }
  412 +}
  413 +@keyframes shakeY {
  414 + from,
  415 + to {
  416 + -webkit-transform: translate3d(0, 0, 0);
  417 + transform: translate3d(0, 0, 0);
  418 + }
  419 +
  420 + 10%,
  421 + 30%,
  422 + 50%,
  423 + 70%,
  424 + 90% {
  425 + -webkit-transform: translate3d(0, -10px, 0);
  426 + transform: translate3d(0, -10px, 0);
  427 + }
  428 +
  429 + 20%,
  430 + 40%,
  431 + 60%,
  432 + 80% {
  433 + -webkit-transform: translate3d(0, 10px, 0);
  434 + transform: translate3d(0, 10px, 0);
  435 + }
  436 +}
  437 +.animate__shakeY {
  438 + -webkit-animation-name: shakeY;
  439 + animation-name: shakeY;
  440 +}
  441 +@-webkit-keyframes headShake {
  442 + 0% {
  443 + -webkit-transform: translateX(0);
  444 + transform: translateX(0);
  445 + }
  446 +
  447 + 6.5% {
  448 + -webkit-transform: translateX(-6px) rotateY(-9deg);
  449 + transform: translateX(-6px) rotateY(-9deg);
  450 + }
  451 +
  452 + 18.5% {
  453 + -webkit-transform: translateX(5px) rotateY(7deg);
  454 + transform: translateX(5px) rotateY(7deg);
  455 + }
  456 +
  457 + 31.5% {
  458 + -webkit-transform: translateX(-3px) rotateY(-5deg);
  459 + transform: translateX(-3px) rotateY(-5deg);
  460 + }
  461 +
  462 + 43.5% {
  463 + -webkit-transform: translateX(2px) rotateY(3deg);
  464 + transform: translateX(2px) rotateY(3deg);
  465 + }
  466 +
  467 + 50% {
  468 + -webkit-transform: translateX(0);
  469 + transform: translateX(0);
  470 + }
  471 +}
  472 +@keyframes headShake {
  473 + 0% {
  474 + -webkit-transform: translateX(0);
  475 + transform: translateX(0);
  476 + }
  477 +
  478 + 6.5% {
  479 + -webkit-transform: translateX(-6px) rotateY(-9deg);
  480 + transform: translateX(-6px) rotateY(-9deg);
  481 + }
  482 +
  483 + 18.5% {
  484 + -webkit-transform: translateX(5px) rotateY(7deg);
  485 + transform: translateX(5px) rotateY(7deg);
  486 + }
  487 +
  488 + 31.5% {
  489 + -webkit-transform: translateX(-3px) rotateY(-5deg);
  490 + transform: translateX(-3px) rotateY(-5deg);
  491 + }
  492 +
  493 + 43.5% {
  494 + -webkit-transform: translateX(2px) rotateY(3deg);
  495 + transform: translateX(2px) rotateY(3deg);
  496 + }
  497 +
  498 + 50% {
  499 + -webkit-transform: translateX(0);
  500 + transform: translateX(0);
  501 + }
  502 +}
  503 +.animate__headShake {
  504 + -webkit-animation-timing-function: ease-in-out;
  505 + animation-timing-function: ease-in-out;
  506 + -webkit-animation-name: headShake;
  507 + animation-name: headShake;
  508 +}
  509 +@-webkit-keyframes swing {
  510 + 20% {
  511 + -webkit-transform: rotate3d(0, 0, 1, 15deg);
  512 + transform: rotate3d(0, 0, 1, 15deg);
  513 + }
  514 +
  515 + 40% {
  516 + -webkit-transform: rotate3d(0, 0, 1, -10deg);
  517 + transform: rotate3d(0, 0, 1, -10deg);
  518 + }
  519 +
  520 + 60% {
  521 + -webkit-transform: rotate3d(0, 0, 1, 5deg);
  522 + transform: rotate3d(0, 0, 1, 5deg);
  523 + }
  524 +
  525 + 80% {
  526 + -webkit-transform: rotate3d(0, 0, 1, -5deg);
  527 + transform: rotate3d(0, 0, 1, -5deg);
  528 + }
  529 +
  530 + to {
  531 + -webkit-transform: rotate3d(0, 0, 1, 0deg);
  532 + transform: rotate3d(0, 0, 1, 0deg);
  533 + }
  534 +}
  535 +@keyframes swing {
  536 + 20% {
  537 + -webkit-transform: rotate3d(0, 0, 1, 15deg);
  538 + transform: rotate3d(0, 0, 1, 15deg);
  539 + }
  540 +
  541 + 40% {
  542 + -webkit-transform: rotate3d(0, 0, 1, -10deg);
  543 + transform: rotate3d(0, 0, 1, -10deg);
  544 + }
  545 +
  546 + 60% {
  547 + -webkit-transform: rotate3d(0, 0, 1, 5deg);
  548 + transform: rotate3d(0, 0, 1, 5deg);
  549 + }
  550 +
  551 + 80% {
  552 + -webkit-transform: rotate3d(0, 0, 1, -5deg);
  553 + transform: rotate3d(0, 0, 1, -5deg);
  554 + }
  555 +
  556 + to {
  557 + -webkit-transform: rotate3d(0, 0, 1, 0deg);
  558 + transform: rotate3d(0, 0, 1, 0deg);
  559 + }
  560 +}
  561 +.animate__swing {
  562 + -webkit-transform-origin: top center;
  563 + transform-origin: top center;
  564 + -webkit-animation-name: swing;
  565 + animation-name: swing;
  566 +}
  567 +@-webkit-keyframes tada {
  568 + from {
  569 + -webkit-transform: scale3d(1, 1, 1);
  570 + transform: scale3d(1, 1, 1);
  571 + }
  572 +
  573 + 10%,
  574 + 20% {
  575 + -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  576 + transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  577 + }
  578 +
  579 + 30%,
  580 + 50%,
  581 + 70%,
  582 + 90% {
  583 + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  584 + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  585 + }
  586 +
  587 + 40%,
  588 + 60%,
  589 + 80% {
  590 + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  591 + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  592 + }
  593 +
  594 + to {
  595 + -webkit-transform: scale3d(1, 1, 1);
  596 + transform: scale3d(1, 1, 1);
  597 + }
  598 +}
  599 +@keyframes tada {
  600 + from {
  601 + -webkit-transform: scale3d(1, 1, 1);
  602 + transform: scale3d(1, 1, 1);
  603 + }
  604 +
  605 + 10%,
  606 + 20% {
  607 + -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  608 + transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  609 + }
  610 +
  611 + 30%,
  612 + 50%,
  613 + 70%,
  614 + 90% {
  615 + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  616 + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  617 + }
  618 +
  619 + 40%,
  620 + 60%,
  621 + 80% {
  622 + -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  623 + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  624 + }
  625 +
  626 + to {
  627 + -webkit-transform: scale3d(1, 1, 1);
  628 + transform: scale3d(1, 1, 1);
  629 + }
  630 +}
  631 +.animate__tada {
  632 + -webkit-animation-name: tada;
  633 + animation-name: tada;
  634 +}
  635 +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
  636 +@-webkit-keyframes wobble {
  637 + from {
  638 + -webkit-transform: translate3d(0, 0, 0);
  639 + transform: translate3d(0, 0, 0);
  640 + }
  641 +
  642 + 15% {
  643 + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  644 + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  645 + }
  646 +
  647 + 30% {
  648 + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  649 + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  650 + }
  651 +
  652 + 45% {
  653 + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  654 + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  655 + }
  656 +
  657 + 60% {
  658 + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  659 + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  660 + }
  661 +
  662 + 75% {
  663 + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  664 + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  665 + }
  666 +
  667 + to {
  668 + -webkit-transform: translate3d(0, 0, 0);
  669 + transform: translate3d(0, 0, 0);
  670 + }
  671 +}
  672 +@keyframes wobble {
  673 + from {
  674 + -webkit-transform: translate3d(0, 0, 0);
  675 + transform: translate3d(0, 0, 0);
  676 + }
  677 +
  678 + 15% {
  679 + -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  680 + transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  681 + }
  682 +
  683 + 30% {
  684 + -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  685 + transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  686 + }
  687 +
  688 + 45% {
  689 + -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  690 + transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  691 + }
  692 +
  693 + 60% {
  694 + -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  695 + transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  696 + }
  697 +
  698 + 75% {
  699 + -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  700 + transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  701 + }
  702 +
  703 + to {
  704 + -webkit-transform: translate3d(0, 0, 0);
  705 + transform: translate3d(0, 0, 0);
  706 + }
  707 +}
  708 +.animate__wobble {
  709 + -webkit-animation-name: wobble;
  710 + animation-name: wobble;
  711 +}
  712 +@-webkit-keyframes jello {
  713 + from,
  714 + 11.1%,
  715 + to {
  716 + -webkit-transform: translate3d(0, 0, 0);
  717 + transform: translate3d(0, 0, 0);
  718 + }
  719 +
  720 + 22.2% {
  721 + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
  722 + transform: skewX(-12.5deg) skewY(-12.5deg);
  723 + }
  724 +
  725 + 33.3% {
  726 + -webkit-transform: skewX(6.25deg) skewY(6.25deg);
  727 + transform: skewX(6.25deg) skewY(6.25deg);
  728 + }
  729 +
  730 + 44.4% {
  731 + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
  732 + transform: skewX(-3.125deg) skewY(-3.125deg);
  733 + }
  734 +
  735 + 55.5% {
  736 + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
  737 + transform: skewX(1.5625deg) skewY(1.5625deg);
  738 + }
  739 +
  740 + 66.6% {
  741 + -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
  742 + transform: skewX(-0.78125deg) skewY(-0.78125deg);
  743 + }
  744 +
  745 + 77.7% {
  746 + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
  747 + transform: skewX(0.390625deg) skewY(0.390625deg);
  748 + }
  749 +
  750 + 88.8% {
  751 + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  752 + transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  753 + }
  754 +}
  755 +@keyframes jello {
  756 + from,
  757 + 11.1%,
  758 + to {
  759 + -webkit-transform: translate3d(0, 0, 0);
  760 + transform: translate3d(0, 0, 0);
  761 + }
  762 +
  763 + 22.2% {
  764 + -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
  765 + transform: skewX(-12.5deg) skewY(-12.5deg);
  766 + }
  767 +
  768 + 33.3% {
  769 + -webkit-transform: skewX(6.25deg) skewY(6.25deg);
  770 + transform: skewX(6.25deg) skewY(6.25deg);
  771 + }
  772 +
  773 + 44.4% {
  774 + -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
  775 + transform: skewX(-3.125deg) skewY(-3.125deg);
  776 + }
  777 +
  778 + 55.5% {
  779 + -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
  780 + transform: skewX(1.5625deg) skewY(1.5625deg);
  781 + }
  782 +
  783 + 66.6% {
  784 + -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
  785 + transform: skewX(-0.78125deg) skewY(-0.78125deg);
  786 + }
  787 +
  788 + 77.7% {
  789 + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
  790 + transform: skewX(0.390625deg) skewY(0.390625deg);
  791 + }
  792 +
  793 + 88.8% {
  794 + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  795 + transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  796 + }
  797 +}
  798 +.animate__jello {
  799 + -webkit-animation-name: jello;
  800 + animation-name: jello;
  801 + -webkit-transform-origin: center;
  802 + transform-origin: center;
  803 +}
  804 +@-webkit-keyframes heartBeat {
  805 + 0% {
  806 + -webkit-transform: scale(1);
  807 + transform: scale(1);
  808 + }
  809 +
  810 + 14% {
  811 + -webkit-transform: scale(1.3);
  812 + transform: scale(1.3);
  813 + }
  814 +
  815 + 28% {
  816 + -webkit-transform: scale(1);
  817 + transform: scale(1);
  818 + }
  819 +
  820 + 42% {
  821 + -webkit-transform: scale(1.3);
  822 + transform: scale(1.3);
  823 + }
  824 +
  825 + 70% {
  826 + -webkit-transform: scale(1);
  827 + transform: scale(1);
  828 + }
  829 +}
  830 +@keyframes heartBeat {
  831 + 0% {
  832 + -webkit-transform: scale(1);
  833 + transform: scale(1);
  834 + }
  835 +
  836 + 14% {
  837 + -webkit-transform: scale(1.3);
  838 + transform: scale(1.3);
  839 + }
  840 +
  841 + 28% {
  842 + -webkit-transform: scale(1);
  843 + transform: scale(1);
  844 + }
  845 +
  846 + 42% {
  847 + -webkit-transform: scale(1.3);
  848 + transform: scale(1.3);
  849 + }
  850 +
  851 + 70% {
  852 + -webkit-transform: scale(1);
  853 + transform: scale(1);
  854 + }
  855 +}
  856 +.animate__heartBeat {
  857 + -webkit-animation-name: heartBeat;
  858 + animation-name: heartBeat;
  859 + -webkit-animation-duration: calc(1s * 1.3);
  860 + animation-duration: calc(1s * 1.3);
  861 + -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
  862 + animation-duration: calc(var(--animate-duration) * 1.3);
  863 + -webkit-animation-timing-function: ease-in-out;
  864 + animation-timing-function: ease-in-out;
  865 +}
  866 +/* Back entrances */
  867 +@-webkit-keyframes backInDown {
  868 + 0% {
  869 + -webkit-transform: translateY(-1200px) scale(0.7);
  870 + transform: translateY(-1200px) scale(0.7);
  871 + opacity: 0.7;
  872 + }
  873 +
  874 + 80% {
  875 + -webkit-transform: translateY(0px) scale(0.7);
  876 + transform: translateY(0px) scale(0.7);
  877 + opacity: 0.7;
  878 + }
  879 +
  880 + 100% {
  881 + -webkit-transform: scale(1);
  882 + transform: scale(1);
  883 + opacity: 1;
  884 + }
  885 +}
  886 +@keyframes backInDown {
  887 + 0% {
  888 + -webkit-transform: translateY(-1200px) scale(0.7);
  889 + transform: translateY(-1200px) scale(0.7);
  890 + opacity: 0.7;
  891 + }
  892 +
  893 + 80% {
  894 + -webkit-transform: translateY(0px) scale(0.7);
  895 + transform: translateY(0px) scale(0.7);
  896 + opacity: 0.7;
  897 + }
  898 +
  899 + 100% {
  900 + -webkit-transform: scale(1);
  901 + transform: scale(1);
  902 + opacity: 1;
  903 + }
  904 +}
  905 +.animate__backInDown {
  906 + -webkit-animation-name: backInDown;
  907 + animation-name: backInDown;
  908 +}
  909 +@-webkit-keyframes backInLeft {
  910 + 0% {
  911 + -webkit-transform: translateX(-2000px) scale(0.7);
  912 + transform: translateX(-2000px) scale(0.7);
  913 + opacity: 0.7;
  914 + }
  915 +
  916 + 80% {
  917 + -webkit-transform: translateX(0px) scale(0.7);
  918 + transform: translateX(0px) scale(0.7);
  919 + opacity: 0.7;
  920 + }
  921 +
  922 + 100% {
  923 + -webkit-transform: scale(1);
  924 + transform: scale(1);
  925 + opacity: 1;
  926 + }
  927 +}
  928 +@keyframes backInLeft {
  929 + 0% {
  930 + -webkit-transform: translateX(-2000px) scale(0.7);
  931 + transform: translateX(-2000px) scale(0.7);
  932 + opacity: 0.7;
  933 + }
  934 +
  935 + 80% {
  936 + -webkit-transform: translateX(0px) scale(0.7);
  937 + transform: translateX(0px) scale(0.7);
  938 + opacity: 0.7;
  939 + }
  940 +
  941 + 100% {
  942 + -webkit-transform: scale(1);
  943 + transform: scale(1);
  944 + opacity: 1;
  945 + }
  946 +}
  947 +.animate__backInLeft {
  948 + -webkit-animation-name: backInLeft;
  949 + animation-name: backInLeft;
  950 +}
  951 +@-webkit-keyframes backInRight {
  952 + 0% {
  953 + -webkit-transform: translateX(2000px) scale(0.7);
  954 + transform: translateX(2000px) scale(0.7);
  955 + opacity: 0.7;
  956 + }
  957 +
  958 + 80% {
  959 + -webkit-transform: translateX(0px) scale(0.7);
  960 + transform: translateX(0px) scale(0.7);
  961 + opacity: 0.7;
  962 + }
  963 +
  964 + 100% {
  965 + -webkit-transform: scale(1);
  966 + transform: scale(1);
  967 + opacity: 1;
  968 + }
  969 +}
  970 +@keyframes backInRight {
  971 + 0% {
  972 + -webkit-transform: translateX(2000px) scale(0.7);
  973 + transform: translateX(2000px) scale(0.7);
  974 + opacity: 0.7;
  975 + }
  976 +
  977 + 80% {
  978 + -webkit-transform: translateX(0px) scale(0.7);
  979 + transform: translateX(0px) scale(0.7);
  980 + opacity: 0.7;
  981 + }
  982 +
  983 + 100% {
  984 + -webkit-transform: scale(1);
  985 + transform: scale(1);
  986 + opacity: 1;
  987 + }
  988 +}
  989 +.animate__backInRight {
  990 + -webkit-animation-name: backInRight;
  991 + animation-name: backInRight;
  992 +}
  993 +@-webkit-keyframes backInUp {
  994 + 0% {
  995 + -webkit-transform: translateY(1200px) scale(0.7);
  996 + transform: translateY(1200px) scale(0.7);
  997 + opacity: 0.7;
  998 + }
  999 +
  1000 + 80% {
  1001 + -webkit-transform: translateY(0px) scale(0.7);
  1002 + transform: translateY(0px) scale(0.7);
  1003 + opacity: 0.7;
  1004 + }
  1005 +
  1006 + 100% {
  1007 + -webkit-transform: scale(1);
  1008 + transform: scale(1);
  1009 + opacity: 1;
  1010 + }
  1011 +}
  1012 +@keyframes backInUp {
  1013 + 0% {
  1014 + -webkit-transform: translateY(1200px) scale(0.7);
  1015 + transform: translateY(1200px) scale(0.7);
  1016 + opacity: 0.7;
  1017 + }
  1018 +
  1019 + 80% {
  1020 + -webkit-transform: translateY(0px) scale(0.7);
  1021 + transform: translateY(0px) scale(0.7);
  1022 + opacity: 0.7;
  1023 + }
  1024 +
  1025 + 100% {
  1026 + -webkit-transform: scale(1);
  1027 + transform: scale(1);
  1028 + opacity: 1;
  1029 + }
  1030 +}
  1031 +.animate__backInUp {
  1032 + -webkit-animation-name: backInUp;
  1033 + animation-name: backInUp;
  1034 +}
  1035 +/* Back exits */
  1036 +@-webkit-keyframes backOutDown {
  1037 + 0% {
  1038 + -webkit-transform: scale(1);
  1039 + transform: scale(1);
  1040 + opacity: 1;
  1041 + }
  1042 +
  1043 + 20% {
  1044 + -webkit-transform: translateY(0px) scale(0.7);
  1045 + transform: translateY(0px) scale(0.7);
  1046 + opacity: 0.7;
  1047 + }
  1048 +
  1049 + 100% {
  1050 + -webkit-transform: translateY(700px) scale(0.7);
  1051 + transform: translateY(700px) scale(0.7);
  1052 + opacity: 0.7;
  1053 + }
  1054 +}
  1055 +@keyframes backOutDown {
  1056 + 0% {
  1057 + -webkit-transform: scale(1);
  1058 + transform: scale(1);
  1059 + opacity: 1;
  1060 + }
  1061 +
  1062 + 20% {
  1063 + -webkit-transform: translateY(0px) scale(0.7);
  1064 + transform: translateY(0px) scale(0.7);
  1065 + opacity: 0.7;
  1066 + }
  1067 +
  1068 + 100% {
  1069 + -webkit-transform: translateY(700px) scale(0.7);
  1070 + transform: translateY(700px) scale(0.7);
  1071 + opacity: 0.7;
  1072 + }
  1073 +}
  1074 +.animate__backOutDown {
  1075 + -webkit-animation-name: backOutDown;
  1076 + animation-name: backOutDown;
  1077 +}
  1078 +@-webkit-keyframes backOutLeft {
  1079 + 0% {
  1080 + -webkit-transform: scale(1);
  1081 + transform: scale(1);
  1082 + opacity: 1;
  1083 + }
  1084 +
  1085 + 20% {
  1086 + -webkit-transform: translateX(0px) scale(0.7);
  1087 + transform: translateX(0px) scale(0.7);
  1088 + opacity: 0.7;
  1089 + }
  1090 +
  1091 + 100% {
  1092 + -webkit-transform: translateX(-2000px) scale(0.7);
  1093 + transform: translateX(-2000px) scale(0.7);
  1094 + opacity: 0.7;
  1095 + }
  1096 +}
  1097 +@keyframes backOutLeft {
  1098 + 0% {
  1099 + -webkit-transform: scale(1);
  1100 + transform: scale(1);
  1101 + opacity: 1;
  1102 + }
  1103 +
  1104 + 20% {
  1105 + -webkit-transform: translateX(0px) scale(0.7);
  1106 + transform: translateX(0px) scale(0.7);
  1107 + opacity: 0.7;
  1108 + }
  1109 +
  1110 + 100% {
  1111 + -webkit-transform: translateX(-2000px) scale(0.7);
  1112 + transform: translateX(-2000px) scale(0.7);
  1113 + opacity: 0.7;
  1114 + }
  1115 +}
  1116 +.animate__backOutLeft {
  1117 + -webkit-animation-name: backOutLeft;
  1118 + animation-name: backOutLeft;
  1119 +}
  1120 +@-webkit-keyframes backOutRight {
  1121 + 0% {
  1122 + -webkit-transform: scale(1);
  1123 + transform: scale(1);
  1124 + opacity: 1;
  1125 + }
  1126 +
  1127 + 20% {
  1128 + -webkit-transform: translateX(0px) scale(0.7);
  1129 + transform: translateX(0px) scale(0.7);
  1130 + opacity: 0.7;
  1131 + }
  1132 +
  1133 + 100% {
  1134 + -webkit-transform: translateX(2000px) scale(0.7);
  1135 + transform: translateX(2000px) scale(0.7);
  1136 + opacity: 0.7;
  1137 + }
  1138 +}
  1139 +@keyframes backOutRight {
  1140 + 0% {
  1141 + -webkit-transform: scale(1);
  1142 + transform: scale(1);
  1143 + opacity: 1;
  1144 + }
  1145 +
  1146 + 20% {
  1147 + -webkit-transform: translateX(0px) scale(0.7);
  1148 + transform: translateX(0px) scale(0.7);
  1149 + opacity: 0.7;
  1150 + }
  1151 +
  1152 + 100% {
  1153 + -webkit-transform: translateX(2000px) scale(0.7);
  1154 + transform: translateX(2000px) scale(0.7);
  1155 + opacity: 0.7;
  1156 + }
  1157 +}
  1158 +.animate__backOutRight {
  1159 + -webkit-animation-name: backOutRight;
  1160 + animation-name: backOutRight;
  1161 +}
  1162 +@-webkit-keyframes backOutUp {
  1163 + 0% {
  1164 + -webkit-transform: scale(1);
  1165 + transform: scale(1);
  1166 + opacity: 1;
  1167 + }
  1168 +
  1169 + 20% {
  1170 + -webkit-transform: translateY(0px) scale(0.7);
  1171 + transform: translateY(0px) scale(0.7);
  1172 + opacity: 0.7;
  1173 + }
  1174 +
  1175 + 100% {
  1176 + -webkit-transform: translateY(-700px) scale(0.7);
  1177 + transform: translateY(-700px) scale(0.7);
  1178 + opacity: 0.7;
  1179 + }
  1180 +}
  1181 +@keyframes backOutUp {
  1182 + 0% {
  1183 + -webkit-transform: scale(1);
  1184 + transform: scale(1);
  1185 + opacity: 1;
  1186 + }
  1187 +
  1188 + 20% {
  1189 + -webkit-transform: translateY(0px) scale(0.7);
  1190 + transform: translateY(0px) scale(0.7);
  1191 + opacity: 0.7;
  1192 + }
  1193 +
  1194 + 100% {
  1195 + -webkit-transform: translateY(-700px) scale(0.7);
  1196 + transform: translateY(-700px) scale(0.7);
  1197 + opacity: 0.7;
  1198 + }
  1199 +}
  1200 +.animate__backOutUp {
  1201 + -webkit-animation-name: backOutUp;
  1202 + animation-name: backOutUp;
  1203 +}
  1204 +/* Bouncing entrances */
  1205 +@-webkit-keyframes bounceIn {
  1206 + from,
  1207 + 20%,
  1208 + 40%,
  1209 + 60%,
  1210 + 80%,
  1211 + to {
  1212 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1213 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1214 + }
  1215 +
  1216 + 0% {
  1217 + opacity: 0;
  1218 + -webkit-transform: scale3d(0.3, 0.3, 0.3);
  1219 + transform: scale3d(0.3, 0.3, 0.3);
  1220 + }
  1221 +
  1222 + 20% {
  1223 + -webkit-transform: scale3d(1.1, 1.1, 1.1);
  1224 + transform: scale3d(1.1, 1.1, 1.1);
  1225 + }
  1226 +
  1227 + 40% {
  1228 + -webkit-transform: scale3d(0.9, 0.9, 0.9);
  1229 + transform: scale3d(0.9, 0.9, 0.9);
  1230 + }
  1231 +
  1232 + 60% {
  1233 + opacity: 1;
  1234 + -webkit-transform: scale3d(1.03, 1.03, 1.03);
  1235 + transform: scale3d(1.03, 1.03, 1.03);
  1236 + }
  1237 +
  1238 + 80% {
  1239 + -webkit-transform: scale3d(0.97, 0.97, 0.97);
  1240 + transform: scale3d(0.97, 0.97, 0.97);
  1241 + }
  1242 +
  1243 + to {
  1244 + opacity: 1;
  1245 + -webkit-transform: scale3d(1, 1, 1);
  1246 + transform: scale3d(1, 1, 1);
  1247 + }
  1248 +}
  1249 +@keyframes bounceIn {
  1250 + from,
  1251 + 20%,
  1252 + 40%,
  1253 + 60%,
  1254 + 80%,
  1255 + to {
  1256 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1257 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1258 + }
  1259 +
  1260 + 0% {
  1261 + opacity: 0;
  1262 + -webkit-transform: scale3d(0.3, 0.3, 0.3);
  1263 + transform: scale3d(0.3, 0.3, 0.3);
  1264 + }
  1265 +
  1266 + 20% {
  1267 + -webkit-transform: scale3d(1.1, 1.1, 1.1);
  1268 + transform: scale3d(1.1, 1.1, 1.1);
  1269 + }
  1270 +
  1271 + 40% {
  1272 + -webkit-transform: scale3d(0.9, 0.9, 0.9);
  1273 + transform: scale3d(0.9, 0.9, 0.9);
  1274 + }
  1275 +
  1276 + 60% {
  1277 + opacity: 1;
  1278 + -webkit-transform: scale3d(1.03, 1.03, 1.03);
  1279 + transform: scale3d(1.03, 1.03, 1.03);
  1280 + }
  1281 +
  1282 + 80% {
  1283 + -webkit-transform: scale3d(0.97, 0.97, 0.97);
  1284 + transform: scale3d(0.97, 0.97, 0.97);
  1285 + }
  1286 +
  1287 + to {
  1288 + opacity: 1;
  1289 + -webkit-transform: scale3d(1, 1, 1);
  1290 + transform: scale3d(1, 1, 1);
  1291 + }
  1292 +}
  1293 +.animate__bounceIn {
  1294 + -webkit-animation-duration: calc(1s * 0.75);
  1295 + animation-duration: calc(1s * 0.75);
  1296 + -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  1297 + animation-duration: calc(var(--animate-duration) * 0.75);
  1298 + -webkit-animation-name: bounceIn;
  1299 + animation-name: bounceIn;
  1300 +}
  1301 +@-webkit-keyframes bounceInDown {
  1302 + from,
  1303 + 60%,
  1304 + 75%,
  1305 + 90%,
  1306 + to {
  1307 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1308 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1309 + }
  1310 +
  1311 + 0% {
  1312 + opacity: 0;
  1313 + -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
  1314 + transform: translate3d(0, -3000px, 0) scaleY(3);
  1315 + }
  1316 +
  1317 + 60% {
  1318 + opacity: 1;
  1319 + -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
  1320 + transform: translate3d(0, 25px, 0) scaleY(0.9);
  1321 + }
  1322 +
  1323 + 75% {
  1324 + -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
  1325 + transform: translate3d(0, -10px, 0) scaleY(0.95);
  1326 + }
  1327 +
  1328 + 90% {
  1329 + -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
  1330 + transform: translate3d(0, 5px, 0) scaleY(0.985);
  1331 + }
  1332 +
  1333 + to {
  1334 + -webkit-transform: translate3d(0, 0, 0);
  1335 + transform: translate3d(0, 0, 0);
  1336 + }
  1337 +}
  1338 +@keyframes bounceInDown {
  1339 + from,
  1340 + 60%,
  1341 + 75%,
  1342 + 90%,
  1343 + to {
  1344 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1345 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1346 + }
  1347 +
  1348 + 0% {
  1349 + opacity: 0;
  1350 + -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
  1351 + transform: translate3d(0, -3000px, 0) scaleY(3);
  1352 + }
  1353 +
  1354 + 60% {
  1355 + opacity: 1;
  1356 + -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
  1357 + transform: translate3d(0, 25px, 0) scaleY(0.9);
  1358 + }
  1359 +
  1360 + 75% {
  1361 + -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
  1362 + transform: translate3d(0, -10px, 0) scaleY(0.95);
  1363 + }
  1364 +
  1365 + 90% {
  1366 + -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
  1367 + transform: translate3d(0, 5px, 0) scaleY(0.985);
  1368 + }
  1369 +
  1370 + to {
  1371 + -webkit-transform: translate3d(0, 0, 0);
  1372 + transform: translate3d(0, 0, 0);
  1373 + }
  1374 +}
  1375 +.animate__bounceInDown {
  1376 + -webkit-animation-name: bounceInDown;
  1377 + animation-name: bounceInDown;
  1378 +}
  1379 +@-webkit-keyframes bounceInLeft {
  1380 + from,
  1381 + 60%,
  1382 + 75%,
  1383 + 90%,
  1384 + to {
  1385 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1386 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1387 + }
  1388 +
  1389 + 0% {
  1390 + opacity: 0;
  1391 + -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
  1392 + transform: translate3d(-3000px, 0, 0) scaleX(3);
  1393 + }
  1394 +
  1395 + 60% {
  1396 + opacity: 1;
  1397 + -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
  1398 + transform: translate3d(25px, 0, 0) scaleX(1);
  1399 + }
  1400 +
  1401 + 75% {
  1402 + -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
  1403 + transform: translate3d(-10px, 0, 0) scaleX(0.98);
  1404 + }
  1405 +
  1406 + 90% {
  1407 + -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
  1408 + transform: translate3d(5px, 0, 0) scaleX(0.995);
  1409 + }
  1410 +
  1411 + to {
  1412 + -webkit-transform: translate3d(0, 0, 0);
  1413 + transform: translate3d(0, 0, 0);
  1414 + }
  1415 +}
  1416 +@keyframes bounceInLeft {
  1417 + from,
  1418 + 60%,
  1419 + 75%,
  1420 + 90%,
  1421 + to {
  1422 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1423 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1424 + }
  1425 +
  1426 + 0% {
  1427 + opacity: 0;
  1428 + -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
  1429 + transform: translate3d(-3000px, 0, 0) scaleX(3);
  1430 + }
  1431 +
  1432 + 60% {
  1433 + opacity: 1;
  1434 + -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
  1435 + transform: translate3d(25px, 0, 0) scaleX(1);
  1436 + }
  1437 +
  1438 + 75% {
  1439 + -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
  1440 + transform: translate3d(-10px, 0, 0) scaleX(0.98);
  1441 + }
  1442 +
  1443 + 90% {
  1444 + -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
  1445 + transform: translate3d(5px, 0, 0) scaleX(0.995);
  1446 + }
  1447 +
  1448 + to {
  1449 + -webkit-transform: translate3d(0, 0, 0);
  1450 + transform: translate3d(0, 0, 0);
  1451 + }
  1452 +}
  1453 +.animate__bounceInLeft {
  1454 + -webkit-animation-name: bounceInLeft;
  1455 + animation-name: bounceInLeft;
  1456 +}
  1457 +@-webkit-keyframes bounceInRight {
  1458 + from,
  1459 + 60%,
  1460 + 75%,
  1461 + 90%,
  1462 + to {
  1463 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1464 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1465 + }
  1466 +
  1467 + from {
  1468 + opacity: 0;
  1469 + -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
  1470 + transform: translate3d(3000px, 0, 0) scaleX(3);
  1471 + }
  1472 +
  1473 + 60% {
  1474 + opacity: 1;
  1475 + -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
  1476 + transform: translate3d(-25px, 0, 0) scaleX(1);
  1477 + }
  1478 +
  1479 + 75% {
  1480 + -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
  1481 + transform: translate3d(10px, 0, 0) scaleX(0.98);
  1482 + }
  1483 +
  1484 + 90% {
  1485 + -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
  1486 + transform: translate3d(-5px, 0, 0) scaleX(0.995);
  1487 + }
  1488 +
  1489 + to {
  1490 + -webkit-transform: translate3d(0, 0, 0);
  1491 + transform: translate3d(0, 0, 0);
  1492 + }
  1493 +}
  1494 +@keyframes bounceInRight {
  1495 + from,
  1496 + 60%,
  1497 + 75%,
  1498 + 90%,
  1499 + to {
  1500 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1501 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1502 + }
  1503 +
  1504 + from {
  1505 + opacity: 0;
  1506 + -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
  1507 + transform: translate3d(3000px, 0, 0) scaleX(3);
  1508 + }
  1509 +
  1510 + 60% {
  1511 + opacity: 1;
  1512 + -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
  1513 + transform: translate3d(-25px, 0, 0) scaleX(1);
  1514 + }
  1515 +
  1516 + 75% {
  1517 + -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
  1518 + transform: translate3d(10px, 0, 0) scaleX(0.98);
  1519 + }
  1520 +
  1521 + 90% {
  1522 + -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
  1523 + transform: translate3d(-5px, 0, 0) scaleX(0.995);
  1524 + }
  1525 +
  1526 + to {
  1527 + -webkit-transform: translate3d(0, 0, 0);
  1528 + transform: translate3d(0, 0, 0);
  1529 + }
  1530 +}
  1531 +.animate__bounceInRight {
  1532 + -webkit-animation-name: bounceInRight;
  1533 + animation-name: bounceInRight;
  1534 +}
  1535 +@-webkit-keyframes bounceInUp {
  1536 + from,
  1537 + 60%,
  1538 + 75%,
  1539 + 90%,
  1540 + to {
  1541 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1542 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1543 + }
  1544 +
  1545 + from {
  1546 + opacity: 0;
  1547 + -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
  1548 + transform: translate3d(0, 3000px, 0) scaleY(5);
  1549 + }
  1550 +
  1551 + 60% {
  1552 + opacity: 1;
  1553 + -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
  1554 + transform: translate3d(0, -20px, 0) scaleY(0.9);
  1555 + }
  1556 +
  1557 + 75% {
  1558 + -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
  1559 + transform: translate3d(0, 10px, 0) scaleY(0.95);
  1560 + }
  1561 +
  1562 + 90% {
  1563 + -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
  1564 + transform: translate3d(0, -5px, 0) scaleY(0.985);
  1565 + }
  1566 +
  1567 + to {
  1568 + -webkit-transform: translate3d(0, 0, 0);
  1569 + transform: translate3d(0, 0, 0);
  1570 + }
  1571 +}
  1572 +@keyframes bounceInUp {
  1573 + from,
  1574 + 60%,
  1575 + 75%,
  1576 + 90%,
  1577 + to {
  1578 + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1579 + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  1580 + }
  1581 +
  1582 + from {
  1583 + opacity: 0;
  1584 + -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
  1585 + transform: translate3d(0, 3000px, 0) scaleY(5);
  1586 + }
  1587 +
  1588 + 60% {
  1589 + opacity: 1;
  1590 + -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
  1591 + transform: translate3d(0, -20px, 0) scaleY(0.9);
  1592 + }
  1593 +
  1594 + 75% {
  1595 + -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
  1596 + transform: translate3d(0, 10px, 0) scaleY(0.95);
  1597 + }
  1598 +
  1599 + 90% {
  1600 + -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
  1601 + transform: translate3d(0, -5px, 0) scaleY(0.985);
  1602 + }
  1603 +
  1604 + to {
  1605 + -webkit-transform: translate3d(0, 0, 0);
  1606 + transform: translate3d(0, 0, 0);
  1607 + }
  1608 +}
  1609 +.animate__bounceInUp {
  1610 + -webkit-animation-name: bounceInUp;
  1611 + animation-name: bounceInUp;
  1612 +}
  1613 +/* Bouncing exits */
  1614 +@-webkit-keyframes bounceOut {
  1615 + 20% {
  1616 + -webkit-transform: scale3d(0.9, 0.9, 0.9);
  1617 + transform: scale3d(0.9, 0.9, 0.9);
  1618 + }
  1619 +
  1620 + 50%,
  1621 + 55% {
  1622 + opacity: 1;
  1623 + -webkit-transform: scale3d(1.1, 1.1, 1.1);
  1624 + transform: scale3d(1.1, 1.1, 1.1);
  1625 + }
  1626 +
  1627 + to {
  1628 + opacity: 0;
  1629 + -webkit-transform: scale3d(0.3, 0.3, 0.3);
  1630 + transform: scale3d(0.3, 0.3, 0.3);
  1631 + }
  1632 +}
  1633 +@keyframes bounceOut {
  1634 + 20% {
  1635 + -webkit-transform: scale3d(0.9, 0.9, 0.9);
  1636 + transform: scale3d(0.9, 0.9, 0.9);
  1637 + }
  1638 +
  1639 + 50%,
  1640 + 55% {
  1641 + opacity: 1;
  1642 + -webkit-transform: scale3d(1.1, 1.1, 1.1);
  1643 + transform: scale3d(1.1, 1.1, 1.1);
  1644 + }
  1645 +
  1646 + to {
  1647 + opacity: 0;
  1648 + -webkit-transform: scale3d(0.3, 0.3, 0.3);
  1649 + transform: scale3d(0.3, 0.3, 0.3);
  1650 + }
  1651 +}
  1652 +.animate__bounceOut {
  1653 + -webkit-animation-duration: calc(1s * 0.75);
  1654 + animation-duration: calc(1s * 0.75);
  1655 + -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  1656 + animation-duration: calc(var(--animate-duration) * 0.75);
  1657 + -webkit-animation-name: bounceOut;
  1658 + animation-name: bounceOut;
  1659 +}
  1660 +@-webkit-keyframes bounceOutDown {
  1661 + 20% {
  1662 + -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
  1663 + transform: translate3d(0, 10px, 0) scaleY(0.985);
  1664 + }
  1665 +
  1666 + 40%,
  1667 + 45% {
  1668 + opacity: 1;
  1669 + -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
  1670 + transform: translate3d(0, -20px, 0) scaleY(0.9);
  1671 + }
  1672 +
  1673 + to {
  1674 + opacity: 0;
  1675 + -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
  1676 + transform: translate3d(0, 2000px, 0) scaleY(3);
  1677 + }
  1678 +}
  1679 +@keyframes bounceOutDown {
  1680 + 20% {
  1681 + -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
  1682 + transform: translate3d(0, 10px, 0) scaleY(0.985);
  1683 + }
  1684 +
  1685 + 40%,
  1686 + 45% {
  1687 + opacity: 1;
  1688 + -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
  1689 + transform: translate3d(0, -20px, 0) scaleY(0.9);
  1690 + }
  1691 +
  1692 + to {
  1693 + opacity: 0;
  1694 + -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
  1695 + transform: translate3d(0, 2000px, 0) scaleY(3);
  1696 + }
  1697 +}
  1698 +.animate__bounceOutDown {
  1699 + -webkit-animation-name: bounceOutDown;
  1700 + animation-name: bounceOutDown;
  1701 +}
  1702 +@-webkit-keyframes bounceOutLeft {
  1703 + 20% {
  1704 + opacity: 1;
  1705 + -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
  1706 + transform: translate3d(20px, 0, 0) scaleX(0.9);
  1707 + }
  1708 +
  1709 + to {
  1710 + opacity: 0;
  1711 + -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
  1712 + transform: translate3d(-2000px, 0, 0) scaleX(2);
  1713 + }
  1714 +}
  1715 +@keyframes bounceOutLeft {
  1716 + 20% {
  1717 + opacity: 1;
  1718 + -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
  1719 + transform: translate3d(20px, 0, 0) scaleX(0.9);
  1720 + }
  1721 +
  1722 + to {
  1723 + opacity: 0;
  1724 + -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
  1725 + transform: translate3d(-2000px, 0, 0) scaleX(2);
  1726 + }
  1727 +}
  1728 +.animate__bounceOutLeft {
  1729 + -webkit-animation-name: bounceOutLeft;
  1730 + animation-name: bounceOutLeft;
  1731 +}
  1732 +@-webkit-keyframes bounceOutRight {
  1733 + 20% {
  1734 + opacity: 1;
  1735 + -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
  1736 + transform: translate3d(-20px, 0, 0) scaleX(0.9);
  1737 + }
  1738 +
  1739 + to {
  1740 + opacity: 0;
  1741 + -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
  1742 + transform: translate3d(2000px, 0, 0) scaleX(2);
  1743 + }
  1744 +}
  1745 +@keyframes bounceOutRight {
  1746 + 20% {
  1747 + opacity: 1;
  1748 + -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
  1749 + transform: translate3d(-20px, 0, 0) scaleX(0.9);
  1750 + }
  1751 +
  1752 + to {
  1753 + opacity: 0;
  1754 + -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
  1755 + transform: translate3d(2000px, 0, 0) scaleX(2);
  1756 + }
  1757 +}
  1758 +.animate__bounceOutRight {
  1759 + -webkit-animation-name: bounceOutRight;
  1760 + animation-name: bounceOutRight;
  1761 +}
  1762 +@-webkit-keyframes bounceOutUp {
  1763 + 20% {
  1764 + -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
  1765 + transform: translate3d(0, -10px, 0) scaleY(0.985);
  1766 + }
  1767 +
  1768 + 40%,
  1769 + 45% {
  1770 + opacity: 1;
  1771 + -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
  1772 + transform: translate3d(0, 20px, 0) scaleY(0.9);
  1773 + }
  1774 +
  1775 + to {
  1776 + opacity: 0;
  1777 + -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
  1778 + transform: translate3d(0, -2000px, 0) scaleY(3);
  1779 + }
  1780 +}
  1781 +@keyframes bounceOutUp {
  1782 + 20% {
  1783 + -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
  1784 + transform: translate3d(0, -10px, 0) scaleY(0.985);
  1785 + }
  1786 +
  1787 + 40%,
  1788 + 45% {
  1789 + opacity: 1;
  1790 + -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
  1791 + transform: translate3d(0, 20px, 0) scaleY(0.9);
  1792 + }
  1793 +
  1794 + to {
  1795 + opacity: 0;
  1796 + -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
  1797 + transform: translate3d(0, -2000px, 0) scaleY(3);
  1798 + }
  1799 +}
  1800 +.animate__bounceOutUp {
  1801 + -webkit-animation-name: bounceOutUp;
  1802 + animation-name: bounceOutUp;
  1803 +}
  1804 +/* Fading entrances */
  1805 +@-webkit-keyframes fadeIn {
  1806 + from {
  1807 + opacity: 0;
  1808 + }
  1809 +
  1810 + to {
  1811 + opacity: 1;
  1812 + }
  1813 +}
  1814 +@keyframes fadeIn {
  1815 + from {
  1816 + opacity: 0;
  1817 + }
  1818 +
  1819 + to {
  1820 + opacity: 1;
  1821 + }
  1822 +}
  1823 +.animate__fadeIn {
  1824 + -webkit-animation-name: fadeIn;
  1825 + animation-name: fadeIn;
  1826 +}
  1827 +@-webkit-keyframes fadeInDown {
  1828 + from {
  1829 + opacity: 0;
  1830 + -webkit-transform: translate3d(0, -100%, 0);
  1831 + transform: translate3d(0, -100%, 0);
  1832 + }
  1833 +
  1834 + to {
  1835 + opacity: 1;
  1836 + -webkit-transform: translate3d(0, 0, 0);
  1837 + transform: translate3d(0, 0, 0);
  1838 + }
  1839 +}
  1840 +@keyframes fadeInDown {
  1841 + from {
  1842 + opacity: 0;
  1843 + -webkit-transform: translate3d(0, -100%, 0);
  1844 + transform: translate3d(0, -100%, 0);
  1845 + }
  1846 +
  1847 + to {
  1848 + opacity: 1;
  1849 + -webkit-transform: translate3d(0, 0, 0);
  1850 + transform: translate3d(0, 0, 0);
  1851 + }
  1852 +}
  1853 +.animate__fadeInDown {
  1854 + -webkit-animation-name: fadeInDown;
  1855 + animation-name: fadeInDown;
  1856 +}
  1857 +@-webkit-keyframes fadeInDownBig {
  1858 + from {
  1859 + opacity: 0;
  1860 + -webkit-transform: translate3d(0, -2000px, 0);
  1861 + transform: translate3d(0, -2000px, 0);
  1862 + }
  1863 +
  1864 + to {
  1865 + opacity: 1;
  1866 + -webkit-transform: translate3d(0, 0, 0);
  1867 + transform: translate3d(0, 0, 0);
  1868 + }
  1869 +}
  1870 +@keyframes fadeInDownBig {
  1871 + from {
  1872 + opacity: 0;
  1873 + -webkit-transform: translate3d(0, -2000px, 0);
  1874 + transform: translate3d(0, -2000px, 0);
  1875 + }
  1876 +
  1877 + to {
  1878 + opacity: 1;
  1879 + -webkit-transform: translate3d(0, 0, 0);
  1880 + transform: translate3d(0, 0, 0);
  1881 + }
  1882 +}
  1883 +.animate__fadeInDownBig {
  1884 + -webkit-animation-name: fadeInDownBig;
  1885 + animation-name: fadeInDownBig;
  1886 +}
  1887 +@-webkit-keyframes fadeInLeft {
  1888 + from {
  1889 + opacity: 0;
  1890 + -webkit-transform: translate3d(-100%, 0, 0);
  1891 + transform: translate3d(-100%, 0, 0);
  1892 + }
  1893 +
  1894 + to {
  1895 + opacity: 1;
  1896 + -webkit-transform: translate3d(0, 0, 0);
  1897 + transform: translate3d(0, 0, 0);
  1898 + }
  1899 +}
  1900 +@keyframes fadeInLeft {
  1901 + from {
  1902 + opacity: 0;
  1903 + -webkit-transform: translate3d(-100%, 0, 0);
  1904 + transform: translate3d(-100%, 0, 0);
  1905 + }
  1906 +
  1907 + to {
  1908 + opacity: 1;
  1909 + -webkit-transform: translate3d(0, 0, 0);
  1910 + transform: translate3d(0, 0, 0);
  1911 + }
  1912 +}
  1913 +.animate__fadeInLeft {
  1914 + -webkit-animation-name: fadeInLeft;
  1915 + animation-name: fadeInLeft;
  1916 +}
  1917 +@-webkit-keyframes fadeInLeftBig {
  1918 + from {
  1919 + opacity: 0;
  1920 + -webkit-transform: translate3d(-2000px, 0, 0);
  1921 + transform: translate3d(-2000px, 0, 0);
  1922 + }
  1923 +
  1924 + to {
  1925 + opacity: 1;
  1926 + -webkit-transform: translate3d(0, 0, 0);
  1927 + transform: translate3d(0, 0, 0);
  1928 + }
  1929 +}
  1930 +@keyframes fadeInLeftBig {
  1931 + from {
  1932 + opacity: 0;
  1933 + -webkit-transform: translate3d(-2000px, 0, 0);
  1934 + transform: translate3d(-2000px, 0, 0);
  1935 + }
  1936 +
  1937 + to {
  1938 + opacity: 1;
  1939 + -webkit-transform: translate3d(0, 0, 0);
  1940 + transform: translate3d(0, 0, 0);
  1941 + }
  1942 +}
  1943 +.animate__fadeInLeftBig {
  1944 + -webkit-animation-name: fadeInLeftBig;
  1945 + animation-name: fadeInLeftBig;
  1946 +}
  1947 +@-webkit-keyframes fadeInRight {
  1948 + from {
  1949 + opacity: 0;
  1950 + -webkit-transform: translate3d(100%, 0, 0);
  1951 + transform: translate3d(100%, 0, 0);
  1952 + }
  1953 +
  1954 + to {
  1955 + opacity: 1;
  1956 + -webkit-transform: translate3d(0, 0, 0);
  1957 + transform: translate3d(0, 0, 0);
  1958 + }
  1959 +}
  1960 +@keyframes fadeInRight {
  1961 + from {
  1962 + opacity: 0;
  1963 + -webkit-transform: translate3d(100%, 0, 0);
  1964 + transform: translate3d(100%, 0, 0);
  1965 + }
  1966 +
  1967 + to {
  1968 + opacity: 1;
  1969 + -webkit-transform: translate3d(0, 0, 0);
  1970 + transform: translate3d(0, 0, 0);
  1971 + }
  1972 +}
  1973 +.animate__fadeInRight {
  1974 + -webkit-animation-name: fadeInRight;
  1975 + animation-name: fadeInRight;
  1976 +}
  1977 +@-webkit-keyframes fadeInRightBig {
  1978 + from {
  1979 + opacity: 0;
  1980 + -webkit-transform: translate3d(2000px, 0, 0);
  1981 + transform: translate3d(2000px, 0, 0);
  1982 + }
  1983 +
  1984 + to {
  1985 + opacity: 1;
  1986 + -webkit-transform: translate3d(0, 0, 0);
  1987 + transform: translate3d(0, 0, 0);
  1988 + }
  1989 +}
  1990 +@keyframes fadeInRightBig {
  1991 + from {
  1992 + opacity: 0;
  1993 + -webkit-transform: translate3d(2000px, 0, 0);
  1994 + transform: translate3d(2000px, 0, 0);
  1995 + }
  1996 +
  1997 + to {
  1998 + opacity: 1;
  1999 + -webkit-transform: translate3d(0, 0, 0);
  2000 + transform: translate3d(0, 0, 0);
  2001 + }
  2002 +}
  2003 +.animate__fadeInRightBig {
  2004 + -webkit-animation-name: fadeInRightBig;
  2005 + animation-name: fadeInRightBig;
  2006 +}
  2007 +@-webkit-keyframes fadeInUp {
  2008 + from {
  2009 + opacity: 0;
  2010 + -webkit-transform: translate3d(0, 100%, 0);
  2011 + transform: translate3d(0, 100%, 0);
  2012 + }
  2013 +
  2014 + to {
  2015 + opacity: 1;
  2016 + -webkit-transform: translate3d(0, 0, 0);
  2017 + transform: translate3d(0, 0, 0);
  2018 + }
  2019 +}
  2020 +@keyframes fadeInUp {
  2021 + from {
  2022 + opacity: 0;
  2023 + -webkit-transform: translate3d(0, 100%, 0);
  2024 + transform: translate3d(0, 100%, 0);
  2025 + }
  2026 +
  2027 + to {
  2028 + opacity: 1;
  2029 + -webkit-transform: translate3d(0, 0, 0);
  2030 + transform: translate3d(0, 0, 0);
  2031 + }
  2032 +}
  2033 +.animate__fadeInUp {
  2034 + -webkit-animation-name: fadeInUp;
  2035 + animation-name: fadeInUp;
  2036 +}
  2037 +@-webkit-keyframes fadeInUpBig {
  2038 + from {
  2039 + opacity: 0;
  2040 + -webkit-transform: translate3d(0, 2000px, 0);
  2041 + transform: translate3d(0, 2000px, 0);
  2042 + }
  2043 +
  2044 + to {
  2045 + opacity: 1;
  2046 + -webkit-transform: translate3d(0, 0, 0);
  2047 + transform: translate3d(0, 0, 0);
  2048 + }
  2049 +}
  2050 +@keyframes fadeInUpBig {
  2051 + from {
  2052 + opacity: 0;
  2053 + -webkit-transform: translate3d(0, 2000px, 0);
  2054 + transform: translate3d(0, 2000px, 0);
  2055 + }
  2056 +
  2057 + to {
  2058 + opacity: 1;
  2059 + -webkit-transform: translate3d(0, 0, 0);
  2060 + transform: translate3d(0, 0, 0);
  2061 + }
  2062 +}
  2063 +.animate__fadeInUpBig {
  2064 + -webkit-animation-name: fadeInUpBig;
  2065 + animation-name: fadeInUpBig;
  2066 +}
  2067 +@-webkit-keyframes fadeInTopLeft {
  2068 + from {
  2069 + opacity: 0;
  2070 + -webkit-transform: translate3d(-100%, -100%, 0);
  2071 + transform: translate3d(-100%, -100%, 0);
  2072 + }
  2073 + to {
  2074 + opacity: 1;
  2075 + -webkit-transform: translate3d(0, 0, 0);
  2076 + transform: translate3d(0, 0, 0);
  2077 + }
  2078 +}
  2079 +@keyframes fadeInTopLeft {
  2080 + from {
  2081 + opacity: 0;
  2082 + -webkit-transform: translate3d(-100%, -100%, 0);
  2083 + transform: translate3d(-100%, -100%, 0);
  2084 + }
  2085 + to {
  2086 + opacity: 1;
  2087 + -webkit-transform: translate3d(0, 0, 0);
  2088 + transform: translate3d(0, 0, 0);
  2089 + }
  2090 +}
  2091 +.animate__fadeInTopLeft {
  2092 + -webkit-animation-name: fadeInTopLeft;
  2093 + animation-name: fadeInTopLeft;
  2094 +}
  2095 +@-webkit-keyframes fadeInTopRight {
  2096 + from {
  2097 + opacity: 0;
  2098 + -webkit-transform: translate3d(100%, -100%, 0);
  2099 + transform: translate3d(100%, -100%, 0);
  2100 + }
  2101 + to {
  2102 + opacity: 1;
  2103 + -webkit-transform: translate3d(0, 0, 0);
  2104 + transform: translate3d(0, 0, 0);
  2105 + }
  2106 +}
  2107 +@keyframes fadeInTopRight {
  2108 + from {
  2109 + opacity: 0;
  2110 + -webkit-transform: translate3d(100%, -100%, 0);
  2111 + transform: translate3d(100%, -100%, 0);
  2112 + }
  2113 + to {
  2114 + opacity: 1;
  2115 + -webkit-transform: translate3d(0, 0, 0);
  2116 + transform: translate3d(0, 0, 0);
  2117 + }
  2118 +}
  2119 +.animate__fadeInTopRight {
  2120 + -webkit-animation-name: fadeInTopRight;
  2121 + animation-name: fadeInTopRight;
  2122 +}
  2123 +@-webkit-keyframes fadeInBottomLeft {
  2124 + from {
  2125 + opacity: 0;
  2126 + -webkit-transform: translate3d(-100%, 100%, 0);
  2127 + transform: translate3d(-100%, 100%, 0);
  2128 + }
  2129 + to {
  2130 + opacity: 1;
  2131 + -webkit-transform: translate3d(0, 0, 0);
  2132 + transform: translate3d(0, 0, 0);
  2133 + }
  2134 +}
  2135 +@keyframes fadeInBottomLeft {
  2136 + from {
  2137 + opacity: 0;
  2138 + -webkit-transform: translate3d(-100%, 100%, 0);
  2139 + transform: translate3d(-100%, 100%, 0);
  2140 + }
  2141 + to {
  2142 + opacity: 1;
  2143 + -webkit-transform: translate3d(0, 0, 0);
  2144 + transform: translate3d(0, 0, 0);
  2145 + }
  2146 +}
  2147 +.animate__fadeInBottomLeft {
  2148 + -webkit-animation-name: fadeInBottomLeft;
  2149 + animation-name: fadeInBottomLeft;
  2150 +}
  2151 +@-webkit-keyframes fadeInBottomRight {
  2152 + from {
  2153 + opacity: 0;
  2154 + -webkit-transform: translate3d(100%, 100%, 0);
  2155 + transform: translate3d(100%, 100%, 0);
  2156 + }
  2157 + to {
  2158 + opacity: 1;
  2159 + -webkit-transform: translate3d(0, 0, 0);
  2160 + transform: translate3d(0, 0, 0);
  2161 + }
  2162 +}
  2163 +@keyframes fadeInBottomRight {
  2164 + from {
  2165 + opacity: 0;
  2166 + -webkit-transform: translate3d(100%, 100%, 0);
  2167 + transform: translate3d(100%, 100%, 0);
  2168 + }
  2169 + to {
  2170 + opacity: 1;
  2171 + -webkit-transform: translate3d(0, 0, 0);
  2172 + transform: translate3d(0, 0, 0);
  2173 + }
  2174 +}
  2175 +.animate__fadeInBottomRight {
  2176 + -webkit-animation-name: fadeInBottomRight;
  2177 + animation-name: fadeInBottomRight;
  2178 +}
  2179 +/* Fading exits */
  2180 +@-webkit-keyframes fadeOut {
  2181 + from {
  2182 + opacity: 1;
  2183 + }
  2184 +
  2185 + to {
  2186 + opacity: 0;
  2187 + }
  2188 +}
  2189 +@keyframes fadeOut {
  2190 + from {
  2191 + opacity: 1;
  2192 + }
  2193 +
  2194 + to {
  2195 + opacity: 0;
  2196 + }
  2197 +}
  2198 +.animate__fadeOut {
  2199 + -webkit-animation-name: fadeOut;
  2200 + animation-name: fadeOut;
  2201 +}
  2202 +@-webkit-keyframes fadeOutDown {
  2203 + from {
  2204 + opacity: 1;
  2205 + }
  2206 +
  2207 + to {
  2208 + opacity: 0;
  2209 + -webkit-transform: translate3d(0, 100%, 0);
  2210 + transform: translate3d(0, 100%, 0);
  2211 + }
  2212 +}
  2213 +@keyframes fadeOutDown {
  2214 + from {
  2215 + opacity: 1;
  2216 + }
  2217 +
  2218 + to {
  2219 + opacity: 0;
  2220 + -webkit-transform: translate3d(0, 100%, 0);
  2221 + transform: translate3d(0, 100%, 0);
  2222 + }
  2223 +}
  2224 +.animate__fadeOutDown {
  2225 + -webkit-animation-name: fadeOutDown;
  2226 + animation-name: fadeOutDown;
  2227 +}
  2228 +@-webkit-keyframes fadeOutDownBig {
  2229 + from {
  2230 + opacity: 1;
  2231 + }
  2232 +
  2233 + to {
  2234 + opacity: 0;
  2235 + -webkit-transform: translate3d(0, 2000px, 0);
  2236 + transform: translate3d(0, 2000px, 0);
  2237 + }
  2238 +}
  2239 +@keyframes fadeOutDownBig {
  2240 + from {
  2241 + opacity: 1;
  2242 + }
  2243 +
  2244 + to {
  2245 + opacity: 0;
  2246 + -webkit-transform: translate3d(0, 2000px, 0);
  2247 + transform: translate3d(0, 2000px, 0);
  2248 + }
  2249 +}
  2250 +.animate__fadeOutDownBig {
  2251 + -webkit-animation-name: fadeOutDownBig;
  2252 + animation-name: fadeOutDownBig;
  2253 +}
  2254 +@-webkit-keyframes fadeOutLeft {
  2255 + from {
  2256 + opacity: 1;
  2257 + }
  2258 +
  2259 + to {
  2260 + opacity: 0;
  2261 + -webkit-transform: translate3d(-100%, 0, 0);
  2262 + transform: translate3d(-100%, 0, 0);
  2263 + }
  2264 +}
  2265 +@keyframes fadeOutLeft {
  2266 + from {
  2267 + opacity: 1;
  2268 + }
  2269 +
  2270 + to {
  2271 + opacity: 0;
  2272 + -webkit-transform: translate3d(-100%, 0, 0);
  2273 + transform: translate3d(-100%, 0, 0);
  2274 + }
  2275 +}
  2276 +.animate__fadeOutLeft {
  2277 + -webkit-animation-name: fadeOutLeft;
  2278 + animation-name: fadeOutLeft;
  2279 +}
  2280 +@-webkit-keyframes fadeOutLeftBig {
  2281 + from {
  2282 + opacity: 1;
  2283 + }
  2284 +
  2285 + to {
  2286 + opacity: 0;
  2287 + -webkit-transform: translate3d(-2000px, 0, 0);
  2288 + transform: translate3d(-2000px, 0, 0);
  2289 + }
  2290 +}
  2291 +@keyframes fadeOutLeftBig {
  2292 + from {
  2293 + opacity: 1;
  2294 + }
  2295 +
  2296 + to {
  2297 + opacity: 0;
  2298 + -webkit-transform: translate3d(-2000px, 0, 0);
  2299 + transform: translate3d(-2000px, 0, 0);
  2300 + }
  2301 +}
  2302 +.animate__fadeOutLeftBig {
  2303 + -webkit-animation-name: fadeOutLeftBig;
  2304 + animation-name: fadeOutLeftBig;
  2305 +}
  2306 +@-webkit-keyframes fadeOutRight {
  2307 + from {
  2308 + opacity: 1;
  2309 + }
  2310 +
  2311 + to {
  2312 + opacity: 0;
  2313 + -webkit-transform: translate3d(100%, 0, 0);
  2314 + transform: translate3d(100%, 0, 0);
  2315 + }
  2316 +}
  2317 +@keyframes fadeOutRight {
  2318 + from {
  2319 + opacity: 1;
  2320 + }
  2321 +
  2322 + to {
  2323 + opacity: 0;
  2324 + -webkit-transform: translate3d(100%, 0, 0);
  2325 + transform: translate3d(100%, 0, 0);
  2326 + }
  2327 +}
  2328 +.animate__fadeOutRight {
  2329 + -webkit-animation-name: fadeOutRight;
  2330 + animation-name: fadeOutRight;
  2331 +}
  2332 +@-webkit-keyframes fadeOutRightBig {
  2333 + from {
  2334 + opacity: 1;
  2335 + }
  2336 +
  2337 + to {
  2338 + opacity: 0;
  2339 + -webkit-transform: translate3d(2000px, 0, 0);
  2340 + transform: translate3d(2000px, 0, 0);
  2341 + }
  2342 +}
  2343 +@keyframes fadeOutRightBig {
  2344 + from {
  2345 + opacity: 1;
  2346 + }
  2347 +
  2348 + to {
  2349 + opacity: 0;
  2350 + -webkit-transform: translate3d(2000px, 0, 0);
  2351 + transform: translate3d(2000px, 0, 0);
  2352 + }
  2353 +}
  2354 +.animate__fadeOutRightBig {
  2355 + -webkit-animation-name: fadeOutRightBig;
  2356 + animation-name: fadeOutRightBig;
  2357 +}
  2358 +@-webkit-keyframes fadeOutUp {
  2359 + from {
  2360 + opacity: 1;
  2361 + }
  2362 +
  2363 + to {
  2364 + opacity: 0;
  2365 + -webkit-transform: translate3d(0, -100%, 0);
  2366 + transform: translate3d(0, -100%, 0);
  2367 + }
  2368 +}
  2369 +@keyframes fadeOutUp {
  2370 + from {
  2371 + opacity: 1;
  2372 + }
  2373 +
  2374 + to {
  2375 + opacity: 0;
  2376 + -webkit-transform: translate3d(0, -100%, 0);
  2377 + transform: translate3d(0, -100%, 0);
  2378 + }
  2379 +}
  2380 +.animate__fadeOutUp {
  2381 + -webkit-animation-name: fadeOutUp;
  2382 + animation-name: fadeOutUp;
  2383 +}
  2384 +@-webkit-keyframes fadeOutUpBig {
  2385 + from {
  2386 + opacity: 1;
  2387 + }
  2388 +
  2389 + to {
  2390 + opacity: 0;
  2391 + -webkit-transform: translate3d(0, -2000px, 0);
  2392 + transform: translate3d(0, -2000px, 0);
  2393 + }
  2394 +}
  2395 +@keyframes fadeOutUpBig {
  2396 + from {
  2397 + opacity: 1;
  2398 + }
  2399 +
  2400 + to {
  2401 + opacity: 0;
  2402 + -webkit-transform: translate3d(0, -2000px, 0);
  2403 + transform: translate3d(0, -2000px, 0);
  2404 + }
  2405 +}
  2406 +.animate__fadeOutUpBig {
  2407 + -webkit-animation-name: fadeOutUpBig;
  2408 + animation-name: fadeOutUpBig;
  2409 +}
  2410 +@-webkit-keyframes fadeOutTopLeft {
  2411 + from {
  2412 + opacity: 1;
  2413 + -webkit-transform: translate3d(0, 0, 0);
  2414 + transform: translate3d(0, 0, 0);
  2415 + }
  2416 + to {
  2417 + opacity: 0;
  2418 + -webkit-transform: translate3d(-100%, -100%, 0);
  2419 + transform: translate3d(-100%, -100%, 0);
  2420 + }
  2421 +}
  2422 +@keyframes fadeOutTopLeft {
  2423 + from {
  2424 + opacity: 1;
  2425 + -webkit-transform: translate3d(0, 0, 0);
  2426 + transform: translate3d(0, 0, 0);
  2427 + }
  2428 + to {
  2429 + opacity: 0;
  2430 + -webkit-transform: translate3d(-100%, -100%, 0);
  2431 + transform: translate3d(-100%, -100%, 0);
  2432 + }
  2433 +}
  2434 +.animate__fadeOutTopLeft {
  2435 + -webkit-animation-name: fadeOutTopLeft;
  2436 + animation-name: fadeOutTopLeft;
  2437 +}
  2438 +@-webkit-keyframes fadeOutTopRight {
  2439 + from {
  2440 + opacity: 1;
  2441 + -webkit-transform: translate3d(0, 0, 0);
  2442 + transform: translate3d(0, 0, 0);
  2443 + }
  2444 + to {
  2445 + opacity: 0;
  2446 + -webkit-transform: translate3d(100%, -100%, 0);
  2447 + transform: translate3d(100%, -100%, 0);
  2448 + }
  2449 +}
  2450 +@keyframes fadeOutTopRight {
  2451 + from {
  2452 + opacity: 1;
  2453 + -webkit-transform: translate3d(0, 0, 0);
  2454 + transform: translate3d(0, 0, 0);
  2455 + }
  2456 + to {
  2457 + opacity: 0;
  2458 + -webkit-transform: translate3d(100%, -100%, 0);
  2459 + transform: translate3d(100%, -100%, 0);
  2460 + }
  2461 +}
  2462 +.animate__fadeOutTopRight {
  2463 + -webkit-animation-name: fadeOutTopRight;
  2464 + animation-name: fadeOutTopRight;
  2465 +}
  2466 +@-webkit-keyframes fadeOutBottomRight {
  2467 + from {
  2468 + opacity: 1;
  2469 + -webkit-transform: translate3d(0, 0, 0);
  2470 + transform: translate3d(0, 0, 0);
  2471 + }
  2472 + to {
  2473 + opacity: 0;
  2474 + -webkit-transform: translate3d(100%, 100%, 0);
  2475 + transform: translate3d(100%, 100%, 0);
  2476 + }
  2477 +}
  2478 +@keyframes fadeOutBottomRight {
  2479 + from {
  2480 + opacity: 1;
  2481 + -webkit-transform: translate3d(0, 0, 0);
  2482 + transform: translate3d(0, 0, 0);
  2483 + }
  2484 + to {
  2485 + opacity: 0;
  2486 + -webkit-transform: translate3d(100%, 100%, 0);
  2487 + transform: translate3d(100%, 100%, 0);
  2488 + }
  2489 +}
  2490 +.animate__fadeOutBottomRight {
  2491 + -webkit-animation-name: fadeOutBottomRight;
  2492 + animation-name: fadeOutBottomRight;
  2493 +}
  2494 +@-webkit-keyframes fadeOutBottomLeft {
  2495 + from {
  2496 + opacity: 1;
  2497 + -webkit-transform: translate3d(0, 0, 0);
  2498 + transform: translate3d(0, 0, 0);
  2499 + }
  2500 + to {
  2501 + opacity: 0;
  2502 + -webkit-transform: translate3d(-100%, 100%, 0);
  2503 + transform: translate3d(-100%, 100%, 0);
  2504 + }
  2505 +}
  2506 +@keyframes fadeOutBottomLeft {
  2507 + from {
  2508 + opacity: 1;
  2509 + -webkit-transform: translate3d(0, 0, 0);
  2510 + transform: translate3d(0, 0, 0);
  2511 + }
  2512 + to {
  2513 + opacity: 0;
  2514 + -webkit-transform: translate3d(-100%, 100%, 0);
  2515 + transform: translate3d(-100%, 100%, 0);
  2516 + }
  2517 +}
  2518 +.animate__fadeOutBottomLeft {
  2519 + -webkit-animation-name: fadeOutBottomLeft;
  2520 + animation-name: fadeOutBottomLeft;
  2521 +}
  2522 +/* Flippers */
  2523 +@-webkit-keyframes flip {
  2524 + from {
  2525 + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
  2526 + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
  2527 + -webkit-animation-timing-function: ease-out;
  2528 + animation-timing-function: ease-out;
  2529 + }
  2530 +
  2531 + 40% {
  2532 + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
  2533 + rotate3d(0, 1, 0, -190deg);
  2534 + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
  2535 + rotate3d(0, 1, 0, -190deg);
  2536 + -webkit-animation-timing-function: ease-out;
  2537 + animation-timing-function: ease-out;
  2538 + }
  2539 +
  2540 + 50% {
  2541 + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
  2542 + rotate3d(0, 1, 0, -170deg);
  2543 + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
  2544 + rotate3d(0, 1, 0, -170deg);
  2545 + -webkit-animation-timing-function: ease-in;
  2546 + animation-timing-function: ease-in;
  2547 + }
  2548 +
  2549 + 80% {
  2550 + -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
  2551 + rotate3d(0, 1, 0, 0deg);
  2552 + transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
  2553 + rotate3d(0, 1, 0, 0deg);
  2554 + -webkit-animation-timing-function: ease-in;
  2555 + animation-timing-function: ease-in;
  2556 + }
  2557 +
  2558 + to {
  2559 + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
  2560 + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
  2561 + -webkit-animation-timing-function: ease-in;
  2562 + animation-timing-function: ease-in;
  2563 + }
  2564 +}
  2565 +@keyframes flip {
  2566 + from {
  2567 + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
  2568 + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
  2569 + -webkit-animation-timing-function: ease-out;
  2570 + animation-timing-function: ease-out;
  2571 + }
  2572 +
  2573 + 40% {
  2574 + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
  2575 + rotate3d(0, 1, 0, -190deg);
  2576 + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
  2577 + rotate3d(0, 1, 0, -190deg);
  2578 + -webkit-animation-timing-function: ease-out;
  2579 + animation-timing-function: ease-out;
  2580 + }
  2581 +
  2582 + 50% {
  2583 + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
  2584 + rotate3d(0, 1, 0, -170deg);
  2585 + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
  2586 + rotate3d(0, 1, 0, -170deg);
  2587 + -webkit-animation-timing-function: ease-in;
  2588 + animation-timing-function: ease-in;
  2589 + }
  2590 +
  2591 + 80% {
  2592 + -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
  2593 + rotate3d(0, 1, 0, 0deg);
  2594 + transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
  2595 + rotate3d(0, 1, 0, 0deg);
  2596 + -webkit-animation-timing-function: ease-in;
  2597 + animation-timing-function: ease-in;
  2598 + }
  2599 +
  2600 + to {
  2601 + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
  2602 + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
  2603 + -webkit-animation-timing-function: ease-in;
  2604 + animation-timing-function: ease-in;
  2605 + }
  2606 +}
  2607 +.animate__animated.animate__flip {
  2608 + -webkit-backface-visibility: visible;
  2609 + backface-visibility: visible;
  2610 + -webkit-animation-name: flip;
  2611 + animation-name: flip;
  2612 +}
  2613 +@-webkit-keyframes flipInX {
  2614 + from {
  2615 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
  2616 + transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
  2617 + -webkit-animation-timing-function: ease-in;
  2618 + animation-timing-function: ease-in;
  2619 + opacity: 0;
  2620 + }
  2621 +
  2622 + 40% {
  2623 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
  2624 + transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
  2625 + -webkit-animation-timing-function: ease-in;
  2626 + animation-timing-function: ease-in;
  2627 + }
  2628 +
  2629 + 60% {
  2630 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
  2631 + transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
  2632 + opacity: 1;
  2633 + }
  2634 +
  2635 + 80% {
  2636 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  2637 + transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  2638 + }
  2639 +
  2640 + to {
  2641 + -webkit-transform: perspective(400px);
  2642 + transform: perspective(400px);
  2643 + }
  2644 +}
  2645 +@keyframes flipInX {
  2646 + from {
  2647 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
  2648 + transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
  2649 + -webkit-animation-timing-function: ease-in;
  2650 + animation-timing-function: ease-in;
  2651 + opacity: 0;
  2652 + }
  2653 +
  2654 + 40% {
  2655 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
  2656 + transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
  2657 + -webkit-animation-timing-function: ease-in;
  2658 + animation-timing-function: ease-in;
  2659 + }
  2660 +
  2661 + 60% {
  2662 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
  2663 + transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
  2664 + opacity: 1;
  2665 + }
  2666 +
  2667 + 80% {
  2668 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  2669 + transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  2670 + }
  2671 +
  2672 + to {
  2673 + -webkit-transform: perspective(400px);
  2674 + transform: perspective(400px);
  2675 + }
  2676 +}
  2677 +.animate__flipInX {
  2678 + -webkit-backface-visibility: visible !important;
  2679 + backface-visibility: visible !important;
  2680 + -webkit-animation-name: flipInX;
  2681 + animation-name: flipInX;
  2682 +}
  2683 +@-webkit-keyframes flipInY {
  2684 + from {
  2685 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
  2686 + transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
  2687 + -webkit-animation-timing-function: ease-in;
  2688 + animation-timing-function: ease-in;
  2689 + opacity: 0;
  2690 + }
  2691 +
  2692 + 40% {
  2693 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
  2694 + transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
  2695 + -webkit-animation-timing-function: ease-in;
  2696 + animation-timing-function: ease-in;
  2697 + }
  2698 +
  2699 + 60% {
  2700 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
  2701 + transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
  2702 + opacity: 1;
  2703 + }
  2704 +
  2705 + 80% {
  2706 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  2707 + transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  2708 + }
  2709 +
  2710 + to {
  2711 + -webkit-transform: perspective(400px);
  2712 + transform: perspective(400px);
  2713 + }
  2714 +}
  2715 +@keyframes flipInY {
  2716 + from {
  2717 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
  2718 + transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
  2719 + -webkit-animation-timing-function: ease-in;
  2720 + animation-timing-function: ease-in;
  2721 + opacity: 0;
  2722 + }
  2723 +
  2724 + 40% {
  2725 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
  2726 + transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
  2727 + -webkit-animation-timing-function: ease-in;
  2728 + animation-timing-function: ease-in;
  2729 + }
  2730 +
  2731 + 60% {
  2732 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
  2733 + transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
  2734 + opacity: 1;
  2735 + }
  2736 +
  2737 + 80% {
  2738 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  2739 + transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  2740 + }
  2741 +
  2742 + to {
  2743 + -webkit-transform: perspective(400px);
  2744 + transform: perspective(400px);
  2745 + }
  2746 +}
  2747 +.animate__flipInY {
  2748 + -webkit-backface-visibility: visible !important;
  2749 + backface-visibility: visible !important;
  2750 + -webkit-animation-name: flipInY;
  2751 + animation-name: flipInY;
  2752 +}
  2753 +@-webkit-keyframes flipOutX {
  2754 + from {
  2755 + -webkit-transform: perspective(400px);
  2756 + transform: perspective(400px);
  2757 + }
  2758 +
  2759 + 30% {
  2760 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
  2761 + transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
  2762 + opacity: 1;
  2763 + }
  2764 +
  2765 + to {
  2766 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
  2767 + transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
  2768 + opacity: 0;
  2769 + }
  2770 +}
  2771 +@keyframes flipOutX {
  2772 + from {
  2773 + -webkit-transform: perspective(400px);
  2774 + transform: perspective(400px);
  2775 + }
  2776 +
  2777 + 30% {
  2778 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
  2779 + transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
  2780 + opacity: 1;
  2781 + }
  2782 +
  2783 + to {
  2784 + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
  2785 + transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
  2786 + opacity: 0;
  2787 + }
  2788 +}
  2789 +.animate__flipOutX {
  2790 + -webkit-animation-duration: calc(1s * 0.75);
  2791 + animation-duration: calc(1s * 0.75);
  2792 + -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  2793 + animation-duration: calc(var(--animate-duration) * 0.75);
  2794 + -webkit-animation-name: flipOutX;
  2795 + animation-name: flipOutX;
  2796 + -webkit-backface-visibility: visible !important;
  2797 + backface-visibility: visible !important;
  2798 +}
  2799 +@-webkit-keyframes flipOutY {
  2800 + from {
  2801 + -webkit-transform: perspective(400px);
  2802 + transform: perspective(400px);
  2803 + }
  2804 +
  2805 + 30% {
  2806 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
  2807 + transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
  2808 + opacity: 1;
  2809 + }
  2810 +
  2811 + to {
  2812 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
  2813 + transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
  2814 + opacity: 0;
  2815 + }
  2816 +}
  2817 +@keyframes flipOutY {
  2818 + from {
  2819 + -webkit-transform: perspective(400px);
  2820 + transform: perspective(400px);
  2821 + }
  2822 +
  2823 + 30% {
  2824 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
  2825 + transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
  2826 + opacity: 1;
  2827 + }
  2828 +
  2829 + to {
  2830 + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
  2831 + transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
  2832 + opacity: 0;
  2833 + }
  2834 +}
  2835 +.animate__flipOutY {
  2836 + -webkit-animation-duration: calc(1s * 0.75);
  2837 + animation-duration: calc(1s * 0.75);
  2838 + -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  2839 + animation-duration: calc(var(--animate-duration) * 0.75);
  2840 + -webkit-backface-visibility: visible !important;
  2841 + backface-visibility: visible !important;
  2842 + -webkit-animation-name: flipOutY;
  2843 + animation-name: flipOutY;
  2844 +}
  2845 +/* Lightspeed */
  2846 +@-webkit-keyframes lightSpeedInRight {
  2847 + from {
  2848 + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
  2849 + transform: translate3d(100%, 0, 0) skewX(-30deg);
  2850 + opacity: 0;
  2851 + }
  2852 +
  2853 + 60% {
  2854 + -webkit-transform: skewX(20deg);
  2855 + transform: skewX(20deg);
  2856 + opacity: 1;
  2857 + }
  2858 +
  2859 + 80% {
  2860 + -webkit-transform: skewX(-5deg);
  2861 + transform: skewX(-5deg);
  2862 + }
  2863 +
  2864 + to {
  2865 + -webkit-transform: translate3d(0, 0, 0);
  2866 + transform: translate3d(0, 0, 0);
  2867 + }
  2868 +}
  2869 +@keyframes lightSpeedInRight {
  2870 + from {
  2871 + -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
  2872 + transform: translate3d(100%, 0, 0) skewX(-30deg);
  2873 + opacity: 0;
  2874 + }
  2875 +
  2876 + 60% {
  2877 + -webkit-transform: skewX(20deg);
  2878 + transform: skewX(20deg);
  2879 + opacity: 1;
  2880 + }
  2881 +
  2882 + 80% {
  2883 + -webkit-transform: skewX(-5deg);
  2884 + transform: skewX(-5deg);
  2885 + }
  2886 +
  2887 + to {
  2888 + -webkit-transform: translate3d(0, 0, 0);
  2889 + transform: translate3d(0, 0, 0);
  2890 + }
  2891 +}
  2892 +.animate__lightSpeedInRight {
  2893 + -webkit-animation-name: lightSpeedInRight;
  2894 + animation-name: lightSpeedInRight;
  2895 + -webkit-animation-timing-function: ease-out;
  2896 + animation-timing-function: ease-out;
  2897 +}
  2898 +@-webkit-keyframes lightSpeedInLeft {
  2899 + from {
  2900 + -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
  2901 + transform: translate3d(-100%, 0, 0) skewX(30deg);
  2902 + opacity: 0;
  2903 + }
  2904 +
  2905 + 60% {
  2906 + -webkit-transform: skewX(-20deg);
  2907 + transform: skewX(-20deg);
  2908 + opacity: 1;
  2909 + }
  2910 +
  2911 + 80% {
  2912 + -webkit-transform: skewX(5deg);
  2913 + transform: skewX(5deg);
  2914 + }
  2915 +
  2916 + to {
  2917 + -webkit-transform: translate3d(0, 0, 0);
  2918 + transform: translate3d(0, 0, 0);
  2919 + }
  2920 +}
  2921 +@keyframes lightSpeedInLeft {
  2922 + from {
  2923 + -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
  2924 + transform: translate3d(-100%, 0, 0) skewX(30deg);
  2925 + opacity: 0;
  2926 + }
  2927 +
  2928 + 60% {
  2929 + -webkit-transform: skewX(-20deg);
  2930 + transform: skewX(-20deg);
  2931 + opacity: 1;
  2932 + }
  2933 +
  2934 + 80% {
  2935 + -webkit-transform: skewX(5deg);
  2936 + transform: skewX(5deg);
  2937 + }
  2938 +
  2939 + to {
  2940 + -webkit-transform: translate3d(0, 0, 0);
  2941 + transform: translate3d(0, 0, 0);
  2942 + }
  2943 +}
  2944 +.animate__lightSpeedInLeft {
  2945 + -webkit-animation-name: lightSpeedInLeft;
  2946 + animation-name: lightSpeedInLeft;
  2947 + -webkit-animation-timing-function: ease-out;
  2948 + animation-timing-function: ease-out;
  2949 +}
  2950 +@-webkit-keyframes lightSpeedOutRight {
  2951 + from {
  2952 + opacity: 1;
  2953 + }
  2954 +
  2955 + to {
  2956 + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
  2957 + transform: translate3d(100%, 0, 0) skewX(30deg);
  2958 + opacity: 0;
  2959 + }
  2960 +}
  2961 +@keyframes lightSpeedOutRight {
  2962 + from {
  2963 + opacity: 1;
  2964 + }
  2965 +
  2966 + to {
  2967 + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
  2968 + transform: translate3d(100%, 0, 0) skewX(30deg);
  2969 + opacity: 0;
  2970 + }
  2971 +}
  2972 +.animate__lightSpeedOutRight {
  2973 + -webkit-animation-name: lightSpeedOutRight;
  2974 + animation-name: lightSpeedOutRight;
  2975 + -webkit-animation-timing-function: ease-in;
  2976 + animation-timing-function: ease-in;
  2977 +}
  2978 +@-webkit-keyframes lightSpeedOutLeft {
  2979 + from {
  2980 + opacity: 1;
  2981 + }
  2982 +
  2983 + to {
  2984 + -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
  2985 + transform: translate3d(-100%, 0, 0) skewX(-30deg);
  2986 + opacity: 0;
  2987 + }
  2988 +}
  2989 +@keyframes lightSpeedOutLeft {
  2990 + from {
  2991 + opacity: 1;
  2992 + }
  2993 +
  2994 + to {
  2995 + -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
  2996 + transform: translate3d(-100%, 0, 0) skewX(-30deg);
  2997 + opacity: 0;
  2998 + }
  2999 +}
  3000 +.animate__lightSpeedOutLeft {
  3001 + -webkit-animation-name: lightSpeedOutLeft;
  3002 + animation-name: lightSpeedOutLeft;
  3003 + -webkit-animation-timing-function: ease-in;
  3004 + animation-timing-function: ease-in;
  3005 +}
  3006 +/* Rotating entrances */
  3007 +@-webkit-keyframes rotateIn {
  3008 + from {
  3009 + -webkit-transform: rotate3d(0, 0, 1, -200deg);
  3010 + transform: rotate3d(0, 0, 1, -200deg);
  3011 + opacity: 0;
  3012 + }
  3013 +
  3014 + to {
  3015 + -webkit-transform: translate3d(0, 0, 0);
  3016 + transform: translate3d(0, 0, 0);
  3017 + opacity: 1;
  3018 + }
  3019 +}
  3020 +@keyframes rotateIn {
  3021 + from {
  3022 + -webkit-transform: rotate3d(0, 0, 1, -200deg);
  3023 + transform: rotate3d(0, 0, 1, -200deg);
  3024 + opacity: 0;
  3025 + }
  3026 +
  3027 + to {
  3028 + -webkit-transform: translate3d(0, 0, 0);
  3029 + transform: translate3d(0, 0, 0);
  3030 + opacity: 1;
  3031 + }
  3032 +}
  3033 +.animate__rotateIn {
  3034 + -webkit-animation-name: rotateIn;
  3035 + animation-name: rotateIn;
  3036 + -webkit-transform-origin: center;
  3037 + transform-origin: center;
  3038 +}
  3039 +@-webkit-keyframes rotateInDownLeft {
  3040 + from {
  3041 + -webkit-transform: rotate3d(0, 0, 1, -45deg);
  3042 + transform: rotate3d(0, 0, 1, -45deg);
  3043 + opacity: 0;
  3044 + }
  3045 +
  3046 + to {
  3047 + -webkit-transform: translate3d(0, 0, 0);
  3048 + transform: translate3d(0, 0, 0);
  3049 + opacity: 1;
  3050 + }
  3051 +}
  3052 +@keyframes rotateInDownLeft {
  3053 + from {
  3054 + -webkit-transform: rotate3d(0, 0, 1, -45deg);
  3055 + transform: rotate3d(0, 0, 1, -45deg);
  3056 + opacity: 0;
  3057 + }
  3058 +
  3059 + to {
  3060 + -webkit-transform: translate3d(0, 0, 0);
  3061 + transform: translate3d(0, 0, 0);
  3062 + opacity: 1;
  3063 + }
  3064 +}
  3065 +.animate__rotateInDownLeft {
  3066 + -webkit-animation-name: rotateInDownLeft;
  3067 + animation-name: rotateInDownLeft;
  3068 + -webkit-transform-origin: left bottom;
  3069 + transform-origin: left bottom;
  3070 +}
  3071 +@-webkit-keyframes rotateInDownRight {
  3072 + from {
  3073 + -webkit-transform: rotate3d(0, 0, 1, 45deg);
  3074 + transform: rotate3d(0, 0, 1, 45deg);
  3075 + opacity: 0;
  3076 + }
  3077 +
  3078 + to {
  3079 + -webkit-transform: translate3d(0, 0, 0);
  3080 + transform: translate3d(0, 0, 0);
  3081 + opacity: 1;
  3082 + }
  3083 +}
  3084 +@keyframes rotateInDownRight {
  3085 + from {
  3086 + -webkit-transform: rotate3d(0, 0, 1, 45deg);
  3087 + transform: rotate3d(0, 0, 1, 45deg);
  3088 + opacity: 0;
  3089 + }
  3090 +
  3091 + to {
  3092 + -webkit-transform: translate3d(0, 0, 0);
  3093 + transform: translate3d(0, 0, 0);
  3094 + opacity: 1;
  3095 + }
  3096 +}
  3097 +.animate__rotateInDownRight {
  3098 + -webkit-animation-name: rotateInDownRight;
  3099 + animation-name: rotateInDownRight;
  3100 + -webkit-transform-origin: right bottom;
  3101 + transform-origin: right bottom;
  3102 +}
  3103 +@-webkit-keyframes rotateInUpLeft {
  3104 + from {
  3105 + -webkit-transform: rotate3d(0, 0, 1, 45deg);
  3106 + transform: rotate3d(0, 0, 1, 45deg);
  3107 + opacity: 0;
  3108 + }
  3109 +
  3110 + to {
  3111 + -webkit-transform: translate3d(0, 0, 0);
  3112 + transform: translate3d(0, 0, 0);
  3113 + opacity: 1;
  3114 + }
  3115 +}
  3116 +@keyframes rotateInUpLeft {
  3117 + from {
  3118 + -webkit-transform: rotate3d(0, 0, 1, 45deg);
  3119 + transform: rotate3d(0, 0, 1, 45deg);
  3120 + opacity: 0;
  3121 + }
  3122 +
  3123 + to {
  3124 + -webkit-transform: translate3d(0, 0, 0);
  3125 + transform: translate3d(0, 0, 0);
  3126 + opacity: 1;
  3127 + }
  3128 +}
  3129 +.animate__rotateInUpLeft {
  3130 + -webkit-animation-name: rotateInUpLeft;
  3131 + animation-name: rotateInUpLeft;
  3132 + -webkit-transform-origin: left bottom;
  3133 + transform-origin: left bottom;
  3134 +}
  3135 +@-webkit-keyframes rotateInUpRight {
  3136 + from {
  3137 + -webkit-transform: rotate3d(0, 0, 1, -90deg);
  3138 + transform: rotate3d(0, 0, 1, -90deg);
  3139 + opacity: 0;
  3140 + }
  3141 +
  3142 + to {
  3143 + -webkit-transform: translate3d(0, 0, 0);
  3144 + transform: translate3d(0, 0, 0);
  3145 + opacity: 1;
  3146 + }
  3147 +}
  3148 +@keyframes rotateInUpRight {
  3149 + from {
  3150 + -webkit-transform: rotate3d(0, 0, 1, -90deg);
  3151 + transform: rotate3d(0, 0, 1, -90deg);
  3152 + opacity: 0;
  3153 + }
  3154 +
  3155 + to {
  3156 + -webkit-transform: translate3d(0, 0, 0);
  3157 + transform: translate3d(0, 0, 0);
  3158 + opacity: 1;
  3159 + }
  3160 +}
  3161 +.animate__rotateInUpRight {
  3162 + -webkit-animation-name: rotateInUpRight;
  3163 + animation-name: rotateInUpRight;
  3164 + -webkit-transform-origin: right bottom;
  3165 + transform-origin: right bottom;
  3166 +}
  3167 +/* Rotating exits */
  3168 +@-webkit-keyframes rotateOut {
  3169 + from {
  3170 + opacity: 1;
  3171 + }
  3172 +
  3173 + to {
  3174 + -webkit-transform: rotate3d(0, 0, 1, 200deg);
  3175 + transform: rotate3d(0, 0, 1, 200deg);
  3176 + opacity: 0;
  3177 + }
  3178 +}
  3179 +@keyframes rotateOut {
  3180 + from {
  3181 + opacity: 1;
  3182 + }
  3183 +
  3184 + to {
  3185 + -webkit-transform: rotate3d(0, 0, 1, 200deg);
  3186 + transform: rotate3d(0, 0, 1, 200deg);
  3187 + opacity: 0;
  3188 + }
  3189 +}
  3190 +.animate__rotateOut {
  3191 + -webkit-animation-name: rotateOut;
  3192 + animation-name: rotateOut;
  3193 + -webkit-transform-origin: center;
  3194 + transform-origin: center;
  3195 +}
  3196 +@-webkit-keyframes rotateOutDownLeft {
  3197 + from {
  3198 + opacity: 1;
  3199 + }
  3200 +
  3201 + to {
  3202 + -webkit-transform: rotate3d(0, 0, 1, 45deg);
  3203 + transform: rotate3d(0, 0, 1, 45deg);
  3204 + opacity: 0;
  3205 + }
  3206 +}
  3207 +@keyframes rotateOutDownLeft {
  3208 + from {
  3209 + opacity: 1;
  3210 + }
  3211 +
  3212 + to {
  3213 + -webkit-transform: rotate3d(0, 0, 1, 45deg);
  3214 + transform: rotate3d(0, 0, 1, 45deg);
  3215 + opacity: 0;
  3216 + }
  3217 +}
  3218 +.animate__rotateOutDownLeft {
  3219 + -webkit-animation-name: rotateOutDownLeft;
  3220 + animation-name: rotateOutDownLeft;
  3221 + -webkit-transform-origin: left bottom;
  3222 + transform-origin: left bottom;
  3223 +}
  3224 +@-webkit-keyframes rotateOutDownRight {
  3225 + from {
  3226 + opacity: 1;
  3227 + }
  3228 +
  3229 + to {
  3230 + -webkit-transform: rotate3d(0, 0, 1, -45deg);
  3231 + transform: rotate3d(0, 0, 1, -45deg);
  3232 + opacity: 0;
  3233 + }
  3234 +}
  3235 +@keyframes rotateOutDownRight {
  3236 + from {
  3237 + opacity: 1;
  3238 + }
  3239 +
  3240 + to {
  3241 + -webkit-transform: rotate3d(0, 0, 1, -45deg);
  3242 + transform: rotate3d(0, 0, 1, -45deg);
  3243 + opacity: 0;
  3244 + }
  3245 +}
  3246 +.animate__rotateOutDownRight {
  3247 + -webkit-animation-name: rotateOutDownRight;
  3248 + animation-name: rotateOutDownRight;
  3249 + -webkit-transform-origin: right bottom;
  3250 + transform-origin: right bottom;
  3251 +}
  3252 +@-webkit-keyframes rotateOutUpLeft {
  3253 + from {
  3254 + opacity: 1;
  3255 + }
  3256 +
  3257 + to {
  3258 + -webkit-transform: rotate3d(0, 0, 1, -45deg);
  3259 + transform: rotate3d(0, 0, 1, -45deg);
  3260 + opacity: 0;
  3261 + }
  3262 +}
  3263 +@keyframes rotateOutUpLeft {
  3264 + from {
  3265 + opacity: 1;
  3266 + }
  3267 +
  3268 + to {
  3269 + -webkit-transform: rotate3d(0, 0, 1, -45deg);
  3270 + transform: rotate3d(0, 0, 1, -45deg);
  3271 + opacity: 0;
  3272 + }
  3273 +}
  3274 +.animate__rotateOutUpLeft {
  3275 + -webkit-animation-name: rotateOutUpLeft;
  3276 + animation-name: rotateOutUpLeft;
  3277 + -webkit-transform-origin: left bottom;
  3278 + transform-origin: left bottom;
  3279 +}
  3280 +@-webkit-keyframes rotateOutUpRight {
  3281 + from {
  3282 + opacity: 1;
  3283 + }
  3284 +
  3285 + to {
  3286 + -webkit-transform: rotate3d(0, 0, 1, 90deg);
  3287 + transform: rotate3d(0, 0, 1, 90deg);
  3288 + opacity: 0;
  3289 + }
  3290 +}
  3291 +@keyframes rotateOutUpRight {
  3292 + from {
  3293 + opacity: 1;
  3294 + }
  3295 +
  3296 + to {
  3297 + -webkit-transform: rotate3d(0, 0, 1, 90deg);
  3298 + transform: rotate3d(0, 0, 1, 90deg);
  3299 + opacity: 0;
  3300 + }
  3301 +}
  3302 +.animate__rotateOutUpRight {
  3303 + -webkit-animation-name: rotateOutUpRight;
  3304 + animation-name: rotateOutUpRight;
  3305 + -webkit-transform-origin: right bottom;
  3306 + transform-origin: right bottom;
  3307 +}
  3308 +/* Specials */
  3309 +@-webkit-keyframes hinge {
  3310 + 0% {
  3311 + -webkit-animation-timing-function: ease-in-out;
  3312 + animation-timing-function: ease-in-out;
  3313 + }
  3314 +
  3315 + 20%,
  3316 + 60% {
  3317 + -webkit-transform: rotate3d(0, 0, 1, 80deg);
  3318 + transform: rotate3d(0, 0, 1, 80deg);
  3319 + -webkit-animation-timing-function: ease-in-out;
  3320 + animation-timing-function: ease-in-out;
  3321 + }
  3322 +
  3323 + 40%,
  3324 + 80% {
  3325 + -webkit-transform: rotate3d(0, 0, 1, 60deg);
  3326 + transform: rotate3d(0, 0, 1, 60deg);
  3327 + -webkit-animation-timing-function: ease-in-out;
  3328 + animation-timing-function: ease-in-out;
  3329 + opacity: 1;
  3330 + }
  3331 +
  3332 + to {
  3333 + -webkit-transform: translate3d(0, 700px, 0);
  3334 + transform: translate3d(0, 700px, 0);
  3335 + opacity: 0;
  3336 + }
  3337 +}
  3338 +@keyframes hinge {
  3339 + 0% {
  3340 + -webkit-animation-timing-function: ease-in-out;
  3341 + animation-timing-function: ease-in-out;
  3342 + }
  3343 +
  3344 + 20%,
  3345 + 60% {
  3346 + -webkit-transform: rotate3d(0, 0, 1, 80deg);
  3347 + transform: rotate3d(0, 0, 1, 80deg);
  3348 + -webkit-animation-timing-function: ease-in-out;
  3349 + animation-timing-function: ease-in-out;
  3350 + }
  3351 +
  3352 + 40%,
  3353 + 80% {
  3354 + -webkit-transform: rotate3d(0, 0, 1, 60deg);
  3355 + transform: rotate3d(0, 0, 1, 60deg);
  3356 + -webkit-animation-timing-function: ease-in-out;
  3357 + animation-timing-function: ease-in-out;
  3358 + opacity: 1;
  3359 + }
  3360 +
  3361 + to {
  3362 + -webkit-transform: translate3d(0, 700px, 0);
  3363 + transform: translate3d(0, 700px, 0);
  3364 + opacity: 0;
  3365 + }
  3366 +}
  3367 +.animate__hinge {
  3368 + -webkit-animation-duration: calc(1s * 2);
  3369 + animation-duration: calc(1s * 2);
  3370 + -webkit-animation-duration: calc(var(--animate-duration) * 2);
  3371 + animation-duration: calc(var(--animate-duration) * 2);
  3372 + -webkit-animation-name: hinge;
  3373 + animation-name: hinge;
  3374 + -webkit-transform-origin: top left;
  3375 + transform-origin: top left;
  3376 +}
  3377 +@-webkit-keyframes jackInTheBox {
  3378 + from {
  3379 + opacity: 0;
  3380 + -webkit-transform: scale(0.1) rotate(30deg);
  3381 + transform: scale(0.1) rotate(30deg);
  3382 + -webkit-transform-origin: center bottom;
  3383 + transform-origin: center bottom;
  3384 + }
  3385 +
  3386 + 50% {
  3387 + -webkit-transform: rotate(-10deg);
  3388 + transform: rotate(-10deg);
  3389 + }
  3390 +
  3391 + 70% {
  3392 + -webkit-transform: rotate(3deg);
  3393 + transform: rotate(3deg);
  3394 + }
  3395 +
  3396 + to {
  3397 + opacity: 1;
  3398 + -webkit-transform: scale(1);
  3399 + transform: scale(1);
  3400 + }
  3401 +}
  3402 +@keyframes jackInTheBox {
  3403 + from {
  3404 + opacity: 0;
  3405 + -webkit-transform: scale(0.1) rotate(30deg);
  3406 + transform: scale(0.1) rotate(30deg);
  3407 + -webkit-transform-origin: center bottom;
  3408 + transform-origin: center bottom;
  3409 + }
  3410 +
  3411 + 50% {
  3412 + -webkit-transform: rotate(-10deg);
  3413 + transform: rotate(-10deg);
  3414 + }
  3415 +
  3416 + 70% {
  3417 + -webkit-transform: rotate(3deg);
  3418 + transform: rotate(3deg);
  3419 + }
  3420 +
  3421 + to {
  3422 + opacity: 1;
  3423 + -webkit-transform: scale(1);
  3424 + transform: scale(1);
  3425 + }
  3426 +}
  3427 +.animate__jackInTheBox {
  3428 + -webkit-animation-name: jackInTheBox;
  3429 + animation-name: jackInTheBox;
  3430 +}
  3431 +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
  3432 +@-webkit-keyframes rollIn {
  3433 + from {
  3434 + opacity: 0;
  3435 + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  3436 + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  3437 + }
  3438 +
  3439 + to {
  3440 + opacity: 1;
  3441 + -webkit-transform: translate3d(0, 0, 0);
  3442 + transform: translate3d(0, 0, 0);
  3443 + }
  3444 +}
  3445 +@keyframes rollIn {
  3446 + from {
  3447 + opacity: 0;
  3448 + -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  3449 + transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  3450 + }
  3451 +
  3452 + to {
  3453 + opacity: 1;
  3454 + -webkit-transform: translate3d(0, 0, 0);
  3455 + transform: translate3d(0, 0, 0);
  3456 + }
  3457 +}
  3458 +.animate__rollIn {
  3459 + -webkit-animation-name: rollIn;
  3460 + animation-name: rollIn;
  3461 +}
  3462 +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
  3463 +@-webkit-keyframes rollOut {
  3464 + from {
  3465 + opacity: 1;
  3466 + }
  3467 +
  3468 + to {
  3469 + opacity: 0;
  3470 + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  3471 + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  3472 + }
  3473 +}
  3474 +@keyframes rollOut {
  3475 + from {
  3476 + opacity: 1;
  3477 + }
  3478 +
  3479 + to {
  3480 + opacity: 0;
  3481 + -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  3482 + transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  3483 + }
  3484 +}
  3485 +.animate__rollOut {
  3486 + -webkit-animation-name: rollOut;
  3487 + animation-name: rollOut;
  3488 +}
  3489 +/* Zooming entrances */
  3490 +@-webkit-keyframes zoomIn {
  3491 + from {
  3492 + opacity: 0;
  3493 + -webkit-transform: scale3d(0.3, 0.3, 0.3);
  3494 + transform: scale3d(0.3, 0.3, 0.3);
  3495 + }
  3496 +
  3497 + 50% {
  3498 + opacity: 1;
  3499 + }
  3500 +}
  3501 +@keyframes zoomIn {
  3502 + from {
  3503 + opacity: 0;
  3504 + -webkit-transform: scale3d(0.3, 0.3, 0.3);
  3505 + transform: scale3d(0.3, 0.3, 0.3);
  3506 + }
  3507 +
  3508 + 50% {
  3509 + opacity: 1;
  3510 + }
  3511 +}
  3512 +.animate__zoomIn {
  3513 + -webkit-animation-name: zoomIn;
  3514 + animation-name: zoomIn;
  3515 +}
  3516 +@-webkit-keyframes zoomInDown {
  3517 + from {
  3518 + opacity: 0;
  3519 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
  3520 + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
  3521 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3522 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3523 + }
  3524 +
  3525 + 60% {
  3526 + opacity: 1;
  3527 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
  3528 + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
  3529 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3530 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3531 + }
  3532 +}
  3533 +@keyframes zoomInDown {
  3534 + from {
  3535 + opacity: 0;
  3536 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
  3537 + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
  3538 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3539 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3540 + }
  3541 +
  3542 + 60% {
  3543 + opacity: 1;
  3544 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
  3545 + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
  3546 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3547 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3548 + }
  3549 +}
  3550 +.animate__zoomInDown {
  3551 + -webkit-animation-name: zoomInDown;
  3552 + animation-name: zoomInDown;
  3553 +}
  3554 +@-webkit-keyframes zoomInLeft {
  3555 + from {
  3556 + opacity: 0;
  3557 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
  3558 + transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
  3559 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3560 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3561 + }
  3562 +
  3563 + 60% {
  3564 + opacity: 1;
  3565 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
  3566 + transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
  3567 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3568 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3569 + }
  3570 +}
  3571 +@keyframes zoomInLeft {
  3572 + from {
  3573 + opacity: 0;
  3574 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
  3575 + transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
  3576 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3577 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3578 + }
  3579 +
  3580 + 60% {
  3581 + opacity: 1;
  3582 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
  3583 + transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
  3584 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3585 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3586 + }
  3587 +}
  3588 +.animate__zoomInLeft {
  3589 + -webkit-animation-name: zoomInLeft;
  3590 + animation-name: zoomInLeft;
  3591 +}
  3592 +@-webkit-keyframes zoomInRight {
  3593 + from {
  3594 + opacity: 0;
  3595 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
  3596 + transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
  3597 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3598 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3599 + }
  3600 +
  3601 + 60% {
  3602 + opacity: 1;
  3603 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
  3604 + transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
  3605 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3606 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3607 + }
  3608 +}
  3609 +@keyframes zoomInRight {
  3610 + from {
  3611 + opacity: 0;
  3612 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
  3613 + transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
  3614 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3615 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3616 + }
  3617 +
  3618 + 60% {
  3619 + opacity: 1;
  3620 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
  3621 + transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
  3622 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3623 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3624 + }
  3625 +}
  3626 +.animate__zoomInRight {
  3627 + -webkit-animation-name: zoomInRight;
  3628 + animation-name: zoomInRight;
  3629 +}
  3630 +@-webkit-keyframes zoomInUp {
  3631 + from {
  3632 + opacity: 0;
  3633 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
  3634 + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
  3635 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3636 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3637 + }
  3638 +
  3639 + 60% {
  3640 + opacity: 1;
  3641 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
  3642 + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
  3643 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3644 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3645 + }
  3646 +}
  3647 +@keyframes zoomInUp {
  3648 + from {
  3649 + opacity: 0;
  3650 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
  3651 + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
  3652 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3653 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3654 + }
  3655 +
  3656 + 60% {
  3657 + opacity: 1;
  3658 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
  3659 + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
  3660 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3661 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3662 + }
  3663 +}
  3664 +.animate__zoomInUp {
  3665 + -webkit-animation-name: zoomInUp;
  3666 + animation-name: zoomInUp;
  3667 +}
  3668 +/* Zooming exits */
  3669 +@-webkit-keyframes zoomOut {
  3670 + from {
  3671 + opacity: 1;
  3672 + }
  3673 +
  3674 + 50% {
  3675 + opacity: 0;
  3676 + -webkit-transform: scale3d(0.3, 0.3, 0.3);
  3677 + transform: scale3d(0.3, 0.3, 0.3);
  3678 + }
  3679 +
  3680 + to {
  3681 + opacity: 0;
  3682 + }
  3683 +}
  3684 +@keyframes zoomOut {
  3685 + from {
  3686 + opacity: 1;
  3687 + }
  3688 +
  3689 + 50% {
  3690 + opacity: 0;
  3691 + -webkit-transform: scale3d(0.3, 0.3, 0.3);
  3692 + transform: scale3d(0.3, 0.3, 0.3);
  3693 + }
  3694 +
  3695 + to {
  3696 + opacity: 0;
  3697 + }
  3698 +}
  3699 +.animate__zoomOut {
  3700 + -webkit-animation-name: zoomOut;
  3701 + animation-name: zoomOut;
  3702 +}
  3703 +@-webkit-keyframes zoomOutDown {
  3704 + 40% {
  3705 + opacity: 1;
  3706 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
  3707 + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
  3708 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3709 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3710 + }
  3711 +
  3712 + to {
  3713 + opacity: 0;
  3714 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
  3715 + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
  3716 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3717 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3718 + }
  3719 +}
  3720 +@keyframes zoomOutDown {
  3721 + 40% {
  3722 + opacity: 1;
  3723 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
  3724 + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
  3725 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3726 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3727 + }
  3728 +
  3729 + to {
  3730 + opacity: 0;
  3731 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
  3732 + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
  3733 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3734 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3735 + }
  3736 +}
  3737 +.animate__zoomOutDown {
  3738 + -webkit-animation-name: zoomOutDown;
  3739 + animation-name: zoomOutDown;
  3740 + -webkit-transform-origin: center bottom;
  3741 + transform-origin: center bottom;
  3742 +}
  3743 +@-webkit-keyframes zoomOutLeft {
  3744 + 40% {
  3745 + opacity: 1;
  3746 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  3747 + transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  3748 + }
  3749 +
  3750 + to {
  3751 + opacity: 0;
  3752 + -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
  3753 + transform: scale(0.1) translate3d(-2000px, 0, 0);
  3754 + }
  3755 +}
  3756 +@keyframes zoomOutLeft {
  3757 + 40% {
  3758 + opacity: 1;
  3759 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  3760 + transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  3761 + }
  3762 +
  3763 + to {
  3764 + opacity: 0;
  3765 + -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
  3766 + transform: scale(0.1) translate3d(-2000px, 0, 0);
  3767 + }
  3768 +}
  3769 +.animate__zoomOutLeft {
  3770 + -webkit-animation-name: zoomOutLeft;
  3771 + animation-name: zoomOutLeft;
  3772 + -webkit-transform-origin: left center;
  3773 + transform-origin: left center;
  3774 +}
  3775 +@-webkit-keyframes zoomOutRight {
  3776 + 40% {
  3777 + opacity: 1;
  3778 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  3779 + transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  3780 + }
  3781 +
  3782 + to {
  3783 + opacity: 0;
  3784 + -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
  3785 + transform: scale(0.1) translate3d(2000px, 0, 0);
  3786 + }
  3787 +}
  3788 +@keyframes zoomOutRight {
  3789 + 40% {
  3790 + opacity: 1;
  3791 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  3792 + transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  3793 + }
  3794 +
  3795 + to {
  3796 + opacity: 0;
  3797 + -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
  3798 + transform: scale(0.1) translate3d(2000px, 0, 0);
  3799 + }
  3800 +}
  3801 +.animate__zoomOutRight {
  3802 + -webkit-animation-name: zoomOutRight;
  3803 + animation-name: zoomOutRight;
  3804 + -webkit-transform-origin: right center;
  3805 + transform-origin: right center;
  3806 +}
  3807 +@-webkit-keyframes zoomOutUp {
  3808 + 40% {
  3809 + opacity: 1;
  3810 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
  3811 + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
  3812 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3813 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3814 + }
  3815 +
  3816 + to {
  3817 + opacity: 0;
  3818 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
  3819 + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
  3820 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3821 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3822 + }
  3823 +}
  3824 +@keyframes zoomOutUp {
  3825 + 40% {
  3826 + opacity: 1;
  3827 + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
  3828 + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
  3829 + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3830 + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  3831 + }
  3832 +
  3833 + to {
  3834 + opacity: 0;
  3835 + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
  3836 + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
  3837 + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3838 + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  3839 + }
  3840 +}
  3841 +.animate__zoomOutUp {
  3842 + -webkit-animation-name: zoomOutUp;
  3843 + animation-name: zoomOutUp;
  3844 + -webkit-transform-origin: center bottom;
  3845 + transform-origin: center bottom;
  3846 +}
  3847 +/* Sliding entrances */
  3848 +@-webkit-keyframes slideInDown {
  3849 + from {
  3850 + -webkit-transform: translate3d(0, -100%, 0);
  3851 + transform: translate3d(0, -100%, 0);
  3852 + visibility: visible;
  3853 + }
  3854 +
  3855 + to {
  3856 + -webkit-transform: translate3d(0, 0, 0);
  3857 + transform: translate3d(0, 0, 0);
  3858 + }
  3859 +}
  3860 +@keyframes slideInDown {
  3861 + from {
  3862 + -webkit-transform: translate3d(0, -100%, 0);
  3863 + transform: translate3d(0, -100%, 0);
  3864 + visibility: visible;
  3865 + }
  3866 +
  3867 + to {
  3868 + -webkit-transform: translate3d(0, 0, 0);
  3869 + transform: translate3d(0, 0, 0);
  3870 + }
  3871 +}
  3872 +.animate__slideInDown {
  3873 + -webkit-animation-name: slideInDown;
  3874 + animation-name: slideInDown;
  3875 +}
  3876 +@-webkit-keyframes slideInLeft {
  3877 + from {
  3878 + -webkit-transform: translate3d(-100%, 0, 0);
  3879 + transform: translate3d(-100%, 0, 0);
  3880 + visibility: visible;
  3881 + }
  3882 +
  3883 + to {
  3884 + -webkit-transform: translate3d(0, 0, 0);
  3885 + transform: translate3d(0, 0, 0);
  3886 + }
  3887 +}
  3888 +@keyframes slideInLeft {
  3889 + from {
  3890 + -webkit-transform: translate3d(-100%, 0, 0);
  3891 + transform: translate3d(-100%, 0, 0);
  3892 + visibility: visible;
  3893 + }
  3894 +
  3895 + to {
  3896 + -webkit-transform: translate3d(0, 0, 0);
  3897 + transform: translate3d(0, 0, 0);
  3898 + }
  3899 +}
  3900 +.animate__slideInLeft {
  3901 + -webkit-animation-name: slideInLeft;
  3902 + animation-name: slideInLeft;
  3903 +}
  3904 +@-webkit-keyframes slideInRight {
  3905 + from {
  3906 + -webkit-transform: translate3d(100%, 0, 0);
  3907 + transform: translate3d(100%, 0, 0);
  3908 + visibility: visible;
  3909 + }
  3910 +
  3911 + to {
  3912 + -webkit-transform: translate3d(0, 0, 0);
  3913 + transform: translate3d(0, 0, 0);
  3914 + }
  3915 +}
  3916 +@keyframes slideInRight {
  3917 + from {
  3918 + -webkit-transform: translate3d(100%, 0, 0);
  3919 + transform: translate3d(100%, 0, 0);
  3920 + visibility: visible;
  3921 + }
  3922 +
  3923 + to {
  3924 + -webkit-transform: translate3d(0, 0, 0);
  3925 + transform: translate3d(0, 0, 0);
  3926 + }
  3927 +}
  3928 +.animate__slideInRight {
  3929 + -webkit-animation-name: slideInRight;
  3930 + animation-name: slideInRight;
  3931 +}
  3932 +@-webkit-keyframes slideInUp {
  3933 + from {
  3934 + -webkit-transform: translate3d(0, 100%, 0);
  3935 + transform: translate3d(0, 100%, 0);
  3936 + visibility: visible;
  3937 + }
  3938 +
  3939 + to {
  3940 + -webkit-transform: translate3d(0, 0, 0);
  3941 + transform: translate3d(0, 0, 0);
  3942 + }
  3943 +}
  3944 +@keyframes slideInUp {
  3945 + from {
  3946 + -webkit-transform: translate3d(0, 100%, 0);
  3947 + transform: translate3d(0, 100%, 0);
  3948 + visibility: visible;
  3949 + }
  3950 +
  3951 + to {
  3952 + -webkit-transform: translate3d(0, 0, 0);
  3953 + transform: translate3d(0, 0, 0);
  3954 + }
  3955 +}
  3956 +.animate__slideInUp {
  3957 + -webkit-animation-name: slideInUp;
  3958 + animation-name: slideInUp;
  3959 +}
  3960 +/* Sliding exits */
  3961 +@-webkit-keyframes slideOutDown {
  3962 + from {
  3963 + -webkit-transform: translate3d(0, 0, 0);
  3964 + transform: translate3d(0, 0, 0);
  3965 + }
  3966 +
  3967 + to {
  3968 + visibility: hidden;
  3969 + -webkit-transform: translate3d(0, 100%, 0);
  3970 + transform: translate3d(0, 100%, 0);
  3971 + }
  3972 +}
  3973 +@keyframes slideOutDown {
  3974 + from {
  3975 + -webkit-transform: translate3d(0, 0, 0);
  3976 + transform: translate3d(0, 0, 0);
  3977 + }
  3978 +
  3979 + to {
  3980 + visibility: hidden;
  3981 + -webkit-transform: translate3d(0, 100%, 0);
  3982 + transform: translate3d(0, 100%, 0);
  3983 + }
  3984 +}
  3985 +.animate__slideOutDown {
  3986 + -webkit-animation-name: slideOutDown;
  3987 + animation-name: slideOutDown;
  3988 +}
  3989 +@-webkit-keyframes slideOutLeft {
  3990 + from {
  3991 + -webkit-transform: translate3d(0, 0, 0);
  3992 + transform: translate3d(0, 0, 0);
  3993 + }
  3994 +
  3995 + to {
  3996 + visibility: hidden;
  3997 + -webkit-transform: translate3d(-100%, 0, 0);
  3998 + transform: translate3d(-100%, 0, 0);
  3999 + }
  4000 +}
  4001 +@keyframes slideOutLeft {
  4002 + from {
  4003 + -webkit-transform: translate3d(0, 0, 0);
  4004 + transform: translate3d(0, 0, 0);
  4005 + }
  4006 +
  4007 + to {
  4008 + visibility: hidden;
  4009 + -webkit-transform: translate3d(-100%, 0, 0);
  4010 + transform: translate3d(-100%, 0, 0);
  4011 + }
  4012 +}
  4013 +.animate__slideOutLeft {
  4014 + -webkit-animation-name: slideOutLeft;
  4015 + animation-name: slideOutLeft;
  4016 +}
  4017 +@-webkit-keyframes slideOutRight {
  4018 + from {
  4019 + -webkit-transform: translate3d(0, 0, 0);
  4020 + transform: translate3d(0, 0, 0);
  4021 + }
  4022 +
  4023 + to {
  4024 + visibility: hidden;
  4025 + -webkit-transform: translate3d(100%, 0, 0);
  4026 + transform: translate3d(100%, 0, 0);
  4027 + }
  4028 +}
  4029 +@keyframes slideOutRight {
  4030 + from {
  4031 + -webkit-transform: translate3d(0, 0, 0);
  4032 + transform: translate3d(0, 0, 0);
  4033 + }
  4034 +
  4035 + to {
  4036 + visibility: hidden;
  4037 + -webkit-transform: translate3d(100%, 0, 0);
  4038 + transform: translate3d(100%, 0, 0);
  4039 + }
  4040 +}
  4041 +.animate__slideOutRight {
  4042 + -webkit-animation-name: slideOutRight;
  4043 + animation-name: slideOutRight;
  4044 +}
  4045 +@-webkit-keyframes slideOutUp {
  4046 + from {
  4047 + -webkit-transform: translate3d(0, 0, 0);
  4048 + transform: translate3d(0, 0, 0);
  4049 + }
  4050 +
  4051 + to {
  4052 + visibility: hidden;
  4053 + -webkit-transform: translate3d(0, -100%, 0);
  4054 + transform: translate3d(0, -100%, 0);
  4055 + }
  4056 +}
  4057 +@keyframes slideOutUp {
  4058 + from {
  4059 + -webkit-transform: translate3d(0, 0, 0);
  4060 + transform: translate3d(0, 0, 0);
  4061 + }
  4062 +
  4063 + to {
  4064 + visibility: hidden;
  4065 + -webkit-transform: translate3d(0, -100%, 0);
  4066 + transform: translate3d(0, -100%, 0);
  4067 + }
  4068 +}
  4069 +.animate__slideOutUp {
  4070 + -webkit-animation-name: slideOutUp;
  4071 + animation-name: slideOutUp;
  4072 +}
... ...
src/main/resources/static/pageTemplates/css/animate_v4.1.1.min.css 0 → 100644
  1 +@charset "UTF-8";/*!
  2 + * animate.css - https://animate.style/
  3 + * Version - 4.1.1
  4 + * Licensed under the MIT license - http://opensource.org/licenses/MIT
  5 + *
  6 + * Copyright (c) 2020 Animate.css
  7 + */:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animate__animated.animate__infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animate__animated.animate__repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:calc(var(--animate-repeat)*2)}.animate__animated.animate__repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:calc(var(--animate-repeat)*3)}.animate__animated.animate__delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}.animate__animated.animate__delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.animate__animated.animate__delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.animate__animated.animate__delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.animate__animated.animate__faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.animate__animated.animate__fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*0.8);animation-duration:calc(var(--animate-duration)*0.8)}.animate__animated.animate__slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.animate__animated.animate__slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animate__animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.animate__shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.animate__shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.animate__headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.animate__swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.animate__heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.animate__backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}.animate__backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}.animate__backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.animate__backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.animate__bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animate__animated.animate__flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.animate__flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.animate__flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.animate__lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}@keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}.animate__lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.animate__rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.animate__rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.animate__rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.animate__hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.animate__rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
0 8 \ No newline at end of file
... ...
src/main/resources/static/pageTemplates/css/swiper_v4.5.1.css 0 → 100644
  1 +/**
  2 + * Swiper 4.5.1
  3 + * Most modern mobile touch slider and framework with hardware accelerated transitions
  4 + * http://www.idangero.us/swiper/
  5 + *
  6 + * Copyright 2014-2019 Vladimir Kharlampidi
  7 + *
  8 + * Released under the MIT License
  9 + *
  10 + * Released on: September 13, 2019
  11 + */
  12 +.swiper-container {
  13 + margin-left: auto;
  14 + margin-right: auto;
  15 + position: relative;
  16 + overflow: hidden;
  17 + list-style: none;
  18 + padding: 0;
  19 + /* Fix of Webkit flickering */
  20 + z-index: 1;
  21 +}
  22 +.swiper-container-no-flexbox .swiper-slide {
  23 + float: left;
  24 +}
  25 +.swiper-container-vertical > .swiper-wrapper {
  26 + -webkit-box-orient: vertical;
  27 + -webkit-box-direction: normal;
  28 + -webkit-flex-direction: column;
  29 + -ms-flex-direction: column;
  30 + flex-direction: column;
  31 +}
  32 +.swiper-wrapper {
  33 + position: relative;
  34 + width: 100%;
  35 + height: 100%;
  36 + z-index: 1;
  37 + display: -webkit-box;
  38 + display: -webkit-flex;
  39 + display: -ms-flexbox;
  40 + display: flex;
  41 + -webkit-transition-property: -webkit-transform;
  42 + transition-property: -webkit-transform;
  43 + -o-transition-property: transform;
  44 + transition-property: transform;
  45 + transition-property: transform, -webkit-transform;
  46 + -webkit-box-sizing: content-box;
  47 + box-sizing: content-box;
  48 +}
  49 +.swiper-container-android .swiper-slide,
  50 +.swiper-wrapper {
  51 + -webkit-transform: translate3d(0px, 0, 0);
  52 + transform: translate3d(0px, 0, 0);
  53 +}
  54 +.swiper-container-multirow > .swiper-wrapper {
  55 + -webkit-flex-wrap: wrap;
  56 + -ms-flex-wrap: wrap;
  57 + flex-wrap: wrap;
  58 +}
  59 +.swiper-container-free-mode > .swiper-wrapper {
  60 + -webkit-transition-timing-function: ease-out;
  61 + -o-transition-timing-function: ease-out;
  62 + transition-timing-function: ease-out;
  63 + margin: 0 auto;
  64 +}
  65 +.swiper-slide {
  66 + -webkit-flex-shrink: 0;
  67 + -ms-flex-negative: 0;
  68 + flex-shrink: 0;
  69 + width: 100%;
  70 + height: 100%;
  71 + position: relative;
  72 + -webkit-transition-property: -webkit-transform;
  73 + transition-property: -webkit-transform;
  74 + -o-transition-property: transform;
  75 + transition-property: transform;
  76 + transition-property: transform, -webkit-transform;
  77 +}
  78 +.swiper-slide-invisible-blank {
  79 + visibility: hidden;
  80 +}
  81 +/* Auto Height */
  82 +.swiper-container-autoheight,
  83 +.swiper-container-autoheight .swiper-slide {
  84 + height: auto;
  85 +}
  86 +.swiper-container-autoheight .swiper-wrapper {
  87 + -webkit-box-align: start;
  88 + -webkit-align-items: flex-start;
  89 + -ms-flex-align: start;
  90 + align-items: flex-start;
  91 + -webkit-transition-property: height, -webkit-transform;
  92 + transition-property: height, -webkit-transform;
  93 + -o-transition-property: transform, height;
  94 + transition-property: transform, height;
  95 + transition-property: transform, height, -webkit-transform;
  96 +}
  97 +/* 3D Effects */
  98 +.swiper-container-3d {
  99 + -webkit-perspective: 1200px;
  100 + perspective: 1200px;
  101 +}
  102 +.swiper-container-3d .swiper-wrapper,
  103 +.swiper-container-3d .swiper-slide,
  104 +.swiper-container-3d .swiper-slide-shadow-left,
  105 +.swiper-container-3d .swiper-slide-shadow-right,
  106 +.swiper-container-3d .swiper-slide-shadow-top,
  107 +.swiper-container-3d .swiper-slide-shadow-bottom,
  108 +.swiper-container-3d .swiper-cube-shadow {
  109 + -webkit-transform-style: preserve-3d;
  110 + transform-style: preserve-3d;
  111 +}
  112 +.swiper-container-3d .swiper-slide-shadow-left,
  113 +.swiper-container-3d .swiper-slide-shadow-right,
  114 +.swiper-container-3d .swiper-slide-shadow-top,
  115 +.swiper-container-3d .swiper-slide-shadow-bottom {
  116 + position: absolute;
  117 + left: 0;
  118 + top: 0;
  119 + width: 100%;
  120 + height: 100%;
  121 + pointer-events: none;
  122 + z-index: 10;
  123 +}
  124 +.swiper-container-3d .swiper-slide-shadow-left {
  125 + background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  126 + background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  127 + background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  128 + background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  129 +}
  130 +.swiper-container-3d .swiper-slide-shadow-right {
  131 + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  132 + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  133 + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  134 + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  135 +}
  136 +.swiper-container-3d .swiper-slide-shadow-top {
  137 + background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  138 + background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  139 + background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  140 + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  141 +}
  142 +.swiper-container-3d .swiper-slide-shadow-bottom {
  143 + background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  144 + background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  145 + background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  146 + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  147 +}
  148 +/* IE10 Windows Phone 8 Fixes */
  149 +.swiper-container-wp8-horizontal,
  150 +.swiper-container-wp8-horizontal > .swiper-wrapper {
  151 + -ms-touch-action: pan-y;
  152 + touch-action: pan-y;
  153 +}
  154 +.swiper-container-wp8-vertical,
  155 +.swiper-container-wp8-vertical > .swiper-wrapper {
  156 + -ms-touch-action: pan-x;
  157 + touch-action: pan-x;
  158 +}
  159 +.swiper-button-prev,
  160 +.swiper-button-next {
  161 + position: absolute;
  162 + top: 50%;
  163 + width: 27px;
  164 + height: 44px;
  165 + margin-top: -22px;
  166 + z-index: 10;
  167 + cursor: pointer;
  168 + background-size: 27px 44px;
  169 + background-position: center;
  170 + background-repeat: no-repeat;
  171 +}
  172 +.swiper-button-prev.swiper-button-disabled,
  173 +.swiper-button-next.swiper-button-disabled {
  174 + opacity: 0.35;
  175 + cursor: auto;
  176 + pointer-events: none;
  177 +}
  178 +.swiper-button-prev,
  179 +.swiper-container-rtl .swiper-button-next {
  180 + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  181 + left: 10px;
  182 + right: auto;
  183 +}
  184 +.swiper-button-next,
  185 +.swiper-container-rtl .swiper-button-prev {
  186 + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  187 + right: 10px;
  188 + left: auto;
  189 +}
  190 +.swiper-button-prev.swiper-button-white,
  191 +.swiper-container-rtl .swiper-button-next.swiper-button-white {
  192 + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
  193 +}
  194 +.swiper-button-next.swiper-button-white,
  195 +.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  196 + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
  197 +}
  198 +.swiper-button-prev.swiper-button-black,
  199 +.swiper-container-rtl .swiper-button-next.swiper-button-black {
  200 + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
  201 +}
  202 +.swiper-button-next.swiper-button-black,
  203 +.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  204 + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
  205 +}
  206 +.swiper-button-lock {
  207 + display: none;
  208 +}
  209 +.swiper-pagination {
  210 + position: absolute;
  211 + text-align: center;
  212 + -webkit-transition: 300ms opacity;
  213 + -o-transition: 300ms opacity;
  214 + transition: 300ms opacity;
  215 + -webkit-transform: translate3d(0, 0, 0);
  216 + transform: translate3d(0, 0, 0);
  217 + z-index: 10;
  218 +}
  219 +.swiper-pagination.swiper-pagination-hidden {
  220 + opacity: 0;
  221 +}
  222 +/* Common Styles */
  223 +.swiper-pagination-fraction,
  224 +.swiper-pagination-custom,
  225 +.swiper-container-horizontal > .swiper-pagination-bullets {
  226 + bottom: 10px;
  227 + left: 0;
  228 + width: 100%;
  229 +}
  230 +/* Bullets */
  231 +.swiper-pagination-bullets-dynamic {
  232 + overflow: hidden;
  233 + font-size: 0;
  234 +}
  235 +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  236 + -webkit-transform: scale(0.33);
  237 + -ms-transform: scale(0.33);
  238 + transform: scale(0.33);
  239 + position: relative;
  240 +}
  241 +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  242 + -webkit-transform: scale(1);
  243 + -ms-transform: scale(1);
  244 + transform: scale(1);
  245 +}
  246 +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  247 + -webkit-transform: scale(1);
  248 + -ms-transform: scale(1);
  249 + transform: scale(1);
  250 +}
  251 +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  252 + -webkit-transform: scale(0.66);
  253 + -ms-transform: scale(0.66);
  254 + transform: scale(0.66);
  255 +}
  256 +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  257 + -webkit-transform: scale(0.33);
  258 + -ms-transform: scale(0.33);
  259 + transform: scale(0.33);
  260 +}
  261 +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  262 + -webkit-transform: scale(0.66);
  263 + -ms-transform: scale(0.66);
  264 + transform: scale(0.66);
  265 +}
  266 +.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  267 + -webkit-transform: scale(0.33);
  268 + -ms-transform: scale(0.33);
  269 + transform: scale(0.33);
  270 +}
  271 +.swiper-pagination-bullet {
  272 + width: 8px;
  273 + height: 8px;
  274 + display: inline-block;
  275 + border-radius: 100%;
  276 + background: #000;
  277 + opacity: 0.2;
  278 +}
  279 +button.swiper-pagination-bullet {
  280 + border: none;
  281 + margin: 0;
  282 + padding: 0;
  283 + -webkit-box-shadow: none;
  284 + box-shadow: none;
  285 + -webkit-appearance: none;
  286 + -moz-appearance: none;
  287 + appearance: none;
  288 +}
  289 +.swiper-pagination-clickable .swiper-pagination-bullet {
  290 + cursor: pointer;
  291 +}
  292 +.swiper-pagination-bullet-active {
  293 + opacity: 1;
  294 + background: #007aff;
  295 +}
  296 +.swiper-container-vertical > .swiper-pagination-bullets {
  297 + right: 10px;
  298 + top: 50%;
  299 + -webkit-transform: translate3d(0px, -50%, 0);
  300 + transform: translate3d(0px, -50%, 0);
  301 +}
  302 +.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  303 + margin: 6px 0;
  304 + display: block;
  305 +}
  306 +.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  307 + top: 50%;
  308 + -webkit-transform: translateY(-50%);
  309 + -ms-transform: translateY(-50%);
  310 + transform: translateY(-50%);
  311 + width: 8px;
  312 +}
  313 +.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  314 + display: inline-block;
  315 + -webkit-transition: 200ms top, 200ms -webkit-transform;
  316 + transition: 200ms top, 200ms -webkit-transform;
  317 + -o-transition: 200ms transform, 200ms top;
  318 + transition: 200ms transform, 200ms top;
  319 + transition: 200ms transform, 200ms top, 200ms -webkit-transform;
  320 +}
  321 +.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  322 + margin: 0 4px;
  323 +}
  324 +.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  325 + left: 50%;
  326 + -webkit-transform: translateX(-50%);
  327 + -ms-transform: translateX(-50%);
  328 + transform: translateX(-50%);
  329 + white-space: nowrap;
  330 +}
  331 +.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  332 + -webkit-transition: 200ms left, 200ms -webkit-transform;
  333 + transition: 200ms left, 200ms -webkit-transform;
  334 + -o-transition: 200ms transform, 200ms left;
  335 + transition: 200ms transform, 200ms left;
  336 + transition: 200ms transform, 200ms left, 200ms -webkit-transform;
  337 +}
  338 +.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  339 + -webkit-transition: 200ms right, 200ms -webkit-transform;
  340 + transition: 200ms right, 200ms -webkit-transform;
  341 + -o-transition: 200ms transform, 200ms right;
  342 + transition: 200ms transform, 200ms right;
  343 + transition: 200ms transform, 200ms right, 200ms -webkit-transform;
  344 +}
  345 +/* Progress */
  346 +.swiper-pagination-progressbar {
  347 + background: rgba(0, 0, 0, 0.25);
  348 + position: absolute;
  349 +}
  350 +.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  351 + background: #007aff;
  352 + position: absolute;
  353 + left: 0;
  354 + top: 0;
  355 + width: 100%;
  356 + height: 100%;
  357 + -webkit-transform: scale(0);
  358 + -ms-transform: scale(0);
  359 + transform: scale(0);
  360 + -webkit-transform-origin: left top;
  361 + -ms-transform-origin: left top;
  362 + transform-origin: left top;
  363 +}
  364 +.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  365 + -webkit-transform-origin: right top;
  366 + -ms-transform-origin: right top;
  367 + transform-origin: right top;
  368 +}
  369 +.swiper-container-horizontal > .swiper-pagination-progressbar,
  370 +.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  371 + width: 100%;
  372 + height: 4px;
  373 + left: 0;
  374 + top: 0;
  375 +}
  376 +.swiper-container-vertical > .swiper-pagination-progressbar,
  377 +.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  378 + width: 4px;
  379 + height: 100%;
  380 + left: 0;
  381 + top: 0;
  382 +}
  383 +.swiper-pagination-white .swiper-pagination-bullet-active {
  384 + background: #ffffff;
  385 +}
  386 +.swiper-pagination-progressbar.swiper-pagination-white {
  387 + background: rgba(255, 255, 255, 0.25);
  388 +}
  389 +.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  390 + background: #ffffff;
  391 +}
  392 +.swiper-pagination-black .swiper-pagination-bullet-active {
  393 + background: #000000;
  394 +}
  395 +.swiper-pagination-progressbar.swiper-pagination-black {
  396 + background: rgba(0, 0, 0, 0.25);
  397 +}
  398 +.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  399 + background: #000000;
  400 +}
  401 +.swiper-pagination-lock {
  402 + display: none;
  403 +}
  404 +/* Scrollbar */
  405 +.swiper-scrollbar {
  406 + border-radius: 10px;
  407 + position: relative;
  408 + -ms-touch-action: none;
  409 + background: rgba(0, 0, 0, 0.1);
  410 +}
  411 +.swiper-container-horizontal > .swiper-scrollbar {
  412 + position: absolute;
  413 + left: 1%;
  414 + bottom: 3px;
  415 + z-index: 50;
  416 + height: 5px;
  417 + width: 98%;
  418 +}
  419 +.swiper-container-vertical > .swiper-scrollbar {
  420 + position: absolute;
  421 + right: 3px;
  422 + top: 1%;
  423 + z-index: 50;
  424 + width: 5px;
  425 + height: 98%;
  426 +}
  427 +.swiper-scrollbar-drag {
  428 + height: 100%;
  429 + width: 100%;
  430 + position: relative;
  431 + background: rgba(0, 0, 0, 0.5);
  432 + border-radius: 10px;
  433 + left: 0;
  434 + top: 0;
  435 +}
  436 +.swiper-scrollbar-cursor-drag {
  437 + cursor: move;
  438 +}
  439 +.swiper-scrollbar-lock {
  440 + display: none;
  441 +}
  442 +.swiper-zoom-container {
  443 + width: 100%;
  444 + height: 100%;
  445 + display: -webkit-box;
  446 + display: -webkit-flex;
  447 + display: -ms-flexbox;
  448 + display: flex;
  449 + -webkit-box-pack: center;
  450 + -webkit-justify-content: center;
  451 + -ms-flex-pack: center;
  452 + justify-content: center;
  453 + -webkit-box-align: center;
  454 + -webkit-align-items: center;
  455 + -ms-flex-align: center;
  456 + align-items: center;
  457 + text-align: center;
  458 +}
  459 +.swiper-zoom-container > img,
  460 +.swiper-zoom-container > svg,
  461 +.swiper-zoom-container > canvas {
  462 + max-width: 100%;
  463 + max-height: 100%;
  464 + -o-object-fit: contain;
  465 + object-fit: contain;
  466 +}
  467 +.swiper-slide-zoomed {
  468 + cursor: move;
  469 +}
  470 +/* Preloader */
  471 +.swiper-lazy-preloader {
  472 + width: 42px;
  473 + height: 42px;
  474 + position: absolute;
  475 + left: 50%;
  476 + top: 50%;
  477 + margin-left: -21px;
  478 + margin-top: -21px;
  479 + z-index: 10;
  480 + -webkit-transform-origin: 50%;
  481 + -ms-transform-origin: 50%;
  482 + transform-origin: 50%;
  483 + -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  484 + animation: swiper-preloader-spin 1s steps(12, end) infinite;
  485 +}
  486 +.swiper-lazy-preloader:after {
  487 + display: block;
  488 + content: '';
  489 + width: 100%;
  490 + height: 100%;
  491 + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  492 + background-position: 50%;
  493 + background-size: 100%;
  494 + background-repeat: no-repeat;
  495 +}
  496 +.swiper-lazy-preloader-white:after {
  497 + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  498 +}
  499 +@-webkit-keyframes swiper-preloader-spin {
  500 + 100% {
  501 + -webkit-transform: rotate(360deg);
  502 + transform: rotate(360deg);
  503 + }
  504 +}
  505 +@keyframes swiper-preloader-spin {
  506 + 100% {
  507 + -webkit-transform: rotate(360deg);
  508 + transform: rotate(360deg);
  509 + }
  510 +}
  511 +/* a11y */
  512 +.swiper-container .swiper-notification {
  513 + position: absolute;
  514 + left: 0;
  515 + top: 0;
  516 + pointer-events: none;
  517 + opacity: 0;
  518 + z-index: -1000;
  519 +}
  520 +.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  521 + -webkit-transition-timing-function: ease-out;
  522 + -o-transition-timing-function: ease-out;
  523 + transition-timing-function: ease-out;
  524 +}
  525 +.swiper-container-fade .swiper-slide {
  526 + pointer-events: none;
  527 + -webkit-transition-property: opacity;
  528 + -o-transition-property: opacity;
  529 + transition-property: opacity;
  530 +}
  531 +.swiper-container-fade .swiper-slide .swiper-slide {
  532 + pointer-events: none;
  533 +}
  534 +.swiper-container-fade .swiper-slide-active,
  535 +.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  536 + pointer-events: auto;
  537 +}
  538 +.swiper-container-cube {
  539 + overflow: visible;
  540 +}
  541 +.swiper-container-cube .swiper-slide {
  542 + pointer-events: none;
  543 + -webkit-backface-visibility: hidden;
  544 + backface-visibility: hidden;
  545 + z-index: 1;
  546 + visibility: hidden;
  547 + -webkit-transform-origin: 0 0;
  548 + -ms-transform-origin: 0 0;
  549 + transform-origin: 0 0;
  550 + width: 100%;
  551 + height: 100%;
  552 +}
  553 +.swiper-container-cube .swiper-slide .swiper-slide {
  554 + pointer-events: none;
  555 +}
  556 +.swiper-container-cube.swiper-container-rtl .swiper-slide {
  557 + -webkit-transform-origin: 100% 0;
  558 + -ms-transform-origin: 100% 0;
  559 + transform-origin: 100% 0;
  560 +}
  561 +.swiper-container-cube .swiper-slide-active,
  562 +.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  563 + pointer-events: auto;
  564 +}
  565 +.swiper-container-cube .swiper-slide-active,
  566 +.swiper-container-cube .swiper-slide-next,
  567 +.swiper-container-cube .swiper-slide-prev,
  568 +.swiper-container-cube .swiper-slide-next + .swiper-slide {
  569 + pointer-events: auto;
  570 + visibility: visible;
  571 +}
  572 +.swiper-container-cube .swiper-slide-shadow-top,
  573 +.swiper-container-cube .swiper-slide-shadow-bottom,
  574 +.swiper-container-cube .swiper-slide-shadow-left,
  575 +.swiper-container-cube .swiper-slide-shadow-right {
  576 + z-index: 0;
  577 + -webkit-backface-visibility: hidden;
  578 + backface-visibility: hidden;
  579 +}
  580 +.swiper-container-cube .swiper-cube-shadow {
  581 + position: absolute;
  582 + left: 0;
  583 + bottom: 0px;
  584 + width: 100%;
  585 + height: 100%;
  586 + background: #000;
  587 + opacity: 0.6;
  588 + -webkit-filter: blur(50px);
  589 + filter: blur(50px);
  590 + z-index: 0;
  591 +}
  592 +.swiper-container-flip {
  593 + overflow: visible;
  594 +}
  595 +.swiper-container-flip .swiper-slide {
  596 + pointer-events: none;
  597 + -webkit-backface-visibility: hidden;
  598 + backface-visibility: hidden;
  599 + z-index: 1;
  600 +}
  601 +.swiper-container-flip .swiper-slide .swiper-slide {
  602 + pointer-events: none;
  603 +}
  604 +.swiper-container-flip .swiper-slide-active,
  605 +.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  606 + pointer-events: auto;
  607 +}
  608 +.swiper-container-flip .swiper-slide-shadow-top,
  609 +.swiper-container-flip .swiper-slide-shadow-bottom,
  610 +.swiper-container-flip .swiper-slide-shadow-left,
  611 +.swiper-container-flip .swiper-slide-shadow-right {
  612 + z-index: 0;
  613 + -webkit-backface-visibility: hidden;
  614 + backface-visibility: hidden;
  615 +}
  616 +.swiper-container-coverflow .swiper-wrapper {
  617 + /* Windows 8 IE 10 fix */
  618 + -ms-perspective: 1200px;
  619 +}
... ...
src/main/resources/static/pageTemplates/css/swiper_v4.5.1.min.css 0 → 100644
  1 +/**
  2 + * Swiper 4.5.1
  3 + * Most modern mobile touch slider and framework with hardware accelerated transitions
  4 + * http://www.idangero.us/swiper/
  5 + *
  6 + * Copyright 2014-2019 Vladimir Kharlampidi
  7 + *
  8 + * Released under the MIT License
  9 + *
  10 + * Released on: September 13, 2019
  11 + */
  12 +.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;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{-webkit-transform-style:preserve-3d;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:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));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:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));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:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));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:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s opacity;-o-transition:.3s opacity;transition:.3s opacity;-webkit-transform:translate3d(0,0,0);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;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(.33);-ms-transform:scale(.33);transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(.66);-ms-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(.33);-ms-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(.66);-ms-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(.33);-ms-transform:scale(.33);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;-webkit-box-shadow:none;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:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-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%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:.2s top,.2s -webkit-transform;transition:.2s top,.2s -webkit-transform;-o-transition:.2s transform,.2s top;transition:.2s transform,.2s top;transition:.2s transform,.2s top,.2s -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:.2s left,.2s -webkit-transform;transition:.2s left,.2s -webkit-transform;-o-transition:.2s transform,.2s left;transition:.2s transform,.2s left;transition:.2s transform,.2s left,.2s -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:.2s right,.2s -webkit-transform;transition:.2s right,.2s -webkit-transform;-o-transition:.2s transform,.2s right;transition:.2s transform,.2s right;transition:.2s transform,.2s right,.2s -webkit-transform}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;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-bullet-active{background:#fff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255,255,255,.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0,0,0,.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.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:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align: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%;-o-object-fit:contain;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;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader:after{display:block;content:'';width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);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{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;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;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;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{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;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:0;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}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}
0 13 \ No newline at end of file
... ...
src/main/resources/static/pageTemplates/css/v-charts_v1.19.0.css 0 → 100644
  1 +
  2 +
  3 +
  4 +
  5 +
  6 +
  7 +
  8 +
  9 +
  10 +
  11 +
  12 +
  13 +
  14 +.v-charts-component-loading {
  15 + position: absolute;
  16 + left: 0;
  17 + right: 0;
  18 + top: 0;
  19 + bottom: 0;
  20 + display: flex;
  21 + justify-content: center;
  22 + align-items: center;
  23 + background-color: rgba(255, 255, 255, .9);
  24 +}
  25 +
  26 +.v-charts-mask-status {
  27 + -webkit-filter: blur(1px);
  28 + filter: blur(1px);
  29 +}
  30 +
  31 +.v-charts-component-loading .circular {
  32 + width: 42px;
  33 + height: 42px;
  34 + -webkit-animation: loading-rotate 2s linear infinite;
  35 + animation: loading-rotate 2s linear infinite;
  36 +}
  37 +
  38 +.v-charts-component-loading .path {
  39 + -webkit-animation: loading-dash 1.5s ease-in-out infinite;
  40 + animation: loading-dash 1.5s ease-in-out infinite;
  41 + stroke-dasharray: 90,150;
  42 + stroke-dashoffset: 0;
  43 + stroke-width: 2;
  44 + stroke: #20a0ff;
  45 + stroke-linecap: round;
  46 +}
  47 +
  48 +@-webkit-keyframes loading-rotate {
  49 + 100% {
  50 + -webkit-transform: rotate(360deg);
  51 + transform: rotate(360deg);
  52 + }
  53 +}
  54 +
  55 +@keyframes loading-rotate {
  56 + 100% {
  57 + -webkit-transform: rotate(360deg);
  58 + transform: rotate(360deg);
  59 + }
  60 +}
  61 +
  62 +@-webkit-keyframes loading-dash {
  63 + 0% {
  64 + stroke-dasharray: 1, 200;
  65 + stroke-dashoffset: 0;
  66 + }
  67 + 50% {
  68 + stroke-dasharray: 90, 150;
  69 + stroke-dashoffset: -40px;
  70 + }
  71 + 100% {
  72 + stroke-dasharray: 90, 150;
  73 + stroke-dashoffset: -120px;
  74 + }
  75 +}
  76 +
  77 +@keyframes loading-dash {
  78 + 0% {
  79 + stroke-dasharray: 1, 200;
  80 + stroke-dashoffset: 0;
  81 + }
  82 + 50% {
  83 + stroke-dasharray: 90, 150;
  84 + stroke-dashoffset: -40px;
  85 + }
  86 + 100% {
  87 + stroke-dasharray: 90, 150;
  88 + stroke-dashoffset: -120px;
  89 + }
  90 +}
  91 +
  92 +
  93 +
  94 +
  95 +
  96 +
  97 +
  98 +
  99 +.v-charts-data-empty {
  100 + position: absolute;
  101 + left: 0;
  102 + right: 0;
  103 + top: 0;
  104 + bottom: 0;
  105 + display: flex;
  106 + justify-content: center;
  107 + align-items: center;
  108 + background-color: rgba(255, 255, 255, .9);
  109 + color: #888;
  110 + font-size: 14px;
  111 +}
  112 +
... ...
src/main/resources/static/pageTemplates/css/v-charts_v1.19.0.min.css 0 → 100644
  1 +.v-charts-component-loading{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center;background-color:hsla(0,0%,100%,.9)}.v-charts-mask-status{-webkit-filter:blur(1px);filter:blur(1px)}.v-charts-component-loading .circular{width:42px;height:42px;-webkit-animation:a 2s linear infinite;animation:a 2s linear infinite}.v-charts-component-loading .path{-webkit-animation:b 1.5s ease-in-out infinite;animation:b 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#20a0ff;stroke-linecap:round}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes b{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes b{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}
  2 +.v-charts-data-empty{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center;background-color:hsla(0,0%,100%,.9);color:#888;font-size:14px}
... ...
src/main/resources/static/pageTemplates/engine-example.ejs 0 → 100644
  1 +<html>
  2 + <head>
  3 + <title>Luban H5 Preview</title>
  4 + </head>
  5 + <script>window.__work = <%- JSON.stringify(work) %></script>
  6 + <body>
  7 + Q: What's this?
  8 + A: A tiny render engine based on ejs for Luban H5 work
  9 + </body>
  10 +</html>
0 11 \ No newline at end of file
... ...
src/main/resources/static/pageTemplates/engine.ejs 0 → 100644
  1 +<!--
  2 + * @Author: ly525
  3 + * @Date: 2019-12-04 20:24:04
  4 + * @LastEditors: ly525
  5 + * @LastEditTime: 2020-05-03 14:30:37
  6 + * @FilePath: /luban-h5/back-end/h5-api/views/engine.ejs
  7 + * @Github: https://github.com/ly525/luban-h5
  8 + * @Description: 手机端预览模板
  9 + * @Copyright 2018 - 2019 luban-h5. All Rights Reserved
  10 + -->
  11 +
  12 +<html>
  13 +
  14 +<head>
  15 + <meta charset="UTF-8">
  16 + <title><%= work.title %></title>
  17 + <meta name="viewport" id="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
  18 + <meta content="yes" name="apple-mobile-web-app-capable">
  19 + <meta content="black" name="apple-mobile-web-app-status-bar-style">
  20 + <meta content="telephone=no" name="format-detection">
  21 + <meta content="email=no" name="format-detection">
  22 + <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  23 + <script src="https://cdn.jsdelivr.net/npm/vuex/dist/vuex.js"></script>
  24 + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/animate.css@4.1.1/animate.min.css">
  25 + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper/dist/css/swiper.min.css">
  26 + <script src="https://cdn.jsdelivr.net/npm/swiper/dist/js/swiper.min.js"></script>
  27 + <script src="https://cdn.jsdelivr.net/npm/swiper-animation@2.0.2/build/swiper-animation.min.js"></script>
  28 + <!-- <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js" async></script> -->
  29 + <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
  30 +<script src="https://cdn.jsdelivr.net/npm/v-charts/lib/index.min.js"></script>
  31 +<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/v-charts/lib/style.min.css">
  32 + <script>window.__work = <%- JSON.stringify(work) %></script>
  33 + <script src="/engine-assets/engine.umd.min.js"></script>
  34 + <style>
  35 + /*
  36 + scss 文件,用来生成下面一段 style 中的 css
  37 + css 在线转 css:https://www.sassmeister.com/
  38 + */
  39 + /* * {
  40 + outline: none;
  41 + }
  42 +
  43 + .bg-wrapper {
  44 + width: 100%;
  45 + height: 100%;
  46 + background-image: linear-gradient(to top, #fff1eb 0%, #ace0f9 100%);
  47 + }
  48 +
  49 + .preview-wrapper {
  50 + position: relative;
  51 + display: flex;
  52 + flex-wrap: nowrap;
  53 + width: <%= work.width %>px;
  54 + height: 568px;
  55 +
  56 + position: absolute;
  57 + top: 50%;
  58 + left: 50%;
  59 + transform: translate(-50%, -50%);
  60 +
  61 + .phone-wrapper {
  62 + position: absolute;
  63 + width: <%= work.width %>px;
  64 + height: 568px;
  65 + display: inline-block;
  66 + background: #fff;
  67 + box-sizing: content-box;
  68 + border: 10px solid #f6f6f6;
  69 + }
  70 +
  71 + .float-shortcuts {
  72 + position: absolute;
  73 + top: 100px;
  74 + right: 0;
  75 +
  76 + .page-controller {
  77 + position: absolute;
  78 + left: 0 !important;
  79 + display: block;
  80 + box-sizing: border-box;
  81 + width: 22px;
  82 + height: 60px;
  83 + padding: 4px;
  84 + border-top-right-radius: 5px;
  85 + border-bottom-right-radius: 5px;
  86 +
  87 + cursor: pointer;
  88 + background: #2096f9;
  89 + font-size: 12px;
  90 + border: 1px solid #2096f9;
  91 + color: #fff;
  92 +
  93 + &.next {
  94 + top: 80px;
  95 + }
  96 + }
  97 + }
  98 +
  99 + .work-info {
  100 + color: #4a4a4a;
  101 + font-size: 14px;
  102 + margin-left: 380px;
  103 +
  104 + .qrcode-wrapper {
  105 + .qrcode-label {
  106 + }
  107 +
  108 + .qrcode-img {
  109 + }
  110 + }
  111 + }
  112 + } */
  113 + </style>
  114 + <style>
  115 + * {
  116 + outline: none;
  117 + }
  118 +
  119 + .bg-wrapper {
  120 + width: 100%;
  121 + height: 100%;
  122 + background-image: linear-gradient(to top, #fff1eb 0%, #ace0f9 100%);
  123 + }
  124 + /* .swiper-container {
  125 + width: 100%;
  126 + height: 100vh;
  127 + } */
  128 +
  129 + .preview-wrapper {
  130 + position: relative;
  131 + display: flex;
  132 + flex-wrap: nowrap;
  133 + width: <%= work.width %>px;
  134 + height: 568px;
  135 + /* position: absolute;
  136 + left: 0;
  137 + top: 0;
  138 + right: 0;
  139 + bottom: 0;
  140 + margin: auto; */
  141 + position: absolute;
  142 + top: 50%;
  143 + left: 50%;
  144 + transform: translate(-50%, -50%);
  145 + }
  146 + .preview-wrapper .phone-wrapper {
  147 + position: absolute;
  148 + width: <%= work.width %>px;
  149 + height: 568px;
  150 + display: inline-block;
  151 + background: #fff;
  152 + box-sizing: content-box;
  153 + border: 10px solid #f6f6f6;
  154 + }
  155 + .preview-wrapper .float-shortcuts {
  156 + position: absolute;
  157 + top: 100px;
  158 + right: 0;
  159 + }
  160 + .preview-wrapper .float-shortcuts .page-controller {
  161 + position: absolute;
  162 + left: 0 !important;
  163 + display: block;
  164 + box-sizing: border-box;
  165 + width: 22px;
  166 + height: 60px;
  167 + padding: 4px;
  168 + border-top-right-radius: 5px;
  169 + border-bottom-right-radius: 5px;
  170 + cursor: pointer;
  171 + background: #2096f9;
  172 + font-size: 12px;
  173 + /* border: 1px solid #2096f9; */
  174 + color: #fff;
  175 + }
  176 + .preview-wrapper .float-shortcuts .page-controller.next {
  177 + top: 80px;
  178 + }
  179 + .preview-wrapper .work-info {
  180 + color: #4a4a4a;
  181 + font-size: 14px;
  182 + margin-left: 380px;
  183 + }
  184 +
  185 + </style>
  186 +</head>
  187 +<body>
  188 + <div class="bg-wrapper"></div>
  189 + <div class="preview-wrapper">
  190 + <div class="phone-wrapper">
  191 + <div class="float-shortcuts">
  192 + <a class="page-controller swiper-button-prev prev">上一页</a>
  193 + <a class="page-controller swiper-button-next next">下一页</a>
  194 + </div>
  195 + <div id="app">
  196 + <engine />
  197 + </div>
  198 + </div>
  199 + <div class="work-info">
  200 + <div class="qrcode-wrapper">
  201 + <div class="qrcode-label">
  202 + <span>手机扫码分享给好友</span>
  203 + </div>
  204 + <div class="qrcode-img">
  205 + <canvas style="float: left" id="qrcode-canvas"></canvas>
  206 + </div>
  207 + </div>
  208 + </div>
  209 + </div>
  210 + <script>
  211 + !function () {
  212 + function isMobile() {
  213 + var mobileDeviceReg = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobi/i
  214 + return mobileDeviceReg.test(navigator.userAgent) || window.innerWidth < 500
  215 + }
  216 +
  217 + function updateViewport() {
  218 + var scale = 1;
  219 + var w = document.documentElement.clientWidth || <%= work.width %>;
  220 + // var h = document.documentElement.clientHeight || 568;
  221 + // scale = w/h >= <%= work.width %>/568 ? h/568 : w/<%= work.width %>;
  222 + scale = w/<%= work.width %>;
  223 + var viewport = "width=<%= work.width %>, initial-scale=" + scale + ", maximum-scale=" + scale + ", user-scalable=no";
  224 + document.getElementById("viewport").setAttribute("content", viewport)
  225 + }
  226 +
  227 + function doMobileActions () {
  228 + updateViewport();
  229 + var app = document.getElementById('app');
  230 + document.body.innerHTML = '';
  231 + document.body.appendChild(app);
  232 + }
  233 +
  234 + var loadJS = function (url, callback, location) {
  235 + location = location || document.head
  236 +
  237 + var scriptTag = document.createElement('script');
  238 + scriptTag.onload = callback;
  239 + // scriptTag.onreadystatechange = callback;
  240 + scriptTag.src = url;
  241 + location.appendChild(scriptTag);
  242 + };
  243 +
  244 + function drawQRcode () {
  245 + var canvas = document.getElementById('qrcode-canvas')
  246 + QRCode.toCanvas(canvas, window.location.href, {
  247 + scale: 4
  248 + })
  249 + }
  250 +
  251 + function doPCActions() {
  252 + loadJS('https://cdn.jsdelivr.net/npm/qrcode/build/qrcode.min.js', drawQRcode);
  253 + }
  254 +
  255 + isMobile() ? doMobileActions() : doPCActions();
  256 + }();
  257 + </script>
  258 + <script>
  259 + // Vue.component('engine', window.Engine)
  260 + new Vue({
  261 + el: '#app',
  262 + data: {},
  263 + });
  264 + </script>
  265 + <script>
  266 + const swiperAnimation = new SwiperAnimation();
  267 +
  268 + var mySwiper = new Swiper('.swiper-container', {
  269 + // Optional parameters
  270 + direction: 'vertical',
  271 + loop: false,
  272 + // If we need pagination
  273 + pagination: {
  274 + el: '.swiper-pagination',
  275 + },
  276 + // Navigation arrows
  277 + navigation: {
  278 + nextEl: '.swiper-button-next',
  279 + prevEl: '.swiper-button-prev',
  280 + },
  281 + // And if we need scrollbar
  282 + scrollbar: {
  283 + el: '.swiper-scrollbar',
  284 + },
  285 + on: {
  286 + init: function () {
  287 + swiperAnimation.init(this).animate();
  288 + },
  289 + slideChange: function () {
  290 + swiperAnimation.init(this).animate();
  291 + }
  292 + }
  293 + });
  294 +
  295 + function title(str) {
  296 + if (str.length <= 1) return str.toUpperCase()
  297 + return str.slice(0,1).toUpperCase() + str.slice(1)
  298 + }
  299 +
  300 + function displayMessage ({ origin, data }) {
  301 + if (['next', 'prev'].includes(data) && origin === window.location.origin) {
  302 + // 不采用下面的原因:在移动端和小屏幕上,会移除:.swiper-button-prev, .swiper-button-next 按钮
  303 + // document.querySelector(`.swiper-button-${data}`).click()
  304 +
  305 + var action = `slide${title(data)}`
  306 + mySwiper[action]()
  307 + }
  308 + }
  309 +
  310 + if (window.addEventListener) {
  311 + window.addEventListener("message", displayMessage, false);
  312 + } else {
  313 + window.attachEvent("onmessage", displayMessage);
  314 + }
  315 + </script>
  316 + <!-- build:js scripts/vendor.js -->
  317 + <!-- endbuild -->
  318 +</body>
  319 +
  320 +</html>
0 321 \ No newline at end of file
... ...