diff --git a/.github/conf/.goreleaser.yml b/.github/conf/.goreleaser.yml index d27812d..02bdcd9 100644 --- a/.github/conf/.goreleaser.yml +++ b/.github/conf/.goreleaser.yml @@ -1,6 +1,7 @@ before: hooks: - go mod tidy + - builds: - binary: seamoon env: @@ -14,7 +15,7 @@ builds: - 6 - 7 ldflags: - - -s -w -X github.com/DVKunion/SeaMoon/pkg/consts.Version={{.Version}} + - -s -w -X github.com/DVKunion/SeaMoon/pkg/consts.Version={{.Version}} -X github.com/DVKunion/SeaMoon/pkg/consts.Commit={{.Sha}} checksum: name_template: 'checksums.txt' snapshot: diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 97f41d0..632f164 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,11 +11,32 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Clone seamoon-web repository + uses: actions/checkout@v4 + with: + repository: 'DVKunion/seamoon-web' + ref: 'main' # Or any other branch or tag you want to checkout + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + - name: Install dependencies + run: | + npm install + - name: Build Front + run: | + npm run build + cp -r dist /tmp + - uses: actions/checkout@v4 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v5 with: go-version: 1.21 - name: Build - run: go build --ldflags "-s -w -X github.com/DVKunion/SeaMoon/pkg/consts.Version=${{github.ref_name}}" cmd/main.go - + run: | + cp -r /tmp/dist cmd/client/static + go mod tidy + go build -o seamoon -v --ldflags "-s -w -X github.com/DVKunion/SeaMoon/pkg/consts.Version=${{github.ref_name}} -X github.com/DVKunion/SeaMoon/pkg/consts.Commit=${{github.sha}}" cmd/main.go + - uses: actions/upload-artifact@v4 + with: + path: seamoon \ No newline at end of file diff --git a/.github/workflows/package.yaml b/.github/workflows/package.yaml index 819460f..ccd588a 100644 --- a/.github/workflows/package.yaml +++ b/.github/workflows/package.yaml @@ -10,14 +10,14 @@ jobs: runs-on: ubuntu-20.04 if: startsWith(github.ref, 'refs/tags/') steps: - - uses: actions/checkout@v3 - - uses: docker/setup-qemu-action@v2 - - uses: docker/setup-buildx-action@v2 - - uses: docker/login-action@v2 + - uses: actions/checkout@v4 + - uses: docker/setup-qemu-action@v3 + - uses: docker/setup-buildx-action@v3 + - uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - uses: docker/build-push-action@v3 + - uses: docker/build-push-action@v5 with: push: true platforms: | diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 27ce44e..a0924f5 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -16,9 +16,9 @@ jobs: node-version: [ 18.x ] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3f0c7d2..cf61bde 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,16 +11,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v5 with: go-version: 1.21 id: go - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v2 + uses: goreleaser/goreleaser-action@v5 with: distribution: goreleaser version: latest diff --git a/.gitignore b/.gitignore index c037d28..4a6da87 100644 --- a/.gitignore +++ b/.gitignore @@ -22,7 +22,7 @@ *.crt *.key -dist/ +cmd/client/static/dist/* web/ *.log *.toml @@ -31,4 +31,5 @@ web/ node_modules bootstrap .s/ -.seamoom \ No newline at end of file +.seamoom +.seamoon.db \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 996adb5..963fd8e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,8 @@ COPY .. /src WORKDIR /src ENV CGO_ENABLED 0 ENV VERSION=${VERSION} -RUN go build -ldflags "-X github.com/DVKunion/SeaMoon/server/consts.Version=${VERSION}" -o /tmp/seamoon cmd/main.go +ENV SHA=${SHA} +RUN go build -ldflags "-X github.com/DVKunion/SeaMoon/server/consts.Version=${VERSION} -X github.com/DVKunion/SeaMoon/server/consts.Commit=${SHA}" -o /tmp/seamoon cmd/main.go RUN chmod +x /tmp/seamoon # run stage FROM alpine:3.19 diff --git a/README.md b/README.md index 747742a..c5d873b 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ 月海之名取自于苏轼的《西江月·顷在黄州》,寓意月海取自于传统工具,用之于云,最终达到隐匿于海的效果。 -月海基于 Serverless 的动态特性、分别从网络层、应用层实现对应的能力,并利用serverless-devs工具来实现快捷的部署/跨厂商操作。 +月海基于 Serverless 的动态特性、分别从网络层、应用层实现对应的能力,并集成了SDK来实现快捷的部署/跨厂商操作。 想要了解更多,请移步 [官方手册](https://seamoon.dvkunion.cn) diff --git a/cmd/client/api/control/auth.go b/cmd/client/api/control/auth.go new file mode 100644 index 0000000..b2773c2 --- /dev/null +++ b/cmd/client/api/control/auth.go @@ -0,0 +1,87 @@ +package control + +import ( + "crypto/md5" + "encoding/hex" + "net/http" + "strings" + + "github.com/gin-gonic/gin" + + "github.com/DVKunion/SeaMoon/cmd/client/api/models" + "github.com/DVKunion/SeaMoon/cmd/client/api/service" + "github.com/DVKunion/SeaMoon/cmd/client/api/types" + "github.com/DVKunion/SeaMoon/pkg/tools" +) + +type AuthController struct { + svc service.ApiService +} + +func (a AuthController) Login(c *gin.Context) { + var obj *models.Auth + if err := c.ShouldBindJSON(&obj); err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + if obj.Username == "" || obj.Password == "" { + c.JSON(http.StatusBadRequest, errorMsg(10003)) + return + } + // 检查用户是否存在 + data := a.svc.List(0, 1, false, service.Condition{Key: "USERNAME", Value: obj.Username}, service.Condition{Key: "TYPE", Value: types.Admin}) + if len(data.([]models.Auth)) != 1 { + c.JSON(http.StatusForbidden, errorMsg(10010)) + return + } + // 检查用户密码是否正确 + target := data.([]models.Auth)[0] + hash := md5.New() + + // 写入数据到哈希实例中 + hash.Write([]byte(obj.Password)) + + // 计算哈希值 + if target.Password != strings.ToLower(hex.EncodeToString(hash.Sum(nil))) { + c.JSON(http.StatusForbidden, errorMsg(10010)) + return + } + + token, err := JWTAuth(target.Username, target.Type) + if err != nil { + c.JSON(http.StatusForbidden, errorMsg(10010)) + return + } + + c.JSON(http.StatusOK, successMsg(1, token)) +} + +func (a AuthController) Passwd(c *gin.Context) { + var obj *models.Auth + if err := c.ShouldBindJSON(&obj); err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + if obj.Username == "" || obj.Password == "" { + c.JSON(http.StatusBadRequest, errorMsg(10003)) + return + } + // 检查用户是否存在 + data := a.svc.List(0, 1, false, service.Condition{Key: "USERNAME", Value: obj.Username}, service.Condition{Key: "TYPE", Value: types.Admin}) + if len(data.([]models.Auth)) != 1 { + c.JSON(http.StatusBadRequest, errorMsg(10002)) + return + } + target := data.([]models.Auth)[0] + hash := md5.New() + + // 写入数据到哈希实例中 + hash.Write([]byte(obj.Password)) + + // 更新数据 + target.Password = strings.ToLower(hex.EncodeToString(hash.Sum(nil))) + a.svc.Update(target.ID, &target) + // 更新 jwt secret 让之前的 token 失效 + secret = []byte(tools.GenerateRandomString(64)) + c.JSON(http.StatusOK, successMsg(1, "更新成功")) +} diff --git a/cmd/client/api/control/cloud.go b/cmd/client/api/control/cloud.go new file mode 100644 index 0000000..a9aa544 --- /dev/null +++ b/cmd/client/api/control/cloud.go @@ -0,0 +1,198 @@ +package control + +import ( + "net/http" + "strconv" + + "github.com/gin-gonic/gin" + + "github.com/DVKunion/SeaMoon/cmd/client/api/models" + "github.com/DVKunion/SeaMoon/cmd/client/api/service" + "github.com/DVKunion/SeaMoon/cmd/client/api/types" + "github.com/DVKunion/SeaMoon/cmd/client/sdk" +) + +type CloudProviderController struct { + svc service.ApiService +} + +func (cp CloudProviderController) ListCloudProviders(c *gin.Context) { + var ok bool + var count int64 + var res = make([]*models.CloudProviderApi, 0) + var data []models.CloudProvider + id, err := getPathId(c) + page, size := getPageSize(c) + if err != nil { + count = cp.svc.Count() + if count < 0 { + c.JSON(http.StatusOK, successMsg(count, res)) + return + } + data, ok = cp.svc.List(page, size, true).([]models.CloudProvider) + } else { + count = cp.svc.Count(service.Condition{ + Key: "ID", + Value: strconv.Itoa(id), + }) + if count < 0 { + c.JSON(http.StatusOK, successMsg(count, res)) + return + } + data, ok = cp.svc.List(page, size, true, service.Condition{ + Key: "ID", + Value: strconv.Itoa(id), + }).([]models.CloudProvider) + } + if !ok { + c.JSON(http.StatusBadRequest, errorMsg(10004)) + } + // 处理 API + for _, d := range data { + api := models.ToApi(d, &models.CloudProviderApi{}, d.Extra()) + res = append(res, api.(*models.CloudProviderApi)) + } + c.JSON(http.StatusOK, successMsg(count, res)) + return +} + +func (cp CloudProviderController) ListActiveCloudProviders(c *gin.Context) { + var ok bool + var count int64 + var res = make([]*models.CloudProviderApi, 0) + var data []models.CloudProvider + page, size := getPageSize(c) + count = cp.svc.Count(service.Condition{ + Key: "Status", + Value: types.SUCCESS, + }) + if count < 0 { + c.JSON(http.StatusOK, successMsg(count, res)) + return + } + data, ok = cp.svc.List(page, size, true, + service.Condition{ + Key: "Status", + Value: types.SUCCESS, + }).([]models.CloudProvider) + if !ok { + c.JSON(http.StatusBadRequest, errorMsg(10004)) + } + for _, d := range data { + api := models.ToApi(d, &models.CloudProviderApi{}, d.Extra()) + res = append(res, api.(*models.CloudProviderApi)) + } + c.JSON(http.StatusOK, successMsg(count, res)) + return +} + +func (cp CloudProviderController) GetCloudProvider(c *gin.Context) { + id, err := getPathId(c) + if err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + data, ok := cp.svc.GetById(uint(id)).(models.CloudProvider) + if !ok { + c.JSON(http.StatusBadRequest, errorMsg(10004)) + } + c.JSON(http.StatusOK, successMsg(1, models.ToApi(data, &models.CloudProviderApi{}, data.Extra()))) +} + +func (cp CloudProviderController) CreateCloudProvider(c *gin.Context) { + var obj models.CloudProviderCreateApi + if err := c.ShouldBindJSON(&obj); err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + // 去重 + if exist := service.Exist(cp.svc, service.Condition{ + Key: "NAME", + Value: obj.Name, + }); exist { + c.JSON(http.StatusBadRequest, errorMsg(10001)) + return + } + + target := &models.CloudProvider{} + // 转换成对应的结构 + models.ToModel(obj, target) + // 填充 null 字段 + models.AutoFull(target) + target = cp.svc.Create(target).(*models.CloudProvider) + cp.sync(target.ID, c) +} + +func (cp CloudProviderController) UpdateCloudProvider(c *gin.Context) { + var obj *models.CloudProviderCreateApi + if err := c.ShouldBindJSON(&obj); err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + id, err := getPathId(c) + if err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + + target := &models.CloudProvider{} + // 转换成对应的结构 + models.ToModel(obj, target) + target = cp.svc.Update(uint(id), target).(*models.CloudProvider) + + c.JSON(http.StatusOK, successMsg(1, models.ToApi(target, &models.CloudProviderApi{}, target.Extra()))) +} + +func (cp CloudProviderController) SyncCloudProvider(c *gin.Context) { + id, err := getPathId(c) + if err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + cp.sync(uint(id), c) +} + +func (cp CloudProviderController) DeleteCloudProvider(c *gin.Context) { + id, err := getPathId(c) + if err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + + obj := cp.svc.GetById(uint(id)) + + if obj == nil { + c.JSON(http.StatusBadRequest, errorMsg(100002)) + return + } + + cp.svc.Delete(uint(id)) + c.JSON(http.StatusOK, successMsg(0, nil)) +} + +func (cp CloudProviderController) sync(id uint, c *gin.Context) { + target := cp.svc.GetById(id).(*models.CloudProvider) + + err := sdk.GetSDK(*target.Type).Auth(target.ID) + if err != nil { + *target.Status = types.AUTH_ERROR + cp.svc.Update(target.ID, target) + c.JSON(http.StatusBadRequest, errorMsgInfo(err.Error())) + return + } + // 自动同步函数 + err = sdk.GetSDK(*target.Type).SyncFC(target.ID) + if err != nil { + *target.Status = types.SYNC_ERROR + cp.svc.Update(target.ID, target) + c.JSON(http.StatusBadRequest, errorMsgInfo(err.Error())) + return + } + + // 更新完的 + target = cp.svc.GetById(target.ID).(*models.CloudProvider) + *target.Status = types.SUCCESS + + cp.svc.Update(target.ID, target) + c.JSON(http.StatusOK, successMsg(1, models.ToApi(target, &models.CloudProviderApi{}, target.Extra()))) +} diff --git a/cmd/client/api/control/config.go b/cmd/client/api/control/config.go new file mode 100644 index 0000000..d8245fa --- /dev/null +++ b/cmd/client/api/control/config.go @@ -0,0 +1,34 @@ +package control + +import ( + "net/http" + + "github.com/gin-gonic/gin" + + "github.com/DVKunion/SeaMoon/cmd/client/api/models" + "github.com/DVKunion/SeaMoon/cmd/client/api/service" +) + +type SysConfigController struct { + svc service.ApiService +} + +func (sc SysConfigController) ListSystemConfigs(c *gin.Context) { + page, size := getPageSize(c) + + var obj = sc.svc.List(page, size, false).([]*models.SystemConfig) + + c.JSON(http.StatusOK, successMsg(1, models.ToSystemConfigApi(obj))) +} + +func (sc SysConfigController) UpdateSystemConfig(c *gin.Context) { + var obj models.SystemConfigApi + if err := c.ShouldBindJSON(&obj); err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + // model 转换 + target := obj.ToModel() + sc.svc.Update(0, target) + c.JSON(http.StatusOK, successMsg(1, obj)) +} diff --git a/cmd/client/api/control/control.go b/cmd/client/api/control/control.go new file mode 100644 index 0000000..47d785d --- /dev/null +++ b/cmd/client/api/control/control.go @@ -0,0 +1,112 @@ +package control + +import ( + "net/http" + "strconv" + + "github.com/gin-gonic/gin" + + "github.com/DVKunion/SeaMoon/cmd/client/api/service" +) + +var ( + StatisticC = StatisticController{} + AuthC = AuthController{ + service.GetService("auth"), + } + ProxyC = ProxyController{ + service.GetService("proxy"), + service.GetService("tunnel"), + } + TunnelC = TunnelController{ + service.GetService("tunnel"), + service.GetService("provider"), + } + ProviderC = CloudProviderController{ + service.GetService("provider"), + } + SysConfigC = SysConfigController{ + service.GetService("config"), + } +) + +// PageNotFound 404页面 +func PageNotFound(c *gin.Context) { + c.JSON(http.StatusNotFound, errorMsg(10404)) +} + +// 通用获取页面信息 +func getPageSize(c *gin.Context) (int, int) { + defaultPageSize := 10 + defaultPageNum := 0 + + pageStr := c.Query("page") + sizeStr := c.Query("size") + + page, errPage := strconv.Atoi(pageStr) + if errPage != nil { + page = defaultPageNum + } + + size, errSize := strconv.Atoi(sizeStr) + if errSize != nil { + size = defaultPageSize + } + return page, size +} + +// 通用获取 path 信息 +func getPathId(c *gin.Context) (int, error) { + return strconv.Atoi(c.Param("id")) +} + +// 通用 正常响应 +func successMsg(total int64, data interface{}) gin.H { + return gin.H{ + "success": true, + "total": total, + "data": data, + } +} + +var errorCodeMaps = map[int]string{ + 10000: "请求结构错误", + 10001: "请求数据重复", + 10002: "请求数据不存在", + 10003: "请求数据字段缺失", + 10004: "请求数据异常", + + 10010: "认证失败", + 10011: "需要认证", + 10012: "权限不足", + 10013: "Limit限制", + + 10404: "页面不存在", +} + +// 通用 错误响应 +func errorMsg(code int) gin.H { + + if msg, ok := errorCodeMaps[code]; ok { + return gin.H{ + "success": false, + "code": code, + "msg": msg, + } + } + + return gin.H{ + "type": "error", + "code": code, + "msg": "unknown error", + } +} + +func errorMsgInfo(m string) gin.H { + + return gin.H{ + "success": false, + "code": 99999, + "msg": m, + } +} diff --git a/cmd/client/api/control/jwt.go b/cmd/client/api/control/jwt.go new file mode 100644 index 0000000..1bafaaf --- /dev/null +++ b/cmd/client/api/control/jwt.go @@ -0,0 +1,65 @@ +package control + +import ( + "net/http" + "time" + + "github.com/gin-gonic/gin" + "github.com/golang-jwt/jwt" + + "github.com/DVKunion/SeaMoon/cmd/client/api/types" + "github.com/DVKunion/SeaMoon/pkg/tools" +) + +var secret = []byte(tools.GenerateRandomString(64)) + +func JWTAuth(user string, t types.AuthType) (string, error) { + // 生成 token + token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{ + "user": user, + "type": t, + "exp": time.Now().Add(time.Hour * 72).Unix(), + }) + + return token.SignedString(secret) +} + +func JWTAuthMiddleware(debug bool) gin.HandlerFunc { + return func(c *gin.Context) { + // debug 模式跳过认证 + if debug { + c.Next() + return + } + // 这里简化了JWT验证逻辑,实际使用时应更复杂 + tokenString := c.GetHeader("Authorization") + + if tokenString == "" { + c.JSON(http.StatusUnauthorized, errorMsg(10011)) + c.Abort() + return + } + + // 验证token是否有效 + token, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) { + return secret, nil + }) + + if err != nil { + c.JSON(http.StatusForbidden, errorMsg(10010)) + c.Abort() + return + } + + if claims, ok := token.Claims.(jwt.MapClaims); ok && token.Valid { + if cast, ok := claims["type"].(float64); ok && types.AuthType(cast) == types.Admin { + c.Next() + return + } + } + + c.JSON(http.StatusForbidden, errorMsg(10012)) + c.Abort() + return + } +} diff --git a/cmd/client/api/control/proxy.go b/cmd/client/api/control/proxy.go new file mode 100644 index 0000000..bb76578 --- /dev/null +++ b/cmd/client/api/control/proxy.go @@ -0,0 +1,189 @@ +package control + +import ( + "net/http" + "strconv" + + "github.com/gin-gonic/gin" + + "github.com/DVKunion/SeaMoon/cmd/client/api/models" + "github.com/DVKunion/SeaMoon/cmd/client/api/service" + "github.com/DVKunion/SeaMoon/cmd/client/api/signal" + "github.com/DVKunion/SeaMoon/cmd/client/api/types" + "github.com/DVKunion/SeaMoon/pkg/tunnel" +) + +type ProxyController struct { + svc service.ApiService + tsvc service.ApiService +} + +func (pc ProxyController) ListProxies(c *gin.Context) { + var res = make([]*models.ProxyApi, 0) + var data []models.Proxy + var ok bool + var count int64 + id, err := getPathId(c) + page, size := getPageSize(c) + if err != nil { + count = pc.svc.Count() + if count < 0 { + c.JSON(http.StatusOK, successMsg(count, res)) + return + } + data, ok = pc.svc.List(page, size, true).([]models.Proxy) + } else { + count = pc.svc.Count(service.Condition{ + Key: "ID", + Value: strconv.Itoa(id), + }) + if count < 0 { + c.JSON(http.StatusOK, successMsg(count, res)) + return + } + data, ok = pc.svc.List(page, size, true, service.Condition{ + Key: "ID", + Value: strconv.Itoa(id), + }).([]models.Proxy) + } + if !ok { + c.JSON(http.StatusBadRequest, errorMsg(10004)) + } + // 处理 API + for _, d := range data { + api := models.ToApi(d, &models.ProxyApi{}) + res = append(res, api.(*models.ProxyApi)) + } + + c.JSON(http.StatusOK, successMsg(count, res)) + return +} + +func (pc ProxyController) GetProxy(c *gin.Context) { + id, err := getPathId(c) + if err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + proxy := pc.svc.GetById(uint(id)).(models.Proxy) + c.JSON(http.StatusOK, successMsg(1, models.ToApi(proxy, &models.ProxyApi{}))) +} + +func (pc ProxyController) CreateProxy(c *gin.Context) { + var obj *models.ProxyCreateApi + var proxy *models.Proxy + if err := c.ShouldBindJSON(&obj); err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + // 先查询一下是否存在 + if exist := service.Exist(pc.svc, service.Condition{ + Key: "NAME", + Value: obj.Name, + }, service.Condition{ + Key: "tunnel_id", + Value: obj.TunnelId, + }); exist { + c.JSON(http.StatusBadRequest, errorMsg(10001)) + return + } + + // 判断是从账户还是从函数 + if obj.TunnelId != 0 { + // 去查询队列 + tun := pc.tsvc.GetById(obj.TunnelId).(*models.Tunnel) + if tun != nil && tun.ID != 0 { + // 说明没问题,继续 + target := &models.Proxy{} + // 转换成对应的结构 + models.ToModel(obj, target) + // 填充 null 字段 + models.AutoFull(target) + proxy = pc.svc.Create(target).(*models.Proxy) + + tun.Proxies = append(tun.Proxies, *proxy) + pc.tsvc.Update(tun.ID, tun) + } + } + + // 判断是否从账户来的,账户来的需要先创建 tunnel + if obj.TunnelCreateApi != nil { + // 说明没问题,继续 + target := &models.Proxy{} + // 转换成对应的结构 + models.ToModel(obj, target) + // 填充 null 字段 + models.AutoFull(target) + proxy = pc.svc.Create(target).(*models.Proxy) + // 创建 tunnel + tun, err := TunnelC.createTunnel(obj.TunnelCreateApi) + if err != nil { + *proxy.Status = types.ERROR + pc.tsvc.Update(target.ID, target) + c.JSON(http.StatusBadRequest, errorMsgInfo(err.Error())) + return + } + // 再加入 proxy + tun.Proxies = append(tun.Proxies, *proxy) + *tun.Status = tunnel.ACTIVE + pc.tsvc.Update(tun.ID, tun) + } + + if proxy == nil { + c.JSON(http.StatusBadRequest, errorMsg(10002)) + return + } + + // 发送至队列 + signal.Signal().SendStartProxy(proxy.ID, proxy.Addr()) + + c.JSON(http.StatusOK, successMsg(1, models.ToApi(proxy, &models.ProxyApi{}))) + return +} + +func (pc ProxyController) UpdateProxy(c *gin.Context) { + var obj *models.ProxyCreateApi + if err := c.ShouldBindJSON(&obj); err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + id, err := getPathId(c) + if err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + data := pc.svc.GetById(uint(id)).(*models.Proxy) + target := &models.Proxy{} + // 转换成对应的结构 + models.ToModel(obj, target) + // 说明服务状态发生了改变 + if *target.Status != *data.Status { + switch *target.Status { + case types.ACTIVE: + signal.Signal().SendStartProxy(data.ID, data.Addr()) + case types.INACTIVE: + signal.Signal().SendStopProxy(data.ID, data.Addr()) + } + } + target = pc.svc.Update(uint(id), target).(*models.Proxy) + + c.JSON(http.StatusOK, successMsg(1, models.ToApi(target, &models.ProxyApi{}))) +} + +func (pc ProxyController) DeleteProxy(c *gin.Context) { + id, err := getPathId(c) + if err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + + obj := pc.svc.GetById(uint(id)) + + if obj == nil { + c.JSON(http.StatusBadRequest, errorMsg(100002)) + return + } + + pc.svc.Delete(uint(id)) + c.JSON(http.StatusOK, successMsg(1, nil)) +} diff --git a/cmd/client/api/control/statistic.go b/cmd/client/api/control/statistic.go new file mode 100644 index 0000000..58d85e6 --- /dev/null +++ b/cmd/client/api/control/statistic.go @@ -0,0 +1,12 @@ +package control + +import ( + "github.com/gin-gonic/gin" +) + +type StatisticController struct { +} + +func (sc StatisticController) Get(c *gin.Context) { + // 目前数据结构对统计不太友好,放到下一期做大盘吧 +} diff --git a/cmd/client/api/control/tunnel.go b/cmd/client/api/control/tunnel.go new file mode 100644 index 0000000..330b59d --- /dev/null +++ b/cmd/client/api/control/tunnel.go @@ -0,0 +1,178 @@ +package control + +import ( + "errors" + "net/http" + "reflect" + "strconv" + + "github.com/gin-gonic/gin" + + "github.com/DVKunion/SeaMoon/cmd/client/api/models" + "github.com/DVKunion/SeaMoon/cmd/client/api/service" + "github.com/DVKunion/SeaMoon/cmd/client/sdk" + "github.com/DVKunion/SeaMoon/pkg/tunnel" +) + +type TunnelController struct { + svc service.ApiService + ksvc service.ApiService +} + +func (tc TunnelController) ListTunnels(c *gin.Context) { + var res = make([]interface{}, 0) + var data []models.Tunnel + var ok bool + var count int64 + id, err := getPathId(c) + page, size := getPageSize(c) + if err != nil { + count = tc.svc.Count() + if count < 0 { + c.JSON(http.StatusOK, successMsg(count, res)) + return + } + data, ok = tc.svc.List(page, size, true).([]models.Tunnel) + } else { + count = tc.svc.Count(service.Condition{ + Key: "ID", + Value: strconv.Itoa(id), + }) + if count < 0 { + c.JSON(http.StatusOK, successMsg(count, res)) + return + } + data, ok = tc.svc.List(page, size, true, service.Condition{ + Key: "ID", + Value: strconv.Itoa(id), + }).([]models.Tunnel) + } + if !ok { + c.JSON(http.StatusBadRequest, errorMsg(10004)) + } + // 处理 API + for _, d := range data { + prd := tc.ksvc.GetById(d.CloudProviderId).(*models.CloudProvider) + api := models.ToApi(d, &models.TunnelApi{}, func(api interface{}) { + ref := reflect.ValueOf(api).Elem() + field := ref.FieldByName("CloudProviderType") + if field.CanSet() { + field.Set(reflect.ValueOf(prd.Type)) + } + field = ref.FieldByName("CloudProviderRegion") + if field.CanSet() { + field.Set(reflect.ValueOf(prd.Region)) + } + }) + res = append(res, api.(*models.TunnelApi)) + } + c.JSON(http.StatusOK, successMsg(count, res)) + return +} + +func (tc TunnelController) GetTunnel(c *gin.Context) { + id, err := getPathId(c) + if err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + c.JSON(http.StatusOK, successMsg(1, tc.svc.GetById(uint(id)))) +} + +func (tc TunnelController) CreateTunnel(c *gin.Context) { + var obj models.TunnelCreateApi + if err := c.ShouldBindJSON(&obj); err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + // 先查询一下是否存在 + if exist := service.Exist(tc.svc, service.Condition{ + Key: "NAME", + Value: obj.Name, + }, service.Condition{ + Key: "cloud_provider_id", + Value: obj.CloudProviderId, + }); exist { + c.JSON(http.StatusBadRequest, errorMsg(10001)) + return + } + + target, err := tc.createTunnel(&obj) + if err != nil { + c.JSON(http.StatusBadRequest, errorMsgInfo(err.Error())) + return + } + + c.JSON(http.StatusOK, successMsg(1, models.ToApi(target, &models.TunnelApi{}))) +} + +func (tc TunnelController) UpdateTunnel(c *gin.Context) { + var obj *models.TunnelCreateApi + if err := c.ShouldBindJSON(&obj); err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + id, err := getPathId(c) + if err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + + target := &models.Tunnel{} + // 转换成对应的结构 + models.ToModel(obj, target) + target = tc.svc.Update(uint(id), target).(*models.Tunnel) + + c.JSON(http.StatusOK, successMsg(1, models.ToApi(target, &models.TunnelApi{}))) +} + +func (tc TunnelController) DeleteTunnel(c *gin.Context) { + id, err := getPathId(c) + if err != nil { + c.JSON(http.StatusBadRequest, errorMsg(10000)) + return + } + + obj := tc.svc.GetById(uint(id)) + + if obj == nil { + c.JSON(http.StatusBadRequest, errorMsg(100002)) + return + } + + tc.svc.Delete(uint(id)) + c.JSON(http.StatusOK, successMsg(0, nil)) +} + +func (tc TunnelController) createTunnel(tun *models.TunnelCreateApi) (*models.Tunnel, error) { + target := &models.Tunnel{} + + // 检查账户provider是否正确 + prv := tc.ksvc.GetById(tun.CloudProviderId).(*models.CloudProvider) + if prv == nil || prv.ID == 0 { + return target, errors.New("provider 数据不存在") + } + if *prv.MaxLimit != 0 && *prv.MaxLimit < len(prv.Tunnels)+1 { + return target, errors.New("超出最大 limit 限制") + } + + // 转换成对应的结构 + models.ToModel(tun, target) + // 填充默认值 + models.AutoFull(target) + target.CloudProviderId = 0 + target = tc.svc.Create(target).(*models.Tunnel) + + // 添加到 provider 中去 + prv.Tunnels = append(prv.Tunnels, *target) + tc.ksvc.Update(prv.ID, prv) + + err := sdk.GetSDK(*prv.Type).Deploy(prv.ID, target) + if err != nil { + // 部署失败了,更新状态 + *target.Status = tunnel.ERROR + tc.svc.Update(target.ID, target) + return target, err + } + return target, nil +} diff --git a/cmd/client/api/database/sqlite3.go b/cmd/client/api/database/sqlite3.go new file mode 100644 index 0000000..378b865 --- /dev/null +++ b/cmd/client/api/database/sqlite3.go @@ -0,0 +1,66 @@ +package database + +import ( + "log/slog" + "os" + + "github.com/glebarez/sqlite" + "gorm.io/gorm" + "gorm.io/gorm/logger" + + "github.com/DVKunion/SeaMoon/cmd/client/api/models" +) + +const dbPath string = ".seamoon.db" + +var ( + globalDB *gorm.DB + migrateFunc []func() +) + +func Init() { + gormConfig := gorm.Config{ + Logger: logger.Default.LogMode(logger.Silent), + DisableForeignKeyConstraintWhenMigrating: true, + } + + var err error + + if _, exist := os.Stat(dbPath); os.IsNotExist(exist) { + defer func() { + slog.Info("初始化数据库......") + for _, m := range models.ModelList { + // 初始化表 + globalDB.AutoMigrate(m) + } + // 写表 + for _, fn := range migrateFunc { + fn() + } + }() + } + + globalDB, err = gorm.Open(sqlite.Open(dbPath), &gormConfig) + if err != nil { + panic(err) + } +} + +func GetConn() *gorm.DB { + return globalDB +} + +// QueryPage 公共查询所有数据的方法 +func QueryPage(page, size int) *gorm.DB { + if page < 0 { + page = 0 + } + if size <= 0 { + size = 10 + } + return globalDB.Offset(page * size).Limit(size) +} + +func RegisterMigrate(f func()) { + migrateFunc = append(migrateFunc, f) +} diff --git a/cmd/client/api/listener/listen.go b/cmd/client/api/listener/listen.go new file mode 100644 index 0000000..1aa84d6 --- /dev/null +++ b/cmd/client/api/listener/listen.go @@ -0,0 +1,97 @@ +package listener + +import ( + "context" + "errors" + "log/slog" + "net" + "sync" + + "github.com/DVKunion/SeaMoon/cmd/client/api/models" + db_service "github.com/DVKunion/SeaMoon/cmd/client/api/service" + "github.com/DVKunion/SeaMoon/cmd/client/api/types" + "github.com/DVKunion/SeaMoon/pkg/network" + "github.com/DVKunion/SeaMoon/pkg/service" + "github.com/DVKunion/SeaMoon/pkg/xlog" +) + +func Listen(ctx context.Context, server net.Listener, p uint) { + var pro *models.Proxy + var tun *models.Tunnel + + // 应用级别事务锁 + var m = &sync.Mutex{} + + dbProxy := db_service.GetService("proxy") + dbTunnel := db_service.GetService("tunnel") + + objP := dbProxy.GetById(p) + if v, ok := objP.(*models.Proxy); ok { + pro = v + } else { + *pro.Status = types.ERROR + dbProxy.Update(pro.ID, pro) + slog.Error("proxy error") + return + } + objT := dbTunnel.GetById(pro.TunnelID) + if v, ok := objT.(*models.Tunnel); ok { + tun = v + } else { + *pro.Status = types.ERROR + dbProxy.Update(pro.ID, pro) + slog.Error("tunnel error") + return + } + *pro.Status = types.ACTIVE + dbProxy.Update(pro.ID, pro) + for { + conn, err := server.Accept() + if err != nil { + if errors.Is(err, net.ErrClosed) { + // 说明是 server 被外部 close 掉了,导致了此处的 accept 报错 + // 正常现象,return 即可。 + return + } else { + // 除此之外,都为异常。为了保证服务正常不出现 panic 和空指针,跳过该 conn + xlog.Error("SERVE", xlog.ACCEPT_ERROR, "err", err) + continue + } + } + // 说明接到了一个conn, 更新 + count(dbProxy, pro.ID, 1, m) + if srv, ok := service.Factory.Load(*tun.Type); ok { + destConn, err := srv.(service.Service).Conn(ctx, *pro.Type, + service.WithAddr(tun.GetAddr()), service.WithTorFlag(tun.TunnelConfig.Tor)) + if err != nil { + slog.Error(xlog.CONNECT_RMOET_ERROR, "err", err) + // 说明远程连接失败了,直接把当前的这个 conn 关掉,然后数量 -1 + //_ = conn.Close() + count(dbProxy, pro.ID, -1, m) + continue + } + go func() { + in, out, err := network.Transport(conn, destConn) + if err != nil { + slog.Error(xlog.CONNECT_TRANS_ERROR, "err", err) + } + count(dbProxy, pro.ID, -1, m, in, out) + }() + } + } +} + +func count(svc db_service.ApiService, id uint, cnt int, m *sync.Mutex, args ...int64) { + // 查询 -> 原有基础上 +1/-1 -> 更新 是一个完整的事务 + // 只有这一整个操作完成后,才应该进行下一个操作。 + // 这里丑陋的用了一个 mutex 来实现这个问题,正常应该通过 orm 事务来操作。 + m.Lock() + proxy := svc.GetById(id).(*models.Proxy) + *proxy.Conn = *proxy.Conn + cnt + if len(args) > 0 { + *proxy.InBound = *proxy.InBound + args[0] + *proxy.OutBound = *proxy.OutBound + args[1] + } + svc.Update(id, proxy) + m.Unlock() +} diff --git a/cmd/client/api/models/auth.go b/cmd/client/api/models/auth.go new file mode 100644 index 0000000..cfffef1 --- /dev/null +++ b/cmd/client/api/models/auth.go @@ -0,0 +1,37 @@ +package models + +import ( + "gorm.io/gorm" + + "github.com/DVKunion/SeaMoon/cmd/client/api/types" +) + +var DefaultAuth = []Auth{ + { + Type: types.Admin, + Username: "seamoon", + Password: "2575a6f37310dd27e884a0305a2dd210", + }, +} + +type Auth struct { + gorm.Model + + Type types.AuthType // 认证类型,用于判断该认证信息适用于啥的 + Username string `json:"username"` + Password string `json:"password"` +} + +type CloudAuth struct { + // 阿里需要 ID + AccessId string `json:"access_id" gorm:"not null"` + // 普通云厂商使用的认证 + AccessKey string `json:"access_key" gorm:"not null"` + AccessSecret string `json:"access_secret" gorm:"not null"` + + // 接口类型认证信息 + Token string `json:"token" gorm:"not null"` + + // Sealos 认证信息 + KubeConfig string `json:"kube_config" gorm:"not null"` +} diff --git a/cmd/client/api/models/cloud.go b/cmd/client/api/models/cloud.go new file mode 100644 index 0000000..49716aa --- /dev/null +++ b/cmd/client/api/models/cloud.go @@ -0,0 +1,73 @@ +package models + +import ( + "reflect" + "time" + + "gorm.io/gorm" + + "github.com/DVKunion/SeaMoon/cmd/client/api/types" +) + +type CloudProvider struct { + gorm.Model + + // 元信息 + Name *string `gorm:"not null"` + Desc *string `gorm:"not null"` + Region *string `gorm:"not null"` + Type *types.CloudType `gorm:"not null"` + + // 账户信息 + Amount *float64 `gorm:"not null"` + Cost *float64 `gorm:"not null"` + Status *types.CloudStatus `gorm:"not null"` + MaxLimit *int `gorm:"not null"` + + CloudAuth *CloudAuth `gorm:"embedded"` + + // 连表 + Tunnels []Tunnel `gorm:"foreignKey:CloudProviderId;references:ID"` +} + +// CloudProviderApi api 不展示敏感的账户数据 +type CloudProviderApi struct { + ID uint `json:"id"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + + Name *string `json:"name"` + Desc *string `json:"desc"` + Type *types.CloudType `json:"type"` + Region *string `json:"region"` + + // 账户信息 + Amount *float64 `json:"amount"` + Cost *float64 `json:"cost"` + Status *types.CloudStatus `json:"status"` + Count *int `json:"count"` + MaxLimit *int `json:"max_limit"` +} + +// CloudProviderCreateApi api 用于创建时接受数据的模型 +type CloudProviderCreateApi struct { + Name *string `json:"name"` + Region *string `json:"region"` + Desc *string `json:"desc"` + Status *types.CloudStatus `json:"status"` + Type *types.CloudType `json:"type"` + + // 认证信息 + CloudAuth *CloudAuth `json:"cloud_auth"` +} + +func (p CloudProvider) Extra() func(api interface{}) { + return func(api interface{}) { + ref := reflect.ValueOf(api).Elem() + field := ref.FieldByName("Count") + if field.CanSet() { + a := len(p.Tunnels) + field.Set(reflect.ValueOf(&a)) + } + } +} diff --git a/cmd/client/api/models/config.go b/cmd/client/api/models/config.go new file mode 100644 index 0000000..5109461 --- /dev/null +++ b/cmd/client/api/models/config.go @@ -0,0 +1,86 @@ +package models + +import ( + "gorm.io/gorm" + + "github.com/DVKunion/SeaMoon/pkg/consts" +) + +var DefaultSysConfig = []SystemConfig{ + { + Key: "control_addr", + Value: "0.0.0.0", + }, + { + Key: "control_port", + Value: "7778", + }, + { + Key: "control_log", + Value: "seamoon-web.log", + }, + { + Key: "version", + Value: consts.Version, + }, +} + +// SystemConfig 系统标准配置表 +type SystemConfig struct { + gorm.Model + + Key string + Value string +} + +// SystemConfigApi 对外暴露接口 +type SystemConfigApi struct { + // 为了 web 方便, 直接转化成对应的 key 了 + ControlAddr string `json:"control_addr"` + ControlPort string `json:"control_port"` + ControlLog string `json:"control_log"` + + Version string `json:"version"` +} + +// ToModel SysConfig 比较特殊,存储时候是一个 KEY-VALUE 模式, +// 因此让他自己重新实现一下 ToModel +func (p *SystemConfigApi) ToModel() []SystemConfig { + // 由于目前东西比较少,懒得写反射了;后续如果也有这种 KV 存储转换的需求,可以抽到 models 公共方法中 + var res = make([]SystemConfig, 0) + res = append(res, SystemConfig{ + Key: "control_addr", + Value: p.ControlAddr, + }) + res = append(res, SystemConfig{ + Key: "control_port", + Value: p.ControlPort, + }) + res = append(res, SystemConfig{ + Key: "control_log", + Value: p.ControlLog, + }) + res = append(res, SystemConfig{ + Key: "version", + Value: p.Version, + }) + + return res +} + +func ToSystemConfigApi(sc []*SystemConfig) SystemConfigApi { + var res = SystemConfigApi{} + for _, s := range sc { + switch s.Key { + case "control_addr": + res.ControlAddr = s.Value + case "control_port": + res.ControlPort = s.Value + case "control_log": + res.ControlLog = s.Value + case "version": + res.Version = s.Value + } + } + return res +} diff --git a/cmd/client/api/models/models.go b/cmd/client/api/models/models.go new file mode 100644 index 0000000..6f669ae --- /dev/null +++ b/cmd/client/api/models/models.go @@ -0,0 +1,92 @@ +package models + +import ( + "reflect" +) + +func init() { + ModelList = append(ModelList, &Auth{}) + ModelList = append(ModelList, &Proxy{}) + ModelList = append(ModelList, &Tunnel{}) + ModelList = append(ModelList, &CloudProvider{}) + ModelList = append(ModelList, &SystemConfig{}) +} + +var ModelList = make([]interface{}, 0) + +// ToApi 标准转化 API 方法 +func ToApi(src interface{}, dst interface{}, extras ...func(api interface{})) interface{} { + copyReflect(src, dst) + // 自定义扩展 + for _, ex := range extras { + ex(dst) + } + return dst +} + +// ToModel 标准转化 Model 方法 +func ToModel(src interface{}, dst interface{}) { + copyReflect(src, dst) +} + +func AutoFull(v interface{}) { + val := reflect.ValueOf(v).Elem() // 获取指向结构体的反射值对象 + for i := 0; i < val.NumField(); i++ { + field := val.Field(i) + + // 检查字段是否为指针并且为 nil + if field.Kind() == reflect.Ptr && field.IsNil() { + + fieldType := field.Type().Elem() // 获取指针指向的类型 + newField := reflect.New(fieldType) + + // 根据字段类型创建新的实例 + switch fieldType.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + newField.Elem().SetInt(0) // 设置为 0 + case reflect.Float32, reflect.Float64: + newField.Elem().SetFloat(0.0) // 设置为 0.0 + case reflect.String: + newField.Elem().SetString("") // 设置为空字符串 + // 可以根据需要添加更多类型 + } + + field.Set(newField) + } + } +} + +// copyReflect 通过反射将相同的字段映射到对应的结构体中,减少重复的赋值动作 +func copyReflect(src interface{}, dst interface{}) { + srcVal := reflect.ValueOf(src) + if srcVal.Kind() == reflect.Ptr { + srcVal = srcVal.Elem() + } + + dstVal := reflect.ValueOf(dst) + if dstVal.Kind() == reflect.Ptr { + dstVal = dstVal.Elem() + } + + for i := 0; i < srcVal.NumField(); i++ { + srcField := srcVal.Field(i) + srcType := srcVal.Type().Field(i) + + // 如果字段是匿名的结构体(可能是嵌入的结构体),则递归处理 + if srcType.Anonymous && srcField.Kind() == reflect.Struct { + copyReflect(srcField.Interface(), dstVal.Addr().Interface()) + continue + } + + // 查找目标结构中相同名称的字段 + dstField := dstVal.FieldByName(srcType.Name) + if !dstField.IsValid() || !dstField.CanSet() { + continue // 目标中没有这个字段,或者该字段不能被设置 + } + + // 确保源和目标字段类型相同 + if dstField.Type() == srcField.Type() { + dstField.Set(srcField) + } + } +} diff --git a/cmd/client/api/models/proxy.go b/cmd/client/api/models/proxy.go new file mode 100644 index 0000000..08ece15 --- /dev/null +++ b/cmd/client/api/models/proxy.go @@ -0,0 +1,57 @@ +package models + +import ( + "strings" + "time" + + "gorm.io/gorm" + + "github.com/DVKunion/SeaMoon/cmd/client/api/types" + "github.com/DVKunion/SeaMoon/pkg/transfer" +) + +type Proxy struct { + gorm.Model + + TunnelID uint + Name *string + Type *transfer.Type + Status *types.ProxyStatus + Conn *int + Speed *float64 + Lag *int + InBound *int64 + OutBound *int64 + ListenAddr *string + ListenPort *string +} + +type ProxyApi struct { + ID uint `json:"id"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + Name *string `json:"name"` + Type *transfer.Type `json:"type"` + Status *types.ProxyStatus `json:"status"` + Conn *int `json:"conn"` + Speed *float64 `json:"speed"` + Lag *int `json:"lag"` + InBound *int64 `json:"in_bound"` + OutBound *int64 `json:"out_bound"` + ListenAddr *string `json:"listen_address"` + ListenPort *string `json:"listen_port"` +} + +type ProxyCreateApi struct { + Name *string `json:"name"` + Type *transfer.Type `json:"type"` + ListenAddr *string `json:"listen_address"` + ListenPort *string `json:"listen_port"` + Status *types.ProxyStatus `json:"status"` + TunnelId uint `json:"tunnel_id"` + TunnelCreateApi *TunnelCreateApi `json:"tunnel_create_api"` +} + +func (p Proxy) Addr() string { + return strings.Join([]string{*p.ListenAddr, *p.ListenPort}, ":") +} diff --git a/cmd/client/api/models/tunnel.go b/cmd/client/api/models/tunnel.go new file mode 100644 index 0000000..1049a88 --- /dev/null +++ b/cmd/client/api/models/tunnel.go @@ -0,0 +1,83 @@ +package models + +import ( + "time" + + "gorm.io/gorm" + + "github.com/DVKunion/SeaMoon/cmd/client/api/types" + "github.com/DVKunion/SeaMoon/pkg/tunnel" +) + +// Tunnel 表示着实际部署的一个函数节点 +type Tunnel struct { + gorm.Model + + CloudProviderId uint + + Name *string // 隧道名称,建议英文 + Addr *string // 服务地址 + Port *string // 服务端口 + Cost *float32 // 累计花费 + Type *tunnel.Type // 隧道协议类型 + Status *tunnel.Status // 隧道状态 + + TunnelConfig *TunnelConfig `gorm:"embedded"` + // 连表查询 + Proxies []Proxy `gorm:"foreignKey:TunnelID;references:ID"` +} + +func (t *Tunnel) GetAddr() string { + switch *t.Type { + case tunnel.WST: + if t.TunnelConfig.TLS { + return "wss://" + *t.Addr + } + return "ws://" + *t.Addr + case tunnel.GRT: + if t.TunnelConfig.TLS { + return "grpcs://" + *t.Addr + } + return "grpc://" + *t.Addr + } + return "" +} + +type TunnelConfig struct { + // 函数配置 + CPU float32 `json:"cpu"` // CPU 资源 + Memory int32 `json:"memory"` // 内存资源 + Instance int32 `json:"instance"` // 最大实例处理数 + TunnelAuthType types.AuthType `json:"tunnel_auth_type"` // 函数认证方式 + + TLS bool `json:"tls"` // 是否开启 TLS 传输, 开启后自动使用 wss 协议 + Tor bool `json:"tor"` // 是否开启 Tor 转发 +} + +type TunnelApi struct { + CloudProviderId uint `json:"cloud_provider_id"` + CloudProviderRegion *string `json:"cloud_provider_region"` + CloudProviderType *types.CloudType `json:"cloud_provider_type"` + + ID uint `json:"id"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + + Name *string `json:"name"` + Addr *string `json:"address"` + Port *string `json:"port"` + Type *tunnel.Type `json:"type"` + Status *tunnel.Status `json:"status"` + + TunnelConfig *TunnelConfig `json:"tunnel_config"` +} + +type TunnelCreateApi struct { + CloudProviderId uint `json:"cloud_provider_id"` + Name *string `json:"name"` + Port *string `json:"port"` + Type *tunnel.Type `json:"type"` + Status *tunnel.Status `json:"status"` + + TunnelConfig *TunnelConfig `json:"tunnel_config"` +} diff --git a/cmd/client/api/route.go b/cmd/client/api/route.go new file mode 100644 index 0000000..6f5c5c1 --- /dev/null +++ b/cmd/client/api/route.go @@ -0,0 +1,49 @@ +package api + +import ( + "net/http" + + "github.com/gin-gonic/gin" + + "github.com/DVKunion/SeaMoon/cmd/client/api/control" + "github.com/DVKunion/SeaMoon/cmd/client/api/database" +) + +func init() { + database.Init() +} + +func Register(router *gin.Engine, debug bool) { + // pprof + if debug { + router.GET("/debug/pprof/*any", gin.WrapH(http.DefaultServeMux)) + } + // statistic + router.GET("/api/statistic", control.JWTAuthMiddleware(debug), control.StatisticC.Get) + // user + router.POST("/api/user/login", control.AuthC.Login) + router.PUT("/api/user/passwd", control.JWTAuthMiddleware(debug), control.AuthC.Passwd) + // proxy + router.GET("/api/proxy", control.JWTAuthMiddleware(debug), control.ProxyC.ListProxies) + router.GET("/api/proxy/:id", control.JWTAuthMiddleware(debug), control.ProxyC.ListProxies) + router.POST("/api/proxy", control.JWTAuthMiddleware(debug), control.ProxyC.CreateProxy) + router.PUT("/api/proxy/:id", control.JWTAuthMiddleware(debug), control.ProxyC.UpdateProxy) + router.DELETE("/api/proxy/:id", control.JWTAuthMiddleware(debug), control.ProxyC.DeleteProxy) + // tunnel + router.GET("/api/tunnel", control.JWTAuthMiddleware(debug), control.TunnelC.ListTunnels) + router.GET("/api/tunnel/:id", control.JWTAuthMiddleware(debug), control.TunnelC.ListTunnels) + router.POST("/api/tunnel", control.JWTAuthMiddleware(debug), control.TunnelC.CreateTunnel) + router.PUT("/api/tunnel/:id", control.JWTAuthMiddleware(debug), control.TunnelC.UpdateTunnel) + router.DELETE("/api/tunnel/:id", control.JWTAuthMiddleware(debug), control.TunnelC.DeleteTunnel) + // cloud provider + router.GET("/api/provider", control.JWTAuthMiddleware(debug), control.ProviderC.ListCloudProviders) + router.GET("/api/provider/active", control.JWTAuthMiddleware(debug), control.ProviderC.ListActiveCloudProviders) + router.GET("/api/provider/:id", control.JWTAuthMiddleware(debug), control.ProviderC.ListCloudProviders) + router.POST("/api/provider", control.JWTAuthMiddleware(debug), control.ProviderC.CreateCloudProvider) + router.PUT("/api/provider/sync/:id", control.JWTAuthMiddleware(debug), control.ProviderC.SyncCloudProvider) + router.PUT("/api/provider/:id", control.JWTAuthMiddleware(debug), control.ProviderC.UpdateCloudProvider) + router.DELETE("/api/provider/:id", control.JWTAuthMiddleware(debug), control.ProviderC.DeleteCloudProvider) + // system config + router.GET("/api/config", control.JWTAuthMiddleware(debug), control.SysConfigC.ListSystemConfigs) + router.PUT("/api/config/", control.JWTAuthMiddleware(debug), control.SysConfigC.UpdateSystemConfig) +} diff --git a/cmd/client/api/service/auth.go b/cmd/client/api/service/auth.go new file mode 100644 index 0000000..cacdf51 --- /dev/null +++ b/cmd/client/api/service/auth.go @@ -0,0 +1,50 @@ +package service + +import ( + "github.com/DVKunion/SeaMoon/cmd/client/api/database" + "github.com/DVKunion/SeaMoon/cmd/client/api/models" +) + +type AuthService struct { +} + +func (a AuthService) Count(cond ...Condition) int64 { + var res int64 = 0 + conn := database.GetConn() + for _, cs := range cond { + conn = conn.Where(cs.Key+" = ?", cs.Value) + } + conn.Model(&models.Auth{}).Count(&res) + return res +} + +func (a AuthService) List(page int, size int, preload bool, cond ...Condition) interface{} { + var data = make([]models.Auth, 0) + conn := database.QueryPage(page, size) + for _, cs := range cond { + conn = conn.Where(cs.Key+" = ?", cs.Value) + } + conn.Find(&data) + return data +} + +func (a AuthService) GetById(id uint) interface{} { + var data = models.Auth{} + database.GetConn().Limit(1).Where("ID = ?", id).Find(&data) + return &data +} + +func (a AuthService) Create(obj interface{}) interface{} { + database.GetConn().Create(obj.(*models.Auth)) + return obj +} + +func (a AuthService) Update(id uint, obj interface{}) interface{} { + obj.(*models.Auth).ID = id + database.GetConn().Updates(obj.(*models.Auth)) + return a.GetById(id) +} + +func (a AuthService) Delete(id uint) { + database.GetConn().Delete(&models.Auth{}, id) +} diff --git a/cmd/client/api/service/cloud.go b/cmd/client/api/service/cloud.go new file mode 100644 index 0000000..b71f254 --- /dev/null +++ b/cmd/client/api/service/cloud.go @@ -0,0 +1,54 @@ +package service + +import ( + "github.com/DVKunion/SeaMoon/cmd/client/api/database" + "github.com/DVKunion/SeaMoon/cmd/client/api/models" +) + +type CloudProviderService struct { +} + +func (c CloudProviderService) Count(cond ...Condition) int64 { + var res int64 = 0 + conn := database.GetConn() + for _, cs := range cond { + conn = conn.Where(cs.Key+" = ?", cs.Value) + } + conn.Model(&models.CloudProvider{}).Count(&res) + return res +} + +func (c CloudProviderService) List(page int, size int, preload bool, cond ...Condition) interface{} { + var data = make([]models.CloudProvider, 0) + conn := database.QueryPage(page, size) + if preload { + conn = conn.Preload("Tunnels.Proxies") + } + for _, cs := range cond { + conn = conn.Where(cs.Key+" = ?", cs.Value) + } + conn.Find(&data) + return data +} + +func (c CloudProviderService) GetById(id uint) interface{} { + var data = models.CloudProvider{} + //database.GetConn().Unscoped().Limit(1).Where("ID = ?", id).Find(&data) + database.GetConn().Limit(1).Where("ID = ?", id).Find(&data) + return &data +} + +func (c CloudProviderService) Create(obj interface{}) interface{} { + database.GetConn().Create(obj.(*models.CloudProvider)) + return obj +} + +func (c CloudProviderService) Update(id uint, obj interface{}) interface{} { + obj.(*models.CloudProvider).ID = id + database.GetConn().Updates(obj.(*models.CloudProvider)) + return c.GetById(id) +} + +func (c CloudProviderService) Delete(id uint) { + database.GetConn().Delete(&models.CloudProvider{}, id) +} diff --git a/cmd/client/api/service/config.go b/cmd/client/api/service/config.go new file mode 100644 index 0000000..7a1199f --- /dev/null +++ b/cmd/client/api/service/config.go @@ -0,0 +1,65 @@ +package service + +import ( + "github.com/DVKunion/SeaMoon/cmd/client/api/database" + "github.com/DVKunion/SeaMoon/cmd/client/api/models" +) + +type SystemConfigService struct { +} + +func (s SystemConfigService) Count(cond ...Condition) int64 { + var res int64 = 0 + conn := database.GetConn() + for _, cs := range cond { + conn = conn.Where(cs.Key+" = ?", cs.Value) + } + conn.Model(&models.SystemConfig{}).Count(&res) + return res +} + +func (s SystemConfigService) List(page, size int, preload bool, cond ...Condition) interface{} { + var data = make([]*models.SystemConfig, 0) + conn := database.QueryPage(page, size) + for _, cs := range cond { + conn = conn.Where(cs.Key+" = ?", cs.Value) + } + conn.Find(&data) + return data +} + +func (s SystemConfigService) GetById(id uint) interface{} { + var data = models.SystemConfig{} + database.GetConn().Limit(1).Where("ID = ?", id).Find(&data) + return &data +} + +func (s SystemConfigService) GetByName(name string) *models.SystemConfig { + var data = models.SystemConfig{} + database.GetConn().Limit(1).Where("KEY = ?", name).Find(&data) + return &data +} + +func (s SystemConfigService) Create(obj interface{}) interface{} { + database.GetConn().Create(obj.(*models.SystemConfig)) + return obj +} + +func (s SystemConfigService) Update(id uint, obj interface{}) interface{} { + for _, sys := range obj.([]models.SystemConfig) { + if sys.Key == "version" || sys.Value == "" { + continue + } + // api 传过来的不知道 id 的,从 key 去查吧 + target := s.GetByName(sys.Key) + target.Value = sys.Value + database.GetConn().Updates(target) + } + + return nil +} + +func (s SystemConfigService) Delete(id uint) { + // 系统配置禁止删除 + return +} diff --git a/cmd/client/api/service/proxy.go b/cmd/client/api/service/proxy.go new file mode 100644 index 0000000..8134a5d --- /dev/null +++ b/cmd/client/api/service/proxy.go @@ -0,0 +1,50 @@ +package service + +import ( + "github.com/DVKunion/SeaMoon/cmd/client/api/database" + "github.com/DVKunion/SeaMoon/cmd/client/api/models" +) + +type ProxyService struct { +} + +func (p ProxyService) Count(cond ...Condition) int64 { + var res int64 = 0 + conn := database.GetConn() + for _, cs := range cond { + conn = conn.Where(cs.Key+" = ?", cs.Value) + } + conn.Model(&models.Proxy{}).Count(&res) + return res +} + +func (p ProxyService) List(page, size int, preload bool, cond ...Condition) interface{} { + var data = make([]models.Proxy, 0) + conn := database.QueryPage(page, size) + for _, cs := range cond { + conn = conn.Where(cs.Key+" = ?", cs.Value) + } + conn.Find(&data) + return data +} + +func (p ProxyService) GetById(id uint) interface{} { + var data = models.Proxy{} + database.GetConn().Limit(1).Where("ID = ?", id).Find(&data) + return &data +} + +func (p ProxyService) Create(obj interface{}) interface{} { + database.GetConn().Create(obj.(*models.Proxy)) + return obj +} + +func (p ProxyService) Update(id uint, obj interface{}) interface{} { + obj.(*models.Proxy).ID = id + database.GetConn().Updates(obj.(*models.Proxy)) + return p.GetById(id) +} + +func (p ProxyService) Delete(id uint) { + database.GetConn().Delete(&models.Proxy{}, id) +} diff --git a/cmd/client/api/service/service.go b/cmd/client/api/service/service.go new file mode 100644 index 0000000..dc27b27 --- /dev/null +++ b/cmd/client/api/service/service.go @@ -0,0 +1,60 @@ +package service + +import ( + "log/slog" + "reflect" + + "github.com/DVKunion/SeaMoon/cmd/client/api/database" + "github.com/DVKunion/SeaMoon/cmd/client/api/models" +) + +var serviceFactory = map[string]ApiService{} + +type Condition struct { + Key string + Value interface{} +} + +type ApiService interface { + Count(cond ...Condition) int64 + List(page, size int, preload bool, cond ...Condition) interface{} + GetById(id uint) interface{} + Create(obj interface{}) interface{} + Update(id uint, obj interface{}) interface{} + Delete(id uint) +} + +func GetService(t string) ApiService { + return serviceFactory[t] +} + +func Exist(svc ApiService, cond ...Condition) bool { + s := svc.List(0, 1, false, cond...) + + // 重复名称的账户不允许创建 + if reflect.TypeOf(s).Kind() == reflect.Slice && reflect.ValueOf(s).Len() > 0 { + return true + } + + return false +} + +func init() { + serviceFactory["proxy"] = ProxyService{} + serviceFactory["provider"] = CloudProviderService{} + serviceFactory["config"] = SystemConfigService{} + serviceFactory["auth"] = AuthService{} + serviceFactory["tunnel"] = TunnelService{} + + // 注册初始化相关信息 + database.RegisterMigrate(func() { + slog.Info("未查询到本地数据,初始化默认配置......") + for _, conf := range models.DefaultSysConfig { + serviceFactory["config"].Create(&conf) + } + slog.Info("未查询到本地数据,初始化默认账户......") + for _, auth := range models.DefaultAuth { + serviceFactory["auth"].Create(&auth) + } + }) +} diff --git a/cmd/client/api/service/tunnel.go b/cmd/client/api/service/tunnel.go new file mode 100644 index 0000000..41f65bc --- /dev/null +++ b/cmd/client/api/service/tunnel.go @@ -0,0 +1,53 @@ +package service + +import ( + "github.com/DVKunion/SeaMoon/cmd/client/api/database" + "github.com/DVKunion/SeaMoon/cmd/client/api/models" +) + +type TunnelService struct { +} + +func (t TunnelService) Count(cond ...Condition) int64 { + var res int64 = 0 + conn := database.GetConn() + for _, cs := range cond { + conn = conn.Where(cs.Key+" = ?", cs.Value) + } + conn.Model(&models.Tunnel{}).Count(&res) + return res +} + +func (t TunnelService) List(page int, size int, preload bool, cond ...Condition) interface{} { + var data = make([]models.Tunnel, 0) + conn := database.QueryPage(page, size) + if preload { + conn = conn.Preload("Proxies") + } + for _, cs := range cond { + conn = conn.Where(cs.Key+" = ?", cs.Value) + } + conn.Find(&data) + return data +} + +func (t TunnelService) GetById(id uint) interface{} { + var data = models.Tunnel{} + database.GetConn().Limit(1).Where("ID = ?", id).Find(&data) + return &data +} + +func (t TunnelService) Create(obj interface{}) interface{} { + database.GetConn().Create(obj.(*models.Tunnel)) + return obj +} + +func (t TunnelService) Update(id uint, obj interface{}) interface{} { + obj.(*models.Tunnel).ID = id + database.GetConn().Updates(obj.(*models.Tunnel)) + return t.GetById(id) +} + +func (t TunnelService) Delete(id uint) { + database.GetConn().Delete(&models.Tunnel{}, id) +} diff --git a/cmd/client/api/signal/signal.go b/cmd/client/api/signal/signal.go new file mode 100644 index 0000000..5bb9ede --- /dev/null +++ b/cmd/client/api/signal/signal.go @@ -0,0 +1,87 @@ +package signal + +import ( + "context" + "log/slog" + "net" + + "github.com/DVKunion/SeaMoon/cmd/client/api/listener" + "github.com/DVKunion/SeaMoon/cmd/client/api/types" + "github.com/DVKunion/SeaMoon/pkg/xlog" +) + +// SignalBus 用于控制所有服务类型的启动 +type SignalBus struct { + canceler map[uint]context.CancelFunc + listener map[uint]net.Listener + + proxyChannel chan *ProxySignal +} + +type ProxySignal struct { + ProxyId uint + Addr string + Next types.ProxyStatus +} + +var signalBus = &SignalBus{ + canceler: make(map[uint]context.CancelFunc, 0), + listener: make(map[uint]net.Listener, 0), + proxyChannel: make(chan *ProxySignal, 1>>8), +} + +func Signal() *SignalBus { + return signalBus +} + +// Run 监听逻辑 +func (sb *SignalBus) Run(ctx context.Context) { + for { + select { + case t := <-sb.proxyChannel: + switch t.Next { + case types.ACTIVE: + sigCtx, cancel := context.WithCancel(ctx) + server, err := net.Listen("tcp", t.Addr) + if err != nil { + slog.Error(xlog.LISTEN_ERROR, "id", t.ProxyId, "addr", t.Addr, "err", err) + } else { + slog.Info(xlog.LISTEN_START, "id", t.ProxyId, "addr", t.Addr) + go listener.Listen(sigCtx, server, t.ProxyId) + sb.canceler[t.ProxyId] = cancel + sb.listener[t.ProxyId] = server + } + case types.INACTIVE: + if cancel, ok := sb.canceler[t.ProxyId]; ok { + // 先调一下 cancel + cancel() + if ln, exist := sb.listener[t.ProxyId]; exist { + // 尝试着去停一下 ln, 防止泄漏 + err := ln.Close() + if err != nil { + // 错了就错了吧,说明 ctx 挂了一般 gorouting 也跟着挂了 + slog.Error(xlog.LISTEN_STOP_ERROR, "id", t.ProxyId, "addr", t.Addr, "err", err) + } + } + } + slog.Info(xlog.LISTEN_STOP, "id", t.ProxyId, "addr", t.Addr) + } + } + } +} + +func (sb *SignalBus) SendStartProxy(p uint, addr string) { + sb.proxyChannel <- &ProxySignal{ + ProxyId: p, + Addr: addr, + Next: types.ACTIVE, + } +} + +func (sb *SignalBus) SendStopProxy(p uint, addr string) { + sb.proxyChannel <- &ProxySignal{ + ProxyId: p, + Addr: addr, + Next: types.INACTIVE, + } +} diff --git a/cmd/client/api/types/auth.go b/cmd/client/api/types/auth.go new file mode 100644 index 0000000..a08a76f --- /dev/null +++ b/cmd/client/api/types/auth.go @@ -0,0 +1,25 @@ +package types + +type AuthType int8 + +const ( + Empty AuthType = iota + 1 // 无认证 + Admin // 后台账户 + Basic // HTTP Basic 认证 + Bearer // HTTP Bearer 认证 + + Signature // FC Signature 认证, 这类认证好处在于认证失败 403 不计次数 + Jwt // FC Jwt 认证。 需要 jwks +) + +func TransAuthType(t string) AuthType { + switch t { + case "anonymous": + return Empty + case "function": + return Signature + case "jwt": + return Jwt + } + return Empty +} diff --git a/cmd/client/api/types/cloud.go b/cmd/client/api/types/cloud.go new file mode 100644 index 0000000..e735352 --- /dev/null +++ b/cmd/client/api/types/cloud.go @@ -0,0 +1,22 @@ +package types + +type CloudType int8 + +const ( + ALiYun CloudType = iota + 1 + TencentYun + HuaweiYun + BaiduYun + Sealos +) + +type CloudStatus int8 + +const ( + CREATE CloudStatus = iota + 1 + SUCCESS + FAILED + FORBIDDEN + AUTH_ERROR + SYNC_ERROR +) diff --git a/cmd/client/api/types/proxy.go b/cmd/client/api/types/proxy.go new file mode 100644 index 0000000..6533057 --- /dev/null +++ b/cmd/client/api/types/proxy.go @@ -0,0 +1,11 @@ +package types + +type ProxyStatus int8 + +const ( + INITIALIZING ProxyStatus = iota + 1 + ACTIVE + INACTIVE + ERROR + WAITING +) diff --git a/cmd/client/client.go b/cmd/client/client.go index 2283056..d5890a7 100644 --- a/cmd/client/client.go +++ b/cmd/client/client.go @@ -2,84 +2,63 @@ package client import ( "context" - "html/template" "io" + "io/fs" "log/slog" "net/http" + _ "net/http/pprof" "os" + "strings" "github.com/gin-gonic/gin" - _ "net/http/pprof" - + "github.com/DVKunion/SeaMoon/cmd/client/api" + "github.com/DVKunion/SeaMoon/cmd/client/api/service" + "github.com/DVKunion/SeaMoon/cmd/client/api/signal" "github.com/DVKunion/SeaMoon/cmd/client/static" "github.com/DVKunion/SeaMoon/pkg/consts" + "github.com/DVKunion/SeaMoon/pkg/xlog" ) -func Serve(ctx context.Context, verbose bool, debug bool) { - ctx, cancel := context.WithCancel(ctx) - defer cancel() - sg := NewSigGroup() - go API(sg, verbose, debug) - go Control(ctx, sg) - - Config().Load(sg) - <-sg.WatchChannel - - sg.StopProxy() - cancel() - - sg.wg.Wait() +func Serve(ctx context.Context, debug bool) { + go signal.Signal().Run(ctx) + // Restful API 服务 + runApi(debug) } -func API(sg *SigGroup, verbose bool, debug bool) { - slog.Info(consts.CONTROLLER_START, "addr", Config().Control.ConfigAddr) +func runApi(debug bool) { + logPath := service.GetService("config").(service.SystemConfigService).GetByName("control_log").Value + addr := service.GetService("config").(service.SystemConfigService).GetByName("control_addr").Value + port := service.GetService("config").(service.SystemConfigService).GetByName("control_port").Value + + xlog.Info("API", xlog.CONTROLLER_START, "addr", addr, "port", port) if consts.Version != "dev" || !debug { gin.SetMode(gin.ReleaseMode) } - webLogger, err := os.OpenFile(Config().Control.LogPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0666) + webLogger, err := os.OpenFile(logPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0666) if err != nil { gin.DefaultWriter = io.MultiWriter(os.Stdout) - } else if verbose { - gin.DefaultWriter = io.MultiWriter(webLogger, os.Stdout) } else { gin.DefaultWriter = io.MultiWriter(webLogger) } server := gin.Default() - tmpl := template.Must(template.New("").ParseFS(static.HtmlFiles, "templates/*.html")) - server.SetHTMLTemplate(tmpl) + api.Register(server, debug) - server.StaticFS("/static", http.FS(static.AssetFiles)) - server.StaticFileFS("/favicon.ico", "public/img/favicon.ico", http.FS(static.AssetFiles)) + subFS, err := fs.Sub(static.WebViews, "dist") - // controller page - server.GET("/", func(ctx *gin.Context) { - ctx.HTML(200, "index.html", Config()) - }) - - // pprof - if debug { - server.GET("/debug/pprof/*any", gin.WrapH(http.DefaultServeMux)) + if err != nil { + panic("web static file error: " + err.Error()) } - // controller set - server.POST("/", func(ctx *gin.Context) { - if err := ctx.ShouldBindJSON(Config()); err != nil { - ctx.JSON(http.StatusBadRequest, gin.H{ - "msg": "服务异常", - "result": err.Error(), - }) - return - } - sg.Detection() - ctx.JSON(http.StatusOK, Config()) + server.NoRoute(func(c *gin.Context) { + c.FileFromFS(c.Request.URL.Path, http.FS(subFS)) }) - if err := server.Run(Config().Control.ConfigAddr); err != http.ErrServerClosed { + if err := server.Run(strings.Join([]string{addr, port}, ":")); err != http.ErrServerClosed { slog.Error("client running error", "err", err) } } diff --git a/cmd/client/config.go b/cmd/client/config.go deleted file mode 100644 index ac5dffe..0000000 --- a/cmd/client/config.go +++ /dev/null @@ -1,110 +0,0 @@ -package client - -import ( - "bytes" - "log/slog" - "os" - - "github.com/BurntSushi/toml" - - "github.com/DVKunion/SeaMoon/pkg/consts" - "github.com/DVKunion/SeaMoon/pkg/transfer" -) - -type clientConfig struct { - ProxyAddr []string `toml:"proxyAddr"` - Control controlConfig `toml:"control"` - Http proxyConfig `toml:"http"` - Socks5 proxyConfig `toml:"socks5"` -} - -func (c *clientConfig) Addr(t transfer.Type) string { - switch t { - case transfer.HTTP: - return c.Http.ListenAddr - case transfer.SOCKS5: - return c.Socks5.ListenAddr - } - return "" -} - -type controlConfig struct { - ConfigAddr string `toml:"addr"` - LogPath string `toml:"logPath"` - TorEnable bool `toml:"tor_enable"` -} - -type proxyConfig struct { - Enabled bool `toml:"enabled"` - ListenAddr string `toml:"listenAddr"` - Status string `toml:"status"` -} - -var ( - singleton *clientConfig - configPath = ".seamoom" -) - -func Config() *clientConfig { - if singleton == nil { - singleton = defaultConfig() - } - return singleton -} - -func defaultConfig() *clientConfig { - return &clientConfig{ - ProxyAddr: []string{""}, - Control: controlConfig{ - // is dangerous to open Control page for everyone, do not set value like: ":7777" / "0.0.0.0:7777" - ConfigAddr: ":7777", - LogPath: "web.log", - TorEnable: false, - }, - Http: proxyConfig{ - false, ":9000", "inactive", - }, - Socks5: proxyConfig{ - false, ":1080", "inactive", - }, - } -} - -func (c *clientConfig) Save() error { - var buf bytes.Buffer - if err := toml.NewEncoder(&buf).Encode(c); err != nil { - return err - } - - fd, err := os.OpenFile(configPath, os.O_CREATE|os.O_WRONLY, 0644) - if err != nil { - return err - } - defer fd.Close() - - if err = fd.Truncate(0); err != nil { - return err - } - - if _, err = fd.Seek(0, 0); err != nil { - return err - } - - _, err = fd.Write(buf.Bytes()) - return err -} - -func (c *clientConfig) Load(sg *SigGroup) error { - if data, err := os.ReadFile(configPath); err == nil { - // try first start - err := toml.Unmarshal(data, c) - if err != nil { - slog.Debug(consts.CONFIG_NOT_FIND) - return err - } - sg.Detection() - return nil - } else { - return err - } -} diff --git a/cmd/client/control.go b/cmd/client/control.go deleted file mode 100644 index e0d8371..0000000 --- a/cmd/client/control.go +++ /dev/null @@ -1,93 +0,0 @@ -package client - -import ( - "context" - "errors" - "log/slog" - "net" - "strings" - - "github.com/DVKunion/SeaMoon/pkg/consts" - "github.com/DVKunion/SeaMoon/pkg/network" - "github.com/DVKunion/SeaMoon/pkg/service" - "github.com/DVKunion/SeaMoon/pkg/transfer" - "github.com/DVKunion/SeaMoon/pkg/tunnel" -) - -func Control(ctx context.Context, sg *SigGroup) { - c, cancel := context.WithCancel(ctx) - defer cancel() - for { - select { - case t := <-sg.StartChannel: - slog.Info(consts.LISTEN_START, "type", t) - sg.wg.Add(1) - if err := doListen(c, t); err != nil { - slog.Error(consts.LISTEN_ERROR, "type", t, "err", err) - } - sg.wg.Done() - case t := <-sg.StopChannel: - slog.Info(consts.LISTEN_STOP, "type", t) - cancel() - } - } -} - -func doListen(ctx context.Context, t transfer.Type) error { - server, err := net.Listen("tcp", Config().Addr(t)) - if err != nil { - return err - } - defer server.Close() - var proxyAddr string - var proxyType tunnel.Type - for _, p := range Config().ProxyAddr { - if strings.HasPrefix(p, "ws://") { - proxyAddr = p - proxyType = tunnel.WST - break - } - if strings.HasPrefix(p, "wss://") { - proxyAddr = p - proxyType = tunnel.WST - break - } - if strings.HasPrefix(p, "grpc://") { - proxyAddr = p - proxyType = tunnel.GRT - break - } - if strings.HasPrefix(p, "grpcs://") { - proxyAddr = p - proxyType = tunnel.GRT - break - } - } - if proxyAddr == "" || proxyType == "" { - return errors.New(consts.PROXY_ADDR_ERROR) - } - go listen(ctx, server, proxyAddr, proxyType, t) - <-ctx.Done() - return nil -} - -func listen(ctx context.Context, server net.Listener, pa string, pt tunnel.Type, t transfer.Type) { - for { - conn, err := server.Accept() - if err != nil { - slog.Error(consts.ACCEPT_ERROR, "err", err) - } - if srv, ok := service.Factory.Load(pt); ok { - destConn, err := srv.(service.Service).Conn(ctx, t, service.WithAddr(pa), service.WithTorFlag(Config().Control.TorEnable)) - if err != nil { - slog.Error(consts.CONNECT_RMOET_ERROR, "err", err) - continue - } - go func() { - if err := network.Transport(conn, destConn); err != nil { - slog.Error(consts.CONNECT_TRANS_ERROR, "err", err) - } - }() - } - } -} diff --git a/cmd/client/sdk/aliyun.go b/cmd/client/sdk/aliyun.go new file mode 100644 index 0000000..77a5890 --- /dev/null +++ b/cmd/client/sdk/aliyun.go @@ -0,0 +1,266 @@ +package sdk + +import ( + "encoding/json" + "errors" + "fmt" + "net/http" + "strconv" + "strings" + + bss "github.com/alibabacloud-go/bssopenapi-20171214/v3/client" + openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client" + util "github.com/alibabacloud-go/tea-utils/v2/service" + "github.com/alibabacloud-go/tea/tea" + "github.com/aliyun/fc-go-sdk" + + "github.com/DVKunion/SeaMoon/cmd/client/api/models" + "github.com/DVKunion/SeaMoon/cmd/client/api/service" + "github.com/DVKunion/SeaMoon/cmd/client/api/types" + "github.com/DVKunion/SeaMoon/pkg/tunnel" + "github.com/DVKunion/SeaMoon/pkg/xlog" +) + +var ( + // 阿里云在 fc 上层还有一套 service 的概念,为了方便管理,这里硬编码了 service 的内容。 + serviceName = "seamoon" + serviceDesc = "seamoon service" +) + +type ALiYunSDK struct { +} + +type Resp struct { + StatusCode int `json:"statusCode"` + Headers map[string]interface{} `json:"headers"` + Body struct { + Code string `json:"Code"` + Message string `json:"Message"` + RequestId string `json:"RequestId"` + Success bool `json:"Success"` + Data map[string]interface{} `json:"Data"` + } `json:"body"` +} + +func (a *ALiYunSDK) Auth(providerId uint) error { + provider := service.GetService("provider").GetById(providerId).(*models.CloudProvider) + config := &openapi.Config{ + // 必填,您的 AccessKey ID + AccessKeyId: &provider.CloudAuth.AccessKey, + // 必填,您的 AccessKey Secret + AccessKeySecret: &provider.CloudAuth.AccessSecret, + } + // todo: seems ALiYunBillingMap is not right here + config.Endpoint = tea.String("business.aliyuncs.com") + client, err := bss.NewClient(config) + if err != nil { + return err + } + params := &openapi.Params{ + // 接口名称 + Action: tea.String("QueryAccountBalance"), + // 接口版本 + Version: tea.String("2017-12-14"), + // 接口协议 + Protocol: tea.String("HTTPS"), + // 接口 HTTP 方法 + Method: tea.String("POST"), + AuthType: tea.String("AK"), + Style: tea.String("RPC"), + // 接口 PATH + Pathname: tea.String("/"), + // 接口请求体内容格式 + ReqBodyType: tea.String("json"), + // 接口响应体内容格式 + BodyType: tea.String("json"), + } + // runtime options + runtime := &util.RuntimeOptions{} + request := &openapi.OpenApiRequest{} + // 复制代码运行请自行打印 API 的返回值 + // 返回值为 Map 类型,可从 Map 中获得三类数据:响应体 body、响应头 headers、HTTP 返回的状态码 statusCode。 + res, err := client.CallApi(params, request, runtime) + if err != nil { + return err + } + bs, err := json.Marshal(res) + if err != nil { + return err + } + var r Resp + err = json.Unmarshal(bs, &r) + if err != nil { + return err + } + if r.StatusCode != 200 || r.Body.Code != "200" { + return errors.New(r.Body.Message) + } + amount, err := strconv.ParseFloat(strings.Replace(r.Body.Data["AvailableAmount"].(string), ",", "", -1), 64) + if err != nil { + return err + } + *provider.Amount = amount + + // todo: 查询总花费 + service.GetService("provider").Update(provider.ID, provider) + return nil +} + +func (a *ALiYunSDK) Deploy(providerId uint, tun *models.Tunnel) error { + provider := service.GetService("provider").GetById(providerId).(*models.CloudProvider) + // 原生的库是真tm的难用, + client, err := fc.NewClient( + fmt.Sprintf("%s.%s.fc.aliyuncs.com", provider.CloudAuth.AccessId, *provider.Region), + "2016-08-15", provider.CloudAuth.AccessKey, provider.CloudAuth.AccessSecret) + if err != nil { + return err + } + // 先尝试是否已经存在了 svc + _, err = client.GetService(fc.NewGetServiceInput(serviceName)) + if err != nil { + err := err.(*fc.ServiceError) + if err.HTTPStatus == http.StatusNotFound { + // 说明 service 空了,先创建svc + _, err := client.CreateService(fc.NewCreateServiceInput(). + WithServiceName(serviceName). + WithDescription(serviceDesc)) + if err != nil { + return err + } + } else { + return err + } + } + + p, err := strconv.Atoi(*tun.Port) + funcName := *tun.Name + // 有了服务了,现在来创建函数 + respC, err := client.CreateFunction(fc.NewCreateFunctionInput(serviceName). + WithFunctionName(funcName). + WithDescription(string(*tun.Type)). + WithRuntime("custom-container"). + WithCPU(tun.TunnelConfig.CPU). + WithMemorySize(tun.TunnelConfig.Memory). + WithHandler("main"). + WithDisk(512). + WithInstanceConcurrency(tun.TunnelConfig.Instance). + WithCAPort(int32(p)). + WithInstanceType("e1"). // 性能实例 + WithTimeout(300). + WithCustomContainerConfig(fc.NewCustomContainerConfig(). + WithImage("registry.cn-hongkong.aliyuncs.com/seamoon/seamoon:dev"). + WithCommand("[\"./seamoon\"]"). + WithArgs("[\"server\"]"))) + if err != nil { + return err + } + fmt.Println(respC) + // 有了函数了,接下来创建 trigger + respT, err := client.CreateTrigger(fc.NewCreateTriggerInput(serviceName, funcName). + WithTriggerType("http"). + WithTriggerName(string(*tun.Type)). + WithTriggerConfig(fc.TriggerConfig{ + Methods: []string{"GET", "POST"}, + AuthType: "anonymous", + DisableURLInternet: false, + })) + if err != nil { + return err + } + fmt.Println(respT) + // 创建成功了, 查一下 + respTS, err := client.GetTrigger(fc.NewGetTriggerInput(serviceName, funcName, string(*tun.Type))) + if err != nil { + return err + } + + *tun.Addr = strings.Replace(respTS.UrlInternet, "https://", "", -1) + *tun.Status = tunnel.ACTIVE + // 更新 tunnel + service.GetService("tunnel").Update(tun.ID, tun) + return nil +} + +func (a *ALiYunSDK) Destroy(providerId uint, tun *models.Tunnel) error { + return nil +} + +func (a *ALiYunSDK) SyncFC(providerId uint) error { + provider := service.GetService("provider").GetById(providerId).(*models.CloudProvider) + client, err := fc.NewClient( + fmt.Sprintf("%s.%s.fc.aliyuncs.com", provider.CloudAuth.AccessId, *provider.Region), + "2016-08-15", provider.CloudAuth.AccessKey, provider.CloudAuth.AccessSecret) + if err != nil { + return err + } + // 先同步函数 + respC, err := client.ListFunctions(fc.NewListFunctionsInput(serviceName)) + if err != nil { + e, ok := err.(*fc.ServiceError) + if ok && e.HTTPStatus == http.StatusNotFound { + // 说明没有 service,甭同步了 + return nil + } else { + return err + } + } + for _, c := range respC.Functions { + // 判断下存不存在吧,不然每次同步都会整出来一堆 + if exist := service.Exist(service.GetService("tunnel"), service.Condition{ + Key: "NAME", + Value: *c.FunctionName, + }, service.Condition{ + Key: "cloud_provider_id", + Value: provider.ID, + }); exist { + continue + } + // 还得检查下 Type, 现在临时塞到了desc中了 + if *c.Description == "" { + xlog.Warn("sdk", "发现了不正确的隧道", "provider_id", provider.ID, + "fc_name", *c.FunctionName, "fc_type", *c.Description, + ) + continue + } + + var tun = models.Tunnel{ + CloudProviderId: provider.ID, + Name: c.FunctionName, + + TunnelConfig: &models.TunnelConfig{ + CPU: *c.CPU, + Memory: *c.MemorySize, + Instance: *c.InstanceConcurrency, + + // todo: 这里太糙了 + TLS: true, // 默认同步过来都打开 + Tor: func() bool { + // 如果是 开启 Tor 的隧道,需要有环境变量 + return len(c.EnvironmentVariables) > 0 + }(), + }, + } + // 自动填充防止空指针 + models.AutoFull(&tun) + *tun.Type = tunnel.TranType(*c.Description) + *tun.Port = strconv.Itoa(int(*c.CAPort)) + *tun.Status = tunnel.ACTIVE + // 再同步触发器来填充隧道的地址 + respT, err := client.ListTriggers(fc.NewListTriggersInput(serviceName, *c.FunctionName)) + if err == nil { + for _, t := range respT.Triggers { + if *t.TriggerType == "http" { + // todo: 这里太糙了 + *tun.Addr = strings.Replace(t.UrlInternet, "https://", "", -1) + tun.TunnelConfig.TunnelAuthType = types.TransAuthType(t.TriggerConfig.AuthType) + } + } + } else { + // todo: 打印一下失败的的日志 + } + // 最后更新一下 + service.GetService("tunnel").Create(&tun) + } + + return nil +} diff --git a/cmd/client/sdk/aws.go b/cmd/client/sdk/aws.go new file mode 100644 index 0000000..0919fd1 --- /dev/null +++ b/cmd/client/sdk/aws.go @@ -0,0 +1 @@ +package sdk diff --git a/cmd/client/sdk/baidu.go b/cmd/client/sdk/baidu.go new file mode 100644 index 0000000..0919fd1 --- /dev/null +++ b/cmd/client/sdk/baidu.go @@ -0,0 +1 @@ +package sdk diff --git a/cmd/client/sdk/consts.go b/cmd/client/sdk/consts.go new file mode 100644 index 0000000..445c228 --- /dev/null +++ b/cmd/client/sdk/consts.go @@ -0,0 +1,35 @@ +package sdk + +var ALiYunBillingMap = map[string]string{ + "cn-qingdao": "business.aliyuncs.com", + "cn-beijing": "business.aliyuncs.com", + "cn-zhangjiakou": "business.aliyuncs.com", + "cn-huhehaote": "business.aliyuncs.com", + "cn-wulanchabu": "business.aliyuncs.com", + "cn-hangzhou": "business.aliyuncs.com", + "cn-shanghai": "business.aliyuncs.com", + "cn-shenzhen": "business.aliyuncs.com", + "ap-southeast-2": "business.ap-southeast-1.aliyuncs.com", + "ap-northeast-2": "business.ap-southeast-1.aliyuncs.com", + "ap-southeast-3": "business.ap-southeast-1.aliyuncs.com", + "ap-northeast-1": "business.ap-southeast-1.aliyuncs.com", + "cn-chengdu": "business.aliyuncs.com", + "ap-southeast-1": "business.ap-southeast-1.aliyuncs.com", + "ap-southeast-5": "business.ap-southeast-1.aliyuncs.com", + "cn-hongkong": "business.aliyuncs.com", + "cn-beijing-finance-1": "business.aliyuncs.com", + "cn-hangzhou-finance": "business.aliyuncs.com", + "cn-shanghai-finance-1": "business.aliyuncs.com", + "cn-shenzhen-finance-1": "business.aliyuncs.com", + "me-east-1": "business.ap-southeast-1.aliyuncs.com", + "ap-south-1": "business.ap-southeast-1.aliyuncs.com", + "eu-central-1": "business.ap-southeast-1.aliyuncs.com", + "us-east-1": "business.ap-southeast-1.aliyuncs.com", + "us-west-1": "business.ap-southeast-1.aliyuncs.com", + "eu-west-1": "business.ap-southeast-1.aliyuncs.com", +} + +var SealosRegionMap = map[string]string{ + "internal": "cloud.sealos.run", + "external": "cloud.sealos.io", +} diff --git a/cmd/client/sdk/google.go b/cmd/client/sdk/google.go new file mode 100644 index 0000000..0919fd1 --- /dev/null +++ b/cmd/client/sdk/google.go @@ -0,0 +1 @@ +package sdk diff --git a/cmd/client/sdk/hwyun.go b/cmd/client/sdk/hwyun.go new file mode 100644 index 0000000..0919fd1 --- /dev/null +++ b/cmd/client/sdk/hwyun.go @@ -0,0 +1 @@ +package sdk diff --git a/cmd/client/sdk/sdk.go b/cmd/client/sdk/sdk.go new file mode 100644 index 0000000..6ba4def --- /dev/null +++ b/cmd/client/sdk/sdk.go @@ -0,0 +1,33 @@ +package sdk + +import ( + "github.com/DVKunion/SeaMoon/cmd/client/api/models" + "github.com/DVKunion/SeaMoon/cmd/client/api/types" +) + +type CloudSDK interface { + // Auth 判断是否存在权限动作, 并获取账户钱包信息 + Auth(providerId uint) error + // Deploy 部署隧道函数 + Deploy(providerId uint, tun *models.Tunnel) error + // Destroy 删除隧道函数 + Destroy(providerId uint, tun *models.Tunnel) error + // SyncFC 同步函数 + SyncFC(providerId uint) error + + // Billing(provider models.CloudProvider, tunnel models.Tunnel) error + + // UpdateVersion 一键更新: 用本地的版本号请求远端服务更新至 + // UpdateVersion(auth models.CloudAuth) error +} + +var cloudFactory = map[types.CloudType]CloudSDK{} + +func GetSDK(t types.CloudType) CloudSDK { + return cloudFactory[t] +} + +func init() { + cloudFactory[types.ALiYun] = &ALiYunSDK{} + cloudFactory[types.Sealos] = &SealosSDK{} +} diff --git a/cmd/client/sdk/sealos.go b/cmd/client/sdk/sealos.go new file mode 100644 index 0000000..a952649 --- /dev/null +++ b/cmd/client/sdk/sealos.go @@ -0,0 +1,431 @@ +package sdk + +import ( + "context" + "encoding/json" + "errors" + "fmt" + "io" + "log/slog" + "net/http" + "net/url" + "strconv" + "strings" + "time" + + appsv1 "k8s.io/api/apps/v1" + corev1 "k8s.io/api/core/v1" + networkingv1 "k8s.io/api/networking/v1" + "k8s.io/apimachinery/pkg/api/resource" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/intstr" + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/tools/clientcmd" + + "github.com/DVKunion/SeaMoon/cmd/client/api/models" + "github.com/DVKunion/SeaMoon/cmd/client/api/service" + "github.com/DVKunion/SeaMoon/pkg/consts" + "github.com/DVKunion/SeaMoon/pkg/tools" + "github.com/DVKunion/SeaMoon/pkg/tunnel" +) + +type SealosSDK struct { +} + +var ( + num int32 = 1 + prefix = networkingv1.PathTypePrefix + fl = false +) + +type SealosAmount struct { + Code int `json:"code"` + Message string `json:"message"` + Data struct { + ActivityBonus int `json:"activityBonus"` + Balance int `json:"balance"` + DeductionBalance int `json:"deductionBalance"` + EncryptBalance string `json:"encryptBalance"` + EncryptDeductionBalance string `json:"encryptDeductionBalance"` + } `json:"data"` +} + +func (s SealosSDK) Auth(providerId uint) error { + provider := service.GetService("provider").GetById(providerId).(*models.CloudProvider) + amountUrl := fmt.Sprintf("https://costcenter.%s/api/account/getAmount", SealosRegionMap[*provider.Region]) + + req, err := http.NewRequest("GET", amountUrl, nil) + if err != nil { + return err + } + + req.Header.Add("Authorization", url.PathEscape(provider.CloudAuth.KubeConfig)) + client := &http.Client{ + Timeout: 30 * time.Second, + } + + resp, err := client.Do(req) + if err != nil { + return err + } + + defer resp.Body.Close() + + if resp.StatusCode != 200 { + return errors.New("error request : " + resp.Status) + } + + body, err := io.ReadAll(resp.Body) + if err != nil { + return err + } + + var sa = SealosAmount{} + err = json.Unmarshal(body, &sa) + if err != nil { + return err + } + + *provider.Amount = float64(sa.Data.Balance-sa.Data.DeductionBalance) / 1000000 + *provider.Cost = float64(sa.Data.DeductionBalance) / 1000000 + + service.GetService("provider").Update(provider.ID, provider) + + return nil +} + +func (s SealosSDK) Billing(providerId uint, tunnel models.Tunnel) error { + // 详细计算某个隧道花费数据 + //url := fmt.Sprintf("https://costcenter.%s/api/billing", SealosRegionMap[provider.Region]) + return nil +} + +func (s SealosSDK) Deploy(providerId uint, tun *models.Tunnel) error { + provider := service.GetService("provider").GetById(providerId).(*models.CloudProvider) + // sealos 部署十分简单,直接调用 k8s client-go 即可。 + ctx := context.TODO() + + ns, clientSet, err := parseKubeConfig(provider.CloudAuth.KubeConfig) + + if err != nil { + return err + } + + svcName := "seamoon-" + *tun.Name + "-" + string(*tun.Type) + imgName := "dvkunion/seamoon:" + consts.Version + hostName := tools.GenerateRandomLetterString(12) + port, err := strconv.Atoi(*tun.Port) + if err != nil { + return err + } + // 需要先创建 deployment 负载 + deployment := &appsv1.Deployment{ + ObjectMeta: metav1.ObjectMeta{ + Name: svcName, + Annotations: map[string]string{ + "originImageName": imgName, + "deploy.cloud.sealos.io/minReplicas": "1", + "deploy.cloud.sealos.io/maxReplicas": "1", + "deploy.cloud.sealos.io/resize": "0Gi", + }, + Labels: map[string]string{ + "cloud.sealos.io/app-deploy-manager": svcName, + "app": svcName, + }, + }, + Spec: appsv1.DeploymentSpec{ + Replicas: &num, + RevisionHistoryLimit: &num, + Selector: &metav1.LabelSelector{ + MatchLabels: map[string]string{ + "app": svcName, + }, + }, + Template: corev1.PodTemplateSpec{ + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + "app": svcName, + }, + }, + Spec: corev1.PodSpec{ + AutomountServiceAccountToken: &fl, + Containers: []corev1.Container{ + { + Name: svcName, + Image: imgName, + Env: func() []corev1.EnvVar { + var env = make([]corev1.EnvVar, 0) + if tun.TunnelConfig.Tor { + // 需要增加环境变量 + env = append(env, corev1.EnvVar{ + Name: "SEAMOON_TOR", + Value: "true", + }) + } + return env + }(), + Resources: corev1.ResourceRequirements{ + Requests: map[corev1.ResourceName]resource.Quantity{ + corev1.ResourceCPU: func() resource.Quantity { + if tun.TunnelConfig.CPU < 0.1 { + return resource.MustParse("10m") + } + return resource.MustParse(strconv.Itoa(int(tun.TunnelConfig.CPU*100)) + "m") + }(), + corev1.ResourceMemory: func() resource.Quantity { + if tun.TunnelConfig.Memory < 64 { + return resource.MustParse("6Mi") + } + return resource.MustParse(strconv.Itoa(int(tun.TunnelConfig.Memory/10)) + "Mi") + }(), + }, + Limits: map[corev1.ResourceName]resource.Quantity{ + corev1.ResourceCPU: func() resource.Quantity { + if tun.TunnelConfig.CPU < 0.1 { + return resource.MustParse("100m") + } + return resource.MustParse(strconv.Itoa(int(tun.TunnelConfig.CPU*1000)) + "m") + }(), + corev1.ResourceMemory: func() resource.Quantity { + if tun.TunnelConfig.Memory < 64 { + return resource.MustParse("64Mi") + } + return resource.MustParse(strconv.Itoa(int(tun.TunnelConfig.Memory)) + "Mi") + }(), + }, + }, + Command: []string{"/app/seamoon"}, + Args: func() []string { + switch *tun.Type { + case tunnel.WST: + return []string{"server", "-p", "9000", "-t", "websocket"} + case tunnel.GRT: + return []string{"server", "-p", "8089", "-t", "grpc"} + } + return []string{} + }(), + Ports: []corev1.ContainerPort{ + { + Name: "seamoon-http", + Protocol: corev1.ProtocolTCP, + ContainerPort: int32(port), + }, + }, + ImagePullPolicy: corev1.PullAlways, + }, + }, + }, + }, + }, + } + + // 使用客户端创建Deployment + _, err = clientSet.AppsV1().Deployments(ns).Create(ctx, deployment, metav1.CreateOptions{}) + if err != nil { + return err + } + fmt.Println("Deployment创建成功!") + // 然后是创建 service 和 ingress + svc := &corev1.Service{ + ObjectMeta: metav1.ObjectMeta{ + Name: svcName, + Labels: map[string]string{ + "cloud.sealos.io/app-deploy-manager": svcName, + }, + }, + Spec: corev1.ServiceSpec{ + Selector: map[string]string{ + "app": svcName, + }, + Ports: []corev1.ServicePort{ + { + Port: int32(port), + TargetPort: intstr.FromInt32(int32(port)), + }, + }, + }, + } + _, err = clientSet.CoreV1().Services(ns).Create(ctx, svc, metav1.CreateOptions{}) + if err != nil { + return err + } + fmt.Println("Service创建成功!") + // ingress + ingress := &networkingv1.Ingress{ + ObjectMeta: metav1.ObjectMeta{ + Name: svcName, + Labels: map[string]string{ + "cloud.sealos.io/app-deploy-manager": svcName, + "cloud.sealos.io/app-deploy-manager-domain": hostName, + }, + Annotations: map[string]string{ + "kubernetes.io/ingress.class": "nginx", + "nginx.ingress.kubernetes.io/proxy-body-size": "32m", + "nginx.ingress.kubernetes.io/ssl-redirect": "false", + "nginx.ingress.kubernetes.io/backend-protocol": func() string { + switch *tun.Type { + case tunnel.WST: + return "WS" + case tunnel.GRT: + return "GRPC" + } + return "HTTP" + }(), + "nginx.ingress.kubernetes.io/proxy-send-timeout": "3600", + "nginx.ingress.kubernetes.io/proxy-read-timeout": "3600", + }, + }, + Spec: networkingv1.IngressSpec{ + Rules: []networkingv1.IngressRule{ + { + Host: fmt.Sprintf("%s.%s", hostName, SealosRegionMap[*provider.Region]), + IngressRuleValue: networkingv1.IngressRuleValue{ + HTTP: &networkingv1.HTTPIngressRuleValue{ + Paths: []networkingv1.HTTPIngressPath{ + { + Path: "/", + PathType: &prefix, + Backend: networkingv1.IngressBackend{ + Service: &networkingv1.IngressServiceBackend{ + Name: svcName, + Port: networkingv1.ServiceBackendPort{ + Number: 9000, + }, + }, + }, + }, + }, + }, + }, + }, + }, + TLS: []networkingv1.IngressTLS{ + { + Hosts: []string{fmt.Sprintf("%s.%s", hostName, SealosRegionMap[*provider.Region])}, + SecretName: "wildcard-cloud-sealos-io-cert", + }, + }, + }, + } + _, err = clientSet.NetworkingV1().Ingresses(ns).Create(ctx, ingress, metav1.CreateOptions{}) + if err != nil { + return err + } + fmt.Println("Ingress创建成功!") + *tun.Status = tunnel.ACTIVE + *tun.Addr = fmt.Sprintf("%s.%s", hostName, SealosRegionMap[*provider.Region]) + service.GetService("tunnel").Update(tun.ID, tun) + return nil +} + +func (s SealosSDK) Destroy(providerId uint, tun *models.Tunnel) error { + provider := service.GetService("provider").GetById(providerId).(*models.CloudProvider) + ctx := context.TODO() + + ns, clientSet, err := parseKubeConfig(provider.CloudAuth.KubeConfig) + + if err != nil { + return err + } + + svcName := "seamoon-" + *tun.Name + "-" + string(*tun.Type) + if err := clientSet.AppsV1().Deployments(ns).Delete(ctx, svcName, metav1.DeleteOptions{}); err != nil { + return err + } + slog.Info("成功删除") + if err := clientSet.CoreV1().Services(ns).Delete(ctx, svcName, metav1.DeleteOptions{}); err != nil { + return err + } + slog.Info("成功删除") + if err := clientSet.NetworkingV1().Ingresses(ns).Delete(ctx, svcName, metav1.DeleteOptions{}); err != nil { + return err + } + slog.Info("成功删除") + + // 删除数据 + return nil +} + +func (s SealosSDK) SyncFC(providerId uint) error { + provider := service.GetService("provider").GetById(providerId).(*models.CloudProvider) + tunList := make([]models.Tunnel, 0) + ctx := context.TODO() + + ns, clientSet, err := parseKubeConfig(provider.CloudAuth.KubeConfig) + + if err != nil { + return err + } + + svcs, err := clientSet.AppsV1().Deployments(ns).List(ctx, metav1.ListOptions{}) + if err != nil { + return err + } + + ingresses, err := clientSet.NetworkingV1().Ingresses(ns).List(ctx, metav1.ListOptions{}) + if err != nil { + return err + } + + for _, svc := range svcs.Items { + if strings.HasPrefix(svc.Name, "seamoon-") { + // 说明是我们的服务,继续获取对应的 label 来查找 ingress + var tun = models.Tunnel{} + *tun.Name = strings.Split(svc.Name, "-")[1] + *tun.Port = strconv.Itoa(int(svc.Spec.Template.Spec.Containers[0].Ports[0].ContainerPort)) + *tun.Type = func() tunnel.Type { + if strings.HasSuffix(svc.Name, "websocket-tunnel") { + return tunnel.WST + } + if strings.HasSuffix(svc.Name, "grpc-tunnel") { + return tunnel.GRT + } + return tunnel.NULL + }() + for _, ingress := range ingresses.Items { + if ingress.Name == svc.Name { + *tun.Addr = ingress.Spec.Rules[0].Host + } + } + t := service.GetService("tunnel").Create(&tun).(*models.Tunnel) + tunList = append(tunList, *t) + } + } + if len(tunList) > 0 { + provider.Tunnels = append(provider.Tunnels, tunList...) + } + + service.GetService("provider").Update(provider.ID, provider) + return nil +} + +func parseKubeConfig(kc string) (string, *kubernetes.Clientset, error) { + bs, err := url.PathUnescape(kc) + if err != nil { + return "", nil, err + } + ac, err := clientcmd.Load([]byte(bs)) + if err != nil { + return "", nil, err + } + + var ns = "" + for _, ctx := range ac.Contexts { + ns = ctx.Namespace + } + + if ns == "" { + return ns, nil, errors.New("认证信息错误,未发现命名空间") + } + + config, err := clientcmd.RESTConfigFromKubeConfig([]byte(bs)) + + if err != nil { + return ns, nil, err + } + client, err := kubernetes.NewForConfig(config) + if err != nil { + return ns, nil, err + } + return ns, client, nil +} diff --git a/cmd/client/sdk/tencent.go b/cmd/client/sdk/tencent.go new file mode 100644 index 0000000..0919fd1 --- /dev/null +++ b/cmd/client/sdk/tencent.go @@ -0,0 +1 @@ +package sdk diff --git a/cmd/client/signal.go b/cmd/client/signal.go deleted file mode 100644 index e3b11bd..0000000 --- a/cmd/client/signal.go +++ /dev/null @@ -1,87 +0,0 @@ -package client - -import ( - "os" - "os/signal" - "sync" - "syscall" - - "github.com/DVKunion/SeaMoon/pkg/transfer" -) - -type SigGroup struct { - wg *sync.WaitGroup - WatchChannel chan os.Signal - StartChannel chan transfer.Type - StopChannel chan transfer.Type -} - -func NewSigGroup() *SigGroup { - sg := &SigGroup{ - new(sync.WaitGroup), - make(chan os.Signal, 1), - make(chan transfer.Type, 1), - make(chan transfer.Type, 1), - } - signal.Notify(sg.WatchChannel, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT) - return sg -} - -func (sg *SigGroup) StartHttpProxy() { - if Config().Http.Status == "active" { - return - } - sg.StartChannel <- transfer.HTTP - Config().Http.Status = "active" -} - -func (sg *SigGroup) StopHttpProxy() { - if Config().Http.Status == "inactive" { - return - } - sg.StopChannel <- transfer.HTTP - Config().Http.Status = "inactive" -} - -func (sg *SigGroup) StartSocksProxy() { - if Config().Socks5.Status == "active" { - return - } - sg.StartChannel <- transfer.SOCKS5 - Config().Socks5.Status = "active" -} - -func (sg *SigGroup) StopSocksProxy() { - if Config().Socks5.Status == "inactive" { - return - } - sg.StopChannel <- transfer.SOCKS5 - Config().Socks5.Status = "inactive" -} - -func (sg *SigGroup) StopProxy() { - sg.StopHttpProxy() - sg.StopSocksProxy() - Config().Save() -} - -//func (sg *SigGroup) Stop() { -// close(sg.SocksStopChannel) -// close(sg.HttpStopChannel) -// close(sg.SocksStartChannel) -// close(sg.HttpStartChannel) -// close(sg.WatchChannel) -//} - -func (sg *SigGroup) Detection() { - if Config().Http.Enabled { - sg.StartHttpProxy() - } else { - sg.StopHttpProxy() - } - if Config().Socks5.Enabled { - sg.StartSocksProxy() - } else { - sg.StopSocksProxy() - } -} diff --git a/cmd/client/static/embed.go b/cmd/client/static/embed.go index c475dc7..1a4077f 100644 --- a/cmd/client/static/embed.go +++ b/cmd/client/static/embed.go @@ -2,8 +2,5 @@ package static import "embed" -//go:embed public/* -var AssetFiles embed.FS - -//go:embed templates/* -var HtmlFiles embed.FS +//go:embed dist/* +var WebViews embed.FS diff --git a/cmd/client/static/public/css/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2 b/cmd/client/static/public/css/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2 deleted file mode 100644 index 04ec68b..0000000 Binary files a/cmd/client/static/public/css/S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2 and /dev/null differ diff --git a/cmd/client/static/public/css/S6uyw4BMUTPHjx4wXiWtFCc.woff2 b/cmd/client/static/public/css/S6uyw4BMUTPHjx4wXiWtFCc.woff2 deleted file mode 100644 index e1341f7..0000000 Binary files a/cmd/client/static/public/css/S6uyw4BMUTPHjx4wXiWtFCc.woff2 and /dev/null differ diff --git a/cmd/client/static/public/css/brand-icons.eot b/cmd/client/static/public/css/brand-icons.eot deleted file mode 100644 index 0a1ef3f..0000000 Binary files a/cmd/client/static/public/css/brand-icons.eot and /dev/null differ diff --git a/cmd/client/static/public/css/brand-icons.svg b/cmd/client/static/public/css/brand-icons.svg deleted file mode 100644 index 4c23753..0000000 --- a/cmd/client/static/public/css/brand-icons.svg +++ /dev/null @@ -1,1008 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cmd/client/static/public/css/brand-icons.ttf b/cmd/client/static/public/css/brand-icons.ttf deleted file mode 100644 index f990851..0000000 Binary files a/cmd/client/static/public/css/brand-icons.ttf and /dev/null differ diff --git a/cmd/client/static/public/css/brand-icons.woff b/cmd/client/static/public/css/brand-icons.woff deleted file mode 100644 index 2e87401..0000000 Binary files a/cmd/client/static/public/css/brand-icons.woff and /dev/null differ diff --git a/cmd/client/static/public/css/brand-icons.woff2 b/cmd/client/static/public/css/brand-icons.woff2 deleted file mode 100644 index 0d575fd..0000000 Binary files a/cmd/client/static/public/css/brand-icons.woff2 and /dev/null differ diff --git a/cmd/client/static/public/css/font.css b/cmd/client/static/public/css/font.css deleted file mode 100644 index 201796a..0000000 --- a/cmd/client/static/public/css/font.css +++ /dev/null @@ -1,71 +0,0 @@ -/* latin */ -@font-face { - font-family: 'Lato'; - font-style: normal; - font-weight: 400; - src: url(S6uyw4BMUTPHjx4wXiWtFCc.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} - -/* latin */ -@font-face { - font-family: 'Lato'; - font-style: normal; - font-weight: 700; - src: url(S6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} - -/* latin-ext */ -@font-face { - font-family: 'Lato'; - font-style: italic; - font-weight: 400; - src: url(https://fonts.gstatic.com/s/lato/v23/S6u8w4BMUTPHjxsAUi-qNiXg7eU0.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} - -/* latin */ -@font-face { - font-family: 'Lato'; - font-style: italic; - font-weight: 400; - src: url(https://fonts.gstatic.com/s/lato/v23/S6u8w4BMUTPHjxsAXC-qNiXg7Q.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} - -/* latin-ext */ -@font-face { - font-family: 'Lato'; - font-style: italic; - font-weight: 700; - src: url(https://fonts.gstatic.com/s/lato/v23/S6u_w4BMUTPHjxsI5wq_FQftx9897sxZ.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} - -/* latin */ -@font-face { - font-family: 'Lato'; - font-style: italic; - font-weight: 700; - src: url(https://fonts.gstatic.com/s/lato/v23/S6u_w4BMUTPHjxsI5wq_Gwftx9897g.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} - -/* latin-ext */ -@font-face { - font-family: 'Lato'; - font-style: normal; - font-weight: 400; - src: url(https://fonts.gstatic.com/s/lato/v23/S6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} - -/* latin-ext */ -@font-face { - font-family: 'Lato'; - font-style: normal; - font-weight: 700; - src: url(https://fonts.gstatic.com/s/lato/v23/S6u9w4BMUTPHh6UVSwaPGQ3q5d0N7w.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} \ No newline at end of file diff --git a/cmd/client/static/public/css/icon.min.css b/cmd/client/static/public/css/icon.min.css deleted file mode 100755 index 4342e3a..0000000 --- a/cmd/client/static/public/css/icon.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * # Semantic UI 2.4.1 - Icon - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */@font-face{font-family:Icons;src:url(icons.eot);src:url(icons.eot?#iefix) format('embedded-opentype'),url(icons.woff2) format('woff2'),url(icons.woff) format('woff'),url(icons.ttf) format('truetype'),url(icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon{display:inline-block;opacity:1;margin:0 .25rem 0 0;width:1.18em;height:1em;font-family:Icons;font-style:normal;font-weight:400;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.icon:before{background:0 0!important}i.icon.loading{height:1em;line-height:1;-webkit-animation:icon-loading 2s linear infinite;animation:icon-loading 2s linear infinite}@-webkit-keyframes icon-loading{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-loading{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}i.icon.hover{opacity:1!important}i.icon.active{opacity:1!important}i.emphasized.icon{opacity:1!important}i.disabled.icon{opacity:.45!important}i.fitted.icon{width:auto;margin:0!important}i.link.icon,i.link.icons{cursor:pointer;opacity:.8;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}i.link.icon:hover,i.link.icons:hover{opacity:1!important}i.circular.icon{border-radius:500em!important;line-height:1!important;padding:.5em 0!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;width:2em!important;height:2em!important}i.circular.inverted.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.flipped.icon,i.horizontally.flipped.icon{-webkit-transform:scale(-1,1);transform:scale(-1,1)}i.vertically.flipped.icon{-webkit-transform:scale(1,-1);transform:scale(1,-1)}i.clockwise.rotated.icon,i.right.rotated.icon,i.rotated.icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}i.counterclockwise.rotated.icon,i.left.rotated.icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}i.bordered.icon{line-height:1;vertical-align:baseline;width:2em;height:2em;padding:.5em 0!important;-webkit-box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset}i.bordered.inverted.icon{border:none;-webkit-box-shadow:none;box-shadow:none}i.inverted.bordered.icon,i.inverted.circular.icon{background-color:#1b1c1d!important;color:#fff!important}i.inverted.icon{color:#fff}i.red.icon{color:#db2828!important}i.inverted.red.icon{color:#ff695e!important}i.inverted.bordered.red.icon,i.inverted.circular.red.icon{background-color:#db2828!important;color:#fff!important}i.orange.icon{color:#f2711c!important}i.inverted.orange.icon{color:#ff851b!important}i.inverted.bordered.orange.icon,i.inverted.circular.orange.icon{background-color:#f2711c!important;color:#fff!important}i.yellow.icon{color:#fbbd08!important}i.inverted.yellow.icon{color:#ffe21f!important}i.inverted.bordered.yellow.icon,i.inverted.circular.yellow.icon{background-color:#fbbd08!important;color:#fff!important}i.olive.icon{color:#b5cc18!important}i.inverted.olive.icon{color:#d9e778!important}i.inverted.bordered.olive.icon,i.inverted.circular.olive.icon{background-color:#b5cc18!important;color:#fff!important}i.green.icon{color:#21ba45!important}i.inverted.green.icon{color:#2ecc40!important}i.inverted.bordered.green.icon,i.inverted.circular.green.icon{background-color:#21ba45!important;color:#fff!important}i.teal.icon{color:#00b5ad!important}i.inverted.teal.icon{color:#6dffff!important}i.inverted.bordered.teal.icon,i.inverted.circular.teal.icon{background-color:#00b5ad!important;color:#fff!important}i.blue.icon{color:#2185d0!important}i.inverted.blue.icon{color:#54c8ff!important}i.inverted.bordered.blue.icon,i.inverted.circular.blue.icon{background-color:#2185d0!important;color:#fff!important}i.violet.icon{color:#6435c9!important}i.inverted.violet.icon{color:#a291fb!important}i.inverted.bordered.violet.icon,i.inverted.circular.violet.icon{background-color:#6435c9!important;color:#fff!important}i.purple.icon{color:#a333c8!important}i.inverted.purple.icon{color:#dc73ff!important}i.inverted.bordered.purple.icon,i.inverted.circular.purple.icon{background-color:#a333c8!important;color:#fff!important}i.pink.icon{color:#e03997!important}i.inverted.pink.icon{color:#ff8edf!important}i.inverted.bordered.pink.icon,i.inverted.circular.pink.icon{background-color:#e03997!important;color:#fff!important}i.brown.icon{color:#a5673f!important}i.inverted.brown.icon{color:#d67c1c!important}i.inverted.bordered.brown.icon,i.inverted.circular.brown.icon{background-color:#a5673f!important;color:#fff!important}i.grey.icon{color:#767676!important}i.inverted.grey.icon{color:#dcddde!important}i.inverted.bordered.grey.icon,i.inverted.circular.grey.icon{background-color:#767676!important;color:#fff!important}i.black.icon{color:#1b1c1d!important}i.inverted.black.icon{color:#545454!important}i.inverted.bordered.black.icon,i.inverted.circular.black.icon{background-color:#1b1c1d!important;color:#fff!important}i.mini.icon,i.mini.icons{line-height:1;font-size:.4em}i.tiny.icon,i.tiny.icons{line-height:1;font-size:.5em}i.small.icon,i.small.icons{line-height:1;font-size:.75em}i.icon,i.icons{font-size:1em}i.large.icon,i.large.icons{line-height:1;vertical-align:middle;font-size:1.5em}i.big.icon,i.big.icons{line-height:1;vertical-align:middle;font-size:2em}i.huge.icon,i.huge.icons{line-height:1;vertical-align:middle;font-size:4em}i.massive.icon,i.massive.icons{line-height:1;vertical-align:middle;font-size:8em}i.icons{display:inline-block;position:relative;line-height:1}i.icons .icon{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);margin:0;margin:0}i.icons .icon:first-child{position:static;width:auto;height:auto;vertical-align:top;-webkit-transform:none;transform:none;margin-right:.25rem}i.icons .corner.icon{top:auto;left:auto;right:0;bottom:0;-webkit-transform:none;transform:none;font-size:.45em;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}i.icons .top.right.corner.icon{top:0;left:auto;right:0;bottom:auto}i.icons .top.left.corner.icon{top:0;left:0;right:auto;bottom:auto}i.icons .bottom.left.corner.icon{top:auto;left:0;right:auto;bottom:0}i.icons .bottom.right.corner.icon{top:auto;left:auto;right:0;bottom:0}i.icons .inverted.corner.icon{text-shadow:-1px -1px 0 #1b1c1d,1px -1px 0 #1b1c1d,-1px 1px 0 #1b1c1d,1px 1px 0 #1b1c1d}i.icon.linkedin.in:before{content:"\f0e1"}i.icon.zoom.in:before{content:"\f00e"}i.icon.zoom.out:before{content:"\f010"}i.icon.sign.in:before{content:"\f2f6"}i.icon.in.cart:before{content:"\f218"}i.icon.log.out:before{content:"\f2f5"}i.icon.sign.out:before{content:"\f2f5"}i.icon.\35 00px:before{content:"\f26e"}i.icon.accessible.icon:before{content:"\f368"}i.icon.accusoft:before{content:"\f369"}i.icon.address.book:before{content:"\f2b9"}i.icon.address.card:before{content:"\f2bb"}i.icon.adjust:before{content:"\f042"}i.icon.adn:before{content:"\f170"}i.icon.adversal:before{content:"\f36a"}i.icon.affiliatetheme:before{content:"\f36b"}i.icon.algolia:before{content:"\f36c"}i.icon.align.center:before{content:"\f037"}i.icon.align.justify:before{content:"\f039"}i.icon.align.left:before{content:"\f036"}i.icon.align.right:before{content:"\f038"}i.icon.amazon:before{content:"\f270"}i.icon.amazon.pay:before{content:"\f42c"}i.icon.ambulance:before{content:"\f0f9"}i.icon.american.sign.language.interpreting:before{content:"\f2a3"}i.icon.amilia:before{content:"\f36d"}i.icon.anchor:before{content:"\f13d"}i.icon.android:before{content:"\f17b"}i.icon.angellist:before{content:"\f209"}i.icon.angle.double.down:before{content:"\f103"}i.icon.angle.double.left:before{content:"\f100"}i.icon.angle.double.right:before{content:"\f101"}i.icon.angle.double.up:before{content:"\f102"}i.icon.angle.down:before{content:"\f107"}i.icon.angle.left:before{content:"\f104"}i.icon.angle.right:before{content:"\f105"}i.icon.angle.up:before{content:"\f106"}i.icon.angrycreative:before{content:"\f36e"}i.icon.angular:before{content:"\f420"}i.icon.app.store:before{content:"\f36f"}i.icon.app.store.ios:before{content:"\f370"}i.icon.apper:before{content:"\f371"}i.icon.apple:before{content:"\f179"}i.icon.apple.pay:before{content:"\f415"}i.icon.archive:before{content:"\f187"}i.icon.arrow.alternate.circle.down:before{content:"\f358"}i.icon.arrow.alternate.circle.left:before{content:"\f359"}i.icon.arrow.alternate.circle.right:before{content:"\f35a"}i.icon.arrow.alternate.circle.up:before{content:"\f35b"}i.icon.arrow.circle.down:before{content:"\f0ab"}i.icon.arrow.circle.left:before{content:"\f0a8"}i.icon.arrow.circle.right:before{content:"\f0a9"}i.icon.arrow.circle.up:before{content:"\f0aa"}i.icon.arrow.down:before{content:"\f063"}i.icon.arrow.left:before{content:"\f060"}i.icon.arrow.right:before{content:"\f061"}i.icon.arrow.up:before{content:"\f062"}i.icon.arrows.alternate:before{content:"\f0b2"}i.icon.arrows.alternate.horizontal:before{content:"\f337"}i.icon.arrows.alternate.vertical:before{content:"\f338"}i.icon.assistive.listening.systems:before{content:"\f2a2"}i.icon.asterisk:before{content:"\f069"}i.icon.asymmetrik:before{content:"\f372"}i.icon.at:before{content:"\f1fa"}i.icon.audible:before{content:"\f373"}i.icon.audio.description:before{content:"\f29e"}i.icon.autoprefixer:before{content:"\f41c"}i.icon.avianex:before{content:"\f374"}i.icon.aviato:before{content:"\f421"}i.icon.aws:before{content:"\f375"}i.icon.backward:before{content:"\f04a"}i.icon.balance.scale:before{content:"\f24e"}i.icon.ban:before{content:"\f05e"}i.icon.band.aid:before{content:"\f462"}i.icon.bandcamp:before{content:"\f2d5"}i.icon.barcode:before{content:"\f02a"}i.icon.bars:before{content:"\f0c9"}i.icon.baseball.ball:before{content:"\f433"}i.icon.basketball.ball:before{content:"\f434"}i.icon.bath:before{content:"\f2cd"}i.icon.battery.empty:before{content:"\f244"}i.icon.battery.full:before{content:"\f240"}i.icon.battery.half:before{content:"\f242"}i.icon.battery.quarter:before{content:"\f243"}i.icon.battery.three.quarters:before{content:"\f241"}i.icon.bed:before{content:"\f236"}i.icon.beer:before{content:"\f0fc"}i.icon.behance:before{content:"\f1b4"}i.icon.behance.square:before{content:"\f1b5"}i.icon.bell:before{content:"\f0f3"}i.icon.bell.slash:before{content:"\f1f6"}i.icon.bicycle:before{content:"\f206"}i.icon.bimobject:before{content:"\f378"}i.icon.binoculars:before{content:"\f1e5"}i.icon.birthday.cake:before{content:"\f1fd"}i.icon.bitbucket:before{content:"\f171"}i.icon.bitcoin:before{content:"\f379"}i.icon.bity:before{content:"\f37a"}i.icon.black.tie:before{content:"\f27e"}i.icon.blackberry:before{content:"\f37b"}i.icon.blind:before{content:"\f29d"}i.icon.blogger:before{content:"\f37c"}i.icon.blogger.b:before{content:"\f37d"}i.icon.bluetooth:before{content:"\f293"}i.icon.bluetooth.b:before{content:"\f294"}i.icon.bold:before{content:"\f032"}i.icon.bolt:before{content:"\f0e7"}i.icon.bomb:before{content:"\f1e2"}i.icon.book:before{content:"\f02d"}i.icon.bookmark:before{content:"\f02e"}i.icon.bowling.ball:before{content:"\f436"}i.icon.box:before{content:"\f466"}i.icon.boxes:before{content:"\f468"}i.icon.braille:before{content:"\f2a1"}i.icon.briefcase:before{content:"\f0b1"}i.icon.btc:before{content:"\f15a"}i.icon.bug:before{content:"\f188"}i.icon.building:before{content:"\f1ad"}i.icon.bullhorn:before{content:"\f0a1"}i.icon.bullseye:before{content:"\f140"}i.icon.buromobelexperte:before{content:"\f37f"}i.icon.bus:before{content:"\f207"}i.icon.buysellads:before{content:"\f20d"}i.icon.calculator:before{content:"\f1ec"}i.icon.calendar:before{content:"\f133"}i.icon.calendar.alternate:before{content:"\f073"}i.icon.calendar.check:before{content:"\f274"}i.icon.calendar.minus:before{content:"\f272"}i.icon.calendar.plus:before{content:"\f271"}i.icon.calendar.times:before{content:"\f273"}i.icon.camera:before{content:"\f030"}i.icon.camera.retro:before{content:"\f083"}i.icon.car:before{content:"\f1b9"}i.icon.caret.down:before{content:"\f0d7"}i.icon.caret.left:before{content:"\f0d9"}i.icon.caret.right:before{content:"\f0da"}i.icon.caret.square.down:before{content:"\f150"}i.icon.caret.square.left:before{content:"\f191"}i.icon.caret.square.right:before{content:"\f152"}i.icon.caret.square.up:before{content:"\f151"}i.icon.caret.up:before{content:"\f0d8"}i.icon.cart.arrow.down:before{content:"\f218"}i.icon.cart.plus:before{content:"\f217"}i.icon.cc.amazon.pay:before{content:"\f42d"}i.icon.cc.amex:before{content:"\f1f3"}i.icon.cc.apple.pay:before{content:"\f416"}i.icon.cc.diners.club:before{content:"\f24c"}i.icon.cc.discover:before{content:"\f1f2"}i.icon.cc.jcb:before{content:"\f24b"}i.icon.cc.mastercard:before{content:"\f1f1"}i.icon.cc.paypal:before{content:"\f1f4"}i.icon.cc.stripe:before{content:"\f1f5"}i.icon.cc.visa:before{content:"\f1f0"}i.icon.centercode:before{content:"\f380"}i.icon.certificate:before{content:"\f0a3"}i.icon.chart.area:before{content:"\f1fe"}i.icon.chart.bar:before{content:"\f080"}i.icon.chart.line:before{content:"\f201"}i.icon.chart.pie:before{content:"\f200"}i.icon.check:before{content:"\f00c"}i.icon.check.circle:before{content:"\f058"}i.icon.check.square:before{content:"\f14a"}i.icon.chess:before{content:"\f439"}i.icon.chess.bishop:before{content:"\f43a"}i.icon.chess.board:before{content:"\f43c"}i.icon.chess.king:before{content:"\f43f"}i.icon.chess.knight:before{content:"\f441"}i.icon.chess.pawn:before{content:"\f443"}i.icon.chess.queen:before{content:"\f445"}i.icon.chess.rook:before{content:"\f447"}i.icon.chevron.circle.down:before{content:"\f13a"}i.icon.chevron.circle.left:before{content:"\f137"}i.icon.chevron.circle.right:before{content:"\f138"}i.icon.chevron.circle.up:before{content:"\f139"}i.icon.chevron.down:before{content:"\f078"}i.icon.chevron.left:before{content:"\f053"}i.icon.chevron.right:before{content:"\f054"}i.icon.chevron.up:before{content:"\f077"}i.icon.child:before{content:"\f1ae"}i.icon.chrome:before{content:"\f268"}i.icon.circle:before{content:"\f111"}i.icon.circle.notch:before{content:"\f1ce"}i.icon.clipboard:before{content:"\f328"}i.icon.clipboard.check:before{content:"\f46c"}i.icon.clipboard.list:before{content:"\f46d"}i.icon.clock:before{content:"\f017"}i.icon.clone:before{content:"\f24d"}i.icon.closed.captioning:before{content:"\f20a"}i.icon.cloud:before{content:"\f0c2"}i.icon.cloudscale:before{content:"\f383"}i.icon.cloudsmith:before{content:"\f384"}i.icon.cloudversify:before{content:"\f385"}i.icon.code:before{content:"\f121"}i.icon.code.branch:before{content:"\f126"}i.icon.codepen:before{content:"\f1cb"}i.icon.codiepie:before{content:"\f284"}i.icon.coffee:before{content:"\f0f4"}i.icon.cog:before{content:"\f013"}i.icon.cogs:before{content:"\f085"}i.icon.columns:before{content:"\f0db"}i.icon.comment:before{content:"\f075"}i.icon.comment.alternate:before{content:"\f27a"}i.icon.comments:before{content:"\f086"}i.icon.compass:before{content:"\f14e"}i.icon.compress:before{content:"\f066"}i.icon.connectdevelop:before{content:"\f20e"}i.icon.contao:before{content:"\f26d"}i.icon.copy:before{content:"\f0c5"}i.icon.copyright:before{content:"\f1f9"}i.icon.cpanel:before{content:"\f388"}i.icon.creative.commons:before{content:"\f25e"}i.icon.credit.card:before{content:"\f09d"}i.icon.crop:before{content:"\f125"}i.icon.crosshairs:before{content:"\f05b"}i.icon.css3:before{content:"\f13c"}i.icon.css3.alternate:before{content:"\f38b"}i.icon.cube:before{content:"\f1b2"}i.icon.cubes:before{content:"\f1b3"}i.icon.cut:before{content:"\f0c4"}i.icon.cuttlefish:before{content:"\f38c"}i.icon.d.and.d:before{content:"\f38d"}i.icon.dashcube:before{content:"\f210"}i.icon.database:before{content:"\f1c0"}i.icon.deaf:before{content:"\f2a4"}i.icon.delicious:before{content:"\f1a5"}i.icon.deploydog:before{content:"\f38e"}i.icon.deskpro:before{content:"\f38f"}i.icon.desktop:before{content:"\f108"}i.icon.deviantart:before{content:"\f1bd"}i.icon.digg:before{content:"\f1a6"}i.icon.digital.ocean:before{content:"\f391"}i.icon.discord:before{content:"\f392"}i.icon.discourse:before{content:"\f393"}i.icon.dna:before{content:"\f471"}i.icon.dochub:before{content:"\f394"}i.icon.docker:before{content:"\f395"}i.icon.dollar.sign:before{content:"\f155"}i.icon.dolly:before{content:"\f472"}i.icon.dolly.flatbed:before{content:"\f474"}i.icon.dot.circle:before{content:"\f192"}i.icon.download:before{content:"\f019"}i.icon.draft2digital:before{content:"\f396"}i.icon.dribbble:before{content:"\f17d"}i.icon.dribbble.square:before{content:"\f397"}i.icon.dropbox:before{content:"\f16b"}i.icon.drupal:before{content:"\f1a9"}i.icon.dyalog:before{content:"\f399"}i.icon.earlybirds:before{content:"\f39a"}i.icon.edge:before{content:"\f282"}i.icon.edit:before{content:"\f044"}i.icon.eject:before{content:"\f052"}i.icon.elementor:before{content:"\f430"}i.icon.ellipsis.horizontal:before{content:"\f141"}i.icon.ellipsis.vertical:before{content:"\f142"}i.icon.ember:before{content:"\f423"}i.icon.empire:before{content:"\f1d1"}i.icon.envelope:before{content:"\f0e0"}i.icon.envelope.open:before{content:"\f2b6"}i.icon.envelope.square:before{content:"\f199"}i.icon.envira:before{content:"\f299"}i.icon.eraser:before{content:"\f12d"}i.icon.erlang:before{content:"\f39d"}i.icon.ethereum:before{content:"\f42e"}i.icon.etsy:before{content:"\f2d7"}i.icon.euro.sign:before{content:"\f153"}i.icon.exchange.alternate:before{content:"\f362"}i.icon.exclamation:before{content:"\f12a"}i.icon.exclamation.circle:before{content:"\f06a"}i.icon.exclamation.triangle:before{content:"\f071"}i.icon.expand:before{content:"\f065"}i.icon.expand.arrows.alternate:before{content:"\f31e"}i.icon.expeditedssl:before{content:"\f23e"}i.icon.external.alternate:before{content:"\f35d"}i.icon.external.square.alternate:before{content:"\f360"}i.icon.eye:before{content:"\f06e"}i.icon.eye.dropper:before{content:"\f1fb"}i.icon.eye.slash:before{content:"\f070"}i.icon.facebook:before{content:"\f09a"}i.icon.facebook.f:before{content:"\f39e"}i.icon.facebook.messenger:before{content:"\f39f"}i.icon.facebook.square:before{content:"\f082"}i.icon.fast.backward:before{content:"\f049"}i.icon.fast.forward:before{content:"\f050"}i.icon.fax:before{content:"\f1ac"}i.icon.female:before{content:"\f182"}i.icon.fighter.jet:before{content:"\f0fb"}i.icon.file:before{content:"\f15b"}i.icon.file.alternate:before{content:"\f15c"}i.icon.file.archive:before{content:"\f1c6"}i.icon.file.audio:before{content:"\f1c7"}i.icon.file.code:before{content:"\f1c9"}i.icon.file.excel:before{content:"\f1c3"}i.icon.file.image:before{content:"\f1c5"}i.icon.file.pdf:before{content:"\f1c1"}i.icon.file.powerpoint:before{content:"\f1c4"}i.icon.file.video:before{content:"\f1c8"}i.icon.file.word:before{content:"\f1c2"}i.icon.film:before{content:"\f008"}i.icon.filter:before{content:"\f0b0"}i.icon.fire:before{content:"\f06d"}i.icon.fire.extinguisher:before{content:"\f134"}i.icon.firefox:before{content:"\f269"}i.icon.first.aid:before{content:"\f479"}i.icon.first.order:before{content:"\f2b0"}i.icon.firstdraft:before{content:"\f3a1"}i.icon.flag:before{content:"\f024"}i.icon.flag.checkered:before{content:"\f11e"}i.icon.flask:before{content:"\f0c3"}i.icon.flickr:before{content:"\f16e"}i.icon.flipboard:before{content:"\f44d"}i.icon.fly:before{content:"\f417"}i.icon.folder:before{content:"\f07b"}i.icon.folder.open:before{content:"\f07c"}i.icon.font:before{content:"\f031"}i.icon.font.awesome:before{content:"\f2b4"}i.icon.font.awesome.alternate:before{content:"\f35c"}i.icon.font.awesome.flag:before{content:"\f425"}i.icon.fonticons:before{content:"\f280"}i.icon.fonticons.fi:before{content:"\f3a2"}i.icon.football.ball:before{content:"\f44e"}i.icon.fort.awesome:before{content:"\f286"}i.icon.fort.awesome.alternate:before{content:"\f3a3"}i.icon.forumbee:before{content:"\f211"}i.icon.forward:before{content:"\f04e"}i.icon.foursquare:before{content:"\f180"}i.icon.free.code.camp:before{content:"\f2c5"}i.icon.freebsd:before{content:"\f3a4"}i.icon.frown:before{content:"\f119"}i.icon.futbol:before{content:"\f1e3"}i.icon.gamepad:before{content:"\f11b"}i.icon.gavel:before{content:"\f0e3"}i.icon.gem:before{content:"\f3a5"}i.icon.genderless:before{content:"\f22d"}i.icon.get.pocket:before{content:"\f265"}i.icon.gg:before{content:"\f260"}i.icon.gg.circle:before{content:"\f261"}i.icon.gift:before{content:"\f06b"}i.icon.git:before{content:"\f1d3"}i.icon.git.square:before{content:"\f1d2"}i.icon.github:before{content:"\f09b"}i.icon.github.alternate:before{content:"\f113"}i.icon.github.square:before{content:"\f092"}i.icon.gitkraken:before{content:"\f3a6"}i.icon.gitlab:before{content:"\f296"}i.icon.gitter:before{content:"\f426"}i.icon.glass.martini:before{content:"\f000"}i.icon.glide:before{content:"\f2a5"}i.icon.glide.g:before{content:"\f2a6"}i.icon.globe:before{content:"\f0ac"}i.icon.gofore:before{content:"\f3a7"}i.icon.golf.ball:before{content:"\f450"}i.icon.goodreads:before{content:"\f3a8"}i.icon.goodreads.g:before{content:"\f3a9"}i.icon.google:before{content:"\f1a0"}i.icon.google.drive:before{content:"\f3aa"}i.icon.google.play:before{content:"\f3ab"}i.icon.google.plus:before{content:"\f2b3"}i.icon.google.plus.g:before{content:"\f0d5"}i.icon.google.plus.square:before{content:"\f0d4"}i.icon.google.wallet:before{content:"\f1ee"}i.icon.graduation.cap:before{content:"\f19d"}i.icon.gratipay:before{content:"\f184"}i.icon.grav:before{content:"\f2d6"}i.icon.gripfire:before{content:"\f3ac"}i.icon.grunt:before{content:"\f3ad"}i.icon.gulp:before{content:"\f3ae"}i.icon.h.square:before{content:"\f0fd"}i.icon.hacker.news:before{content:"\f1d4"}i.icon.hacker.news.square:before{content:"\f3af"}i.icon.hand.lizard:before{content:"\f258"}i.icon.hand.paper:before{content:"\f256"}i.icon.hand.peace:before{content:"\f25b"}i.icon.hand.point.down:before{content:"\f0a7"}i.icon.hand.point.left:before{content:"\f0a5"}i.icon.hand.point.right:before{content:"\f0a4"}i.icon.hand.point.up:before{content:"\f0a6"}i.icon.hand.pointer:before{content:"\f25a"}i.icon.hand.rock:before{content:"\f255"}i.icon.hand.scissors:before{content:"\f257"}i.icon.hand.spock:before{content:"\f259"}i.icon.handshake:before{content:"\f2b5"}i.icon.hashtag:before{content:"\f292"}i.icon.hdd:before{content:"\f0a0"}i.icon.heading:before{content:"\f1dc"}i.icon.headphones:before{content:"\f025"}i.icon.heart:before{content:"\f004"}i.icon.heartbeat:before{content:"\f21e"}i.icon.hips:before{content:"\f452"}i.icon.hire.a.helper:before{content:"\f3b0"}i.icon.history:before{content:"\f1da"}i.icon.hockey.puck:before{content:"\f453"}i.icon.home:before{content:"\f015"}i.icon.hooli:before{content:"\f427"}i.icon.hospital:before{content:"\f0f8"}i.icon.hospital.symbol:before{content:"\f47e"}i.icon.hotjar:before{content:"\f3b1"}i.icon.hourglass:before{content:"\f254"}i.icon.hourglass.end:before{content:"\f253"}i.icon.hourglass.half:before{content:"\f252"}i.icon.hourglass.start:before{content:"\f251"}i.icon.houzz:before{content:"\f27c"}i.icon.html5:before{content:"\f13b"}i.icon.hubspot:before{content:"\f3b2"}i.icon.i.cursor:before{content:"\f246"}i.icon.id.badge:before{content:"\f2c1"}i.icon.id.card:before{content:"\f2c2"}i.icon.image:before{content:"\f03e"}i.icon.images:before{content:"\f302"}i.icon.imdb:before{content:"\f2d8"}i.icon.inbox:before{content:"\f01c"}i.icon.indent:before{content:"\f03c"}i.icon.industry:before{content:"\f275"}i.icon.info:before{content:"\f129"}i.icon.info.circle:before{content:"\f05a"}i.icon.instagram:before{content:"\f16d"}i.icon.internet.explorer:before{content:"\f26b"}i.icon.ioxhost:before{content:"\f208"}i.icon.italic:before{content:"\f033"}i.icon.itunes:before{content:"\f3b4"}i.icon.itunes.note:before{content:"\f3b5"}i.icon.jenkins:before{content:"\f3b6"}i.icon.joget:before{content:"\f3b7"}i.icon.joomla:before{content:"\f1aa"}i.icon.js:before{content:"\f3b8"}i.icon.js.square:before{content:"\f3b9"}i.icon.jsfiddle:before{content:"\f1cc"}i.icon.key:before{content:"\f084"}i.icon.keyboard:before{content:"\f11c"}i.icon.keycdn:before{content:"\f3ba"}i.icon.kickstarter:before{content:"\f3bb"}i.icon.kickstarter.k:before{content:"\f3bc"}i.icon.korvue:before{content:"\f42f"}i.icon.language:before{content:"\f1ab"}i.icon.laptop:before{content:"\f109"}i.icon.laravel:before{content:"\f3bd"}i.icon.lastfm:before{content:"\f202"}i.icon.lastfm.square:before{content:"\f203"}i.icon.leaf:before{content:"\f06c"}i.icon.leanpub:before{content:"\f212"}i.icon.lemon:before{content:"\f094"}i.icon.less:before{content:"\f41d"}i.icon.level.down.alternate:before{content:"\f3be"}i.icon.level.up.alternate:before{content:"\f3bf"}i.icon.life.ring:before{content:"\f1cd"}i.icon.lightbulb:before{content:"\f0eb"}i.icon.linechat:before{content:"\f3c0"}i.icon.linkify:before{content:"\f0c1"}i.icon.linkedin:before{content:"\f08c"}i.icon.linkedin.alt:before{content:"\f0e1"}i.icon.linode:before{content:"\f2b8"}i.icon.linux:before{content:"\f17c"}i.icon.lira.sign:before{content:"\f195"}i.icon.list:before{content:"\f03a"}i.icon.list.alternate:before{content:"\f022"}i.icon.list.ol:before{content:"\f0cb"}i.icon.list.ul:before{content:"\f0ca"}i.icon.location.arrow:before{content:"\f124"}i.icon.lock:before{content:"\f023"}i.icon.lock.open:before{content:"\f3c1"}i.icon.long.arrow.alternate.down:before{content:"\f309"}i.icon.long.arrow.alternate.left:before{content:"\f30a"}i.icon.long.arrow.alternate.right:before{content:"\f30b"}i.icon.long.arrow.alternate.up:before{content:"\f30c"}i.icon.low.vision:before{content:"\f2a8"}i.icon.lyft:before{content:"\f3c3"}i.icon.magento:before{content:"\f3c4"}i.icon.magic:before{content:"\f0d0"}i.icon.magnet:before{content:"\f076"}i.icon.male:before{content:"\f183"}i.icon.map:before{content:"\f279"}i.icon.map.marker:before{content:"\f041"}i.icon.map.marker.alternate:before{content:"\f3c5"}i.icon.map.pin:before{content:"\f276"}i.icon.map.signs:before{content:"\f277"}i.icon.mars:before{content:"\f222"}i.icon.mars.double:before{content:"\f227"}i.icon.mars.stroke:before{content:"\f229"}i.icon.mars.stroke.horizontal:before{content:"\f22b"}i.icon.mars.stroke.vertical:before{content:"\f22a"}i.icon.maxcdn:before{content:"\f136"}i.icon.medapps:before{content:"\f3c6"}i.icon.medium:before{content:"\f23a"}i.icon.medium.m:before{content:"\f3c7"}i.icon.medkit:before{content:"\f0fa"}i.icon.medrt:before{content:"\f3c8"}i.icon.meetup:before{content:"\f2e0"}i.icon.meh:before{content:"\f11a"}i.icon.mercury:before{content:"\f223"}i.icon.microchip:before{content:"\f2db"}i.icon.microphone:before{content:"\f130"}i.icon.microphone.slash:before{content:"\f131"}i.icon.microsoft:before{content:"\f3ca"}i.icon.minus:before{content:"\f068"}i.icon.minus.circle:before{content:"\f056"}i.icon.minus.square:before{content:"\f146"}i.icon.mix:before{content:"\f3cb"}i.icon.mixcloud:before{content:"\f289"}i.icon.mizuni:before{content:"\f3cc"}i.icon.mobile:before{content:"\f10b"}i.icon.mobile.alternate:before{content:"\f3cd"}i.icon.modx:before{content:"\f285"}i.icon.monero:before{content:"\f3d0"}i.icon.money.bill.alternate:before{content:"\f3d1"}i.icon.moon:before{content:"\f186"}i.icon.motorcycle:before{content:"\f21c"}i.icon.mouse.pointer:before{content:"\f245"}i.icon.music:before{content:"\f001"}i.icon.napster:before{content:"\f3d2"}i.icon.neuter:before{content:"\f22c"}i.icon.newspaper:before{content:"\f1ea"}i.icon.nintendo.switch:before{content:"\f418"}i.icon.node:before{content:"\f419"}i.icon.node.js:before{content:"\f3d3"}i.icon.npm:before{content:"\f3d4"}i.icon.ns8:before{content:"\f3d5"}i.icon.nutritionix:before{content:"\f3d6"}i.icon.object.group:before{content:"\f247"}i.icon.object.ungroup:before{content:"\f248"}i.icon.odnoklassniki:before{content:"\f263"}i.icon.odnoklassniki.square:before{content:"\f264"}i.icon.opencart:before{content:"\f23d"}i.icon.openid:before{content:"\f19b"}i.icon.opera:before{content:"\f26a"}i.icon.optin.monster:before{content:"\f23c"}i.icon.osi:before{content:"\f41a"}i.icon.outdent:before{content:"\f03b"}i.icon.page4:before{content:"\f3d7"}i.icon.pagelines:before{content:"\f18c"}i.icon.paint.brush:before{content:"\f1fc"}i.icon.palfed:before{content:"\f3d8"}i.icon.pallet:before{content:"\f482"}i.icon.paper.plane:before{content:"\f1d8"}i.icon.paperclip:before{content:"\f0c6"}i.icon.paragraph:before{content:"\f1dd"}i.icon.paste:before{content:"\f0ea"}i.icon.patreon:before{content:"\f3d9"}i.icon.pause:before{content:"\f04c"}i.icon.pause.circle:before{content:"\f28b"}i.icon.paw:before{content:"\f1b0"}i.icon.paypal:before{content:"\f1ed"}i.icon.pen.square:before{content:"\f14b"}i.icon.pencil.alternate:before{content:"\f303"}i.icon.percent:before{content:"\f295"}i.icon.periscope:before{content:"\f3da"}i.icon.phabricator:before{content:"\f3db"}i.icon.phoenix.framework:before{content:"\f3dc"}i.icon.phone:before{content:"\f095"}i.icon.phone.square:before{content:"\f098"}i.icon.phone.volume:before{content:"\f2a0"}i.icon.php:before{content:"\f457"}i.icon.pied.piper:before{content:"\f2ae"}i.icon.pied.piper.alternate:before{content:"\f1a8"}i.icon.pied.piper.pp:before{content:"\f1a7"}i.icon.pills:before{content:"\f484"}i.icon.pinterest:before{content:"\f0d2"}i.icon.pinterest.p:before{content:"\f231"}i.icon.pinterest.square:before{content:"\f0d3"}i.icon.plane:before{content:"\f072"}i.icon.play:before{content:"\f04b"}i.icon.play.circle:before{content:"\f144"}i.icon.playstation:before{content:"\f3df"}i.icon.plug:before{content:"\f1e6"}i.icon.plus:before{content:"\f067"}i.icon.plus.circle:before{content:"\f055"}i.icon.plus.square:before{content:"\f0fe"}i.icon.podcast:before{content:"\f2ce"}i.icon.pound.sign:before{content:"\f154"}i.icon.power.off:before{content:"\f011"}i.icon.print:before{content:"\f02f"}i.icon.product.hunt:before{content:"\f288"}i.icon.pushed:before{content:"\f3e1"}i.icon.puzzle.piece:before{content:"\f12e"}i.icon.python:before{content:"\f3e2"}i.icon.qq:before{content:"\f1d6"}i.icon.qrcode:before{content:"\f029"}i.icon.question:before{content:"\f128"}i.icon.question.circle:before{content:"\f059"}i.icon.quidditch:before{content:"\f458"}i.icon.quinscape:before{content:"\f459"}i.icon.quora:before{content:"\f2c4"}i.icon.quote.left:before{content:"\f10d"}i.icon.quote.right:before{content:"\f10e"}i.icon.random:before{content:"\f074"}i.icon.ravelry:before{content:"\f2d9"}i.icon.react:before{content:"\f41b"}i.icon.rebel:before{content:"\f1d0"}i.icon.recycle:before{content:"\f1b8"}i.icon.redriver:before{content:"\f3e3"}i.icon.reddit:before{content:"\f1a1"}i.icon.reddit.alien:before{content:"\f281"}i.icon.reddit.square:before{content:"\f1a2"}i.icon.redo:before{content:"\f01e"}i.icon.redo.alternate:before{content:"\f2f9"}i.icon.registered:before{content:"\f25d"}i.icon.rendact:before{content:"\f3e4"}i.icon.renren:before{content:"\f18b"}i.icon.reply:before{content:"\f3e5"}i.icon.reply.all:before{content:"\f122"}i.icon.replyd:before{content:"\f3e6"}i.icon.resolving:before{content:"\f3e7"}i.icon.retweet:before{content:"\f079"}i.icon.road:before{content:"\f018"}i.icon.rocket:before{content:"\f135"}i.icon.rocketchat:before{content:"\f3e8"}i.icon.rockrms:before{content:"\f3e9"}i.icon.rss:before{content:"\f09e"}i.icon.rss.square:before{content:"\f143"}i.icon.ruble.sign:before{content:"\f158"}i.icon.rupee.sign:before{content:"\f156"}i.icon.safari:before{content:"\f267"}i.icon.sass:before{content:"\f41e"}i.icon.save:before{content:"\f0c7"}i.icon.schlix:before{content:"\f3ea"}i.icon.scribd:before{content:"\f28a"}i.icon.search:before{content:"\f002"}i.icon.search.minus:before{content:"\f010"}i.icon.search.plus:before{content:"\f00e"}i.icon.searchengin:before{content:"\f3eb"}i.icon.sellcast:before{content:"\f2da"}i.icon.sellsy:before{content:"\f213"}i.icon.server:before{content:"\f233"}i.icon.servicestack:before{content:"\f3ec"}i.icon.share:before{content:"\f064"}i.icon.share.alternate:before{content:"\f1e0"}i.icon.share.alternate.square:before{content:"\f1e1"}i.icon.share.square:before{content:"\f14d"}i.icon.shekel.sign:before{content:"\f20b"}i.icon.shield.alternate:before{content:"\f3ed"}i.icon.ship:before{content:"\f21a"}i.icon.shipping.fast:before{content:"\f48b"}i.icon.shirtsinbulk:before{content:"\f214"}i.icon.shopping.bag:before{content:"\f290"}i.icon.shopping.basket:before{content:"\f291"}i.icon.shopping.cart:before{content:"\f07a"}i.icon.shower:before{content:"\f2cc"}i.icon.sign.language:before{content:"\f2a7"}i.icon.signal:before{content:"\f012"}i.icon.simplybuilt:before{content:"\f215"}i.icon.sistrix:before{content:"\f3ee"}i.icon.sitemap:before{content:"\f0e8"}i.icon.skyatlas:before{content:"\f216"}i.icon.skype:before{content:"\f17e"}i.icon.slack:before{content:"\f198"}i.icon.slack.hash:before{content:"\f3ef"}i.icon.sliders.horizontal:before{content:"\f1de"}i.icon.slideshare:before{content:"\f1e7"}i.icon.smile:before{content:"\f118"}i.icon.snapchat:before{content:"\f2ab"}i.icon.snapchat.ghost:before{content:"\f2ac"}i.icon.snapchat.square:before{content:"\f2ad"}i.icon.snowflake:before{content:"\f2dc"}i.icon.sort:before{content:"\f0dc"}i.icon.sort.alphabet.down:before{content:"\f15d"}i.icon.sort.alphabet.up:before{content:"\f15e"}i.icon.sort.amount.down:before{content:"\f160"}i.icon.sort.amount.up:before{content:"\f161"}i.icon.sort.down:before{content:"\f0dd"}i.icon.sort.numeric.down:before{content:"\f162"}i.icon.sort.numeric.up:before{content:"\f163"}i.icon.sort.up:before{content:"\f0de"}i.icon.soundcloud:before{content:"\f1be"}i.icon.space.shuttle:before{content:"\f197"}i.icon.speakap:before{content:"\f3f3"}i.icon.spinner:before{content:"\f110"}i.icon.spotify:before{content:"\f1bc"}i.icon.square:before{content:"\f0c8"}i.icon.square.full:before{content:"\f45c"}i.icon.stack.exchange:before{content:"\f18d"}i.icon.stack.overflow:before{content:"\f16c"}i.icon.star:before{content:"\f005"}i.icon.star.half:before{content:"\f089"}i.icon.staylinked:before{content:"\f3f5"}i.icon.steam:before{content:"\f1b6"}i.icon.steam.square:before{content:"\f1b7"}i.icon.steam.symbol:before{content:"\f3f6"}i.icon.step.backward:before{content:"\f048"}i.icon.step.forward:before{content:"\f051"}i.icon.stethoscope:before{content:"\f0f1"}i.icon.sticker.mule:before{content:"\f3f7"}i.icon.sticky.note:before{content:"\f249"}i.icon.stop:before{content:"\f04d"}i.icon.stop.circle:before{content:"\f28d"}i.icon.stopwatch:before{content:"\f2f2"}i.icon.strava:before{content:"\f428"}i.icon.street.view:before{content:"\f21d"}i.icon.strikethrough:before{content:"\f0cc"}i.icon.stripe:before{content:"\f429"}i.icon.stripe.s:before{content:"\f42a"}i.icon.studiovinari:before{content:"\f3f8"}i.icon.stumbleupon:before{content:"\f1a4"}i.icon.stumbleupon.circle:before{content:"\f1a3"}i.icon.subscript:before{content:"\f12c"}i.icon.subway:before{content:"\f239"}i.icon.suitcase:before{content:"\f0f2"}i.icon.sun:before{content:"\f185"}i.icon.superpowers:before{content:"\f2dd"}i.icon.superscript:before{content:"\f12b"}i.icon.supple:before{content:"\f3f9"}i.icon.sync:before{content:"\f021"}i.icon.sync.alternate:before{content:"\f2f1"}i.icon.syringe:before{content:"\f48e"}i.icon.table:before{content:"\f0ce"}i.icon.table.tennis:before{content:"\f45d"}i.icon.tablet:before{content:"\f10a"}i.icon.tablet.alternate:before{content:"\f3fa"}i.icon.tachometer.alternate:before{content:"\f3fd"}i.icon.tag:before{content:"\f02b"}i.icon.tags:before{content:"\f02c"}i.icon.tasks:before{content:"\f0ae"}i.icon.taxi:before{content:"\f1ba"}i.icon.telegram:before{content:"\f2c6"}i.icon.telegram.plane:before{content:"\f3fe"}i.icon.tencent.weibo:before{content:"\f1d5"}i.icon.terminal:before{content:"\f120"}i.icon.text.height:before{content:"\f034"}i.icon.text.width:before{content:"\f035"}i.icon.th:before{content:"\f00a"}i.icon.th.large:before{content:"\f009"}i.icon.th.list:before{content:"\f00b"}i.icon.themeisle:before{content:"\f2b2"}i.icon.thermometer:before{content:"\f491"}i.icon.thermometer.empty:before{content:"\f2cb"}i.icon.thermometer.full:before{content:"\f2c7"}i.icon.thermometer.half:before{content:"\f2c9"}i.icon.thermometer.quarter:before{content:"\f2ca"}i.icon.thermometer.three.quarters:before{content:"\f2c8"}i.icon.thumbs.down:before{content:"\f165"}i.icon.thumbs.up:before{content:"\f164"}i.icon.thumbtack:before{content:"\f08d"}i.icon.ticket.alternate:before{content:"\f3ff"}i.icon.times:before{content:"\f00d"}i.icon.times.circle:before{content:"\f057"}i.icon.tint:before{content:"\f043"}i.icon.toggle.off:before{content:"\f204"}i.icon.toggle.on:before{content:"\f205"}i.icon.trademark:before{content:"\f25c"}i.icon.train:before{content:"\f238"}i.icon.transgender:before{content:"\f224"}i.icon.transgender.alternate:before{content:"\f225"}i.icon.trash:before{content:"\f1f8"}i.icon.trash.alternate:before{content:"\f2ed"}i.icon.tree:before{content:"\f1bb"}i.icon.trello:before{content:"\f181"}i.icon.tripadvisor:before{content:"\f262"}i.icon.trophy:before{content:"\f091"}i.icon.truck:before{content:"\f0d1"}i.icon.tty:before{content:"\f1e4"}i.icon.tumblr:before{content:"\f173"}i.icon.tumblr.square:before{content:"\f174"}i.icon.tv:before{content:"\f26c"}i.icon.twitch:before{content:"\f1e8"}i.icon.twitter:before{content:"\f099"}i.icon.twitter.square:before{content:"\f081"}i.icon.typo3:before{content:"\f42b"}i.icon.uber:before{content:"\f402"}i.icon.uikit:before{content:"\f403"}i.icon.umbrella:before{content:"\f0e9"}i.icon.underline:before{content:"\f0cd"}i.icon.undo:before{content:"\f0e2"}i.icon.undo.alternate:before{content:"\f2ea"}i.icon.uniregistry:before{content:"\f404"}i.icon.universal.access:before{content:"\f29a"}i.icon.university:before{content:"\f19c"}i.icon.unlink:before{content:"\f127"}i.icon.unlock:before{content:"\f09c"}i.icon.unlock.alternate:before{content:"\f13e"}i.icon.untappd:before{content:"\f405"}i.icon.upload:before{content:"\f093"}i.icon.usb:before{content:"\f287"}i.icon.user:before{content:"\f007"}i.icon.user.circle:before{content:"\f2bd"}i.icon.user.md:before{content:"\f0f0"}i.icon.user.plus:before{content:"\f234"}i.icon.user.secret:before{content:"\f21b"}i.icon.user.times:before{content:"\f235"}i.icon.users:before{content:"\f0c0"}i.icon.ussunnah:before{content:"\f407"}i.icon.utensil.spoon:before{content:"\f2e5"}i.icon.utensils:before{content:"\f2e7"}i.icon.vaadin:before{content:"\f408"}i.icon.venus:before{content:"\f221"}i.icon.venus.double:before{content:"\f226"}i.icon.venus.mars:before{content:"\f228"}i.icon.viacoin:before{content:"\f237"}i.icon.viadeo:before{content:"\f2a9"}i.icon.viadeo.square:before{content:"\f2aa"}i.icon.viber:before{content:"\f409"}i.icon.video:before{content:"\f03d"}i.icon.vimeo:before{content:"\f40a"}i.icon.vimeo.square:before{content:"\f194"}i.icon.vimeo.v:before{content:"\f27d"}i.icon.vine:before{content:"\f1ca"}i.icon.vk:before{content:"\f189"}i.icon.vnv:before{content:"\f40b"}i.icon.volleyball.ball:before{content:"\f45f"}i.icon.volume.down:before{content:"\f027"}i.icon.volume.off:before{content:"\f026"}i.icon.volume.up:before{content:"\f028"}i.icon.vuejs:before{content:"\f41f"}i.icon.warehouse:before{content:"\f494"}i.icon.weibo:before{content:"\f18a"}i.icon.weight:before{content:"\f496"}i.icon.weixin:before{content:"\f1d7"}i.icon.whatsapp:before{content:"\f232"}i.icon.whatsapp.square:before{content:"\f40c"}i.icon.wheelchair:before{content:"\f193"}i.icon.whmcs:before{content:"\f40d"}i.icon.wifi:before{content:"\f1eb"}i.icon.wikipedia.w:before{content:"\f266"}i.icon.window.close:before{content:"\f410"}i.icon.window.maximize:before{content:"\f2d0"}i.icon.window.minimize:before{content:"\f2d1"}i.icon.window.restore:before{content:"\f2d2"}i.icon.windows:before{content:"\f17a"}i.icon.won.sign:before{content:"\f159"}i.icon.wordpress:before{content:"\f19a"}i.icon.wordpress.simple:before{content:"\f411"}i.icon.wpbeginner:before{content:"\f297"}i.icon.wpexplorer:before{content:"\f2de"}i.icon.wpforms:before{content:"\f298"}i.icon.wrench:before{content:"\f0ad"}i.icon.xbox:before{content:"\f412"}i.icon.xing:before{content:"\f168"}i.icon.xing.square:before{content:"\f169"}i.icon.y.combinator:before{content:"\f23b"}i.icon.yahoo:before{content:"\f19e"}i.icon.yandex:before{content:"\f413"}i.icon.yandex.international:before{content:"\f414"}i.icon.yelp:before{content:"\f1e9"}i.icon.yen.sign:before{content:"\f157"}i.icon.yoast:before{content:"\f2b1"}i.icon.youtube:before{content:"\f167"}i.icon.youtube.square:before{content:"\f431"}i.icon.chess.rock:before{content:"\f447"}i.icon.ordered.list:before{content:"\f0cb"}i.icon.unordered.list:before{content:"\f0ca"}i.icon.user.doctor:before{content:"\f0f0"}i.icon.shield:before{content:"\f3ed"}i.icon.puzzle:before{content:"\f12e"}i.icon.credit.card.amazon.pay:before{content:"\f42d"}i.icon.credit.card.american.express:before{content:"\f1f3"}i.icon.credit.card.diners.club:before{content:"\f24c"}i.icon.credit.card.discover:before{content:"\f1f2"}i.icon.credit.card.jcb:before{content:"\f24b"}i.icon.credit.card.mastercard:before{content:"\f1f1"}i.icon.credit.card.paypal:before{content:"\f1f4"}i.icon.credit.card.stripe:before{content:"\f1f5"}i.icon.credit.card.visa:before{content:"\f1f0"}i.icon.add.circle:before{content:"\f055"}i.icon.add.square:before{content:"\f0fe"}i.icon.add.to.calendar:before{content:"\f271"}i.icon.add.to.cart:before{content:"\f217"}i.icon.add.user:before{content:"\f234"}i.icon.add:before{content:"\f067"}i.icon.alarm.mute:before{content:"\f1f6"}i.icon.alarm:before{content:"\f0f3"}i.icon.ald:before{content:"\f2a2"}i.icon.als:before{content:"\f2a2"}i.icon.american.express.card:before{content:"\f1f3"}i.icon.american.express:before{content:"\f1f3"}i.icon.amex:before{content:"\f1f3"}i.icon.announcement:before{content:"\f0a1"}i.icon.area.chart:before{content:"\f1fe"}i.icon.area.graph:before{content:"\f1fe"}i.icon.arrow.down.cart:before{content:"\f218"}i.icon.asexual:before{content:"\f22d"}i.icon.asl.interpreting:before{content:"\f2a3"}i.icon.asl:before{content:"\f2a3"}i.icon.assistive.listening.devices:before{content:"\f2a2"}i.icon.attach:before{content:"\f0c6"}i.icon.attention:before{content:"\f06a"}i.icon.balance:before{content:"\f24e"}i.icon.bar:before{content:"\f0fc"}i.icon.bathtub:before{content:"\f2cd"}i.icon.battery.four:before{content:"\f240"}i.icon.battery.high:before{content:"\f241"}i.icon.battery.low:before{content:"\f243"}i.icon.battery.medium:before{content:"\f242"}i.icon.battery.one:before{content:"\f243"}i.icon.battery.three:before{content:"\f241"}i.icon.battery.two:before{content:"\f242"}i.icon.battery.zero:before{content:"\f244"}i.icon.birthday:before{content:"\f1fd"}i.icon.block.layout:before{content:"\f009"}i.icon.bluetooth.alternative:before{content:"\f294"}i.icon.broken.chain:before{content:"\f127"}i.icon.browser:before{content:"\f022"}i.icon.call.square:before{content:"\f098"}i.icon.call:before{content:"\f095"}i.icon.cancel:before{content:"\f00d"}i.icon.cart:before{content:"\f07a"}i.icon.cc:before{content:"\f20a"}i.icon.chain:before{content:"\f0c1"}i.icon.chat:before{content:"\f075"}i.icon.checked.calendar:before{content:"\f274"}i.icon.checkmark:before{content:"\f00c"}i.icon.circle.notched:before{content:"\f1ce"}i.icon.close:before{content:"\f00d"}i.icon.cny:before{content:"\f157"}i.icon.cocktail:before{content:"\f000"}i.icon.commenting:before{content:"\f27a"}i.icon.computer:before{content:"\f108"}i.icon.configure:before{content:"\f0ad"}i.icon.content:before{content:"\f0c9"}i.icon.deafness:before{content:"\f2a4"}i.icon.delete.calendar:before{content:"\f273"}i.icon.delete:before{content:"\f00d"}i.icon.detective:before{content:"\f21b"}i.icon.diners.club.card:before{content:"\f24c"}i.icon.diners.club:before{content:"\f24c"}i.icon.discover.card:before{content:"\f1f2"}i.icon.discover:before{content:"\f1f2"}i.icon.discussions:before{content:"\f086"}i.icon.doctor:before{content:"\f0f0"}i.icon.dollar:before{content:"\f155"}i.icon.dont:before{content:"\f05e"}i.icon.dribble:before{content:"\f17d"}i.icon.drivers.license:before{content:"\f2c2"}i.icon.dropdown:before{content:"\f0d7"}i.icon.eercast:before{content:"\f2da"}i.icon.emergency:before{content:"\f0f9"}i.icon.envira.gallery:before{content:"\f299"}i.icon.erase:before{content:"\f12d"}i.icon.eur:before{content:"\f153"}i.icon.euro:before{content:"\f153"}i.icon.eyedropper:before{content:"\f1fb"}i.icon.fa:before{content:"\f2b4"}i.icon.factory:before{content:"\f275"}i.icon.favorite:before{content:"\f005"}i.icon.feed:before{content:"\f09e"}i.icon.female.homosexual:before{content:"\f226"}i.icon.file.text:before{content:"\f15c"}i.icon.find:before{content:"\f1e5"}i.icon.first.aid:before{content:"\f0fa"}i.icon.five.hundred.pixels:before{content:"\f26e"}i.icon.fork:before{content:"\f126"}i.icon.game:before{content:"\f11b"}i.icon.gay:before{content:"\f227"}i.icon.gbp:before{content:"\f154"}i.icon.gittip:before{content:"\f184"}i.icon.google.plus.circle:before{content:"\f2b3"}i.icon.google.plus.official:before{content:"\f2b3"}i.icon.grab:before{content:"\f255"}i.icon.graduation:before{content:"\f19d"}i.icon.grid.layout:before{content:"\f00a"}i.icon.group:before{content:"\f0c0"}i.icon.h:before{content:"\f0fd"}i.icon.hand.victory:before{content:"\f25b"}i.icon.handicap:before{content:"\f193"}i.icon.hard.of.hearing:before{content:"\f2a4"}i.icon.header:before{content:"\f1dc"}i.icon.help.circle:before{content:"\f059"}i.icon.help:before{content:"\f128"}i.icon.heterosexual:before{content:"\f228"}i.icon.hide:before{content:"\f070"}i.icon.hotel:before{content:"\f236"}i.icon.hourglass.four:before{content:"\f254"}i.icon.hourglass.full:before{content:"\f254"}i.icon.hourglass.one:before{content:"\f251"}i.icon.hourglass.three:before{content:"\f253"}i.icon.hourglass.two:before{content:"\f252"}i.icon.idea:before{content:"\f0eb"}i.icon.ils:before{content:"\f20b"}i.icon.in-cart:before{content:"\f218"}i.icon.inr:before{content:"\f156"}i.icon.intergender:before{content:"\f224"}i.icon.intersex:before{content:"\f224"}i.icon.japan.credit.bureau.card:before{content:"\f24b"}i.icon.japan.credit.bureau:before{content:"\f24b"}i.icon.jcb:before{content:"\f24b"}i.icon.jpy:before{content:"\f157"}i.icon.krw:before{content:"\f159"}i.icon.lab:before{content:"\f0c3"}i.icon.law:before{content:"\f24e"}i.icon.legal:before{content:"\f0e3"}i.icon.lesbian:before{content:"\f226"}i.icon.lightning:before{content:"\f0e7"}i.icon.like:before{content:"\f004"}i.icon.line.graph:before{content:"\f201"}i.icon.linkedin.square:before{content:"\f08c"}i.icon.linkify:before{content:"\f0c1"}i.icon.lira:before{content:"\f195"}i.icon.list.layout:before{content:"\f00b"}i.icon.magnify:before{content:"\f00e"}i.icon.mail.forward:before{content:"\f064"}i.icon.mail.square:before{content:"\f199"}i.icon.mail:before{content:"\f0e0"}i.icon.male.homosexual:before{content:"\f227"}i.icon.man:before{content:"\f222"}i.icon.marker:before{content:"\f041"}i.icon.mars.alternate:before{content:"\f229"}i.icon.mars.horizontal:before{content:"\f22b"}i.icon.mars.vertical:before{content:"\f22a"}i.icon.mastercard.card:before{content:"\f1f1"}i.icon.mastercard:before{content:"\f1f1"}i.icon.microsoft.edge:before{content:"\f282"}i.icon.military:before{content:"\f0fb"}i.icon.ms.edge:before{content:"\f282"}i.icon.mute:before{content:"\f131"}i.icon.new.pied.piper:before{content:"\f2ae"}i.icon.non.binary.transgender:before{content:"\f223"}i.icon.numbered.list:before{content:"\f0cb"}i.icon.optinmonster:before{content:"\f23c"}i.icon.options:before{content:"\f1de"}i.icon.other.gender.horizontal:before{content:"\f22b"}i.icon.other.gender.vertical:before{content:"\f22a"}i.icon.other.gender:before{content:"\f229"}i.icon.payment:before{content:"\f09d"}i.icon.paypal.card:before{content:"\f1f4"}i.icon.pencil.square:before{content:"\f14b"}i.icon.photo:before{content:"\f030"}i.icon.picture:before{content:"\f03e"}i.icon.pie.chart:before{content:"\f200"}i.icon.pie.graph:before{content:"\f200"}i.icon.pied.piper.hat:before{content:"\f2ae"}i.icon.pin:before{content:"\f08d"}i.icon.plus.cart:before{content:"\f217"}i.icon.pocket:before{content:"\f265"}i.icon.point:before{content:"\f041"}i.icon.pointing.down:before{content:"\f0a7"}i.icon.pointing.left:before{content:"\f0a5"}i.icon.pointing.right:before{content:"\f0a4"}i.icon.pointing.up:before{content:"\f0a6"}i.icon.pound:before{content:"\f154"}i.icon.power.cord:before{content:"\f1e6"}i.icon.power:before{content:"\f011"}i.icon.privacy:before{content:"\f084"}i.icon.r.circle:before{content:"\f25d"}i.icon.rain:before{content:"\f0e9"}i.icon.record:before{content:"\f03d"}i.icon.refresh:before{content:"\f021"}i.icon.remove.circle:before{content:"\f057"}i.icon.remove.from.calendar:before{content:"\f272"}i.icon.remove.user:before{content:"\f235"}i.icon.remove:before{content:"\f00d"}i.icon.repeat:before{content:"\f01e"}i.icon.rmb:before{content:"\f157"}i.icon.rouble:before{content:"\f158"}i.icon.rub:before{content:"\f158"}i.icon.ruble:before{content:"\f158"}i.icon.rupee:before{content:"\f156"}i.icon.s15:before{content:"\f2cd"}i.icon.selected.radio:before{content:"\f192"}i.icon.send:before{content:"\f1d8"}i.icon.setting:before{content:"\f013"}i.icon.settings:before{content:"\f085"}i.icon.shekel:before{content:"\f20b"}i.icon.sheqel:before{content:"\f20b"}i.icon.shipping:before{content:"\f0d1"}i.icon.shop:before{content:"\f07a"}i.icon.shuffle:before{content:"\f074"}i.icon.shutdown:before{content:"\f011"}i.icon.sidebar:before{content:"\f0c9"}i.icon.signing:before{content:"\f2a7"}i.icon.signup:before{content:"\f044"}i.icon.sliders:before{content:"\f1de"}i.icon.soccer:before{content:"\f1e3"}i.icon.sort.alphabet.ascending:before{content:"\f15d"}i.icon.sort.alphabet.descending:before{content:"\f15e"}i.icon.sort.ascending:before{content:"\f0de"}i.icon.sort.content.ascending:before{content:"\f160"}i.icon.sort.content.descending:before{content:"\f161"}i.icon.sort.descending:before{content:"\f0dd"}i.icon.sort.numeric.ascending:before{content:"\f162"}i.icon.sort.numeric.descending:before{content:"\f163"}i.icon.sound:before{content:"\f025"}i.icon.spy:before{content:"\f21b"}i.icon.stripe.card:before{content:"\f1f5"}i.icon.student:before{content:"\f19d"}i.icon.talk:before{content:"\f27a"}i.icon.target:before{content:"\f140"}i.icon.teletype:before{content:"\f1e4"}i.icon.television:before{content:"\f26c"}i.icon.text.cursor:before{content:"\f246"}i.icon.text.telephone:before{content:"\f1e4"}i.icon.theme.isle:before{content:"\f2b2"}i.icon.theme:before{content:"\f043"}i.icon.thermometer:before{content:"\f2c7"}i.icon.thumb.tack:before{content:"\f08d"}i.icon.time:before{content:"\f017"}i.icon.tm:before{content:"\f25c"}i.icon.toggle.down:before{content:"\f150"}i.icon.toggle.left:before{content:"\f191"}i.icon.toggle.right:before{content:"\f152"}i.icon.toggle.up:before{content:"\f151"}i.icon.translate:before{content:"\f1ab"}i.icon.travel:before{content:"\f0b1"}i.icon.treatment:before{content:"\f0f1"}i.icon.triangle.down:before{content:"\f0d7"}i.icon.triangle.left:before{content:"\f0d9"}i.icon.triangle.right:before{content:"\f0da"}i.icon.triangle.up:before{content:"\f0d8"}i.icon.try:before{content:"\f195"}i.icon.unhide:before{content:"\f06e"}i.icon.unlinkify:before{content:"\f127"}i.icon.unmute:before{content:"\f130"}i.icon.usd:before{content:"\f155"}i.icon.user.cancel:before{content:"\f235"}i.icon.user.close:before{content:"\f235"}i.icon.user.delete:before{content:"\f235"}i.icon.user.x:before{content:"\f235"}i.icon.vcard:before{content:"\f2bb"}i.icon.video.camera:before{content:"\f03d"}i.icon.video.play:before{content:"\f144"}i.icon.visa.card:before{content:"\f1f0"}i.icon.visa:before{content:"\f1f0"}i.icon.volume.control.phone:before{content:"\f2a0"}i.icon.wait:before{content:"\f017"}i.icon.warning.circle:before{content:"\f06a"}i.icon.warning.sign:before{content:"\f071"}i.icon.warning:before{content:"\f12a"}i.icon.wechat:before{content:"\f1d7"}i.icon.wi-fi:before{content:"\f1eb"}i.icon.wikipedia:before{content:"\f266"}i.icon.winner:before{content:"\f091"}i.icon.wizard:before{content:"\f0d0"}i.icon.woman:before{content:"\f221"}i.icon.won:before{content:"\f159"}i.icon.wordpress.beginner:before{content:"\f297"}i.icon.wordpress.forms:before{content:"\f298"}i.icon.world:before{content:"\f0ac"}i.icon.write.square:before{content:"\f14b"}i.icon.x:before{content:"\f00d"}i.icon.yc:before{content:"\f23b"}i.icon.ycombinator:before{content:"\f23b"}i.icon.yen:before{content:"\f157"}i.icon.zip:before{content:"\f187"}i.icon.zoom-in:before{content:"\f00e"}i.icon.zoom-out:before{content:"\f010"}i.icon.zoom:before{content:"\f00e"}i.icon.bitbucket.square:before{content:"\f171"}i.icon.checkmark.box:before{content:"\f14a"}i.icon.circle.thin:before{content:"\f111"}i.icon.cloud.download:before{content:"\f381"}i.icon.cloud.upload:before{content:"\f382"}i.icon.compose:before{content:"\f303"}i.icon.conversation:before{content:"\f086"}i.icon.credit.card.alternative:before{content:"\f09d"}i.icon.currency:before{content:"\f3d1"}i.icon.dashboard:before{content:"\f3fd"}i.icon.diamond:before{content:"\f3a5"}i.icon.disk:before{content:"\f0a0"}i.icon.exchange:before{content:"\f362"}i.icon.external.share:before{content:"\f14d"}i.icon.external.square:before{content:"\f360"}i.icon.external:before{content:"\f35d"}i.icon.facebook.official:before{content:"\f082"}i.icon.food:before{content:"\f2e7"}i.icon.hourglass.zero:before{content:"\f253"}i.icon.level.down:before{content:"\f3be"}i.icon.level.up:before{content:"\f3bf"}i.icon.logout:before{content:"\f2f5"}i.icon.meanpath:before{content:"\f0c8"}i.icon.money:before{content:"\f3d1"}i.icon.move:before{content:"\f0b2"}i.icon.pencil:before{content:"\f303"}i.icon.protect:before{content:"\f023"}i.icon.radio:before{content:"\f192"}i.icon.remove.bookmark:before{content:"\f02e"}i.icon.resize.horizontal:before{content:"\f337"}i.icon.resize.vertical:before{content:"\f338"}i.icon.sign-in:before{content:"\f2f6"}i.icon.sign-out:before{content:"\f2f5"}i.icon.spoon:before{content:"\f2e5"}i.icon.star.half.empty:before{content:"\f089"}i.icon.star.half.full:before{content:"\f089"}i.icon.ticket:before{content:"\f3ff"}i.icon.times.rectangle:before{content:"\f410"}i.icon.write:before{content:"\f303"}i.icon.youtube.play:before{content:"\f167"}@font-face{font-family:outline-icons;src:url(outline-icons.eot);src:url(outline-icons.eot?#iefix) format('embedded-opentype'),url(outline-icons.woff2) format('woff2'),url(outline-icons.woff) format('woff'),url(outline-icons.ttf) format('truetype'),url(outline-icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon.outline{font-family:outline-icons}i.icon.address.book.outline:before{content:"\f2b9"}i.icon.address.card.outline:before{content:"\f2bb"}i.icon.arrow.alternate.circle.down.outline:before{content:"\f358"}i.icon.arrow.alternate.circle.left.outline:before{content:"\f359"}i.icon.arrow.alternate.circle.right.outline:before{content:"\f35a"}i.icon.arrow.alternate.circle.up.outline:before{content:"\f35b"}i.icon.bell.outline:before{content:"\f0f3"}i.icon.bell.slash.outline:before{content:"\f1f6"}i.icon.bookmark.outline:before{content:"\f02e"}i.icon.building.outline:before{content:"\f1ad"}i.icon.calendar.outline:before{content:"\f133"}i.icon.calendar.alternate.outline:before{content:"\f073"}i.icon.calendar.check.outline:before{content:"\f274"}i.icon.calendar.minus.outline:before{content:"\f272"}i.icon.calendar.plus.outline:before{content:"\f271"}i.icon.calendar.times.outline:before{content:"\f273"}i.icon.caret.square.down.outline:before{content:"\f150"}i.icon.caret.square.left.outline:before{content:"\f191"}i.icon.caret.square.right.outline:before{content:"\f152"}i.icon.caret.square.up.outline:before{content:"\f151"}i.icon.chart.bar.outline:before{content:"\f080"}i.icon.check.circle.outline:before{content:"\f058"}i.icon.check.square.outline:before{content:"\f14a"}i.icon.circle.outline:before{content:"\f111"}i.icon.clipboard.outline:before{content:"\f328"}i.icon.clock.outline:before{content:"\f017"}i.icon.clone.outline:before{content:"\f24d"}i.icon.closed.captioning.outline:before{content:"\f20a"}i.icon.comment.outline:before{content:"\f075"}i.icon.comment.alternate.outline:before{content:"\f27a"}i.icon.comments.outline:before{content:"\f086"}i.icon.compass.outline:before{content:"\f14e"}i.icon.copy.outline:before{content:"\f0c5"}i.icon.copyright.outline:before{content:"\f1f9"}i.icon.credit.card.outline:before{content:"\f09d"}i.icon.dot.circle.outline:before{content:"\f192"}i.icon.edit.outline:before{content:"\f044"}i.icon.envelope.outline:before{content:"\f0e0"}i.icon.envelope.open.outline:before{content:"\f2b6"}i.icon.eye.slash.outline:before{content:"\f070"}i.icon.file.outline:before{content:"\f15b"}i.icon.file.alternate.outline:before{content:"\f15c"}i.icon.file.archive.outline:before{content:"\f1c6"}i.icon.file.audio.outline:before{content:"\f1c7"}i.icon.file.code.outline:before{content:"\f1c9"}i.icon.file.excel.outline:before{content:"\f1c3"}i.icon.file.image.outline:before{content:"\f1c5"}i.icon.file.pdf.outline:before{content:"\f1c1"}i.icon.file.powerpoint.outline:before{content:"\f1c4"}i.icon.file.video.outline:before{content:"\f1c8"}i.icon.file.word.outline:before{content:"\f1c2"}i.icon.flag.outline:before{content:"\f024"}i.icon.folder.outline:before{content:"\f07b"}i.icon.folder.open.outline:before{content:"\f07c"}i.icon.frown.outline:before{content:"\f119"}i.icon.futbol.outline:before{content:"\f1e3"}i.icon.gem.outline:before{content:"\f3a5"}i.icon.hand.lizard.outline:before{content:"\f258"}i.icon.hand.paper.outline:before{content:"\f256"}i.icon.hand.peace.outline:before{content:"\f25b"}i.icon.hand.point.down.outline:before{content:"\f0a7"}i.icon.hand.point.left.outline:before{content:"\f0a5"}i.icon.hand.point.right.outline:before{content:"\f0a4"}i.icon.hand.point.up.outline:before{content:"\f0a6"}i.icon.hand.pointer.outline:before{content:"\f25a"}i.icon.hand.rock.outline:before{content:"\f255"}i.icon.hand.scissors.outline:before{content:"\f257"}i.icon.hand.spock.outline:before{content:"\f259"}i.icon.handshake.outline:before{content:"\f2b5"}i.icon.hdd.outline:before{content:"\f0a0"}i.icon.heart.outline:before{content:"\f004"}i.icon.hospital.outline:before{content:"\f0f8"}i.icon.hourglass.outline:before{content:"\f254"}i.icon.id.badge.outline:before{content:"\f2c1"}i.icon.id.card.outline:before{content:"\f2c2"}i.icon.image.outline:before{content:"\f03e"}i.icon.images.outline:before{content:"\f302"}i.icon.keyboard.outline:before{content:"\f11c"}i.icon.lemon.outline:before{content:"\f094"}i.icon.life.ring.outline:before{content:"\f1cd"}i.icon.lightbulb.outline:before{content:"\f0eb"}i.icon.list.alternate.outline:before{content:"\f022"}i.icon.map.outline:before{content:"\f279"}i.icon.meh.outline:before{content:"\f11a"}i.icon.minus.square.outline:before{content:"\f146"}i.icon.money.bill.alternate.outline:before{content:"\f3d1"}i.icon.moon.outline:before{content:"\f186"}i.icon.newspaper.outline:before{content:"\f1ea"}i.icon.object.group.outline:before{content:"\f247"}i.icon.object.ungroup.outline:before{content:"\f248"}i.icon.paper.plane.outline:before{content:"\f1d8"}i.icon.pause.circle.outline:before{content:"\f28b"}i.icon.play.circle.outline:before{content:"\f144"}i.icon.plus.square.outline:before{content:"\f0fe"}i.icon.question.circle.outline:before{content:"\f059"}i.icon.registered.outline:before{content:"\f25d"}i.icon.save.outline:before{content:"\f0c7"}i.icon.share.square.outline:before{content:"\f14d"}i.icon.smile.outline:before{content:"\f118"}i.icon.snowflake.outline:before{content:"\f2dc"}i.icon.square.outline:before{content:"\f0c8"}i.icon.star.outline:before{content:"\f005"}i.icon.star.half.outline:before{content:"\f089"}i.icon.sticky.note.outline:before{content:"\f249"}i.icon.stop.circle.outline:before{content:"\f28d"}i.icon.sun.outline:before{content:"\f185"}i.icon.thumbs.down.outline:before{content:"\f165"}i.icon.thumbs.up.outline:before{content:"\f164"}i.icon.times.circle.outline:before{content:"\f057"}i.icon.trash.alternate.outline:before{content:"\f2ed"}i.icon.user.outline:before{content:"\f007"}i.icon.user.circle.outline:before{content:"\f2bd"}i.icon.window.close.outline:before{content:"\f410"}i.icon.window.maximize.outline:before{content:"\f2d0"}i.icon.window.minimize.outline:before{content:"\f2d1"}i.icon.window.restore.outline:before{content:"\f2d2"}i.icon.disk.outline:before{content:"\f0a0"}i.icon.heart.empty,i.icon.star.empty{font-family:outline-icons}i.icon.heart.empty:before{content:"\f004"}i.icon.star.empty:before{content:"\f089"}@font-face{font-family:brand-icons;src:url(brand-icons.eot);src:url(brand-icons.eot?#iefix) format('embedded-opentype'),url(brand-icons.woff2) format('woff2'),url(brand-icons.woff) format('woff'),url(brand-icons.ttf) format('truetype'),url(brand-icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon.\35 00px,i.icon.accessible.icon,i.icon.accusoft,i.icon.adn,i.icon.adversal,i.icon.affiliatetheme,i.icon.algolia,i.icon.amazon,i.icon.amazon.pay,i.icon.amilia,i.icon.android,i.icon.angellist,i.icon.angrycreative,i.icon.angular,i.icon.app.store,i.icon.app.store.ios,i.icon.apper,i.icon.apple,i.icon.apple.pay,i.icon.asymmetrik,i.icon.audible,i.icon.autoprefixer,i.icon.avianex,i.icon.aviato,i.icon.aws,i.icon.bandcamp,i.icon.behance,i.icon.behance.square,i.icon.bimobject,i.icon.bitbucket,i.icon.bitcoin,i.icon.bity,i.icon.black.tie,i.icon.blackberry,i.icon.blogger,i.icon.blogger.b,i.icon.bluetooth,i.icon.bluetooth.b,i.icon.btc,i.icon.buromobelexperte,i.icon.buysellads,i.icon.cc.amazon.pay,i.icon.cc.amex,i.icon.cc.apple.pay,i.icon.cc.diners.club,i.icon.cc.discover,i.icon.cc.jcb,i.icon.cc.mastercard,i.icon.cc.paypal,i.icon.cc.stripe,i.icon.cc.visa,i.icon.centercode,i.icon.chrome,i.icon.cloudscale,i.icon.cloudsmith,i.icon.cloudversify,i.icon.codepen,i.icon.codiepie,i.icon.connectdevelop,i.icon.contao,i.icon.cpanel,i.icon.creative.commons,i.icon.css3,i.icon.css3.alternate,i.icon.cuttlefish,i.icon.d.and.d,i.icon.dashcube,i.icon.delicious,i.icon.deploydog,i.icon.deskpro,i.icon.deviantart,i.icon.digg,i.icon.digital.ocean,i.icon.discord,i.icon.discourse,i.icon.dochub,i.icon.docker,i.icon.draft2digital,i.icon.dribbble,i.icon.dribbble.square,i.icon.dropbox,i.icon.drupal,i.icon.dyalog,i.icon.earlybirds,i.icon.edge,i.icon.elementor,i.icon.ember,i.icon.empire,i.icon.envira,i.icon.erlang,i.icon.ethereum,i.icon.etsy,i.icon.expeditedssl,i.icon.facebook,i.icon.facebook.f,i.icon.facebook.messenger,i.icon.facebook.square,i.icon.firefox,i.icon.first.order,i.icon.firstdraft,i.icon.flickr,i.icon.flipboard,i.icon.fly,i.icon.font.awesome,i.icon.font.awesome.alternate,i.icon.font.awesome.flag,i.icon.fonticons,i.icon.fonticons.fi,i.icon.fort.awesome,i.icon.fort.awesome.alternate,i.icon.forumbee,i.icon.foursquare,i.icon.free.code.camp,i.icon.freebsd,i.icon.get.pocket,i.icon.gg,i.icon.gg.circle,i.icon.git,i.icon.git.square,i.icon.github,i.icon.github.alternate,i.icon.github.square,i.icon.gitkraken,i.icon.gitlab,i.icon.gitter,i.icon.glide,i.icon.glide.g,i.icon.gofore,i.icon.goodreads,i.icon.goodreads.g,i.icon.google,i.icon.google.drive,i.icon.google.play,i.icon.google.plus,i.icon.google.plus.g,i.icon.google.plus.square,i.icon.google.wallet,i.icon.gratipay,i.icon.grav,i.icon.gripfire,i.icon.grunt,i.icon.gulp,i.icon.hacker.news,i.icon.hacker.news.square,i.icon.hips,i.icon.hire.a.helper,i.icon.hooli,i.icon.hotjar,i.icon.houzz,i.icon.html5,i.icon.hubspot,i.icon.imdb,i.icon.instagram,i.icon.internet.explorer,i.icon.ioxhost,i.icon.itunes,i.icon.itunes.note,i.icon.jenkins,i.icon.joget,i.icon.joomla,i.icon.js,i.icon.js.square,i.icon.jsfiddle,i.icon.keycdn,i.icon.kickstarter,i.icon.kickstarter.k,i.icon.korvue,i.icon.laravel,i.icon.lastfm,i.icon.lastfm.square,i.icon.leanpub,i.icon.less,i.icon.linechat,i.icon.linkedin,i.icon.linkedin.alternate,i.icon.linkedin.in,i.icon.linode,i.icon.linux,i.icon.lyft,i.icon.magento,i.icon.maxcdn,i.icon.medapps,i.icon.medium,i.icon.medium.m,i.icon.medrt,i.icon.meetup,i.icon.microsoft,i.icon.mix,i.icon.mixcloud,i.icon.mizuni,i.icon.modx,i.icon.monero,i.icon.napster,i.icon.nintendo.switch,i.icon.node,i.icon.node.js,i.icon.npm,i.icon.ns8,i.icon.nutritionix,i.icon.odnoklassniki,i.icon.odnoklassniki.square,i.icon.opencart,i.icon.openid,i.icon.opera,i.icon.optin.monster,i.icon.osi,i.icon.page4,i.icon.pagelines,i.icon.palfed,i.icon.patreon,i.icon.paypal,i.icon.periscope,i.icon.phabricator,i.icon.phoenix.framework,i.icon.php,i.icon.pied.piper,i.icon.pied.piper.alternate,i.icon.pied.piper.pp,i.icon.pinterest,i.icon.pinterest.p,i.icon.pinterest.square,i.icon.playstation,i.icon.product.hunt,i.icon.pushed,i.icon.python,i.icon.qq,i.icon.quinscape,i.icon.quora,i.icon.ravelry,i.icon.react,i.icon.rebel,i.icon.reddit,i.icon.reddit.alien,i.icon.reddit.square,i.icon.redriver,i.icon.rendact,i.icon.renren,i.icon.replyd,i.icon.resolving,i.icon.rocketchat,i.icon.rockrms,i.icon.safari,i.icon.sass,i.icon.schlix,i.icon.scribd,i.icon.searchengin,i.icon.sellcast,i.icon.sellsy,i.icon.servicestack,i.icon.shirtsinbulk,i.icon.simplybuilt,i.icon.sistrix,i.icon.skyatlas,i.icon.skype,i.icon.slack,i.icon.slack.hash,i.icon.slideshare,i.icon.snapchat,i.icon.snapchat.ghost,i.icon.snapchat.square,i.icon.soundcloud,i.icon.speakap,i.icon.spotify,i.icon.stack.exchange,i.icon.stack.overflow,i.icon.staylinked,i.icon.steam,i.icon.steam.square,i.icon.steam.symbol,i.icon.sticker.mule,i.icon.strava,i.icon.stripe,i.icon.stripe.s,i.icon.studiovinari,i.icon.stumbleupon,i.icon.stumbleupon.circle,i.icon.superpowers,i.icon.supple,i.icon.telegram,i.icon.telegram.plane,i.icon.tencent.weibo,i.icon.themeisle,i.icon.trello,i.icon.tripadvisor,i.icon.tumblr,i.icon.tumblr.square,i.icon.twitch,i.icon.twitter,i.icon.twitter.square,i.icon.typo3,i.icon.uber,i.icon.uikit,i.icon.uniregistry,i.icon.untappd,i.icon.usb,i.icon.ussunnah,i.icon.vaadin,i.icon.viacoin,i.icon.viadeo,i.icon.viadeo.square,i.icon.viber,i.icon.vimeo,i.icon.vimeo.square,i.icon.vimeo.v,i.icon.vine,i.icon.vk,i.icon.vnv,i.icon.vuejs,i.icon.wechat,i.icon.weibo,i.icon.weixin,i.icon.whatsapp,i.icon.whatsapp.square,i.icon.whmcs,i.icon.wikipedia.w,i.icon.windows,i.icon.wordpress,i.icon.wordpress.simple,i.icon.wpbeginner,i.icon.wpexplorer,i.icon.wpforms,i.icon.xbox,i.icon.xing,i.icon.xing.square,i.icon.y.combinator,i.icon.yahoo,i.icon.yandex,i.icon.yandex.international,i.icon.yelp,i.icon.yoast,i.icon.youtube,i.icon.youtube.square{font-family:brand-icons} \ No newline at end of file diff --git a/cmd/client/static/public/css/icons.eot b/cmd/client/static/public/css/icons.eot deleted file mode 100644 index ef75106..0000000 Binary files a/cmd/client/static/public/css/icons.eot and /dev/null differ diff --git a/cmd/client/static/public/css/icons.otf b/cmd/client/static/public/css/icons.otf deleted file mode 100644 index f7936cc..0000000 Binary files a/cmd/client/static/public/css/icons.otf and /dev/null differ diff --git a/cmd/client/static/public/css/icons.svg b/cmd/client/static/public/css/icons.svg deleted file mode 100644 index 0ae8e32..0000000 --- a/cmd/client/static/public/css/icons.svg +++ /dev/null @@ -1,1518 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cmd/client/static/public/css/icons.ttf b/cmd/client/static/public/css/icons.ttf deleted file mode 100644 index 17bb674..0000000 Binary files a/cmd/client/static/public/css/icons.ttf and /dev/null differ diff --git a/cmd/client/static/public/css/icons.woff b/cmd/client/static/public/css/icons.woff deleted file mode 100644 index 4cf2a4f..0000000 Binary files a/cmd/client/static/public/css/icons.woff and /dev/null differ diff --git a/cmd/client/static/public/css/icons.woff2 b/cmd/client/static/public/css/icons.woff2 deleted file mode 100644 index eea9aa2..0000000 Binary files a/cmd/client/static/public/css/icons.woff2 and /dev/null differ diff --git a/cmd/client/static/public/css/index.css b/cmd/client/static/public/css/index.css deleted file mode 100644 index fbd529a..0000000 --- a/cmd/client/static/public/css/index.css +++ /dev/null @@ -1,54 +0,0 @@ -body { - background-color: #000000; -} - -.ui.header > .image:not(.icon), .ui.header > img { - width: 30em; - margin-top: -8em; - margin-bottom: -8em; -} - -h2.ui.header .sub.header { - margin-top: 20px; -} - - -.ui.fullscreen.modal { - left: auto !important; -} - -.ui.fullscreen.scrolling.modal { - left: auto !important; -} - -.ui.form .field > label { - margin-top: 1em; - margin-bottom: 1em; -} - -.http.two.fields { - display: none; -} - -.socks.two.fields { - display: none; -} - -.proxy.two.fields { - margin-top: 2em; - margin-bottom: 2em; -} - -.ui.success.message { - margin-top: 2em; -} - -.ui.error.message { - margin-top: 2em; -} - - -.ui.inverted.segment { - height: 1em; - background: #000000; -} \ No newline at end of file diff --git a/cmd/client/static/public/css/outline-icons.eot b/cmd/client/static/public/css/outline-icons.eot deleted file mode 100644 index cda0a84..0000000 Binary files a/cmd/client/static/public/css/outline-icons.eot and /dev/null differ diff --git a/cmd/client/static/public/css/outline-icons.svg b/cmd/client/static/public/css/outline-icons.svg deleted file mode 100644 index 2875252..0000000 --- a/cmd/client/static/public/css/outline-icons.svg +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cmd/client/static/public/css/outline-icons.ttf b/cmd/client/static/public/css/outline-icons.ttf deleted file mode 100644 index ee13f84..0000000 Binary files a/cmd/client/static/public/css/outline-icons.ttf and /dev/null differ diff --git a/cmd/client/static/public/css/outline-icons.woff b/cmd/client/static/public/css/outline-icons.woff deleted file mode 100644 index bcd8343..0000000 Binary files a/cmd/client/static/public/css/outline-icons.woff and /dev/null differ diff --git a/cmd/client/static/public/css/outline-icons.woff2 b/cmd/client/static/public/css/outline-icons.woff2 deleted file mode 100644 index 35cc7b3..0000000 Binary files a/cmd/client/static/public/css/outline-icons.woff2 and /dev/null differ diff --git a/cmd/client/static/public/css/semantic.min.css b/cmd/client/static/public/css/semantic.min.css deleted file mode 100644 index 6058800..0000000 --- a/cmd/client/static/public/css/semantic.min.css +++ /dev/null @@ -1,31175 +0,0 @@ -/* - * # Semantic UI - 2.4.0 - * https://github.com/Semantic-Org/Semantic-UI - * http://www.semantic-ui.com/ - * - * Copyright 2014 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -@import url(font.css); - -/*! - * # Semantic UI 2.4.0 - Reset - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -*, :after, :before { - -webkit-box-sizing: inherit; - box-sizing: inherit -} - -html { - -webkit-box-sizing: border-box; - box-sizing: border-box -} - -input[type=email], input[type=password], input[type=search], input[type=text] { - -webkit-appearance: none; - -moz-appearance: none -} - -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ -html { - line-height: 1.15; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100% -} - -body { - margin: 0 -} - -article, aside, footer, header, nav, section { - display: block -} - -h1 { - font-size: 2em; - margin: .67em 0 -} - -figcaption, figure, main { - display: block -} - -figure { - margin: 1em 40px -} - -hr { - -webkit-box-sizing: content-box; - box-sizing: content-box; - height: 0; - overflow: visible -} - -pre { - font-family: monospace, monospace; - font-size: 1em -} - -a { - background-color: transparent; - -webkit-text-decoration-skip: objects -} - -abbr[title] { - border-bottom: none; - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted -} - -b, strong { - font-weight: inherit -} - -b, strong { - font-weight: bolder -} - -code, kbd, samp { - font-family: monospace, monospace; - font-size: 1em -} - -dfn { - font-style: italic -} - -mark { - background-color: #ff0; - color: #000 -} - -small { - font-size: 80% -} - -sub, sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline -} - -sub { - bottom: -.25em -} - -sup { - top: -.5em -} - -audio, video { - display: inline-block -} - -audio:not([controls]) { - display: none; - height: 0 -} - -img { - border-style: none -} - -svg:not(:root) { - overflow: hidden -} - -button, input, optgroup, select, textarea { - font-family: sans-serif; - font-size: 100%; - line-height: 1.15; - margin: 0 -} - -button, input { - overflow: visible -} - -button, select { - text-transform: none -} - -[type=reset], [type=submit], button, html [type=button] { - -webkit-appearance: button -} - -[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner { - border-style: none; - padding: 0 -} - -[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring { - outline: 1px dotted ButtonText -} - -fieldset { - padding: .35em .75em .625em -} - -legend { - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - padding: 0; - white-space: normal -} - -progress { - display: inline-block; - vertical-align: baseline -} - -textarea { - overflow: auto -} - -[type=checkbox], [type=radio] { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0 -} - -[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { - height: auto -} - -[type=search] { - -webkit-appearance: textfield; - outline-offset: -2px -} - -[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration { - -webkit-appearance: none -} - -::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit -} - -details, menu { - display: block -} - -summary { - display: list-item -} - -canvas { - display: inline-block -} - -template { - display: none -} - -[hidden] { - display: none -} - -/*! - * # Semantic UI 2.4.0 - Site - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -body, html { - height: 100% -} - -html { - font-size: 14px -} - -body { - margin: 0; - padding: 0; - overflow-x: hidden; - min-width: 320px; - background: #fff; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 14px; - line-height: 1.4285em; - color: rgba(0, 0, 0, .87); - font-smoothing: antialiased -} - -h1, h2, h3, h4, h5 { - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - line-height: 1.28571429em; - margin: calc(2rem - .14285714em) 0 1rem; - font-weight: 700; - padding: 0 -} - -h1 { - min-height: 1rem; - font-size: 2rem -} - -h2 { - font-size: 1.71428571rem -} - -h3 { - font-size: 1.28571429rem -} - -h4 { - font-size: 1.07142857rem -} - -h5 { - font-size: 1rem -} - -h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child { - margin-top: 0 -} - -h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child { - margin-bottom: 0 -} - -p { - margin: 0 0 1em; - line-height: 1.4285em -} - -p:first-child { - margin-top: 0 -} - -p:last-child { - margin-bottom: 0 -} - -a { - color: #4183c4; - text-decoration: none -} - -a:hover { - color: #1e70bf; - text-decoration: none -} - -::-webkit-selection { - background-color: #cce2ff; - color: rgba(0, 0, 0, .87) -} - -::-moz-selection { - background-color: #cce2ff; - color: rgba(0, 0, 0, .87) -} - -::selection { - background-color: #cce2ff; - color: rgba(0, 0, 0, .87) -} - -input::-webkit-selection, textarea::-webkit-selection { - background-color: rgba(100, 100, 100, .4); - color: rgba(0, 0, 0, .87) -} - -input::-moz-selection, textarea::-moz-selection { - background-color: rgba(100, 100, 100, .4); - color: rgba(0, 0, 0, .87) -} - -input::selection, textarea::selection { - background-color: rgba(100, 100, 100, .4); - color: rgba(0, 0, 0, .87) -} - -body ::-webkit-scrollbar { - -webkit-appearance: none; - width: 10px; - height: 10px -} - -body ::-webkit-scrollbar-track { - background: rgba(0, 0, 0, .1); - border-radius: 0 -} - -body ::-webkit-scrollbar-thumb { - cursor: pointer; - border-radius: 5px; - background: rgba(0, 0, 0, .25); - -webkit-transition: color .2s ease; - transition: color .2s ease -} - -body ::-webkit-scrollbar-thumb:window-inactive { - background: rgba(0, 0, 0, .15) -} - -body ::-webkit-scrollbar-thumb:hover { - background: rgba(128, 135, 139, .8) -} - -body .ui.inverted::-webkit-scrollbar-track { - background: rgba(255, 255, 255, .1) -} - -body .ui.inverted::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, .25) -} - -body .ui.inverted::-webkit-scrollbar-thumb:window-inactive { - background: rgba(255, 255, 255, .15) -} - -body .ui.inverted::-webkit-scrollbar-thumb:hover { - background: rgba(255, 255, 255, .35) -} - -/*! - * # Semantic UI 2.4.0 - Button - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.button { - cursor: pointer; - display: inline-block; - min-height: 1em; - outline: 0; - border: none; - vertical-align: baseline; - background: #e0e1e2 none; - color: rgba(0, 0, 0, .6); - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - margin: 0 .25em 0 0; - padding: .78571429em 1.5em .78571429em; - text-transform: none; - text-shadow: none; - font-weight: 700; - line-height: 1em; - font-style: normal; - text-align: center; - text-decoration: none; - border-radius: .28571429rem; - -webkit-box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, .15) inset; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-transition: opacity .1s ease, background-color .1s ease, color .1s ease, background .1s ease, -webkit-box-shadow .1s ease; - transition: opacity .1s ease, background-color .1s ease, color .1s ease, background .1s ease, -webkit-box-shadow .1s ease; - transition: opacity .1s ease, background-color .1s ease, color .1s ease, box-shadow .1s ease, background .1s ease; - transition: opacity .1s ease, background-color .1s ease, color .1s ease, box-shadow .1s ease, background .1s ease, -webkit-box-shadow .1s ease; - will-change: ''; - -webkit-tap-highlight-color: transparent -} - -.ui.button:hover { - background-color: #cacbcd; - background-image: none; - -webkit-box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, .15) inset; - color: rgba(0, 0, 0, .8) -} - -.ui.button:hover .icon { - opacity: .85 -} - -.ui.button:focus { - background-color: #cacbcd; - color: rgba(0, 0, 0, .8); - background-image: '' !important; - -webkit-box-shadow: '' !important; - box-shadow: '' !important -} - -.ui.button:focus .icon { - opacity: .85 -} - -.ui.active.button:active, .ui.button:active { - background-color: #babbbc; - background-image: ''; - color: rgba(0, 0, 0, .9); - -webkit-box-shadow: 0 0 0 1px transparent inset, none; - box-shadow: 0 0 0 1px transparent inset, none -} - -.ui.active.button { - background-color: #c0c1c2; - background-image: none; - -webkit-box-shadow: 0 0 0 1px transparent inset; - box-shadow: 0 0 0 1px transparent inset; - color: rgba(0, 0, 0, .95) -} - -.ui.active.button:hover { - background-color: #c0c1c2; - background-image: none; - color: rgba(0, 0, 0, .95) -} - -.ui.active.button:active { - background-color: #c0c1c2; - background-image: none -} - -.ui.loading.loading.loading.loading.loading.loading.button { - position: relative; - cursor: default; - text-shadow: none !important; - color: transparent !important; - opacity: 1; - pointer-events: auto; - -webkit-transition: all 0s linear, opacity .1s ease; - transition: all 0s linear, opacity .1s ease -} - -.ui.loading.button:before { - position: absolute; - content: ''; - top: 50%; - left: 50%; - margin: -.64285714em 0 0 -.64285714em; - width: 1.28571429em; - height: 1.28571429em; - border-radius: 500rem; - border: .2em solid rgba(0, 0, 0, .15) -} - -.ui.loading.button:after { - position: absolute; - content: ''; - top: 50%; - left: 50%; - margin: -.64285714em 0 0 -.64285714em; - width: 1.28571429em; - height: 1.28571429em; - -webkit-animation: button-spin .6s linear; - animation: button-spin .6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - border-radius: 500rem; - border-color: #fff transparent transparent; - border-style: solid; - border-width: .2em; - -webkit-box-shadow: 0 0 0 1px transparent; - box-shadow: 0 0 0 1px transparent -} - -.ui.labeled.icon.loading.button .icon { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none -} - -@-webkit-keyframes button-spin { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -@keyframes button-spin { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -.ui.basic.loading.button:not(.inverted):before { - border-color: rgba(0, 0, 0, .1) -} - -.ui.basic.loading.button:not(.inverted):after { - border-top-color: #767676 -} - -.ui.button:disabled, .ui.buttons .disabled.button, .ui.disabled.active.button, .ui.disabled.button, .ui.disabled.button:hover { - cursor: default; - opacity: .45 !important; - background-image: none !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - pointer-events: none !important -} - -.ui.basic.buttons .ui.disabled.button { - border-color: rgba(34, 36, 38, .5) -} - -.ui.animated.button { - position: relative; - overflow: hidden; - padding-right: 0 !important; - vertical-align: middle; - z-index: 1 -} - -.ui.animated.button .content { - will-change: transform, opacity -} - -.ui.animated.button .visible.content { - position: relative; - margin-right: 1.5em -} - -.ui.animated.button .hidden.content { - position: absolute; - width: 100% -} - -.ui.animated.button .hidden.content, .ui.animated.button .visible.content { - -webkit-transition: right .3s ease 0s; - transition: right .3s ease 0s -} - -.ui.animated.button .visible.content { - left: auto; - right: 0 -} - -.ui.animated.button .hidden.content { - top: 50%; - left: auto; - right: -100%; - margin-top: -.5em -} - -.ui.animated.button:focus .visible.content, .ui.animated.button:hover .visible.content { - left: auto; - right: 200% -} - -.ui.animated.button:focus .hidden.content, .ui.animated.button:hover .hidden.content { - left: auto; - right: 0 -} - -.ui.vertical.animated.button .hidden.content, .ui.vertical.animated.button .visible.content { - -webkit-transition: top .3s ease, -webkit-transform .3s ease; - transition: top .3s ease, -webkit-transform .3s ease; - transition: top .3s ease, transform .3s ease; - transition: top .3s ease, transform .3s ease, -webkit-transform .3s ease -} - -.ui.vertical.animated.button .visible.content { - -webkit-transform: translateY(0); - transform: translateY(0); - right: auto -} - -.ui.vertical.animated.button .hidden.content { - top: -50%; - left: 0; - right: auto -} - -.ui.vertical.animated.button:focus .visible.content, .ui.vertical.animated.button:hover .visible.content { - -webkit-transform: translateY(200%); - transform: translateY(200%); - right: auto -} - -.ui.vertical.animated.button:focus .hidden.content, .ui.vertical.animated.button:hover .hidden.content { - top: 50%; - right: auto -} - -.ui.fade.animated.button .hidden.content, .ui.fade.animated.button .visible.content { - -webkit-transition: opacity .3s ease, -webkit-transform .3s ease; - transition: opacity .3s ease, -webkit-transform .3s ease; - transition: opacity .3s ease, transform .3s ease; - transition: opacity .3s ease, transform .3s ease, -webkit-transform .3s ease -} - -.ui.fade.animated.button .visible.content { - left: auto; - right: auto; - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) -} - -.ui.fade.animated.button .hidden.content { - opacity: 0; - left: 0; - right: auto; - -webkit-transform: scale(1.5); - transform: scale(1.5) -} - -.ui.fade.animated.button:focus .visible.content, .ui.fade.animated.button:hover .visible.content { - left: auto; - right: auto; - opacity: 0; - -webkit-transform: scale(.75); - transform: scale(.75) -} - -.ui.fade.animated.button:focus .hidden.content, .ui.fade.animated.button:hover .hidden.content { - left: 0; - right: auto; - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) -} - -.ui.inverted.button { - -webkit-box-shadow: 0 0 0 2px #fff inset !important; - box-shadow: 0 0 0 2px #fff inset !important; - background: transparent none; - color: #fff; - text-shadow: none !important -} - -.ui.inverted.buttons .button { - margin: 0 0 0 -2px -} - -.ui.inverted.buttons .button:first-child { - margin-left: 0 -} - -.ui.inverted.vertical.buttons .button { - margin: 0 0 -2px 0 -} - -.ui.inverted.vertical.buttons .button:first-child { - margin-top: 0 -} - -.ui.inverted.button:hover { - background: #fff; - -webkit-box-shadow: 0 0 0 2px #fff inset !important; - box-shadow: 0 0 0 2px #fff inset !important; - color: rgba(0, 0, 0, .8) -} - -.ui.inverted.button.active, .ui.inverted.button:focus { - background: #fff; - -webkit-box-shadow: 0 0 0 2px #fff inset !important; - box-shadow: 0 0 0 2px #fff inset !important; - color: rgba(0, 0, 0, .8) -} - -.ui.inverted.button.active:focus { - background: #dcddde; - -webkit-box-shadow: 0 0 0 2px #dcddde inset !important; - box-shadow: 0 0 0 2px #dcddde inset !important; - color: rgba(0, 0, 0, .8) -} - -.ui.labeled.button:not(.icon) { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - background: 0 0 !important; - padding: 0 !important; - border: none !important; - -webkit-box-shadow: none !important; - box-shadow: none !important -} - -.ui.labeled.button > .button { - margin: 0 -} - -.ui.labeled.button > .label { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - margin: 0 0 0 -1px !important; - padding: ''; - font-size: 1em; - border-color: rgba(34, 36, 38, .15) -} - -.ui.labeled.button > .tag.label:before { - width: 1.85em; - height: 1.85em -} - -.ui.labeled.button:not([class*="left labeled"]) > .button { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.ui.labeled.button:not([class*="left labeled"]) > .label { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.ui[class*="left labeled"].button > .button { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.ui[class*="left labeled"].button > .label { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.ui.facebook.button { - background-color: #3b5998; - color: #fff; - text-shadow: none; - background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.facebook.button:hover { - background-color: #304d8a; - color: #fff; - text-shadow: none -} - -.ui.facebook.button:active { - background-color: #2d4373; - color: #fff; - text-shadow: none -} - -.ui.twitter.button { - background-color: #55acee; - color: #fff; - text-shadow: none; - background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.twitter.button:hover { - background-color: #35a2f4; - color: #fff; - text-shadow: none -} - -.ui.twitter.button:active { - background-color: #2795e9; - color: #fff; - text-shadow: none -} - -.ui.google.plus.button { - background-color: #dd4b39; - color: #fff; - text-shadow: none; - background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.google.plus.button:hover { - background-color: #e0321c; - color: #fff; - text-shadow: none -} - -.ui.google.plus.button:active { - background-color: #c23321; - color: #fff; - text-shadow: none -} - -.ui.linkedin.button { - background-color: #1f88be; - color: #fff; - text-shadow: none -} - -.ui.linkedin.button:hover { - background-color: #147baf; - color: #fff; - text-shadow: none -} - -.ui.linkedin.button:active { - background-color: #186992; - color: #fff; - text-shadow: none -} - -.ui.youtube.button { - background-color: red; - color: #fff; - text-shadow: none; - background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.youtube.button:hover { - background-color: #e60000; - color: #fff; - text-shadow: none -} - -.ui.youtube.button:active { - background-color: #c00; - color: #fff; - text-shadow: none -} - -.ui.instagram.button { - background-color: #49769c; - color: #fff; - text-shadow: none; - background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.instagram.button:hover { - background-color: #3d698e; - color: #fff; - text-shadow: none -} - -.ui.instagram.button:active { - background-color: #395c79; - color: #fff; - text-shadow: none -} - -.ui.pinterest.button { - background-color: #bd081c; - color: #fff; - text-shadow: none; - background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.pinterest.button:hover { - background-color: #ac0013; - color: #fff; - text-shadow: none -} - -.ui.pinterest.button:active { - background-color: #8c0615; - color: #fff; - text-shadow: none -} - -.ui.vk.button { - background-color: #4d7198; - color: #fff; - background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.vk.button:hover { - background-color: #41648a; - color: #fff -} - -.ui.vk.button:active { - background-color: #3c5876; - color: #fff -} - -.ui.button > .icon:not(.button) { - height: .85714286em; - opacity: .8; - margin: 0 .42857143em 0 -.21428571em; - -webkit-transition: opacity .1s ease; - transition: opacity .1s ease; - vertical-align: ''; - color: '' -} - -.ui.button:not(.icon) > .icon:not(.button):not(.dropdown) { - margin: 0 .42857143em 0 -.21428571em -} - -.ui.button:not(.icon) > .right.icon:not(.button):not(.dropdown) { - margin: 0 -.21428571em 0 .42857143em -} - -.ui[class*="left floated"].button, .ui[class*="left floated"].buttons { - float: left; - margin-left: 0; - margin-right: .25em -} - -.ui[class*="right floated"].button, .ui[class*="right floated"].buttons { - float: right; - margin-right: 0; - margin-left: .25em -} - -.ui.compact.button, .ui.compact.buttons .button { - padding: .58928571em 1.125em .58928571em -} - -.ui.compact.icon.button, .ui.compact.icon.buttons .button { - padding: .58928571em .58928571em .58928571em -} - -.ui.compact.labeled.icon.button, .ui.compact.labeled.icon.buttons .button { - padding: .58928571em 3.69642857em .58928571em -} - -.ui.mini.button, .ui.mini.buttons .button, .ui.mini.buttons .or { - font-size: .78571429rem -} - -.ui.tiny.button, .ui.tiny.buttons .button, .ui.tiny.buttons .or { - font-size: .85714286rem -} - -.ui.small.button, .ui.small.buttons .button, .ui.small.buttons .or { - font-size: .92857143rem -} - -.ui.button, .ui.buttons .button, .ui.buttons .or { - font-size: 1rem -} - -.ui.large.button, .ui.large.buttons .button, .ui.large.buttons .or { - font-size: 1.14285714rem -} - -.ui.big.button, .ui.big.buttons .button, .ui.big.buttons .or { - font-size: 1.28571429rem -} - -.ui.huge.button, .ui.huge.buttons .button, .ui.huge.buttons .or { - font-size: 1.42857143rem -} - -.ui.massive.button, .ui.massive.buttons .button, .ui.massive.buttons .or { - font-size: 1.71428571rem -} - -.ui.icon.button, .ui.icon.buttons .button { - padding: .78571429em .78571429em .78571429em -} - -.ui.icon.button > .icon, .ui.icon.buttons .button > .icon { - opacity: .9; - margin: 0 !important; - vertical-align: top -} - -.ui.basic.button, .ui.basic.buttons .button { - background: transparent none !important; - color: rgba(0, 0, 0, .6) !important; - font-weight: 400; - border-radius: .28571429rem; - text-transform: none; - text-shadow: none !important; - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 1px rgba(34, 36, 38, .15) inset -} - -.ui.basic.buttons { - -webkit-box-shadow: none; - box-shadow: none; - border: 1px solid rgba(34, 36, 38, .15); - border-radius: .28571429rem -} - -.ui.basic.buttons .button { - border-radius: 0 -} - -.ui.basic.button:hover, .ui.basic.buttons .button:hover { - background: #fff !important; - color: rgba(0, 0, 0, .8) !important; - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, .35) inset, 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 1px rgba(34, 36, 38, .35) inset, 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.basic.button:focus, .ui.basic.buttons .button:focus { - background: #fff !important; - color: rgba(0, 0, 0, .8) !important; - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, .35) inset, 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 1px rgba(34, 36, 38, .35) inset, 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.basic.button:active, .ui.basic.buttons .button:active { - background: #f8f8f8 !important; - color: rgba(0, 0, 0, .9) !important; - -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, .15) inset, 0 1px 4px 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 1px rgba(0, 0, 0, .15) inset, 0 1px 4px 0 rgba(34, 36, 38, .15) inset -} - -.ui.basic.active.button, .ui.basic.buttons .active.button { - background: rgba(0, 0, 0, .05) !important; - -webkit-box-shadow: '' !important; - box-shadow: '' !important; - color: rgba(0, 0, 0, .95) !important -} - -.ui.basic.active.button:hover, .ui.basic.buttons .active.button:hover { - background-color: rgba(0, 0, 0, .05) -} - -.ui.basic.buttons .button:hover { - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, .35) inset, 0 0 0 0 rgba(34, 36, 38, .15) inset inset; - box-shadow: 0 0 0 1px rgba(34, 36, 38, .35) inset, 0 0 0 0 rgba(34, 36, 38, .15) inset inset -} - -.ui.basic.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, .15) inset, 0 1px 4px 0 rgba(34, 36, 38, .15) inset inset; - box-shadow: 0 0 0 1px rgba(0, 0, 0, .15) inset, 0 1px 4px 0 rgba(34, 36, 38, .15) inset inset -} - -.ui.basic.buttons .active.button { - -webkit-box-shadow: '' !important; - box-shadow: '' !important -} - -.ui.basic.inverted.button, .ui.basic.inverted.buttons .button { - background-color: transparent !important; - color: #f9fafb !important; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important -} - -.ui.basic.inverted.button:hover, .ui.basic.inverted.buttons .button:hover { - color: #fff !important; - -webkit-box-shadow: 0 0 0 2px #fff inset !important; - box-shadow: 0 0 0 2px #fff inset !important -} - -.ui.basic.inverted.button:focus, .ui.basic.inverted.buttons .button:focus { - color: #fff !important; - -webkit-box-shadow: 0 0 0 2px #fff inset !important; - box-shadow: 0 0 0 2px #fff inset !important -} - -.ui.basic.inverted.button:active, .ui.basic.inverted.buttons .button:active { - background-color: rgba(255, 255, 255, .08) !important; - color: #fff !important; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .9) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .9) inset !important -} - -.ui.basic.inverted.active.button, .ui.basic.inverted.buttons .active.button { - background-color: rgba(255, 255, 255, .08); - color: #fff; - text-shadow: none; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .7) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .7) inset -} - -.ui.basic.inverted.active.button:hover, .ui.basic.inverted.buttons .active.button:hover { - background-color: rgba(255, 255, 255, .15); - -webkit-box-shadow: 0 0 0 2px #fff inset !important; - box-shadow: 0 0 0 2px #fff inset !important -} - -.ui.basic.buttons .button { - border-left: 1px solid rgba(34, 36, 38, .15); - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.basic.vertical.buttons .button { - border-left: none -} - -.ui.basic.vertical.buttons .button { - border-left-width: 0; - border-top: 1px solid rgba(34, 36, 38, .15) -} - -.ui.basic.vertical.buttons .button:first-child { - border-top-width: 0 -} - -.ui.labeled.icon.button, .ui.labeled.icon.buttons .button { - position: relative; - padding-left: 4.07142857em !important; - padding-right: 1.5em !important -} - -.ui.labeled.icon.button > .icon, .ui.labeled.icon.buttons > .button > .icon { - position: absolute; - height: 100%; - line-height: 1; - border-radius: 0; - border-top-left-radius: inherit; - border-bottom-left-radius: inherit; - text-align: center; - margin: 0; - width: 2.57142857em; - background-color: rgba(0, 0, 0, .05); - color: ''; - -webkit-box-shadow: -1px 0 0 0 transparent inset; - box-shadow: -1px 0 0 0 transparent inset -} - -.ui.labeled.icon.button > .icon, .ui.labeled.icon.buttons > .button > .icon { - top: 0; - left: 0 -} - -.ui[class*="right labeled"].icon.button { - padding-right: 4.07142857em !important; - padding-left: 1.5em !important -} - -.ui[class*="right labeled"].icon.button > .icon { - left: auto; - right: 0; - border-radius: 0; - border-top-right-radius: inherit; - border-bottom-right-radius: inherit; - -webkit-box-shadow: 1px 0 0 0 transparent inset; - box-shadow: 1px 0 0 0 transparent inset -} - -.ui.labeled.icon.button > .icon:after, .ui.labeled.icon.button > .icon:before, .ui.labeled.icon.buttons > .button > .icon:after, .ui.labeled.icon.buttons > .button > .icon:before { - display: block; - position: absolute; - width: 100%; - top: 50%; - text-align: center; - -webkit-transform: translateY(-50%); - transform: translateY(-50%) -} - -.ui.labeled.icon.buttons .button > .icon { - border-radius: 0 -} - -.ui.labeled.icon.buttons .button:first-child > .icon { - border-top-left-radius: .28571429rem; - border-bottom-left-radius: .28571429rem -} - -.ui.labeled.icon.buttons .button:last-child > .icon { - border-top-right-radius: .28571429rem; - border-bottom-right-radius: .28571429rem -} - -.ui.vertical.labeled.icon.buttons .button:first-child > .icon { - border-radius: 0; - border-top-left-radius: .28571429rem -} - -.ui.vertical.labeled.icon.buttons .button:last-child > .icon { - border-radius: 0; - border-bottom-left-radius: .28571429rem -} - -.ui.fluid[class*="left labeled"].icon.button, .ui.fluid[class*="right labeled"].icon.button { - padding-left: 1.5em !important; - padding-right: 1.5em !important -} - -.ui.button.toggle.active, .ui.buttons .button.toggle.active, .ui.toggle.buttons .active.button { - background-color: #21ba45 !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - text-shadow: none; - color: #fff !important -} - -.ui.button.toggle.active:hover { - background-color: #16ab39 !important; - text-shadow: none; - color: #fff !important -} - -.ui.circular.button { - border-radius: 10em -} - -.ui.circular.button > .icon { - width: 1em; - vertical-align: baseline -} - -.ui.buttons .or { - position: relative; - width: .3em; - height: 2.57142857em; - z-index: 3 -} - -.ui.buttons .or:before { - position: absolute; - text-align: center; - border-radius: 500rem; - content: 'or'; - top: 50%; - left: 50%; - background-color: #fff; - text-shadow: none; - margin-top: -.89285714em; - margin-left: -.89285714em; - width: 1.78571429em; - height: 1.78571429em; - line-height: 1.78571429em; - color: rgba(0, 0, 0, .4); - font-style: normal; - font-weight: 700; - -webkit-box-shadow: 0 0 0 1px transparent inset; - box-shadow: 0 0 0 1px transparent inset -} - -.ui.buttons .or[data-text]:before { - content: attr(data-text) -} - -.ui.fluid.buttons .or { - width: 0 !important -} - -.ui.fluid.buttons .or:after { - display: none -} - -.ui.attached.button { - position: relative; - display: block; - margin: 0; - border-radius: 0; - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, .15) !important; - box-shadow: 0 0 0 1px rgba(34, 36, 38, .15) !important -} - -.ui.attached.top.button { - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.attached.bottom.button { - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.left.attached.button { - display: inline-block; - border-left: none; - text-align: right; - padding-right: .75em; - border-radius: .28571429rem 0 0 .28571429rem -} - -.ui.right.attached.button { - display: inline-block; - text-align: left; - padding-left: .75em; - border-radius: 0 .28571429rem .28571429rem 0 -} - -.ui.attached.buttons { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - border-radius: 0; - width: auto !important; - z-index: 2; - margin-left: -1px; - margin-right: -1px -} - -.ui.attached.buttons .button { - margin: 0 -} - -.ui.attached.buttons .button:first-child { - border-radius: 0 -} - -.ui.attached.buttons .button:last-child { - border-radius: 0 -} - -.ui[class*="top attached"].buttons { - margin-bottom: -1px; - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui[class*="top attached"].buttons .button:first-child { - border-radius: .28571429rem 0 0 0 -} - -.ui[class*="top attached"].buttons .button:last-child { - border-radius: 0 .28571429rem 0 0 -} - -.ui[class*="bottom attached"].buttons { - margin-top: -1px; - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui[class*="bottom attached"].buttons .button:first-child { - border-radius: 0 0 0 .28571429rem -} - -.ui[class*="bottom attached"].buttons .button:last-child { - border-radius: 0 0 .28571429rem 0 -} - -.ui[class*="left attached"].buttons { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - margin-right: 0; - margin-left: -1px; - border-radius: 0 .28571429rem .28571429rem 0 -} - -.ui[class*="left attached"].buttons .button:first-child { - margin-left: -1px; - border-radius: 0 .28571429rem 0 0 -} - -.ui[class*="left attached"].buttons .button:last-child { - margin-left: -1px; - border-radius: 0 0 .28571429rem 0 -} - -.ui[class*="right attached"].buttons { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - margin-left: 0; - margin-right: -1px; - border-radius: .28571429rem 0 0 .28571429rem -} - -.ui[class*="right attached"].buttons .button:first-child { - margin-left: -1px; - border-radius: .28571429rem 0 0 0 -} - -.ui[class*="right attached"].buttons .button:last-child { - margin-left: -1px; - border-radius: 0 0 0 .28571429rem -} - -.ui.fluid.button, .ui.fluid.buttons { - width: 100% -} - -.ui.fluid.button { - display: block -} - -.ui.two.buttons { - width: 100% -} - -.ui.two.buttons > .button { - width: 50% -} - -.ui.three.buttons { - width: 100% -} - -.ui.three.buttons > .button { - width: 33.333% -} - -.ui.four.buttons { - width: 100% -} - -.ui.four.buttons > .button { - width: 25% -} - -.ui.five.buttons { - width: 100% -} - -.ui.five.buttons > .button { - width: 20% -} - -.ui.six.buttons { - width: 100% -} - -.ui.six.buttons > .button { - width: 16.666% -} - -.ui.seven.buttons { - width: 100% -} - -.ui.seven.buttons > .button { - width: 14.285% -} - -.ui.eight.buttons { - width: 100% -} - -.ui.eight.buttons > .button { - width: 12.5% -} - -.ui.nine.buttons { - width: 100% -} - -.ui.nine.buttons > .button { - width: 11.11% -} - -.ui.ten.buttons { - width: 100% -} - -.ui.ten.buttons > .button { - width: 10% -} - -.ui.eleven.buttons { - width: 100% -} - -.ui.eleven.buttons > .button { - width: 9.09% -} - -.ui.twelve.buttons { - width: 100% -} - -.ui.twelve.buttons > .button { - width: 8.3333% -} - -.ui.fluid.vertical.buttons, .ui.fluid.vertical.buttons > .button { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - width: auto -} - -.ui.two.vertical.buttons > .button { - height: 50% -} - -.ui.three.vertical.buttons > .button { - height: 33.333% -} - -.ui.four.vertical.buttons > .button { - height: 25% -} - -.ui.five.vertical.buttons > .button { - height: 20% -} - -.ui.six.vertical.buttons > .button { - height: 16.666% -} - -.ui.seven.vertical.buttons > .button { - height: 14.285% -} - -.ui.eight.vertical.buttons > .button { - height: 12.5% -} - -.ui.nine.vertical.buttons > .button { - height: 11.11% -} - -.ui.ten.vertical.buttons > .button { - height: 10% -} - -.ui.eleven.vertical.buttons > .button { - height: 9.09% -} - -.ui.twelve.vertical.buttons > .button { - height: 8.3333% -} - -.ui.black.button, .ui.black.buttons .button { - background-color: #1b1c1d; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.black.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.black.button:hover, .ui.black.buttons .button:hover { - background-color: #27292a; - color: #fff; - text-shadow: none -} - -.ui.black.button:focus, .ui.black.buttons .button:focus { - background-color: #2f3032; - color: #fff; - text-shadow: none -} - -.ui.black.button:active, .ui.black.buttons .button:active { - background-color: #343637; - color: #fff; - text-shadow: none -} - -.ui.black.active.button, .ui.black.button .active.button:active, .ui.black.buttons .active.button, .ui.black.buttons .active.button:active { - background-color: #0f0f10; - color: #fff; - text-shadow: none -} - -.ui.basic.black.button, .ui.basic.black.buttons .button { - -webkit-box-shadow: 0 0 0 1px #1b1c1d inset !important; - box-shadow: 0 0 0 1px #1b1c1d inset !important; - color: #1b1c1d !important -} - -.ui.basic.black.button:hover, .ui.basic.black.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #27292a inset !important; - box-shadow: 0 0 0 1px #27292a inset !important; - color: #27292a !important -} - -.ui.basic.black.button:focus, .ui.basic.black.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #2f3032 inset !important; - box-shadow: 0 0 0 1px #2f3032 inset !important; - color: #27292a !important -} - -.ui.basic.black.active.button, .ui.basic.black.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #0f0f10 inset !important; - box-shadow: 0 0 0 1px #0f0f10 inset !important; - color: #343637 !important -} - -.ui.basic.black.button:active, .ui.basic.black.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #343637 inset !important; - box-shadow: 0 0 0 1px #343637 inset !important; - color: #343637 !important -} - -.ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.black.button, .ui.inverted.black.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #d4d4d5 inset !important; - box-shadow: 0 0 0 2px #d4d4d5 inset !important; - color: #fff -} - -.ui.inverted.black.button.active, .ui.inverted.black.button:active, .ui.inverted.black.button:focus, .ui.inverted.black.button:hover, .ui.inverted.black.buttons .button.active, .ui.inverted.black.buttons .button:active, .ui.inverted.black.buttons .button:focus, .ui.inverted.black.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.inverted.black.button:hover, .ui.inverted.black.buttons .button:hover { - background-color: #000 -} - -.ui.inverted.black.button:focus, .ui.inverted.black.buttons .button:focus { - background-color: #000 -} - -.ui.inverted.black.active.button, .ui.inverted.black.buttons .active.button { - background-color: #000 -} - -.ui.inverted.black.button:active, .ui.inverted.black.buttons .button:active { - background-color: #000 -} - -.ui.inverted.black.basic.button, .ui.inverted.black.basic.buttons .button, .ui.inverted.black.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.black.basic.button:hover, .ui.inverted.black.basic.buttons .button:hover, .ui.inverted.black.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #000 inset !important; - box-shadow: 0 0 0 2px #000 inset !important; - color: #fff !important -} - -.ui.inverted.black.basic.button:focus, .ui.inverted.black.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #000 inset !important; - box-shadow: 0 0 0 2px #000 inset !important; - color: #545454 !important -} - -.ui.inverted.black.basic.active.button, .ui.inverted.black.basic.buttons .active.button, .ui.inverted.black.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #000 inset !important; - box-shadow: 0 0 0 2px #000 inset !important; - color: #fff !important -} - -.ui.inverted.black.basic.button:active, .ui.inverted.black.basic.buttons .button:active, .ui.inverted.black.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #000 inset !important; - box-shadow: 0 0 0 2px #000 inset !important; - color: #fff !important -} - -.ui.grey.button, .ui.grey.buttons .button { - background-color: #767676; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.grey.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.grey.button:hover, .ui.grey.buttons .button:hover { - background-color: #838383; - color: #fff; - text-shadow: none -} - -.ui.grey.button:focus, .ui.grey.buttons .button:focus { - background-color: #8a8a8a; - color: #fff; - text-shadow: none -} - -.ui.grey.button:active, .ui.grey.buttons .button:active { - background-color: #909090; - color: #fff; - text-shadow: none -} - -.ui.grey.active.button, .ui.grey.button .active.button:active, .ui.grey.buttons .active.button, .ui.grey.buttons .active.button:active { - background-color: #696969; - color: #fff; - text-shadow: none -} - -.ui.basic.grey.button, .ui.basic.grey.buttons .button { - -webkit-box-shadow: 0 0 0 1px #767676 inset !important; - box-shadow: 0 0 0 1px #767676 inset !important; - color: #767676 !important -} - -.ui.basic.grey.button:hover, .ui.basic.grey.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #838383 inset !important; - box-shadow: 0 0 0 1px #838383 inset !important; - color: #838383 !important -} - -.ui.basic.grey.button:focus, .ui.basic.grey.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #8a8a8a inset !important; - box-shadow: 0 0 0 1px #8a8a8a inset !important; - color: #838383 !important -} - -.ui.basic.grey.active.button, .ui.basic.grey.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #696969 inset !important; - box-shadow: 0 0 0 1px #696969 inset !important; - color: #909090 !important -} - -.ui.basic.grey.button:active, .ui.basic.grey.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #909090 inset !important; - box-shadow: 0 0 0 1px #909090 inset !important; - color: #909090 !important -} - -.ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.grey.button, .ui.inverted.grey.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #d4d4d5 inset !important; - box-shadow: 0 0 0 2px #d4d4d5 inset !important; - color: #fff -} - -.ui.inverted.grey.button.active, .ui.inverted.grey.button:active, .ui.inverted.grey.button:focus, .ui.inverted.grey.button:hover, .ui.inverted.grey.buttons .button.active, .ui.inverted.grey.buttons .button:active, .ui.inverted.grey.buttons .button:focus, .ui.inverted.grey.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: rgba(0, 0, 0, .6) -} - -.ui.inverted.grey.button:hover, .ui.inverted.grey.buttons .button:hover { - background-color: #cfd0d2 -} - -.ui.inverted.grey.button:focus, .ui.inverted.grey.buttons .button:focus { - background-color: #c7c9cb -} - -.ui.inverted.grey.active.button, .ui.inverted.grey.buttons .active.button { - background-color: #cfd0d2 -} - -.ui.inverted.grey.button:active, .ui.inverted.grey.buttons .button:active { - background-color: #c2c4c5 -} - -.ui.inverted.grey.basic.button, .ui.inverted.grey.basic.buttons .button, .ui.inverted.grey.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.grey.basic.button:hover, .ui.inverted.grey.basic.buttons .button:hover, .ui.inverted.grey.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #cfd0d2 inset !important; - box-shadow: 0 0 0 2px #cfd0d2 inset !important; - color: #fff !important -} - -.ui.inverted.grey.basic.button:focus, .ui.inverted.grey.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #c7c9cb inset !important; - box-shadow: 0 0 0 2px #c7c9cb inset !important; - color: #dcddde !important -} - -.ui.inverted.grey.basic.active.button, .ui.inverted.grey.basic.buttons .active.button, .ui.inverted.grey.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #cfd0d2 inset !important; - box-shadow: 0 0 0 2px #cfd0d2 inset !important; - color: #fff !important -} - -.ui.inverted.grey.basic.button:active, .ui.inverted.grey.basic.buttons .button:active, .ui.inverted.grey.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #c2c4c5 inset !important; - box-shadow: 0 0 0 2px #c2c4c5 inset !important; - color: #fff !important -} - -.ui.brown.button, .ui.brown.buttons .button { - background-color: #a5673f; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.brown.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.brown.button:hover, .ui.brown.buttons .button:hover { - background-color: #975b33; - color: #fff; - text-shadow: none -} - -.ui.brown.button:focus, .ui.brown.buttons .button:focus { - background-color: #90532b; - color: #fff; - text-shadow: none -} - -.ui.brown.button:active, .ui.brown.buttons .button:active { - background-color: #805031; - color: #fff; - text-shadow: none -} - -.ui.brown.active.button, .ui.brown.button .active.button:active, .ui.brown.buttons .active.button, .ui.brown.buttons .active.button:active { - background-color: #995a31; - color: #fff; - text-shadow: none -} - -.ui.basic.brown.button, .ui.basic.brown.buttons .button { - -webkit-box-shadow: 0 0 0 1px #a5673f inset !important; - box-shadow: 0 0 0 1px #a5673f inset !important; - color: #a5673f !important -} - -.ui.basic.brown.button:hover, .ui.basic.brown.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #975b33 inset !important; - box-shadow: 0 0 0 1px #975b33 inset !important; - color: #975b33 !important -} - -.ui.basic.brown.button:focus, .ui.basic.brown.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #90532b inset !important; - box-shadow: 0 0 0 1px #90532b inset !important; - color: #975b33 !important -} - -.ui.basic.brown.active.button, .ui.basic.brown.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #995a31 inset !important; - box-shadow: 0 0 0 1px #995a31 inset !important; - color: #805031 !important -} - -.ui.basic.brown.button:active, .ui.basic.brown.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #805031 inset !important; - box-shadow: 0 0 0 1px #805031 inset !important; - color: #805031 !important -} - -.ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.brown.button, .ui.inverted.brown.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #d67c1c inset !important; - box-shadow: 0 0 0 2px #d67c1c inset !important; - color: #d67c1c -} - -.ui.inverted.brown.button.active, .ui.inverted.brown.button:active, .ui.inverted.brown.button:focus, .ui.inverted.brown.button:hover, .ui.inverted.brown.buttons .button.active, .ui.inverted.brown.buttons .button:active, .ui.inverted.brown.buttons .button:focus, .ui.inverted.brown.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.inverted.brown.button:hover, .ui.inverted.brown.buttons .button:hover { - background-color: #c86f11 -} - -.ui.inverted.brown.button:focus, .ui.inverted.brown.buttons .button:focus { - background-color: #c16808 -} - -.ui.inverted.brown.active.button, .ui.inverted.brown.buttons .active.button { - background-color: #cc6f0d -} - -.ui.inverted.brown.button:active, .ui.inverted.brown.buttons .button:active { - background-color: #a96216 -} - -.ui.inverted.brown.basic.button, .ui.inverted.brown.basic.buttons .button, .ui.inverted.brown.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.brown.basic.button:hover, .ui.inverted.brown.basic.buttons .button:hover, .ui.inverted.brown.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #c86f11 inset !important; - box-shadow: 0 0 0 2px #c86f11 inset !important; - color: #d67c1c !important -} - -.ui.inverted.brown.basic.button:focus, .ui.inverted.brown.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #c16808 inset !important; - box-shadow: 0 0 0 2px #c16808 inset !important; - color: #d67c1c !important -} - -.ui.inverted.brown.basic.active.button, .ui.inverted.brown.basic.buttons .active.button, .ui.inverted.brown.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #cc6f0d inset !important; - box-shadow: 0 0 0 2px #cc6f0d inset !important; - color: #d67c1c !important -} - -.ui.inverted.brown.basic.button:active, .ui.inverted.brown.basic.buttons .button:active, .ui.inverted.brown.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #a96216 inset !important; - box-shadow: 0 0 0 2px #a96216 inset !important; - color: #d67c1c !important -} - -.ui.blue.button, .ui.blue.buttons .button { - background-color: #2185d0; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.blue.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.blue.button:hover, .ui.blue.buttons .button:hover { - background-color: #1678c2; - color: #fff; - text-shadow: none -} - -.ui.blue.button:focus, .ui.blue.buttons .button:focus { - background-color: #0d71bb; - color: #fff; - text-shadow: none -} - -.ui.blue.button:active, .ui.blue.buttons .button:active { - background-color: #1a69a4; - color: #fff; - text-shadow: none -} - -.ui.blue.active.button, .ui.blue.button .active.button:active, .ui.blue.buttons .active.button, .ui.blue.buttons .active.button:active { - background-color: #1279c6; - color: #fff; - text-shadow: none -} - -.ui.basic.blue.button, .ui.basic.blue.buttons .button { - -webkit-box-shadow: 0 0 0 1px #2185d0 inset !important; - box-shadow: 0 0 0 1px #2185d0 inset !important; - color: #2185d0 !important -} - -.ui.basic.blue.button:hover, .ui.basic.blue.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #1678c2 inset !important; - box-shadow: 0 0 0 1px #1678c2 inset !important; - color: #1678c2 !important -} - -.ui.basic.blue.button:focus, .ui.basic.blue.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #0d71bb inset !important; - box-shadow: 0 0 0 1px #0d71bb inset !important; - color: #1678c2 !important -} - -.ui.basic.blue.active.button, .ui.basic.blue.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #1279c6 inset !important; - box-shadow: 0 0 0 1px #1279c6 inset !important; - color: #1a69a4 !important -} - -.ui.basic.blue.button:active, .ui.basic.blue.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #1a69a4 inset !important; - box-shadow: 0 0 0 1px #1a69a4 inset !important; - color: #1a69a4 !important -} - -.ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.blue.button, .ui.inverted.blue.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #54c8ff inset !important; - box-shadow: 0 0 0 2px #54c8ff inset !important; - color: #54c8ff -} - -.ui.inverted.blue.button.active, .ui.inverted.blue.button:active, .ui.inverted.blue.button:focus, .ui.inverted.blue.button:hover, .ui.inverted.blue.buttons .button.active, .ui.inverted.blue.buttons .button:active, .ui.inverted.blue.buttons .button:focus, .ui.inverted.blue.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.inverted.blue.button:hover, .ui.inverted.blue.buttons .button:hover { - background-color: #3ac0ff -} - -.ui.inverted.blue.button:focus, .ui.inverted.blue.buttons .button:focus { - background-color: #2bbbff -} - -.ui.inverted.blue.active.button, .ui.inverted.blue.buttons .active.button { - background-color: #3ac0ff -} - -.ui.inverted.blue.button:active, .ui.inverted.blue.buttons .button:active { - background-color: #21b8ff -} - -.ui.inverted.blue.basic.button, .ui.inverted.blue.basic.buttons .button, .ui.inverted.blue.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.blue.basic.button:hover, .ui.inverted.blue.basic.buttons .button:hover, .ui.inverted.blue.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #3ac0ff inset !important; - box-shadow: 0 0 0 2px #3ac0ff inset !important; - color: #54c8ff !important -} - -.ui.inverted.blue.basic.button:focus, .ui.inverted.blue.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #2bbbff inset !important; - box-shadow: 0 0 0 2px #2bbbff inset !important; - color: #54c8ff !important -} - -.ui.inverted.blue.basic.active.button, .ui.inverted.blue.basic.buttons .active.button, .ui.inverted.blue.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #3ac0ff inset !important; - box-shadow: 0 0 0 2px #3ac0ff inset !important; - color: #54c8ff !important -} - -.ui.inverted.blue.basic.button:active, .ui.inverted.blue.basic.buttons .button:active, .ui.inverted.blue.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #21b8ff inset !important; - box-shadow: 0 0 0 2px #21b8ff inset !important; - color: #54c8ff !important -} - -.ui.green.button, .ui.green.buttons .button { - background-color: #21ba45; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.green.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.green.button:hover, .ui.green.buttons .button:hover { - background-color: #16ab39; - color: #fff; - text-shadow: none -} - -.ui.green.button:focus, .ui.green.buttons .button:focus { - background-color: #0ea432; - color: #fff; - text-shadow: none -} - -.ui.green.button:active, .ui.green.buttons .button:active { - background-color: #198f35; - color: #fff; - text-shadow: none -} - -.ui.green.active.button, .ui.green.button .active.button:active, .ui.green.buttons .active.button, .ui.green.buttons .active.button:active { - background-color: #13ae38; - color: #fff; - text-shadow: none -} - -.ui.basic.green.button, .ui.basic.green.buttons .button { - -webkit-box-shadow: 0 0 0 1px #21ba45 inset !important; - box-shadow: 0 0 0 1px #21ba45 inset !important; - color: #21ba45 !important -} - -.ui.basic.green.button:hover, .ui.basic.green.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #16ab39 inset !important; - box-shadow: 0 0 0 1px #16ab39 inset !important; - color: #16ab39 !important -} - -.ui.basic.green.button:focus, .ui.basic.green.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #0ea432 inset !important; - box-shadow: 0 0 0 1px #0ea432 inset !important; - color: #16ab39 !important -} - -.ui.basic.green.active.button, .ui.basic.green.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #13ae38 inset !important; - box-shadow: 0 0 0 1px #13ae38 inset !important; - color: #198f35 !important -} - -.ui.basic.green.button:active, .ui.basic.green.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #198f35 inset !important; - box-shadow: 0 0 0 1px #198f35 inset !important; - color: #198f35 !important -} - -.ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.green.button, .ui.inverted.green.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #2ecc40 inset !important; - box-shadow: 0 0 0 2px #2ecc40 inset !important; - color: #2ecc40 -} - -.ui.inverted.green.button.active, .ui.inverted.green.button:active, .ui.inverted.green.button:focus, .ui.inverted.green.button:hover, .ui.inverted.green.buttons .button.active, .ui.inverted.green.buttons .button:active, .ui.inverted.green.buttons .button:focus, .ui.inverted.green.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.inverted.green.button:hover, .ui.inverted.green.buttons .button:hover { - background-color: #22be34 -} - -.ui.inverted.green.button:focus, .ui.inverted.green.buttons .button:focus { - background-color: #19b82b -} - -.ui.inverted.green.active.button, .ui.inverted.green.buttons .active.button { - background-color: #1fc231 -} - -.ui.inverted.green.button:active, .ui.inverted.green.buttons .button:active { - background-color: #25a233 -} - -.ui.inverted.green.basic.button, .ui.inverted.green.basic.buttons .button, .ui.inverted.green.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.green.basic.button:hover, .ui.inverted.green.basic.buttons .button:hover, .ui.inverted.green.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #22be34 inset !important; - box-shadow: 0 0 0 2px #22be34 inset !important; - color: #2ecc40 !important -} - -.ui.inverted.green.basic.button:focus, .ui.inverted.green.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #19b82b inset !important; - box-shadow: 0 0 0 2px #19b82b inset !important; - color: #2ecc40 !important -} - -.ui.inverted.green.basic.active.button, .ui.inverted.green.basic.buttons .active.button, .ui.inverted.green.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #1fc231 inset !important; - box-shadow: 0 0 0 2px #1fc231 inset !important; - color: #2ecc40 !important -} - -.ui.inverted.green.basic.button:active, .ui.inverted.green.basic.buttons .button:active, .ui.inverted.green.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #25a233 inset !important; - box-shadow: 0 0 0 2px #25a233 inset !important; - color: #2ecc40 !important -} - -.ui.orange.button, .ui.orange.buttons .button { - background-color: #f2711c; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.orange.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.orange.button:hover, .ui.orange.buttons .button:hover { - background-color: #f26202; - color: #fff; - text-shadow: none -} - -.ui.orange.button:focus, .ui.orange.buttons .button:focus { - background-color: #e55b00; - color: #fff; - text-shadow: none -} - -.ui.orange.button:active, .ui.orange.buttons .button:active { - background-color: #cf590c; - color: #fff; - text-shadow: none -} - -.ui.orange.active.button, .ui.orange.button .active.button:active, .ui.orange.buttons .active.button, .ui.orange.buttons .active.button:active { - background-color: #f56100; - color: #fff; - text-shadow: none -} - -.ui.basic.orange.button, .ui.basic.orange.buttons .button { - -webkit-box-shadow: 0 0 0 1px #f2711c inset !important; - box-shadow: 0 0 0 1px #f2711c inset !important; - color: #f2711c !important -} - -.ui.basic.orange.button:hover, .ui.basic.orange.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #f26202 inset !important; - box-shadow: 0 0 0 1px #f26202 inset !important; - color: #f26202 !important -} - -.ui.basic.orange.button:focus, .ui.basic.orange.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #e55b00 inset !important; - box-shadow: 0 0 0 1px #e55b00 inset !important; - color: #f26202 !important -} - -.ui.basic.orange.active.button, .ui.basic.orange.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #f56100 inset !important; - box-shadow: 0 0 0 1px #f56100 inset !important; - color: #cf590c !important -} - -.ui.basic.orange.button:active, .ui.basic.orange.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #cf590c inset !important; - box-shadow: 0 0 0 1px #cf590c inset !important; - color: #cf590c !important -} - -.ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.orange.button, .ui.inverted.orange.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #ff851b inset !important; - box-shadow: 0 0 0 2px #ff851b inset !important; - color: #ff851b -} - -.ui.inverted.orange.button.active, .ui.inverted.orange.button:active, .ui.inverted.orange.button:focus, .ui.inverted.orange.button:hover, .ui.inverted.orange.buttons .button.active, .ui.inverted.orange.buttons .button:active, .ui.inverted.orange.buttons .button:focus, .ui.inverted.orange.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.inverted.orange.button:hover, .ui.inverted.orange.buttons .button:hover { - background-color: #ff7701 -} - -.ui.inverted.orange.button:focus, .ui.inverted.orange.buttons .button:focus { - background-color: #f17000 -} - -.ui.inverted.orange.active.button, .ui.inverted.orange.buttons .active.button { - background-color: #ff7701 -} - -.ui.inverted.orange.button:active, .ui.inverted.orange.buttons .button:active { - background-color: #e76b00 -} - -.ui.inverted.orange.basic.button, .ui.inverted.orange.basic.buttons .button, .ui.inverted.orange.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.orange.basic.button:hover, .ui.inverted.orange.basic.buttons .button:hover, .ui.inverted.orange.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #ff7701 inset !important; - box-shadow: 0 0 0 2px #ff7701 inset !important; - color: #ff851b !important -} - -.ui.inverted.orange.basic.button:focus, .ui.inverted.orange.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #f17000 inset !important; - box-shadow: 0 0 0 2px #f17000 inset !important; - color: #ff851b !important -} - -.ui.inverted.orange.basic.active.button, .ui.inverted.orange.basic.buttons .active.button, .ui.inverted.orange.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #ff7701 inset !important; - box-shadow: 0 0 0 2px #ff7701 inset !important; - color: #ff851b !important -} - -.ui.inverted.orange.basic.button:active, .ui.inverted.orange.basic.buttons .button:active, .ui.inverted.orange.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #e76b00 inset !important; - box-shadow: 0 0 0 2px #e76b00 inset !important; - color: #ff851b !important -} - -.ui.pink.button, .ui.pink.buttons .button { - background-color: #e03997; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.pink.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.pink.button:hover, .ui.pink.buttons .button:hover { - background-color: #e61a8d; - color: #fff; - text-shadow: none -} - -.ui.pink.button:focus, .ui.pink.buttons .button:focus { - background-color: #e10f85; - color: #fff; - text-shadow: none -} - -.ui.pink.button:active, .ui.pink.buttons .button:active { - background-color: #c71f7e; - color: #fff; - text-shadow: none -} - -.ui.pink.active.button, .ui.pink.button .active.button:active, .ui.pink.buttons .active.button, .ui.pink.buttons .active.button:active { - background-color: #ea158d; - color: #fff; - text-shadow: none -} - -.ui.basic.pink.button, .ui.basic.pink.buttons .button { - -webkit-box-shadow: 0 0 0 1px #e03997 inset !important; - box-shadow: 0 0 0 1px #e03997 inset !important; - color: #e03997 !important -} - -.ui.basic.pink.button:hover, .ui.basic.pink.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #e61a8d inset !important; - box-shadow: 0 0 0 1px #e61a8d inset !important; - color: #e61a8d !important -} - -.ui.basic.pink.button:focus, .ui.basic.pink.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #e10f85 inset !important; - box-shadow: 0 0 0 1px #e10f85 inset !important; - color: #e61a8d !important -} - -.ui.basic.pink.active.button, .ui.basic.pink.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #ea158d inset !important; - box-shadow: 0 0 0 1px #ea158d inset !important; - color: #c71f7e !important -} - -.ui.basic.pink.button:active, .ui.basic.pink.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #c71f7e inset !important; - box-shadow: 0 0 0 1px #c71f7e inset !important; - color: #c71f7e !important -} - -.ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.pink.button, .ui.inverted.pink.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #ff8edf inset !important; - box-shadow: 0 0 0 2px #ff8edf inset !important; - color: #ff8edf -} - -.ui.inverted.pink.button.active, .ui.inverted.pink.button:active, .ui.inverted.pink.button:focus, .ui.inverted.pink.button:hover, .ui.inverted.pink.buttons .button.active, .ui.inverted.pink.buttons .button:active, .ui.inverted.pink.buttons .button:focus, .ui.inverted.pink.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.inverted.pink.button:hover, .ui.inverted.pink.buttons .button:hover { - background-color: #ff74d8 -} - -.ui.inverted.pink.button:focus, .ui.inverted.pink.buttons .button:focus { - background-color: #ff65d3 -} - -.ui.inverted.pink.active.button, .ui.inverted.pink.buttons .active.button { - background-color: #ff74d8 -} - -.ui.inverted.pink.button:active, .ui.inverted.pink.buttons .button:active { - background-color: #ff5bd1 -} - -.ui.inverted.pink.basic.button, .ui.inverted.pink.basic.buttons .button, .ui.inverted.pink.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.pink.basic.button:hover, .ui.inverted.pink.basic.buttons .button:hover, .ui.inverted.pink.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #ff74d8 inset !important; - box-shadow: 0 0 0 2px #ff74d8 inset !important; - color: #ff8edf !important -} - -.ui.inverted.pink.basic.button:focus, .ui.inverted.pink.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #ff65d3 inset !important; - box-shadow: 0 0 0 2px #ff65d3 inset !important; - color: #ff8edf !important -} - -.ui.inverted.pink.basic.active.button, .ui.inverted.pink.basic.buttons .active.button, .ui.inverted.pink.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #ff74d8 inset !important; - box-shadow: 0 0 0 2px #ff74d8 inset !important; - color: #ff8edf !important -} - -.ui.inverted.pink.basic.button:active, .ui.inverted.pink.basic.buttons .button:active, .ui.inverted.pink.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #ff5bd1 inset !important; - box-shadow: 0 0 0 2px #ff5bd1 inset !important; - color: #ff8edf !important -} - -.ui.violet.button, .ui.violet.buttons .button { - background-color: #6435c9; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.violet.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.violet.button:hover, .ui.violet.buttons .button:hover { - background-color: #5829bb; - color: #fff; - text-shadow: none -} - -.ui.violet.button:focus, .ui.violet.buttons .button:focus { - background-color: #4f20b5; - color: #fff; - text-shadow: none -} - -.ui.violet.button:active, .ui.violet.buttons .button:active { - background-color: #502aa1; - color: #fff; - text-shadow: none -} - -.ui.violet.active.button, .ui.violet.button .active.button:active, .ui.violet.buttons .active.button, .ui.violet.buttons .active.button:active { - background-color: #5626bf; - color: #fff; - text-shadow: none -} - -.ui.basic.violet.button, .ui.basic.violet.buttons .button { - -webkit-box-shadow: 0 0 0 1px #6435c9 inset !important; - box-shadow: 0 0 0 1px #6435c9 inset !important; - color: #6435c9 !important -} - -.ui.basic.violet.button:hover, .ui.basic.violet.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #5829bb inset !important; - box-shadow: 0 0 0 1px #5829bb inset !important; - color: #5829bb !important -} - -.ui.basic.violet.button:focus, .ui.basic.violet.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #4f20b5 inset !important; - box-shadow: 0 0 0 1px #4f20b5 inset !important; - color: #5829bb !important -} - -.ui.basic.violet.active.button, .ui.basic.violet.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #5626bf inset !important; - box-shadow: 0 0 0 1px #5626bf inset !important; - color: #502aa1 !important -} - -.ui.basic.violet.button:active, .ui.basic.violet.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #502aa1 inset !important; - box-shadow: 0 0 0 1px #502aa1 inset !important; - color: #502aa1 !important -} - -.ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.violet.button, .ui.inverted.violet.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #a291fb inset !important; - box-shadow: 0 0 0 2px #a291fb inset !important; - color: #a291fb -} - -.ui.inverted.violet.button.active, .ui.inverted.violet.button:active, .ui.inverted.violet.button:focus, .ui.inverted.violet.button:hover, .ui.inverted.violet.buttons .button.active, .ui.inverted.violet.buttons .button:active, .ui.inverted.violet.buttons .button:focus, .ui.inverted.violet.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.inverted.violet.button:hover, .ui.inverted.violet.buttons .button:hover { - background-color: #8a73ff -} - -.ui.inverted.violet.button:focus, .ui.inverted.violet.buttons .button:focus { - background-color: #7d64ff -} - -.ui.inverted.violet.active.button, .ui.inverted.violet.buttons .active.button { - background-color: #8a73ff -} - -.ui.inverted.violet.button:active, .ui.inverted.violet.buttons .button:active { - background-color: #7860f9 -} - -.ui.inverted.violet.basic.button, .ui.inverted.violet.basic.buttons .button, .ui.inverted.violet.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.violet.basic.button:hover, .ui.inverted.violet.basic.buttons .button:hover, .ui.inverted.violet.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #8a73ff inset !important; - box-shadow: 0 0 0 2px #8a73ff inset !important; - color: #a291fb !important -} - -.ui.inverted.violet.basic.button:focus, .ui.inverted.violet.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #7d64ff inset !important; - box-shadow: 0 0 0 2px #7d64ff inset !important; - color: #a291fb !important -} - -.ui.inverted.violet.basic.active.button, .ui.inverted.violet.basic.buttons .active.button, .ui.inverted.violet.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #8a73ff inset !important; - box-shadow: 0 0 0 2px #8a73ff inset !important; - color: #a291fb !important -} - -.ui.inverted.violet.basic.button:active, .ui.inverted.violet.basic.buttons .button:active, .ui.inverted.violet.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #7860f9 inset !important; - box-shadow: 0 0 0 2px #7860f9 inset !important; - color: #a291fb !important -} - -.ui.purple.button, .ui.purple.buttons .button { - background-color: #a333c8; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.purple.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.purple.button:hover, .ui.purple.buttons .button:hover { - background-color: #9627ba; - color: #fff; - text-shadow: none -} - -.ui.purple.button:focus, .ui.purple.buttons .button:focus { - background-color: #8f1eb4; - color: #fff; - text-shadow: none -} - -.ui.purple.button:active, .ui.purple.buttons .button:active { - background-color: #82299f; - color: #fff; - text-shadow: none -} - -.ui.purple.active.button, .ui.purple.button .active.button:active, .ui.purple.buttons .active.button, .ui.purple.buttons .active.button:active { - background-color: #9724be; - color: #fff; - text-shadow: none -} - -.ui.basic.purple.button, .ui.basic.purple.buttons .button { - -webkit-box-shadow: 0 0 0 1px #a333c8 inset !important; - box-shadow: 0 0 0 1px #a333c8 inset !important; - color: #a333c8 !important -} - -.ui.basic.purple.button:hover, .ui.basic.purple.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #9627ba inset !important; - box-shadow: 0 0 0 1px #9627ba inset !important; - color: #9627ba !important -} - -.ui.basic.purple.button:focus, .ui.basic.purple.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #8f1eb4 inset !important; - box-shadow: 0 0 0 1px #8f1eb4 inset !important; - color: #9627ba !important -} - -.ui.basic.purple.active.button, .ui.basic.purple.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #9724be inset !important; - box-shadow: 0 0 0 1px #9724be inset !important; - color: #82299f !important -} - -.ui.basic.purple.button:active, .ui.basic.purple.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #82299f inset !important; - box-shadow: 0 0 0 1px #82299f inset !important; - color: #82299f !important -} - -.ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.purple.button, .ui.inverted.purple.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #dc73ff inset !important; - box-shadow: 0 0 0 2px #dc73ff inset !important; - color: #dc73ff -} - -.ui.inverted.purple.button.active, .ui.inverted.purple.button:active, .ui.inverted.purple.button:focus, .ui.inverted.purple.button:hover, .ui.inverted.purple.buttons .button.active, .ui.inverted.purple.buttons .button:active, .ui.inverted.purple.buttons .button:focus, .ui.inverted.purple.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.inverted.purple.button:hover, .ui.inverted.purple.buttons .button:hover { - background-color: #d65aff -} - -.ui.inverted.purple.button:focus, .ui.inverted.purple.buttons .button:focus { - background-color: #d24aff -} - -.ui.inverted.purple.active.button, .ui.inverted.purple.buttons .active.button { - background-color: #d65aff -} - -.ui.inverted.purple.button:active, .ui.inverted.purple.buttons .button:active { - background-color: #cf40ff -} - -.ui.inverted.purple.basic.button, .ui.inverted.purple.basic.buttons .button, .ui.inverted.purple.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.purple.basic.button:hover, .ui.inverted.purple.basic.buttons .button:hover, .ui.inverted.purple.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #d65aff inset !important; - box-shadow: 0 0 0 2px #d65aff inset !important; - color: #dc73ff !important -} - -.ui.inverted.purple.basic.button:focus, .ui.inverted.purple.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #d24aff inset !important; - box-shadow: 0 0 0 2px #d24aff inset !important; - color: #dc73ff !important -} - -.ui.inverted.purple.basic.active.button, .ui.inverted.purple.basic.buttons .active.button, .ui.inverted.purple.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #d65aff inset !important; - box-shadow: 0 0 0 2px #d65aff inset !important; - color: #dc73ff !important -} - -.ui.inverted.purple.basic.button:active, .ui.inverted.purple.basic.buttons .button:active, .ui.inverted.purple.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #cf40ff inset !important; - box-shadow: 0 0 0 2px #cf40ff inset !important; - color: #dc73ff !important -} - -.ui.red.button, .ui.red.buttons .button { - background-color: #db2828; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.red.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.red.button:hover, .ui.red.buttons .button:hover { - background-color: #d01919; - color: #fff; - text-shadow: none -} - -.ui.red.button:focus, .ui.red.buttons .button:focus { - background-color: #ca1010; - color: #fff; - text-shadow: none -} - -.ui.red.button:active, .ui.red.buttons .button:active { - background-color: #b21e1e; - color: #fff; - text-shadow: none -} - -.ui.red.active.button, .ui.red.button .active.button:active, .ui.red.buttons .active.button, .ui.red.buttons .active.button:active { - background-color: #d41515; - color: #fff; - text-shadow: none -} - -.ui.basic.red.button, .ui.basic.red.buttons .button { - -webkit-box-shadow: 0 0 0 1px #db2828 inset !important; - box-shadow: 0 0 0 1px #db2828 inset !important; - color: #db2828 !important -} - -.ui.basic.red.button:hover, .ui.basic.red.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #d01919 inset !important; - box-shadow: 0 0 0 1px #d01919 inset !important; - color: #d01919 !important -} - -.ui.basic.red.button:focus, .ui.basic.red.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #ca1010 inset !important; - box-shadow: 0 0 0 1px #ca1010 inset !important; - color: #d01919 !important -} - -.ui.basic.red.active.button, .ui.basic.red.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #d41515 inset !important; - box-shadow: 0 0 0 1px #d41515 inset !important; - color: #b21e1e !important -} - -.ui.basic.red.button:active, .ui.basic.red.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #b21e1e inset !important; - box-shadow: 0 0 0 1px #b21e1e inset !important; - color: #b21e1e !important -} - -.ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.red.button, .ui.inverted.red.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #ff695e inset !important; - box-shadow: 0 0 0 2px #ff695e inset !important; - color: #ff695e -} - -.ui.inverted.red.button.active, .ui.inverted.red.button:active, .ui.inverted.red.button:focus, .ui.inverted.red.button:hover, .ui.inverted.red.buttons .button.active, .ui.inverted.red.buttons .button:active, .ui.inverted.red.buttons .button:focus, .ui.inverted.red.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.inverted.red.button:hover, .ui.inverted.red.buttons .button:hover { - background-color: #ff5144 -} - -.ui.inverted.red.button:focus, .ui.inverted.red.buttons .button:focus { - background-color: #ff4335 -} - -.ui.inverted.red.active.button, .ui.inverted.red.buttons .active.button { - background-color: #ff5144 -} - -.ui.inverted.red.button:active, .ui.inverted.red.buttons .button:active { - background-color: #ff392b -} - -.ui.inverted.red.basic.button, .ui.inverted.red.basic.buttons .button, .ui.inverted.red.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.red.basic.button:hover, .ui.inverted.red.basic.buttons .button:hover, .ui.inverted.red.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #ff5144 inset !important; - box-shadow: 0 0 0 2px #ff5144 inset !important; - color: #ff695e !important -} - -.ui.inverted.red.basic.button:focus, .ui.inverted.red.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #ff4335 inset !important; - box-shadow: 0 0 0 2px #ff4335 inset !important; - color: #ff695e !important -} - -.ui.inverted.red.basic.active.button, .ui.inverted.red.basic.buttons .active.button, .ui.inverted.red.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #ff5144 inset !important; - box-shadow: 0 0 0 2px #ff5144 inset !important; - color: #ff695e !important -} - -.ui.inverted.red.basic.button:active, .ui.inverted.red.basic.buttons .button:active, .ui.inverted.red.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #ff392b inset !important; - box-shadow: 0 0 0 2px #ff392b inset !important; - color: #ff695e !important -} - -.ui.teal.button, .ui.teal.buttons .button { - background-color: #00b5ad; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.teal.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.teal.button:hover, .ui.teal.buttons .button:hover { - background-color: #009c95; - color: #fff; - text-shadow: none -} - -.ui.teal.button:focus, .ui.teal.buttons .button:focus { - background-color: #008c86; - color: #fff; - text-shadow: none -} - -.ui.teal.button:active, .ui.teal.buttons .button:active { - background-color: #00827c; - color: #fff; - text-shadow: none -} - -.ui.teal.active.button, .ui.teal.button .active.button:active, .ui.teal.buttons .active.button, .ui.teal.buttons .active.button:active { - background-color: #009c95; - color: #fff; - text-shadow: none -} - -.ui.basic.teal.button, .ui.basic.teal.buttons .button { - -webkit-box-shadow: 0 0 0 1px #00b5ad inset !important; - box-shadow: 0 0 0 1px #00b5ad inset !important; - color: #00b5ad !important -} - -.ui.basic.teal.button:hover, .ui.basic.teal.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #009c95 inset !important; - box-shadow: 0 0 0 1px #009c95 inset !important; - color: #009c95 !important -} - -.ui.basic.teal.button:focus, .ui.basic.teal.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #008c86 inset !important; - box-shadow: 0 0 0 1px #008c86 inset !important; - color: #009c95 !important -} - -.ui.basic.teal.active.button, .ui.basic.teal.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #009c95 inset !important; - box-shadow: 0 0 0 1px #009c95 inset !important; - color: #00827c !important -} - -.ui.basic.teal.button:active, .ui.basic.teal.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #00827c inset !important; - box-shadow: 0 0 0 1px #00827c inset !important; - color: #00827c !important -} - -.ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.teal.button, .ui.inverted.teal.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #6dffff inset !important; - box-shadow: 0 0 0 2px #6dffff inset !important; - color: #6dffff -} - -.ui.inverted.teal.button.active, .ui.inverted.teal.button:active, .ui.inverted.teal.button:focus, .ui.inverted.teal.button:hover, .ui.inverted.teal.buttons .button.active, .ui.inverted.teal.buttons .button:active, .ui.inverted.teal.buttons .button:focus, .ui.inverted.teal.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: rgba(0, 0, 0, .6) -} - -.ui.inverted.teal.button:hover, .ui.inverted.teal.buttons .button:hover { - background-color: #54ffff -} - -.ui.inverted.teal.button:focus, .ui.inverted.teal.buttons .button:focus { - background-color: #4ff -} - -.ui.inverted.teal.active.button, .ui.inverted.teal.buttons .active.button { - background-color: #54ffff -} - -.ui.inverted.teal.button:active, .ui.inverted.teal.buttons .button:active { - background-color: #3affff -} - -.ui.inverted.teal.basic.button, .ui.inverted.teal.basic.buttons .button, .ui.inverted.teal.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.teal.basic.button:hover, .ui.inverted.teal.basic.buttons .button:hover, .ui.inverted.teal.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #54ffff inset !important; - box-shadow: 0 0 0 2px #54ffff inset !important; - color: #6dffff !important -} - -.ui.inverted.teal.basic.button:focus, .ui.inverted.teal.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #4ff inset !important; - box-shadow: 0 0 0 2px #4ff inset !important; - color: #6dffff !important -} - -.ui.inverted.teal.basic.active.button, .ui.inverted.teal.basic.buttons .active.button, .ui.inverted.teal.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #54ffff inset !important; - box-shadow: 0 0 0 2px #54ffff inset !important; - color: #6dffff !important -} - -.ui.inverted.teal.basic.button:active, .ui.inverted.teal.basic.buttons .button:active, .ui.inverted.teal.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #3affff inset !important; - box-shadow: 0 0 0 2px #3affff inset !important; - color: #6dffff !important -} - -.ui.olive.button, .ui.olive.buttons .button { - background-color: #b5cc18; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.olive.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.olive.button:hover, .ui.olive.buttons .button:hover { - background-color: #a7bd0d; - color: #fff; - text-shadow: none -} - -.ui.olive.button:focus, .ui.olive.buttons .button:focus { - background-color: #a0b605; - color: #fff; - text-shadow: none -} - -.ui.olive.button:active, .ui.olive.buttons .button:active { - background-color: #8d9e13; - color: #fff; - text-shadow: none -} - -.ui.olive.active.button, .ui.olive.button .active.button:active, .ui.olive.buttons .active.button, .ui.olive.buttons .active.button:active { - background-color: #aac109; - color: #fff; - text-shadow: none -} - -.ui.basic.olive.button, .ui.basic.olive.buttons .button { - -webkit-box-shadow: 0 0 0 1px #b5cc18 inset !important; - box-shadow: 0 0 0 1px #b5cc18 inset !important; - color: #b5cc18 !important -} - -.ui.basic.olive.button:hover, .ui.basic.olive.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #a7bd0d inset !important; - box-shadow: 0 0 0 1px #a7bd0d inset !important; - color: #a7bd0d !important -} - -.ui.basic.olive.button:focus, .ui.basic.olive.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #a0b605 inset !important; - box-shadow: 0 0 0 1px #a0b605 inset !important; - color: #a7bd0d !important -} - -.ui.basic.olive.active.button, .ui.basic.olive.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #aac109 inset !important; - box-shadow: 0 0 0 1px #aac109 inset !important; - color: #8d9e13 !important -} - -.ui.basic.olive.button:active, .ui.basic.olive.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #8d9e13 inset !important; - box-shadow: 0 0 0 1px #8d9e13 inset !important; - color: #8d9e13 !important -} - -.ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.olive.button, .ui.inverted.olive.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #d9e778 inset !important; - box-shadow: 0 0 0 2px #d9e778 inset !important; - color: #d9e778 -} - -.ui.inverted.olive.button.active, .ui.inverted.olive.button:active, .ui.inverted.olive.button:focus, .ui.inverted.olive.button:hover, .ui.inverted.olive.buttons .button.active, .ui.inverted.olive.buttons .button:active, .ui.inverted.olive.buttons .button:focus, .ui.inverted.olive.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: rgba(0, 0, 0, .6) -} - -.ui.inverted.olive.button:hover, .ui.inverted.olive.buttons .button:hover { - background-color: #d8ea5c -} - -.ui.inverted.olive.button:focus, .ui.inverted.olive.buttons .button:focus { - background-color: #daef47 -} - -.ui.inverted.olive.active.button, .ui.inverted.olive.buttons .active.button { - background-color: #daed59 -} - -.ui.inverted.olive.button:active, .ui.inverted.olive.buttons .button:active { - background-color: #cddf4d -} - -.ui.inverted.olive.basic.button, .ui.inverted.olive.basic.buttons .button, .ui.inverted.olive.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.olive.basic.button:hover, .ui.inverted.olive.basic.buttons .button:hover, .ui.inverted.olive.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #d8ea5c inset !important; - box-shadow: 0 0 0 2px #d8ea5c inset !important; - color: #d9e778 !important -} - -.ui.inverted.olive.basic.button:focus, .ui.inverted.olive.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #daef47 inset !important; - box-shadow: 0 0 0 2px #daef47 inset !important; - color: #d9e778 !important -} - -.ui.inverted.olive.basic.active.button, .ui.inverted.olive.basic.buttons .active.button, .ui.inverted.olive.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #daed59 inset !important; - box-shadow: 0 0 0 2px #daed59 inset !important; - color: #d9e778 !important -} - -.ui.inverted.olive.basic.button:active, .ui.inverted.olive.basic.buttons .button:active, .ui.inverted.olive.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #cddf4d inset !important; - box-shadow: 0 0 0 2px #cddf4d inset !important; - color: #d9e778 !important -} - -.ui.yellow.button, .ui.yellow.buttons .button { - background-color: #fbbd08; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.yellow.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.yellow.button:hover, .ui.yellow.buttons .button:hover { - background-color: #eaae00; - color: #fff; - text-shadow: none -} - -.ui.yellow.button:focus, .ui.yellow.buttons .button:focus { - background-color: #daa300; - color: #fff; - text-shadow: none -} - -.ui.yellow.button:active, .ui.yellow.buttons .button:active { - background-color: #cd9903; - color: #fff; - text-shadow: none -} - -.ui.yellow.active.button, .ui.yellow.button .active.button:active, .ui.yellow.buttons .active.button, .ui.yellow.buttons .active.button:active { - background-color: #eaae00; - color: #fff; - text-shadow: none -} - -.ui.basic.yellow.button, .ui.basic.yellow.buttons .button { - -webkit-box-shadow: 0 0 0 1px #fbbd08 inset !important; - box-shadow: 0 0 0 1px #fbbd08 inset !important; - color: #fbbd08 !important -} - -.ui.basic.yellow.button:hover, .ui.basic.yellow.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #eaae00 inset !important; - box-shadow: 0 0 0 1px #eaae00 inset !important; - color: #eaae00 !important -} - -.ui.basic.yellow.button:focus, .ui.basic.yellow.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #daa300 inset !important; - box-shadow: 0 0 0 1px #daa300 inset !important; - color: #eaae00 !important -} - -.ui.basic.yellow.active.button, .ui.basic.yellow.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #eaae00 inset !important; - box-shadow: 0 0 0 1px #eaae00 inset !important; - color: #cd9903 !important -} - -.ui.basic.yellow.button:active, .ui.basic.yellow.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #cd9903 inset !important; - box-shadow: 0 0 0 1px #cd9903 inset !important; - color: #cd9903 !important -} - -.ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.yellow.button, .ui.inverted.yellow.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #ffe21f inset !important; - box-shadow: 0 0 0 2px #ffe21f inset !important; - color: #ffe21f -} - -.ui.inverted.yellow.button.active, .ui.inverted.yellow.button:active, .ui.inverted.yellow.button:focus, .ui.inverted.yellow.button:hover, .ui.inverted.yellow.buttons .button.active, .ui.inverted.yellow.buttons .button:active, .ui.inverted.yellow.buttons .button:focus, .ui.inverted.yellow.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: rgba(0, 0, 0, .6) -} - -.ui.inverted.yellow.button:hover, .ui.inverted.yellow.buttons .button:hover { - background-color: #ffdf05 -} - -.ui.inverted.yellow.button:focus, .ui.inverted.yellow.buttons .button:focus { - background-color: #f5d500 -} - -.ui.inverted.yellow.active.button, .ui.inverted.yellow.buttons .active.button { - background-color: #ffdf05 -} - -.ui.inverted.yellow.button:active, .ui.inverted.yellow.buttons .button:active { - background-color: #ebcd00 -} - -.ui.inverted.yellow.basic.button, .ui.inverted.yellow.basic.buttons .button, .ui.inverted.yellow.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.yellow.basic.button:hover, .ui.inverted.yellow.basic.buttons .button:hover, .ui.inverted.yellow.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #ffdf05 inset !important; - box-shadow: 0 0 0 2px #ffdf05 inset !important; - color: #ffe21f !important -} - -.ui.inverted.yellow.basic.button:focus, .ui.inverted.yellow.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #f5d500 inset !important; - box-shadow: 0 0 0 2px #f5d500 inset !important; - color: #ffe21f !important -} - -.ui.inverted.yellow.basic.active.button, .ui.inverted.yellow.basic.buttons .active.button, .ui.inverted.yellow.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #ffdf05 inset !important; - box-shadow: 0 0 0 2px #ffdf05 inset !important; - color: #ffe21f !important -} - -.ui.inverted.yellow.basic.button:active, .ui.inverted.yellow.basic.buttons .button:active, .ui.inverted.yellow.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #ebcd00 inset !important; - box-shadow: 0 0 0 2px #ebcd00 inset !important; - color: #ffe21f !important -} - -.ui.primary.button, .ui.primary.buttons .button { - background-color: #2185d0; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.primary.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.primary.button:hover, .ui.primary.buttons .button:hover { - background-color: #1678c2; - color: #fff; - text-shadow: none -} - -.ui.primary.button:focus, .ui.primary.buttons .button:focus { - background-color: #0d71bb; - color: #fff; - text-shadow: none -} - -.ui.primary.button:active, .ui.primary.buttons .button:active { - background-color: #1a69a4; - color: #fff; - text-shadow: none -} - -.ui.primary.active.button, .ui.primary.button .active.button:active, .ui.primary.buttons .active.button, .ui.primary.buttons .active.button:active { - background-color: #1279c6; - color: #fff; - text-shadow: none -} - -.ui.basic.primary.button, .ui.basic.primary.buttons .button { - -webkit-box-shadow: 0 0 0 1px #2185d0 inset !important; - box-shadow: 0 0 0 1px #2185d0 inset !important; - color: #2185d0 !important -} - -.ui.basic.primary.button:hover, .ui.basic.primary.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #1678c2 inset !important; - box-shadow: 0 0 0 1px #1678c2 inset !important; - color: #1678c2 !important -} - -.ui.basic.primary.button:focus, .ui.basic.primary.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #0d71bb inset !important; - box-shadow: 0 0 0 1px #0d71bb inset !important; - color: #1678c2 !important -} - -.ui.basic.primary.active.button, .ui.basic.primary.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #1279c6 inset !important; - box-shadow: 0 0 0 1px #1279c6 inset !important; - color: #1a69a4 !important -} - -.ui.basic.primary.button:active, .ui.basic.primary.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #1a69a4 inset !important; - box-shadow: 0 0 0 1px #1a69a4 inset !important; - color: #1a69a4 !important -} - -.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.primary.button, .ui.inverted.primary.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #54c8ff inset !important; - box-shadow: 0 0 0 2px #54c8ff inset !important; - color: #54c8ff -} - -.ui.inverted.primary.button.active, .ui.inverted.primary.button:active, .ui.inverted.primary.button:focus, .ui.inverted.primary.button:hover, .ui.inverted.primary.buttons .button.active, .ui.inverted.primary.buttons .button:active, .ui.inverted.primary.buttons .button:focus, .ui.inverted.primary.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.inverted.primary.button:hover, .ui.inverted.primary.buttons .button:hover { - background-color: #3ac0ff -} - -.ui.inverted.primary.button:focus, .ui.inverted.primary.buttons .button:focus { - background-color: #2bbbff -} - -.ui.inverted.primary.active.button, .ui.inverted.primary.buttons .active.button { - background-color: #3ac0ff -} - -.ui.inverted.primary.button:active, .ui.inverted.primary.buttons .button:active { - background-color: #21b8ff -} - -.ui.inverted.primary.basic.button, .ui.inverted.primary.basic.buttons .button, .ui.inverted.primary.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.primary.basic.button:hover, .ui.inverted.primary.basic.buttons .button:hover, .ui.inverted.primary.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #3ac0ff inset !important; - box-shadow: 0 0 0 2px #3ac0ff inset !important; - color: #54c8ff !important -} - -.ui.inverted.primary.basic.button:focus, .ui.inverted.primary.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #2bbbff inset !important; - box-shadow: 0 0 0 2px #2bbbff inset !important; - color: #54c8ff !important -} - -.ui.inverted.primary.basic.active.button, .ui.inverted.primary.basic.buttons .active.button, .ui.inverted.primary.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #3ac0ff inset !important; - box-shadow: 0 0 0 2px #3ac0ff inset !important; - color: #54c8ff !important -} - -.ui.inverted.primary.basic.button:active, .ui.inverted.primary.basic.buttons .button:active, .ui.inverted.primary.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #21b8ff inset !important; - box-shadow: 0 0 0 2px #21b8ff inset !important; - color: #54c8ff !important -} - -.ui.secondary.button, .ui.secondary.buttons .button { - background-color: #1b1c1d; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.secondary.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.secondary.button:hover, .ui.secondary.buttons .button:hover { - background-color: #27292a; - color: #fff; - text-shadow: none -} - -.ui.secondary.button:focus, .ui.secondary.buttons .button:focus { - background-color: #2e3032; - color: #fff; - text-shadow: none -} - -.ui.secondary.button:active, .ui.secondary.buttons .button:active { - background-color: #343637; - color: #fff; - text-shadow: none -} - -.ui.secondary.active.button, .ui.secondary.button .active.button:active, .ui.secondary.buttons .active.button, .ui.secondary.buttons .active.button:active { - background-color: #27292a; - color: #fff; - text-shadow: none -} - -.ui.basic.secondary.button, .ui.basic.secondary.buttons .button { - -webkit-box-shadow: 0 0 0 1px #1b1c1d inset !important; - box-shadow: 0 0 0 1px #1b1c1d inset !important; - color: #1b1c1d !important -} - -.ui.basic.secondary.button:hover, .ui.basic.secondary.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #27292a inset !important; - box-shadow: 0 0 0 1px #27292a inset !important; - color: #27292a !important -} - -.ui.basic.secondary.button:focus, .ui.basic.secondary.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #2e3032 inset !important; - box-shadow: 0 0 0 1px #2e3032 inset !important; - color: #27292a !important -} - -.ui.basic.secondary.active.button, .ui.basic.secondary.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #27292a inset !important; - box-shadow: 0 0 0 1px #27292a inset !important; - color: #343637 !important -} - -.ui.basic.secondary.button:active, .ui.basic.secondary.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #343637 inset !important; - box-shadow: 0 0 0 1px #343637 inset !important; - color: #343637 !important -} - -.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { - margin-left: -1px -} - -.ui.inverted.secondary.button, .ui.inverted.secondary.buttons .button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #545454 inset !important; - box-shadow: 0 0 0 2px #545454 inset !important; - color: #545454 -} - -.ui.inverted.secondary.button.active, .ui.inverted.secondary.button:active, .ui.inverted.secondary.button:focus, .ui.inverted.secondary.button:hover, .ui.inverted.secondary.buttons .button.active, .ui.inverted.secondary.buttons .button:active, .ui.inverted.secondary.buttons .button:focus, .ui.inverted.secondary.buttons .button:hover { - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.inverted.secondary.button:hover, .ui.inverted.secondary.buttons .button:hover { - background-color: #616161 -} - -.ui.inverted.secondary.button:focus, .ui.inverted.secondary.buttons .button:focus { - background-color: #686868 -} - -.ui.inverted.secondary.active.button, .ui.inverted.secondary.buttons .active.button { - background-color: #616161 -} - -.ui.inverted.secondary.button:active, .ui.inverted.secondary.buttons .button:active { - background-color: #6e6e6e -} - -.ui.inverted.secondary.basic.button, .ui.inverted.secondary.basic.buttons .button, .ui.inverted.secondary.buttons .basic.button { - background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset !important; - color: #fff !important -} - -.ui.inverted.secondary.basic.button:hover, .ui.inverted.secondary.basic.buttons .button:hover, .ui.inverted.secondary.buttons .basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #616161 inset !important; - box-shadow: 0 0 0 2px #616161 inset !important; - color: #545454 !important -} - -.ui.inverted.secondary.basic.button:focus, .ui.inverted.secondary.basic.buttons .button:focus { - -webkit-box-shadow: 0 0 0 2px #686868 inset !important; - box-shadow: 0 0 0 2px #686868 inset !important; - color: #545454 !important -} - -.ui.inverted.secondary.basic.active.button, .ui.inverted.secondary.basic.buttons .active.button, .ui.inverted.secondary.buttons .basic.active.button { - -webkit-box-shadow: 0 0 0 2px #616161 inset !important; - box-shadow: 0 0 0 2px #616161 inset !important; - color: #545454 !important -} - -.ui.inverted.secondary.basic.button:active, .ui.inverted.secondary.basic.buttons .button:active, .ui.inverted.secondary.buttons .basic.button:active { - -webkit-box-shadow: 0 0 0 2px #6e6e6e inset !important; - box-shadow: 0 0 0 2px #6e6e6e inset !important; - color: #545454 !important -} - -.ui.positive.button, .ui.positive.buttons .button { - background-color: #21ba45; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.positive.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.positive.button:hover, .ui.positive.buttons .button:hover { - background-color: #16ab39; - color: #fff; - text-shadow: none -} - -.ui.positive.button:focus, .ui.positive.buttons .button:focus { - background-color: #0ea432; - color: #fff; - text-shadow: none -} - -.ui.positive.button:active, .ui.positive.buttons .button:active { - background-color: #198f35; - color: #fff; - text-shadow: none -} - -.ui.positive.active.button, .ui.positive.button .active.button:active, .ui.positive.buttons .active.button, .ui.positive.buttons .active.button:active { - background-color: #13ae38; - color: #fff; - text-shadow: none -} - -.ui.basic.positive.button, .ui.basic.positive.buttons .button { - -webkit-box-shadow: 0 0 0 1px #21ba45 inset !important; - box-shadow: 0 0 0 1px #21ba45 inset !important; - color: #21ba45 !important -} - -.ui.basic.positive.button:hover, .ui.basic.positive.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #16ab39 inset !important; - box-shadow: 0 0 0 1px #16ab39 inset !important; - color: #16ab39 !important -} - -.ui.basic.positive.button:focus, .ui.basic.positive.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #0ea432 inset !important; - box-shadow: 0 0 0 1px #0ea432 inset !important; - color: #16ab39 !important -} - -.ui.basic.positive.active.button, .ui.basic.positive.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #13ae38 inset !important; - box-shadow: 0 0 0 1px #13ae38 inset !important; - color: #198f35 !important -} - -.ui.basic.positive.button:active, .ui.basic.positive.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #198f35 inset !important; - box-shadow: 0 0 0 1px #198f35 inset !important; - color: #198f35 !important -} - -.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { - margin-left: -1px -} - -.ui.negative.button, .ui.negative.buttons .button { - background-color: #db2828; - color: #fff; - text-shadow: none; - background-image: none -} - -.ui.negative.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.negative.button:hover, .ui.negative.buttons .button:hover { - background-color: #d01919; - color: #fff; - text-shadow: none -} - -.ui.negative.button:focus, .ui.negative.buttons .button:focus { - background-color: #ca1010; - color: #fff; - text-shadow: none -} - -.ui.negative.button:active, .ui.negative.buttons .button:active { - background-color: #b21e1e; - color: #fff; - text-shadow: none -} - -.ui.negative.active.button, .ui.negative.button .active.button:active, .ui.negative.buttons .active.button, .ui.negative.buttons .active.button:active { - background-color: #d41515; - color: #fff; - text-shadow: none -} - -.ui.basic.negative.button, .ui.basic.negative.buttons .button { - -webkit-box-shadow: 0 0 0 1px #db2828 inset !important; - box-shadow: 0 0 0 1px #db2828 inset !important; - color: #db2828 !important -} - -.ui.basic.negative.button:hover, .ui.basic.negative.buttons .button:hover { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #d01919 inset !important; - box-shadow: 0 0 0 1px #d01919 inset !important; - color: #d01919 !important -} - -.ui.basic.negative.button:focus, .ui.basic.negative.buttons .button:focus { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #ca1010 inset !important; - box-shadow: 0 0 0 1px #ca1010 inset !important; - color: #d01919 !important -} - -.ui.basic.negative.active.button, .ui.basic.negative.buttons .active.button { - background: 0 0 !important; - -webkit-box-shadow: 0 0 0 1px #d41515 inset !important; - box-shadow: 0 0 0 1px #d41515 inset !important; - color: #b21e1e !important -} - -.ui.basic.negative.button:active, .ui.basic.negative.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px #b21e1e inset !important; - box-shadow: 0 0 0 1px #b21e1e inset !important; - color: #b21e1e !important -} - -.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { - margin-left: -1px -} - -.ui.buttons { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - font-size: 0; - vertical-align: baseline; - margin: 0 .25em 0 0 -} - -.ui.buttons:not(.basic):not(.inverted) { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.buttons:after { - content: "."; - display: block; - height: 0; - clear: both; - visibility: hidden -} - -.ui.buttons .button { - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - margin: 0; - border-radius: 0; - margin: 0 -} - -.ui.buttons:not(.basic):not(.inverted) > .button, .ui.buttons > .ui.button:not(.basic):not(.inverted) { - -webkit-box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, .15) inset -} - -.ui.buttons .button:first-child { - border-left: none; - margin-left: 0; - border-top-left-radius: .28571429rem; - border-bottom-left-radius: .28571429rem -} - -.ui.buttons .button:last-child { - border-top-right-radius: .28571429rem; - border-bottom-right-radius: .28571429rem -} - -.ui.vertical.buttons { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column -} - -.ui.vertical.buttons .button { - display: block; - float: none; - width: 100%; - margin: 0; - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0 -} - -.ui.vertical.buttons .button:first-child { - border-top-left-radius: .28571429rem; - border-top-right-radius: .28571429rem -} - -.ui.vertical.buttons .button:last-child { - margin-bottom: 0; - border-bottom-left-radius: .28571429rem; - border-bottom-right-radius: .28571429rem -} - -.ui.vertical.buttons .button:only-child { - border-radius: .28571429rem -} - -/*! - * # Semantic UI 2.4.0 - Container - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.container { - display: block; - max-width: 100% !important -} - -@media only screen and (max-width: 767px) { - .ui.container { - width: auto !important; - margin-left: 1em !important; - margin-right: 1em !important - } - - .ui.grid.container { - width: auto !important - } - - .ui.relaxed.grid.container { - width: auto !important - } - - .ui.very.relaxed.grid.container { - width: auto !important - } -} - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .ui.container { - width: 723px; - margin-left: auto !important; - margin-right: auto !important - } - - .ui.grid.container { - width: calc(723px + 2rem) !important - } - - .ui.relaxed.grid.container { - width: calc(723px + 3rem) !important - } - - .ui.very.relaxed.grid.container { - width: calc(723px + 5rem) !important - } -} - -@media only screen and (min-width: 992px) and (max-width: 1199px) { - .ui.container { - width: 933px; - margin-left: auto !important; - margin-right: auto !important - } - - .ui.grid.container { - width: calc(933px + 2rem) !important - } - - .ui.relaxed.grid.container { - width: calc(933px + 3rem) !important - } - - .ui.very.relaxed.grid.container { - width: calc(933px + 5rem) !important - } -} - -@media only screen and (min-width: 1200px) { - .ui.container { - width: 1127px; - margin-left: auto !important; - margin-right: auto !important - } - - .ui.grid.container { - width: calc(1127px + 2rem) !important - } - - .ui.relaxed.grid.container { - width: calc(1127px + 3rem) !important - } - - .ui.very.relaxed.grid.container { - width: calc(1127px + 5rem) !important - } -} - -.ui.text.container { - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - max-width: 700px !important; - line-height: 1.5 -} - -.ui.text.container { - font-size: 1.14285714rem -} - -.ui.fluid.container { - width: 100% -} - -.ui[class*="left aligned"].container { - text-align: left -} - -.ui[class*="center aligned"].container { - text-align: center -} - -.ui[class*="right aligned"].container { - text-align: right -} - -.ui.justified.container { - text-align: justify; - -webkit-hyphens: auto; - -ms-hyphens: auto; - hyphens: auto -} - -/*! - * # Semantic UI 2.4.0 - Divider - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.divider { - margin: 1rem 0; - line-height: 1; - height: 0; - font-weight: 700; - text-transform: uppercase; - letter-spacing: .05em; - color: rgba(0, 0, 0, .85); - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-tap-highlight-color: transparent -} - -.ui.divider:not(.vertical):not(.horizontal) { - border-top: 1px solid rgba(34, 36, 38, .15); - border-bottom: 1px solid rgba(255, 255, 255, .1) -} - -.ui.grid > .column + .divider, .ui.grid > .row > .column + .divider { - left: auto -} - -.ui.horizontal.divider { - display: table; - white-space: nowrap; - height: auto; - margin: ''; - line-height: 1; - text-align: center -} - -.ui.horizontal.divider:after, .ui.horizontal.divider:before { - content: ''; - display: table-cell; - position: relative; - top: 50%; - width: 50%; - background-repeat: no-repeat -} - -.ui.horizontal.divider:before { - background-position: right 1em top 50% -} - -.ui.horizontal.divider:after { - background-position: left 1em top 50% -} - -.ui.vertical.divider { - position: absolute; - z-index: 2; - top: 50%; - left: 50%; - margin: 0; - padding: 0; - width: auto; - height: 50%; - line-height: 0; - text-align: center; - -webkit-transform: translateX(-50%); - transform: translateX(-50%) -} - -.ui.vertical.divider:after, .ui.vertical.divider:before { - position: absolute; - left: 50%; - content: ''; - z-index: 3; - border-left: 1px solid rgba(34, 36, 38, .15); - border-right: 1px solid rgba(255, 255, 255, .1); - width: 0%; - height: calc(100% - 1rem) -} - -.ui.vertical.divider:before { - top: -100% -} - -.ui.vertical.divider:after { - top: auto; - bottom: 0 -} - -@media only screen and (max-width: 767px) { - .ui.grid .stackable.row .ui.vertical.divider, .ui.stackable.grid .ui.vertical.divider { - display: table; - white-space: nowrap; - height: auto; - margin: ''; - overflow: hidden; - line-height: 1; - text-align: center; - position: static; - top: 0; - left: 0; - -webkit-transform: none; - transform: none - } - - .ui.grid .stackable.row .ui.vertical.divider:after, .ui.grid .stackable.row .ui.vertical.divider:before, .ui.stackable.grid .ui.vertical.divider:after, .ui.stackable.grid .ui.vertical.divider:before { - position: static; - left: 0; - border-left: none; - border-right: none; - content: ''; - display: table-cell; - position: relative; - top: 50%; - width: 50%; - background-repeat: no-repeat - } - - .ui.grid .stackable.row .ui.vertical.divider:before, .ui.stackable.grid .ui.vertical.divider:before { - background-position: right 1em top 50% - } - - .ui.grid .stackable.row .ui.vertical.divider:after, .ui.stackable.grid .ui.vertical.divider:after { - background-position: left 1em top 50% - } -} - -.ui.divider > .icon { - margin: 0; - font-size: 1rem; - height: 1em; - vertical-align: middle -} - -.ui.hidden.divider { - border-color: transparent !important -} - -.ui.hidden.divider:after, .ui.hidden.divider:before { - display: none -} - -.ui.divider.inverted, .ui.horizontal.inverted.divider, .ui.vertical.inverted.divider { - color: #fff -} - -.ui.divider.inverted, .ui.divider.inverted:after, .ui.divider.inverted:before { - border-top-color: rgba(34, 36, 38, .15) !important; - border-left-color: rgba(34, 36, 38, .15) !important; - border-bottom-color: rgba(255, 255, 255, .15) !important; - border-right-color: rgba(255, 255, 255, .15) !important -} - -.ui.fitted.divider { - margin: 0 -} - -.ui.clearing.divider { - clear: both -} - -.ui.section.divider { - margin-top: 2rem; - margin-bottom: 2rem -} - -.ui.divider { - font-size: 1rem -} - -.ui.horizontal.divider:after, .ui.horizontal.divider:before { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC) -} - -@media only screen and (max-width: 767px) { - .ui.grid .stackable.row .ui.vertical.divider:after, .ui.grid .stackable.row .ui.vertical.divider:before, .ui.stackable.grid .ui.vertical.divider:after, .ui.stackable.grid .ui.vertical.divider:before { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC) - } -} - -/*! - * # Semantic UI 2.4.0 - Flag - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -i.flag:not(.icon) { - display: inline-block; - width: 16px; - height: 11px; - line-height: 11px; - vertical-align: baseline; - margin: 0 .5em 0 0; - text-decoration: inherit; - speak: none; - font-smoothing: antialiased; - -webkit-backface-visibility: hidden; - backface-visibility: hidden -} - -i.flag:not(.icon):before { - display: inline-block; - content: ''; - background: url(themes/default/assets/images/flags.png) no-repeat -108px -1976px; - width: 16px; - height: 11px -} - -i.flag.ad:before, i.flag.andorra:before { - background-position: 0 0 -} - -i.flag.ae:before, i.flag.uae:before, i.flag.united.arab.emirates:before { - background-position: 0 -26px -} - -i.flag.af:before, i.flag.afghanistan:before { - background-position: 0 -52px -} - -i.flag.ag:before, i.flag.antigua:before { - background-position: 0 -78px -} - -i.flag.ai:before, i.flag.anguilla:before { - background-position: 0 -104px -} - -i.flag.al:before, i.flag.albania:before { - background-position: 0 -130px -} - -i.flag.am:before, i.flag.armenia:before { - background-position: 0 -156px -} - -i.flag.an:before, i.flag.netherlands.antilles:before { - background-position: 0 -182px -} - -i.flag.angola:before, i.flag.ao:before { - background-position: 0 -208px -} - -i.flag.ar:before, i.flag.argentina:before { - background-position: 0 -234px -} - -i.flag.american.samoa:before, i.flag.as:before { - background-position: 0 -260px -} - -i.flag.at:before, i.flag.austria:before { - background-position: 0 -286px -} - -i.flag.au:before, i.flag.australia:before { - background-position: 0 -312px -} - -i.flag.aruba:before, i.flag.aw:before { - background-position: 0 -338px -} - -i.flag.aland.islands:before, i.flag.ax:before { - background-position: 0 -364px -} - -i.flag.az:before, i.flag.azerbaijan:before { - background-position: 0 -390px -} - -i.flag.ba:before, i.flag.bosnia:before { - background-position: 0 -416px -} - -i.flag.barbados:before, i.flag.bb:before { - background-position: 0 -442px -} - -i.flag.bangladesh:before, i.flag.bd:before { - background-position: 0 -468px -} - -i.flag.be:before, i.flag.belgium:before { - background-position: 0 -494px -} - -i.flag.bf:before, i.flag.burkina.faso:before { - background-position: 0 -520px -} - -i.flag.bg:before, i.flag.bulgaria:before { - background-position: 0 -546px -} - -i.flag.bahrain:before, i.flag.bh:before { - background-position: 0 -572px -} - -i.flag.bi:before, i.flag.burundi:before { - background-position: 0 -598px -} - -i.flag.benin:before, i.flag.bj:before { - background-position: 0 -624px -} - -i.flag.bermuda:before, i.flag.bm:before { - background-position: 0 -650px -} - -i.flag.bn:before, i.flag.brunei:before { - background-position: 0 -676px -} - -i.flag.bo:before, i.flag.bolivia:before { - background-position: 0 -702px -} - -i.flag.br:before, i.flag.brazil:before { - background-position: 0 -728px -} - -i.flag.bahamas:before, i.flag.bs:before { - background-position: 0 -754px -} - -i.flag.bhutan:before, i.flag.bt:before { - background-position: 0 -780px -} - -i.flag.bouvet.island:before, i.flag.bv:before { - background-position: 0 -806px -} - -i.flag.botswana:before, i.flag.bw:before { - background-position: 0 -832px -} - -i.flag.belarus:before, i.flag.by:before { - background-position: 0 -858px -} - -i.flag.belize:before, i.flag.bz:before { - background-position: 0 -884px -} - -i.flag.ca:before, i.flag.canada:before { - background-position: 0 -910px -} - -i.flag.cc:before, i.flag.cocos.islands:before { - background-position: 0 -962px -} - -i.flag.cd:before, i.flag.congo:before { - background-position: 0 -988px -} - -i.flag.central.african.republic:before, i.flag.cf:before { - background-position: 0 -1014px -} - -i.flag.cg:before, i.flag.congo.brazzaville:before { - background-position: 0 -1040px -} - -i.flag.ch:before, i.flag.switzerland:before { - background-position: 0 -1066px -} - -i.flag.ci:before, i.flag.cote.divoire:before { - background-position: 0 -1092px -} - -i.flag.ck:before, i.flag.cook.islands:before { - background-position: 0 -1118px -} - -i.flag.chile:before, i.flag.cl:before { - background-position: 0 -1144px -} - -i.flag.cameroon:before, i.flag.cm:before { - background-position: 0 -1170px -} - -i.flag.china:before, i.flag.cn:before { - background-position: 0 -1196px -} - -i.flag.co:before, i.flag.colombia:before { - background-position: 0 -1222px -} - -i.flag.costa.rica:before, i.flag.cr:before { - background-position: 0 -1248px -} - -i.flag.cs:before, i.flag.serbia:before { - background-position: 0 -1274px -} - -i.flag.cu:before, i.flag.cuba:before { - background-position: 0 -1300px -} - -i.flag.cape.verde:before, i.flag.cv:before { - background-position: 0 -1326px -} - -i.flag.christmas.island:before, i.flag.cx:before { - background-position: 0 -1352px -} - -i.flag.cy:before, i.flag.cyprus:before { - background-position: 0 -1378px -} - -i.flag.cz:before, i.flag.czech.republic:before { - background-position: 0 -1404px -} - -i.flag.de:before, i.flag.germany:before { - background-position: 0 -1430px -} - -i.flag.dj:before, i.flag.djibouti:before { - background-position: 0 -1456px -} - -i.flag.denmark:before, i.flag.dk:before { - background-position: 0 -1482px -} - -i.flag.dm:before, i.flag.dominica:before { - background-position: 0 -1508px -} - -i.flag.do:before, i.flag.dominican.republic:before { - background-position: 0 -1534px -} - -i.flag.algeria:before, i.flag.dz:before { - background-position: 0 -1560px -} - -i.flag.ec:before, i.flag.ecuador:before { - background-position: 0 -1586px -} - -i.flag.ee:before, i.flag.estonia:before { - background-position: 0 -1612px -} - -i.flag.eg:before, i.flag.egypt:before { - background-position: 0 -1638px -} - -i.flag.eh:before, i.flag.western.sahara:before { - background-position: 0 -1664px -} - -i.flag.england:before, i.flag.gb.eng:before { - background-position: 0 -1690px -} - -i.flag.er:before, i.flag.eritrea:before { - background-position: 0 -1716px -} - -i.flag.es:before, i.flag.spain:before { - background-position: 0 -1742px -} - -i.flag.et:before, i.flag.ethiopia:before { - background-position: 0 -1768px -} - -i.flag.eu:before, i.flag.european.union:before { - background-position: 0 -1794px -} - -i.flag.fi:before, i.flag.finland:before { - background-position: 0 -1846px -} - -i.flag.fiji:before, i.flag.fj:before { - background-position: 0 -1872px -} - -i.flag.falkland.islands:before, i.flag.fk:before { - background-position: 0 -1898px -} - -i.flag.fm:before, i.flag.micronesia:before { - background-position: 0 -1924px -} - -i.flag.faroe.islands:before, i.flag.fo:before { - background-position: 0 -1950px -} - -i.flag.fr:before, i.flag.france:before { - background-position: 0 -1976px -} - -i.flag.ga:before, i.flag.gabon:before { - background-position: -36px 0 -} - -i.flag.gb:before, i.flag.uk:before, i.flag.united.kingdom:before { - background-position: -36px -26px -} - -i.flag.gd:before, i.flag.grenada:before { - background-position: -36px -52px -} - -i.flag.ge:before, i.flag.georgia:before { - background-position: -36px -78px -} - -i.flag.french.guiana:before, i.flag.gf:before { - background-position: -36px -104px -} - -i.flag.gh:before, i.flag.ghana:before { - background-position: -36px -130px -} - -i.flag.gi:before, i.flag.gibraltar:before { - background-position: -36px -156px -} - -i.flag.gl:before, i.flag.greenland:before { - background-position: -36px -182px -} - -i.flag.gambia:before, i.flag.gm:before { - background-position: -36px -208px -} - -i.flag.gn:before, i.flag.guinea:before { - background-position: -36px -234px -} - -i.flag.gp:before, i.flag.guadeloupe:before { - background-position: -36px -260px -} - -i.flag.equatorial.guinea:before, i.flag.gq:before { - background-position: -36px -286px -} - -i.flag.gr:before, i.flag.greece:before { - background-position: -36px -312px -} - -i.flag.gs:before, i.flag.sandwich.islands:before { - background-position: -36px -338px -} - -i.flag.gt:before, i.flag.guatemala:before { - background-position: -36px -364px -} - -i.flag.gu:before, i.flag.guam:before { - background-position: -36px -390px -} - -i.flag.guinea-bissau:before, i.flag.gw:before { - background-position: -36px -416px -} - -i.flag.guyana:before, i.flag.gy:before { - background-position: -36px -442px -} - -i.flag.hk:before, i.flag.hong.kong:before { - background-position: -36px -468px -} - -i.flag.heard.island:before, i.flag.hm:before { - background-position: -36px -494px -} - -i.flag.hn:before, i.flag.honduras:before { - background-position: -36px -520px -} - -i.flag.croatia:before, i.flag.hr:before { - background-position: -36px -546px -} - -i.flag.haiti:before, i.flag.ht:before { - background-position: -36px -572px -} - -i.flag.hu:before, i.flag.hungary:before { - background-position: -36px -598px -} - -i.flag.id:before, i.flag.indonesia:before { - background-position: -36px -624px -} - -i.flag.ie:before, i.flag.ireland:before { - background-position: -36px -650px -} - -i.flag.il:before, i.flag.israel:before { - background-position: -36px -676px -} - -i.flag.in:before, i.flag.india:before { - background-position: -36px -702px -} - -i.flag.indian.ocean.territory:before, i.flag.io:before { - background-position: -36px -728px -} - -i.flag.iq:before, i.flag.iraq:before { - background-position: -36px -754px -} - -i.flag.ir:before, i.flag.iran:before { - background-position: -36px -780px -} - -i.flag.iceland:before, i.flag.is:before { - background-position: -36px -806px -} - -i.flag.it:before, i.flag.italy:before { - background-position: -36px -832px -} - -i.flag.jamaica:before, i.flag.jm:before { - background-position: -36px -858px -} - -i.flag.jo:before, i.flag.jordan:before { - background-position: -36px -884px -} - -i.flag.japan:before, i.flag.jp:before { - background-position: -36px -910px -} - -i.flag.ke:before, i.flag.kenya:before { - background-position: -36px -936px -} - -i.flag.kg:before, i.flag.kyrgyzstan:before { - background-position: -36px -962px -} - -i.flag.cambodia:before, i.flag.kh:before { - background-position: -36px -988px -} - -i.flag.ki:before, i.flag.kiribati:before { - background-position: -36px -1014px -} - -i.flag.comoros:before, i.flag.km:before { - background-position: -36px -1040px -} - -i.flag.kn:before, i.flag.saint.kitts.and.nevis:before { - background-position: -36px -1066px -} - -i.flag.kp:before, i.flag.north.korea:before { - background-position: -36px -1092px -} - -i.flag.kr:before, i.flag.south.korea:before { - background-position: -36px -1118px -} - -i.flag.kuwait:before, i.flag.kw:before { - background-position: -36px -1144px -} - -i.flag.cayman.islands:before, i.flag.ky:before { - background-position: -36px -1170px -} - -i.flag.kazakhstan:before, i.flag.kz:before { - background-position: -36px -1196px -} - -i.flag.la:before, i.flag.laos:before { - background-position: -36px -1222px -} - -i.flag.lb:before, i.flag.lebanon:before { - background-position: -36px -1248px -} - -i.flag.lc:before, i.flag.saint.lucia:before { - background-position: -36px -1274px -} - -i.flag.li:before, i.flag.liechtenstein:before { - background-position: -36px -1300px -} - -i.flag.lk:before, i.flag.sri.lanka:before { - background-position: -36px -1326px -} - -i.flag.liberia:before, i.flag.lr:before { - background-position: -36px -1352px -} - -i.flag.lesotho:before, i.flag.ls:before { - background-position: -36px -1378px -} - -i.flag.lithuania:before, i.flag.lt:before { - background-position: -36px -1404px -} - -i.flag.lu:before, i.flag.luxembourg:before { - background-position: -36px -1430px -} - -i.flag.latvia:before, i.flag.lv:before { - background-position: -36px -1456px -} - -i.flag.libya:before, i.flag.ly:before { - background-position: -36px -1482px -} - -i.flag.ma:before, i.flag.morocco:before { - background-position: -36px -1508px -} - -i.flag.mc:before, i.flag.monaco:before { - background-position: -36px -1534px -} - -i.flag.md:before, i.flag.moldova:before { - background-position: -36px -1560px -} - -i.flag.me:before, i.flag.montenegro:before { - background-position: -36px -1586px -} - -i.flag.madagascar:before, i.flag.mg:before { - background-position: -36px -1613px -} - -i.flag.marshall.islands:before, i.flag.mh:before { - background-position: -36px -1639px -} - -i.flag.macedonia:before, i.flag.mk:before { - background-position: -36px -1665px -} - -i.flag.mali:before, i.flag.ml:before { - background-position: -36px -1691px -} - -i.flag.burma:before, i.flag.mm:before, i.flag.myanmar:before { - background-position: -73px -1821px -} - -i.flag.mn:before, i.flag.mongolia:before { - background-position: -36px -1743px -} - -i.flag.macau:before, i.flag.mo:before { - background-position: -36px -1769px -} - -i.flag.mp:before, i.flag.northern.mariana.islands:before { - background-position: -36px -1795px -} - -i.flag.martinique:before, i.flag.mq:before { - background-position: -36px -1821px -} - -i.flag.mauritania:before, i.flag.mr:before { - background-position: -36px -1847px -} - -i.flag.montserrat:before, i.flag.ms:before { - background-position: -36px -1873px -} - -i.flag.malta:before, i.flag.mt:before { - background-position: -36px -1899px -} - -i.flag.mauritius:before, i.flag.mu:before { - background-position: -36px -1925px -} - -i.flag.maldives:before, i.flag.mv:before { - background-position: -36px -1951px -} - -i.flag.malawi:before, i.flag.mw:before { - background-position: -36px -1977px -} - -i.flag.mexico:before, i.flag.mx:before { - background-position: -72px 0 -} - -i.flag.malaysia:before, i.flag.my:before { - background-position: -72px -26px -} - -i.flag.mozambique:before, i.flag.mz:before { - background-position: -72px -52px -} - -i.flag.na:before, i.flag.namibia:before { - background-position: -72px -78px -} - -i.flag.nc:before, i.flag.new.caledonia:before { - background-position: -72px -104px -} - -i.flag.ne:before, i.flag.niger:before { - background-position: -72px -130px -} - -i.flag.nf:before, i.flag.norfolk.island:before { - background-position: -72px -156px -} - -i.flag.ng:before, i.flag.nigeria:before { - background-position: -72px -182px -} - -i.flag.ni:before, i.flag.nicaragua:before { - background-position: -72px -208px -} - -i.flag.netherlands:before, i.flag.nl:before { - background-position: -72px -234px -} - -i.flag.no:before, i.flag.norway:before { - background-position: -72px -260px -} - -i.flag.nepal:before, i.flag.np:before { - background-position: -72px -286px -} - -i.flag.nauru:before, i.flag.nr:before { - background-position: -72px -312px -} - -i.flag.niue:before, i.flag.nu:before { - background-position: -72px -338px -} - -i.flag.new.zealand:before, i.flag.nz:before { - background-position: -72px -364px -} - -i.flag.om:before, i.flag.oman:before { - background-position: -72px -390px -} - -i.flag.pa:before, i.flag.panama:before { - background-position: -72px -416px -} - -i.flag.pe:before, i.flag.peru:before { - background-position: -72px -442px -} - -i.flag.french.polynesia:before, i.flag.pf:before { - background-position: -72px -468px -} - -i.flag.new.guinea:before, i.flag.pg:before { - background-position: -72px -494px -} - -i.flag.ph:before, i.flag.philippines:before { - background-position: -72px -520px -} - -i.flag.pakistan:before, i.flag.pk:before { - background-position: -72px -546px -} - -i.flag.pl:before, i.flag.poland:before { - background-position: -72px -572px -} - -i.flag.pm:before, i.flag.saint.pierre:before { - background-position: -72px -598px -} - -i.flag.pitcairn.islands:before, i.flag.pn:before { - background-position: -72px -624px -} - -i.flag.pr:before, i.flag.puerto.rico:before { - background-position: -72px -650px -} - -i.flag.palestine:before, i.flag.ps:before { - background-position: -72px -676px -} - -i.flag.portugal:before, i.flag.pt:before { - background-position: -72px -702px -} - -i.flag.palau:before, i.flag.pw:before { - background-position: -72px -728px -} - -i.flag.paraguay:before, i.flag.py:before { - background-position: -72px -754px -} - -i.flag.qa:before, i.flag.qatar:before { - background-position: -72px -780px -} - -i.flag.re:before, i.flag.reunion:before { - background-position: -72px -806px -} - -i.flag.ro:before, i.flag.romania:before { - background-position: -72px -832px -} - -i.flag.rs:before, i.flag.serbia:before { - background-position: -72px -858px -} - -i.flag.ru:before, i.flag.russia:before { - background-position: -72px -884px -} - -i.flag.rw:before, i.flag.rwanda:before { - background-position: -72px -910px -} - -i.flag.sa:before, i.flag.saudi.arabia:before { - background-position: -72px -936px -} - -i.flag.sb:before, i.flag.solomon.islands:before { - background-position: -72px -962px -} - -i.flag.sc:before, i.flag.seychelles:before { - background-position: -72px -988px -} - -i.flag.gb.sct:before, i.flag.scotland:before { - background-position: -72px -1014px -} - -i.flag.sd:before, i.flag.sudan:before { - background-position: -72px -1040px -} - -i.flag.se:before, i.flag.sweden:before { - background-position: -72px -1066px -} - -i.flag.sg:before, i.flag.singapore:before { - background-position: -72px -1092px -} - -i.flag.saint.helena:before, i.flag.sh:before { - background-position: -72px -1118px -} - -i.flag.si:before, i.flag.slovenia:before { - background-position: -72px -1144px -} - -i.flag.jan.mayen:before, i.flag.sj:before, i.flag.svalbard:before { - background-position: -72px -1170px -} - -i.flag.sk:before, i.flag.slovakia:before { - background-position: -72px -1196px -} - -i.flag.sierra.leone:before, i.flag.sl:before { - background-position: -72px -1222px -} - -i.flag.san.marino:before, i.flag.sm:before { - background-position: -72px -1248px -} - -i.flag.senegal:before, i.flag.sn:before { - background-position: -72px -1274px -} - -i.flag.so:before, i.flag.somalia:before { - background-position: -72px -1300px -} - -i.flag.sr:before, i.flag.suriname:before { - background-position: -72px -1326px -} - -i.flag.sao.tome:before, i.flag.st:before { - background-position: -72px -1352px -} - -i.flag.el.salvador:before, i.flag.sv:before { - background-position: -72px -1378px -} - -i.flag.sy:before, i.flag.syria:before { - background-position: -72px -1404px -} - -i.flag.swaziland:before, i.flag.sz:before { - background-position: -72px -1430px -} - -i.flag.caicos.islands:before, i.flag.tc:before { - background-position: -72px -1456px -} - -i.flag.chad:before, i.flag.td:before { - background-position: -72px -1482px -} - -i.flag.french.territories:before, i.flag.tf:before { - background-position: -72px -1508px -} - -i.flag.tg:before, i.flag.togo:before { - background-position: -72px -1534px -} - -i.flag.th:before, i.flag.thailand:before { - background-position: -72px -1560px -} - -i.flag.tajikistan:before, i.flag.tj:before { - background-position: -72px -1586px -} - -i.flag.tk:before, i.flag.tokelau:before { - background-position: -72px -1612px -} - -i.flag.timorleste:before, i.flag.tl:before { - background-position: -72px -1638px -} - -i.flag.tm:before, i.flag.turkmenistan:before { - background-position: -72px -1664px -} - -i.flag.tn:before, i.flag.tunisia:before { - background-position: -72px -1690px -} - -i.flag.to:before, i.flag.tonga:before { - background-position: -72px -1716px -} - -i.flag.tr:before, i.flag.turkey:before { - background-position: -72px -1742px -} - -i.flag.trinidad:before, i.flag.tt:before { - background-position: -72px -1768px -} - -i.flag.tuvalu:before, i.flag.tv:before { - background-position: -72px -1794px -} - -i.flag.taiwan:before, i.flag.tw:before { - background-position: -72px -1820px -} - -i.flag.tanzania:before, i.flag.tz:before { - background-position: -72px -1846px -} - -i.flag.ua:before, i.flag.ukraine:before { - background-position: -72px -1872px -} - -i.flag.ug:before, i.flag.uganda:before { - background-position: -72px -1898px -} - -i.flag.um:before, i.flag.us.minor.islands:before { - background-position: -72px -1924px -} - -i.flag.america:before, i.flag.united.states:before, i.flag.us:before { - background-position: -72px -1950px -} - -i.flag.uruguay:before, i.flag.uy:before { - background-position: -72px -1976px -} - -i.flag.uz:before, i.flag.uzbekistan:before { - background-position: -108px 0 -} - -i.flag.va:before, i.flag.vatican.city:before { - background-position: -108px -26px -} - -i.flag.saint.vincent:before, i.flag.vc:before { - background-position: -108px -52px -} - -i.flag.ve:before, i.flag.venezuela:before { - background-position: -108px -78px -} - -i.flag.british.virgin.islands:before, i.flag.vg:before { - background-position: -108px -104px -} - -i.flag.us.virgin.islands:before, i.flag.vi:before { - background-position: -108px -130px -} - -i.flag.vietnam:before, i.flag.vn:before { - background-position: -108px -156px -} - -i.flag.vanuatu:before, i.flag.vu:before { - background-position: -108px -182px -} - -i.flag.gb.wls:before, i.flag.wales:before { - background-position: -108px -208px -} - -i.flag.wallis.and.futuna:before, i.flag.wf:before { - background-position: -108px -234px -} - -i.flag.samoa:before, i.flag.ws:before { - background-position: -108px -260px -} - -i.flag.ye:before, i.flag.yemen:before { - background-position: -108px -286px -} - -i.flag.mayotte:before, i.flag.yt:before { - background-position: -108px -312px -} - -i.flag.south.africa:before, i.flag.za:before { - background-position: -108px -338px -} - -i.flag.zambia:before, i.flag.zm:before { - background-position: -108px -364px -} - -i.flag.zimbabwe:before, i.flag.zw:before { - background-position: -108px -390px -} - -/*! - * # Semantic UI 2.4.0 - Header - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.header { - border: none; - margin: calc(2rem - .14285714em) 0 1rem; - padding: 0 0; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-weight: 700; - line-height: 1.28571429em; - text-transform: none; - color: rgba(0, 0, 0, .87) -} - -.ui.header:first-child { - margin-top: -.14285714em -} - -.ui.header:last-child { - margin-bottom: 0 -} - -.ui.header .sub.header { - display: block; - font-weight: 400; - padding: 0; - margin: 0; - font-size: 1rem; - line-height: 1.2em; - color: rgba(0, 0, 0, .6) -} - -.ui.header > .icon { - display: table-cell; - opacity: 1; - font-size: 1.5em; - padding-top: 0; - vertical-align: middle -} - -.ui.header .icon:only-child { - display: inline-block; - padding: 0; - margin-right: .75rem -} - -.ui.header > .image:not(.icon), .ui.header > img { - display: inline-block; - margin-top: .14285714em; - width: 2.5em; - height: auto; - vertical-align: middle -} - -.ui.header > .image:not(.icon):only-child, .ui.header > img:only-child { - margin-right: .75rem -} - -.ui.header .content { - display: inline-block; - vertical-align: top -} - -.ui.header > .image + .content, .ui.header > img + .content { - padding-left: .75rem; - vertical-align: middle -} - -.ui.header > .icon + .content { - padding-left: .75rem; - display: table-cell; - vertical-align: middle -} - -.ui.header .ui.label { - font-size: ''; - margin-left: .5rem; - vertical-align: middle -} - -.ui.header + p { - margin-top: 0 -} - -h1.ui.header { - font-size: 2rem -} - -h2.ui.header { - font-size: 1.71428571rem -} - -h3.ui.header { - font-size: 1.28571429rem -} - -h4.ui.header { - font-size: 1.07142857rem -} - -h5.ui.header { - font-size: 1rem -} - -h1.ui.header .sub.header { - font-size: 1.14285714rem -} - -h2.ui.header .sub.header { - font-size: 1.14285714rem -} - -h3.ui.header .sub.header { - font-size: 1rem -} - -h4.ui.header .sub.header { - font-size: 1rem -} - -h5.ui.header .sub.header { - font-size: .92857143rem -} - -.ui.huge.header { - min-height: 1em; - font-size: 2em -} - -.ui.large.header { - font-size: 1.71428571em -} - -.ui.medium.header { - font-size: 1.28571429em -} - -.ui.small.header { - font-size: 1.07142857em -} - -.ui.tiny.header { - font-size: 1em -} - -.ui.huge.header .sub.header { - font-size: 1.14285714rem -} - -.ui.large.header .sub.header { - font-size: 1.14285714rem -} - -.ui.header .sub.header { - font-size: 1rem -} - -.ui.small.header .sub.header { - font-size: 1rem -} - -.ui.tiny.header .sub.header { - font-size: .92857143rem -} - -.ui.sub.header { - padding: 0; - margin-bottom: .14285714rem; - font-weight: 700; - font-size: .85714286em; - text-transform: uppercase; - color: '' -} - -.ui.small.sub.header { - font-size: .78571429em -} - -.ui.sub.header { - font-size: .85714286em -} - -.ui.large.sub.header { - font-size: .92857143em -} - -.ui.huge.sub.header { - font-size: 1em -} - -.ui.icon.header { - display: inline-block; - text-align: center; - margin: 2rem 0 1rem -} - -.ui.icon.header:after { - content: ''; - display: block; - height: 0; - clear: both; - visibility: hidden -} - -.ui.icon.header:first-child { - margin-top: 0 -} - -.ui.icon.header .icon { - float: none; - display: block; - width: auto; - height: auto; - line-height: 1; - padding: 0; - font-size: 3em; - margin: 0 auto .5rem; - opacity: 1 -} - -.ui.icon.header .content { - display: block; - padding: 0 -} - -.ui.icon.header .circular.icon { - font-size: 2em -} - -.ui.icon.header .square.icon { - font-size: 2em -} - -.ui.block.icon.header .icon { - margin-bottom: 0 -} - -.ui.icon.header.aligned { - margin-left: auto; - margin-right: auto; - display: block -} - -.ui.disabled.header { - opacity: .45 -} - -.ui.inverted.header { - color: #fff -} - -.ui.inverted.header .sub.header { - color: rgba(255, 255, 255, .8) -} - -.ui.inverted.attached.header { - background: #545454 -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, .05))); - background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, .05)); - background: #545454 linear-gradient(transparent, rgba(0, 0, 0, .05)); - -webkit-box-shadow: none; - box-shadow: none; - border-color: transparent -} - -.ui.inverted.block.header { - background: #545454 -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, .05))); - background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, .05)); - background: #545454 linear-gradient(transparent, rgba(0, 0, 0, .05)); - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.inverted.block.header { - border-bottom: none -} - -.ui.red.header { - color: #db2828 !important -} - -a.ui.red.header:hover { - color: #d01919 !important -} - -.ui.red.dividing.header { - border-bottom: 2px solid #db2828 -} - -.ui.inverted.red.header { - color: #ff695e !important -} - -a.ui.inverted.red.header:hover { - color: #ff5144 !important -} - -.ui.orange.header { - color: #f2711c !important -} - -a.ui.orange.header:hover { - color: #f26202 !important -} - -.ui.orange.dividing.header { - border-bottom: 2px solid #f2711c -} - -.ui.inverted.orange.header { - color: #ff851b !important -} - -a.ui.inverted.orange.header:hover { - color: #ff7701 !important -} - -.ui.olive.header { - color: #b5cc18 !important -} - -a.ui.olive.header:hover { - color: #a7bd0d !important -} - -.ui.olive.dividing.header { - border-bottom: 2px solid #b5cc18 -} - -.ui.inverted.olive.header { - color: #d9e778 !important -} - -a.ui.inverted.olive.header:hover { - color: #d8ea5c !important -} - -.ui.yellow.header { - color: #fbbd08 !important -} - -a.ui.yellow.header:hover { - color: #eaae00 !important -} - -.ui.yellow.dividing.header { - border-bottom: 2px solid #fbbd08 -} - -.ui.inverted.yellow.header { - color: #ffe21f !important -} - -a.ui.inverted.yellow.header:hover { - color: #ffdf05 !important -} - -.ui.green.header { - color: #21ba45 !important -} - -a.ui.green.header:hover { - color: #16ab39 !important -} - -.ui.green.dividing.header { - border-bottom: 2px solid #21ba45 -} - -.ui.inverted.green.header { - color: #2ecc40 !important -} - -a.ui.inverted.green.header:hover { - color: #22be34 !important -} - -.ui.teal.header { - color: #00b5ad !important -} - -a.ui.teal.header:hover { - color: #009c95 !important -} - -.ui.teal.dividing.header { - border-bottom: 2px solid #00b5ad -} - -.ui.inverted.teal.header { - color: #6dffff !important -} - -a.ui.inverted.teal.header:hover { - color: #54ffff !important -} - -.ui.blue.header { - color: #2185d0 !important -} - -a.ui.blue.header:hover { - color: #1678c2 !important -} - -.ui.blue.dividing.header { - border-bottom: 2px solid #2185d0 -} - -.ui.inverted.blue.header { - color: #54c8ff !important -} - -a.ui.inverted.blue.header:hover { - color: #3ac0ff !important -} - -.ui.violet.header { - color: #6435c9 !important -} - -a.ui.violet.header:hover { - color: #5829bb !important -} - -.ui.violet.dividing.header { - border-bottom: 2px solid #6435c9 -} - -.ui.inverted.violet.header { - color: #a291fb !important -} - -a.ui.inverted.violet.header:hover { - color: #8a73ff !important -} - -.ui.purple.header { - color: #a333c8 !important -} - -a.ui.purple.header:hover { - color: #9627ba !important -} - -.ui.purple.dividing.header { - border-bottom: 2px solid #a333c8 -} - -.ui.inverted.purple.header { - color: #dc73ff !important -} - -a.ui.inverted.purple.header:hover { - color: #d65aff !important -} - -.ui.pink.header { - color: #e03997 !important -} - -a.ui.pink.header:hover { - color: #e61a8d !important -} - -.ui.pink.dividing.header { - border-bottom: 2px solid #e03997 -} - -.ui.inverted.pink.header { - color: #ff8edf !important -} - -a.ui.inverted.pink.header:hover { - color: #ff74d8 !important -} - -.ui.brown.header { - color: #a5673f !important -} - -a.ui.brown.header:hover { - color: #975b33 !important -} - -.ui.brown.dividing.header { - border-bottom: 2px solid #a5673f -} - -.ui.inverted.brown.header { - color: #d67c1c !important -} - -a.ui.inverted.brown.header:hover { - color: #c86f11 !important -} - -.ui.grey.header { - color: #767676 !important -} - -a.ui.grey.header:hover { - color: #838383 !important -} - -.ui.grey.dividing.header { - border-bottom: 2px solid #767676 -} - -.ui.inverted.grey.header { - color: #dcddde !important -} - -a.ui.inverted.grey.header:hover { - color: #cfd0d2 !important -} - -.ui.left.aligned.header { - text-align: left -} - -.ui.right.aligned.header { - text-align: right -} - -.ui.center.aligned.header, .ui.centered.header { - text-align: center -} - -.ui.justified.header { - text-align: justify -} - -.ui.justified.header:after { - display: inline-block; - content: ''; - width: 100% -} - -.ui.floated.header, .ui[class*="left floated"].header { - float: left; - margin-top: 0; - margin-right: .5em -} - -.ui[class*="right floated"].header { - float: right; - margin-top: 0; - margin-left: .5em -} - -.ui.fitted.header { - padding: 0 -} - -.ui.dividing.header { - padding-bottom: .21428571rem; - border-bottom: 1px solid rgba(34, 36, 38, .15) -} - -.ui.dividing.header .sub.header { - padding-bottom: .21428571rem -} - -.ui.dividing.header .icon { - margin-bottom: 0 -} - -.ui.inverted.dividing.header { - border-bottom-color: rgba(255, 255, 255, .1) -} - -.ui.block.header { - background: #f3f4f5; - padding: .78571429rem 1rem; - -webkit-box-shadow: none; - box-shadow: none; - border: 1px solid #d4d4d5; - border-radius: .28571429rem -} - -.ui.tiny.block.header { - font-size: .85714286rem -} - -.ui.small.block.header { - font-size: .92857143rem -} - -.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) { - font-size: 1rem -} - -.ui.large.block.header { - font-size: 1.14285714rem -} - -.ui.huge.block.header { - font-size: 1.42857143rem -} - -.ui.attached.header { - background: #fff; - padding: .78571429rem 1rem; - margin-left: -1px; - margin-right: -1px; - -webkit-box-shadow: none; - box-shadow: none; - border: 1px solid #d4d4d5 -} - -.ui.attached.block.header { - background: #f3f4f5 -} - -.ui.attached:not(.top):not(.bottom).header { - margin-top: 0; - margin-bottom: 0; - border-top: none; - border-radius: 0 -} - -.ui.top.attached.header { - margin-bottom: 0; - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.bottom.attached.header { - margin-top: 0; - border-top: none; - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.tiny.attached.header { - font-size: .85714286em -} - -.ui.small.attached.header { - font-size: .92857143em -} - -.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) { - font-size: 1em -} - -.ui.large.attached.header { - font-size: 1.14285714em -} - -.ui.huge.attached.header { - font-size: 1.42857143em -} - -.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) { - font-size: 1.28571429em -} - -/*! - * # Semantic UI 2.4.0 - Icon - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -@font-face { - font-family: Icons; - src: url(themes/default/assets/fonts/icons.eot); - src: url(themes/default/assets/fonts/icons.eot?#iefix) format('embedded-opentype'), url(themes/default/assets/fonts/icons.woff2) format('woff2'), url(themes/default/assets/fonts/icons.woff) format('woff'), url(themes/default/assets/fonts/icons.ttf) format('truetype'), url(themes/default/assets/fonts/icons.svg#icons) format('svg'); - font-style: normal; - font-weight: 400; - font-variant: normal; - text-decoration: inherit; - text-transform: none -} - -i.icon { - display: inline-block; - opacity: 1; - margin: 0 .25rem 0 0; - width: 1.18em; - height: 1em; - font-family: Icons; - font-style: normal; - font-weight: 400; - text-decoration: inherit; - text-align: center; - speak: none; - font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - -webkit-backface-visibility: hidden; - backface-visibility: hidden -} - -i.icon:before { - background: 0 0 !important -} - -i.icon.loading { - height: 1em; - line-height: 1; - -webkit-animation: icon-loading 2s linear infinite; - animation: icon-loading 2s linear infinite -} - -@-webkit-keyframes icon-loading { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -@keyframes icon-loading { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -i.icon.hover { - opacity: 1 !important -} - -i.icon.active { - opacity: 1 !important -} - -i.emphasized.icon { - opacity: 1 !important -} - -i.disabled.icon { - opacity: .45 !important -} - -i.fitted.icon { - width: auto; - margin: 0 !important -} - -i.link.icon, i.link.icons { - cursor: pointer; - opacity: .8; - -webkit-transition: opacity .1s ease; - transition: opacity .1s ease -} - -i.link.icon:hover, i.link.icons:hover { - opacity: 1 !important -} - -i.circular.icon { - border-radius: 500em !important; - line-height: 1 !important; - padding: .5em 0 !important; - -webkit-box-shadow: 0 0 0 .1em rgba(0, 0, 0, .1) inset; - box-shadow: 0 0 0 .1em rgba(0, 0, 0, .1) inset; - width: 2em !important; - height: 2em !important -} - -i.circular.inverted.icon { - border: none; - -webkit-box-shadow: none; - box-shadow: none -} - -i.flipped.icon, i.horizontally.flipped.icon { - -webkit-transform: scale(-1, 1); - transform: scale(-1, 1) -} - -i.vertically.flipped.icon { - -webkit-transform: scale(1, -1); - transform: scale(1, -1) -} - -i.clockwise.rotated.icon, i.right.rotated.icon, i.rotated.icon { - -webkit-transform: rotate(90deg); - transform: rotate(90deg) -} - -i.counterclockwise.rotated.icon, i.left.rotated.icon { - -webkit-transform: rotate(-90deg); - transform: rotate(-90deg) -} - -i.bordered.icon { - line-height: 1; - vertical-align: baseline; - width: 2em; - height: 2em; - padding: .5em 0 !important; - -webkit-box-shadow: 0 0 0 .1em rgba(0, 0, 0, .1) inset; - box-shadow: 0 0 0 .1em rgba(0, 0, 0, .1) inset -} - -i.bordered.inverted.icon { - border: none; - -webkit-box-shadow: none; - box-shadow: none -} - -i.inverted.bordered.icon, i.inverted.circular.icon { - background-color: #1b1c1d !important; - color: #fff !important -} - -i.inverted.icon { - color: #fff -} - -i.red.icon { - color: #db2828 !important -} - -i.inverted.red.icon { - color: #ff695e !important -} - -i.inverted.bordered.red.icon, i.inverted.circular.red.icon { - background-color: #db2828 !important; - color: #fff !important -} - -i.orange.icon { - color: #f2711c !important -} - -i.inverted.orange.icon { - color: #ff851b !important -} - -i.inverted.bordered.orange.icon, i.inverted.circular.orange.icon { - background-color: #f2711c !important; - color: #fff !important -} - -i.yellow.icon { - color: #fbbd08 !important -} - -i.inverted.yellow.icon { - color: #ffe21f !important -} - -i.inverted.bordered.yellow.icon, i.inverted.circular.yellow.icon { - background-color: #fbbd08 !important; - color: #fff !important -} - -i.olive.icon { - color: #b5cc18 !important -} - -i.inverted.olive.icon { - color: #d9e778 !important -} - -i.inverted.bordered.olive.icon, i.inverted.circular.olive.icon { - background-color: #b5cc18 !important; - color: #fff !important -} - -i.green.icon { - color: #21ba45 !important -} - -i.inverted.green.icon { - color: #2ecc40 !important -} - -i.inverted.bordered.green.icon, i.inverted.circular.green.icon { - background-color: #21ba45 !important; - color: #fff !important -} - -i.teal.icon { - color: #00b5ad !important -} - -i.inverted.teal.icon { - color: #6dffff !important -} - -i.inverted.bordered.teal.icon, i.inverted.circular.teal.icon { - background-color: #00b5ad !important; - color: #fff !important -} - -i.blue.icon { - color: #2185d0 !important -} - -i.inverted.blue.icon { - color: #54c8ff !important -} - -i.inverted.bordered.blue.icon, i.inverted.circular.blue.icon { - background-color: #2185d0 !important; - color: #fff !important -} - -i.violet.icon { - color: #6435c9 !important -} - -i.inverted.violet.icon { - color: #a291fb !important -} - -i.inverted.bordered.violet.icon, i.inverted.circular.violet.icon { - background-color: #6435c9 !important; - color: #fff !important -} - -i.purple.icon { - color: #a333c8 !important -} - -i.inverted.purple.icon { - color: #dc73ff !important -} - -i.inverted.bordered.purple.icon, i.inverted.circular.purple.icon { - background-color: #a333c8 !important; - color: #fff !important -} - -i.pink.icon { - color: #e03997 !important -} - -i.inverted.pink.icon { - color: #ff8edf !important -} - -i.inverted.bordered.pink.icon, i.inverted.circular.pink.icon { - background-color: #e03997 !important; - color: #fff !important -} - -i.brown.icon { - color: #a5673f !important -} - -i.inverted.brown.icon { - color: #d67c1c !important -} - -i.inverted.bordered.brown.icon, i.inverted.circular.brown.icon { - background-color: #a5673f !important; - color: #fff !important -} - -i.grey.icon { - color: #767676 !important -} - -i.inverted.grey.icon { - color: #dcddde !important -} - -i.inverted.bordered.grey.icon, i.inverted.circular.grey.icon { - background-color: #767676 !important; - color: #fff !important -} - -i.black.icon { - color: #1b1c1d !important -} - -i.inverted.black.icon { - color: #545454 !important -} - -i.inverted.bordered.black.icon, i.inverted.circular.black.icon { - background-color: #1b1c1d !important; - color: #fff !important -} - -i.mini.icon, i.mini.icons { - line-height: 1; - font-size: .4em -} - -i.tiny.icon, i.tiny.icons { - line-height: 1; - font-size: .5em -} - -i.small.icon, i.small.icons { - line-height: 1; - font-size: .75em -} - -i.icon, i.icons { - font-size: 1em -} - -i.large.icon, i.large.icons { - line-height: 1; - vertical-align: middle; - font-size: 1.5em -} - -i.big.icon, i.big.icons { - line-height: 1; - vertical-align: middle; - font-size: 2em -} - -i.huge.icon, i.huge.icons { - line-height: 1; - vertical-align: middle; - font-size: 4em -} - -i.massive.icon, i.massive.icons { - line-height: 1; - vertical-align: middle; - font-size: 8em -} - -i.icons { - display: inline-block; - position: relative; - line-height: 1 -} - -i.icons .icon { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translateX(-50%) translateY(-50%); - transform: translateX(-50%) translateY(-50%); - margin: 0; - margin: 0 -} - -i.icons .icon:first-child { - position: static; - width: auto; - height: auto; - vertical-align: top; - -webkit-transform: none; - transform: none; - margin-right: .25rem -} - -i.icons .corner.icon { - top: auto; - left: auto; - right: 0; - bottom: 0; - -webkit-transform: none; - transform: none; - font-size: .45em; - text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff -} - -i.icons .top.right.corner.icon { - top: 0; - left: auto; - right: 0; - bottom: auto -} - -i.icons .top.left.corner.icon { - top: 0; - left: 0; - right: auto; - bottom: auto -} - -i.icons .bottom.left.corner.icon { - top: auto; - left: 0; - right: auto; - bottom: 0 -} - -i.icons .bottom.right.corner.icon { - top: auto; - left: auto; - right: 0; - bottom: 0 -} - -i.icons .inverted.corner.icon { - text-shadow: -1px -1px 0 #1b1c1d, 1px -1px 0 #1b1c1d, -1px 1px 0 #1b1c1d, 1px 1px 0 #1b1c1d -} - -i.icon.linkedin.in:before { - content: "\f0e1" -} - -i.icon.zoom.in:before { - content: "\f00e" -} - -i.icon.zoom.out:before { - content: "\f010" -} - -i.icon.sign.in:before { - content: "\f2f6" -} - -i.icon.in.cart:before { - content: "\f218" -} - -i.icon.log.out:before { - content: "\f2f5" -} - -i.icon.sign.out:before { - content: "\f2f5" -} - -i.icon.\35 00px:before { - content: "\f26e" -} - -i.icon.accessible.icon:before { - content: "\f368" -} - -i.icon.accusoft:before { - content: "\f369" -} - -i.icon.address.book:before { - content: "\f2b9" -} - -i.icon.address.card:before { - content: "\f2bb" -} - -i.icon.adjust:before { - content: "\f042" -} - -i.icon.adn:before { - content: "\f170" -} - -i.icon.adversal:before { - content: "\f36a" -} - -i.icon.affiliatetheme:before { - content: "\f36b" -} - -i.icon.algolia:before { - content: "\f36c" -} - -i.icon.align.center:before { - content: "\f037" -} - -i.icon.align.justify:before { - content: "\f039" -} - -i.icon.align.left:before { - content: "\f036" -} - -i.icon.align.right:before { - content: "\f038" -} - -i.icon.amazon:before { - content: "\f270" -} - -i.icon.amazon.pay:before { - content: "\f42c" -} - -i.icon.ambulance:before { - content: "\f0f9" -} - -i.icon.american.sign.language.interpreting:before { - content: "\f2a3" -} - -i.icon.amilia:before { - content: "\f36d" -} - -i.icon.anchor:before { - content: "\f13d" -} - -i.icon.android:before { - content: "\f17b" -} - -i.icon.angellist:before { - content: "\f209" -} - -i.icon.angle.double.down:before { - content: "\f103" -} - -i.icon.angle.double.left:before { - content: "\f100" -} - -i.icon.angle.double.right:before { - content: "\f101" -} - -i.icon.angle.double.up:before { - content: "\f102" -} - -i.icon.angle.down:before { - content: "\f107" -} - -i.icon.angle.left:before { - content: "\f104" -} - -i.icon.angle.right:before { - content: "\f105" -} - -i.icon.angle.up:before { - content: "\f106" -} - -i.icon.angrycreative:before { - content: "\f36e" -} - -i.icon.angular:before { - content: "\f420" -} - -i.icon.app.store:before { - content: "\f36f" -} - -i.icon.app.store.ios:before { - content: "\f370" -} - -i.icon.apper:before { - content: "\f371" -} - -i.icon.apple:before { - content: "\f179" -} - -i.icon.apple.pay:before { - content: "\f415" -} - -i.icon.archive:before { - content: "\f187" -} - -i.icon.arrow.alternate.circle.down:before { - content: "\f358" -} - -i.icon.arrow.alternate.circle.left:before { - content: "\f359" -} - -i.icon.arrow.alternate.circle.right:before { - content: "\f35a" -} - -i.icon.arrow.alternate.circle.up:before { - content: "\f35b" -} - -i.icon.arrow.circle.down:before { - content: "\f0ab" -} - -i.icon.arrow.circle.left:before { - content: "\f0a8" -} - -i.icon.arrow.circle.right:before { - content: "\f0a9" -} - -i.icon.arrow.circle.up:before { - content: "\f0aa" -} - -i.icon.arrow.down:before { - content: "\f063" -} - -i.icon.arrow.left:before { - content: "\f060" -} - -i.icon.arrow.right:before { - content: "\f061" -} - -i.icon.arrow.up:before { - content: "\f062" -} - -i.icon.arrows.alternate:before { - content: "\f0b2" -} - -i.icon.arrows.alternate.horizontal:before { - content: "\f337" -} - -i.icon.arrows.alternate.vertical:before { - content: "\f338" -} - -i.icon.assistive.listening.systems:before { - content: "\f2a2" -} - -i.icon.asterisk:before { - content: "\f069" -} - -i.icon.asymmetrik:before { - content: "\f372" -} - -i.icon.at:before { - content: "\f1fa" -} - -i.icon.audible:before { - content: "\f373" -} - -i.icon.audio.description:before { - content: "\f29e" -} - -i.icon.autoprefixer:before { - content: "\f41c" -} - -i.icon.avianex:before { - content: "\f374" -} - -i.icon.aviato:before { - content: "\f421" -} - -i.icon.aws:before { - content: "\f375" -} - -i.icon.backward:before { - content: "\f04a" -} - -i.icon.balance.scale:before { - content: "\f24e" -} - -i.icon.ban:before { - content: "\f05e" -} - -i.icon.band.aid:before { - content: "\f462" -} - -i.icon.bandcamp:before { - content: "\f2d5" -} - -i.icon.barcode:before { - content: "\f02a" -} - -i.icon.bars:before { - content: "\f0c9" -} - -i.icon.baseball.ball:before { - content: "\f433" -} - -i.icon.basketball.ball:before { - content: "\f434" -} - -i.icon.bath:before { - content: "\f2cd" -} - -i.icon.battery.empty:before { - content: "\f244" -} - -i.icon.battery.full:before { - content: "\f240" -} - -i.icon.battery.half:before { - content: "\f242" -} - -i.icon.battery.quarter:before { - content: "\f243" -} - -i.icon.battery.three.quarters:before { - content: "\f241" -} - -i.icon.bed:before { - content: "\f236" -} - -i.icon.beer:before { - content: "\f0fc" -} - -i.icon.behance:before { - content: "\f1b4" -} - -i.icon.behance.square:before { - content: "\f1b5" -} - -i.icon.bell:before { - content: "\f0f3" -} - -i.icon.bell.slash:before { - content: "\f1f6" -} - -i.icon.bicycle:before { - content: "\f206" -} - -i.icon.bimobject:before { - content: "\f378" -} - -i.icon.binoculars:before { - content: "\f1e5" -} - -i.icon.birthday.cake:before { - content: "\f1fd" -} - -i.icon.bitbucket:before { - content: "\f171" -} - -i.icon.bitcoin:before { - content: "\f379" -} - -i.icon.bity:before { - content: "\f37a" -} - -i.icon.black.tie:before { - content: "\f27e" -} - -i.icon.blackberry:before { - content: "\f37b" -} - -i.icon.blind:before { - content: "\f29d" -} - -i.icon.blogger:before { - content: "\f37c" -} - -i.icon.blogger.b:before { - content: "\f37d" -} - -i.icon.bluetooth:before { - content: "\f293" -} - -i.icon.bluetooth.b:before { - content: "\f294" -} - -i.icon.bold:before { - content: "\f032" -} - -i.icon.bolt:before { - content: "\f0e7" -} - -i.icon.bomb:before { - content: "\f1e2" -} - -i.icon.book:before { - content: "\f02d" -} - -i.icon.bookmark:before { - content: "\f02e" -} - -i.icon.bowling.ball:before { - content: "\f436" -} - -i.icon.box:before { - content: "\f466" -} - -i.icon.boxes:before { - content: "\f468" -} - -i.icon.braille:before { - content: "\f2a1" -} - -i.icon.briefcase:before { - content: "\f0b1" -} - -i.icon.btc:before { - content: "\f15a" -} - -i.icon.bug:before { - content: "\f188" -} - -i.icon.building:before { - content: "\f1ad" -} - -i.icon.bullhorn:before { - content: "\f0a1" -} - -i.icon.bullseye:before { - content: "\f140" -} - -i.icon.buromobelexperte:before { - content: "\f37f" -} - -i.icon.bus:before { - content: "\f207" -} - -i.icon.buysellads:before { - content: "\f20d" -} - -i.icon.calculator:before { - content: "\f1ec" -} - -i.icon.calendar:before { - content: "\f133" -} - -i.icon.calendar.alternate:before { - content: "\f073" -} - -i.icon.calendar.check:before { - content: "\f274" -} - -i.icon.calendar.minus:before { - content: "\f272" -} - -i.icon.calendar.plus:before { - content: "\f271" -} - -i.icon.calendar.times:before { - content: "\f273" -} - -i.icon.camera:before { - content: "\f030" -} - -i.icon.camera.retro:before { - content: "\f083" -} - -i.icon.car:before { - content: "\f1b9" -} - -i.icon.caret.down:before { - content: "\f0d7" -} - -i.icon.caret.left:before { - content: "\f0d9" -} - -i.icon.caret.right:before { - content: "\f0da" -} - -i.icon.caret.square.down:before { - content: "\f150" -} - -i.icon.caret.square.left:before { - content: "\f191" -} - -i.icon.caret.square.right:before { - content: "\f152" -} - -i.icon.caret.square.up:before { - content: "\f151" -} - -i.icon.caret.up:before { - content: "\f0d8" -} - -i.icon.cart.arrow.down:before { - content: "\f218" -} - -i.icon.cart.plus:before { - content: "\f217" -} - -i.icon.cc.amazon.pay:before { - content: "\f42d" -} - -i.icon.cc.amex:before { - content: "\f1f3" -} - -i.icon.cc.apple.pay:before { - content: "\f416" -} - -i.icon.cc.diners.club:before { - content: "\f24c" -} - -i.icon.cc.discover:before { - content: "\f1f2" -} - -i.icon.cc.jcb:before { - content: "\f24b" -} - -i.icon.cc.mastercard:before { - content: "\f1f1" -} - -i.icon.cc.paypal:before { - content: "\f1f4" -} - -i.icon.cc.stripe:before { - content: "\f1f5" -} - -i.icon.cc.visa:before { - content: "\f1f0" -} - -i.icon.centercode:before { - content: "\f380" -} - -i.icon.certificate:before { - content: "\f0a3" -} - -i.icon.chart.area:before { - content: "\f1fe" -} - -i.icon.chart.bar:before { - content: "\f080" -} - -i.icon.chart.line:before { - content: "\f201" -} - -i.icon.chart.pie:before { - content: "\f200" -} - -i.icon.check:before { - content: "\f00c" -} - -i.icon.check.circle:before { - content: "\f058" -} - -i.icon.check.square:before { - content: "\f14a" -} - -i.icon.chess:before { - content: "\f439" -} - -i.icon.chess.bishop:before { - content: "\f43a" -} - -i.icon.chess.board:before { - content: "\f43c" -} - -i.icon.chess.king:before { - content: "\f43f" -} - -i.icon.chess.knight:before { - content: "\f441" -} - -i.icon.chess.pawn:before { - content: "\f443" -} - -i.icon.chess.queen:before { - content: "\f445" -} - -i.icon.chess.rook:before { - content: "\f447" -} - -i.icon.chevron.circle.down:before { - content: "\f13a" -} - -i.icon.chevron.circle.left:before { - content: "\f137" -} - -i.icon.chevron.circle.right:before { - content: "\f138" -} - -i.icon.chevron.circle.up:before { - content: "\f139" -} - -i.icon.chevron.down:before { - content: "\f078" -} - -i.icon.chevron.left:before { - content: "\f053" -} - -i.icon.chevron.right:before { - content: "\f054" -} - -i.icon.chevron.up:before { - content: "\f077" -} - -i.icon.child:before { - content: "\f1ae" -} - -i.icon.chrome:before { - content: "\f268" -} - -i.icon.circle:before { - content: "\f111" -} - -i.icon.circle.notch:before { - content: "\f1ce" -} - -i.icon.clipboard:before { - content: "\f328" -} - -i.icon.clipboard.check:before { - content: "\f46c" -} - -i.icon.clipboard.list:before { - content: "\f46d" -} - -i.icon.clock:before { - content: "\f017" -} - -i.icon.clone:before { - content: "\f24d" -} - -i.icon.closed.captioning:before { - content: "\f20a" -} - -i.icon.cloud:before { - content: "\f0c2" -} - -i.icon.cloudscale:before { - content: "\f383" -} - -i.icon.cloudsmith:before { - content: "\f384" -} - -i.icon.cloudversify:before { - content: "\f385" -} - -i.icon.code:before { - content: "\f121" -} - -i.icon.code.branch:before { - content: "\f126" -} - -i.icon.codepen:before { - content: "\f1cb" -} - -i.icon.codiepie:before { - content: "\f284" -} - -i.icon.coffee:before { - content: "\f0f4" -} - -i.icon.cog:before { - content: "\f013" -} - -i.icon.cogs:before { - content: "\f085" -} - -i.icon.columns:before { - content: "\f0db" -} - -i.icon.comment:before { - content: "\f075" -} - -i.icon.comment.alternate:before { - content: "\f27a" -} - -i.icon.comments:before { - content: "\f086" -} - -i.icon.compass:before { - content: "\f14e" -} - -i.icon.compress:before { - content: "\f066" -} - -i.icon.connectdevelop:before { - content: "\f20e" -} - -i.icon.contao:before { - content: "\f26d" -} - -i.icon.copy:before { - content: "\f0c5" -} - -i.icon.copyright:before { - content: "\f1f9" -} - -i.icon.cpanel:before { - content: "\f388" -} - -i.icon.creative.commons:before { - content: "\f25e" -} - -i.icon.credit.card:before { - content: "\f09d" -} - -i.icon.crop:before { - content: "\f125" -} - -i.icon.crosshairs:before { - content: "\f05b" -} - -i.icon.css3:before { - content: "\f13c" -} - -i.icon.css3.alternate:before { - content: "\f38b" -} - -i.icon.cube:before { - content: "\f1b2" -} - -i.icon.cubes:before { - content: "\f1b3" -} - -i.icon.cut:before { - content: "\f0c4" -} - -i.icon.cuttlefish:before { - content: "\f38c" -} - -i.icon.d.and.d:before { - content: "\f38d" -} - -i.icon.dashcube:before { - content: "\f210" -} - -i.icon.database:before { - content: "\f1c0" -} - -i.icon.deaf:before { - content: "\f2a4" -} - -i.icon.delicious:before { - content: "\f1a5" -} - -i.icon.deploydog:before { - content: "\f38e" -} - -i.icon.deskpro:before { - content: "\f38f" -} - -i.icon.desktop:before { - content: "\f108" -} - -i.icon.deviantart:before { - content: "\f1bd" -} - -i.icon.digg:before { - content: "\f1a6" -} - -i.icon.digital.ocean:before { - content: "\f391" -} - -i.icon.discord:before { - content: "\f392" -} - -i.icon.discourse:before { - content: "\f393" -} - -i.icon.dna:before { - content: "\f471" -} - -i.icon.dochub:before { - content: "\f394" -} - -i.icon.docker:before { - content: "\f395" -} - -i.icon.dollar.sign:before { - content: "\f155" -} - -i.icon.dolly:before { - content: "\f472" -} - -i.icon.dolly.flatbed:before { - content: "\f474" -} - -i.icon.dot.circle:before { - content: "\f192" -} - -i.icon.download:before { - content: "\f019" -} - -i.icon.draft2digital:before { - content: "\f396" -} - -i.icon.dribbble:before { - content: "\f17d" -} - -i.icon.dribbble.square:before { - content: "\f397" -} - -i.icon.dropbox:before { - content: "\f16b" -} - -i.icon.drupal:before { - content: "\f1a9" -} - -i.icon.dyalog:before { - content: "\f399" -} - -i.icon.earlybirds:before { - content: "\f39a" -} - -i.icon.edge:before { - content: "\f282" -} - -i.icon.edit:before { - content: "\f044" -} - -i.icon.eject:before { - content: "\f052" -} - -i.icon.elementor:before { - content: "\f430" -} - -i.icon.ellipsis.horizontal:before { - content: "\f141" -} - -i.icon.ellipsis.vertical:before { - content: "\f142" -} - -i.icon.ember:before { - content: "\f423" -} - -i.icon.empire:before { - content: "\f1d1" -} - -i.icon.envelope:before { - content: "\f0e0" -} - -i.icon.envelope.open:before { - content: "\f2b6" -} - -i.icon.envelope.square:before { - content: "\f199" -} - -i.icon.envira:before { - content: "\f299" -} - -i.icon.eraser:before { - content: "\f12d" -} - -i.icon.erlang:before { - content: "\f39d" -} - -i.icon.ethereum:before { - content: "\f42e" -} - -i.icon.etsy:before { - content: "\f2d7" -} - -i.icon.euro.sign:before { - content: "\f153" -} - -i.icon.exchange.alternate:before { - content: "\f362" -} - -i.icon.exclamation:before { - content: "\f12a" -} - -i.icon.exclamation.circle:before { - content: "\f06a" -} - -i.icon.exclamation.triangle:before { - content: "\f071" -} - -i.icon.expand:before { - content: "\f065" -} - -i.icon.expand.arrows.alternate:before { - content: "\f31e" -} - -i.icon.expeditedssl:before { - content: "\f23e" -} - -i.icon.external.alternate:before { - content: "\f35d" -} - -i.icon.external.square.alternate:before { - content: "\f360" -} - -i.icon.eye:before { - content: "\f06e" -} - -i.icon.eye.dropper:before { - content: "\f1fb" -} - -i.icon.eye.slash:before { - content: "\f070" -} - -i.icon.facebook:before { - content: "\f09a" -} - -i.icon.facebook.f:before { - content: "\f39e" -} - -i.icon.facebook.messenger:before { - content: "\f39f" -} - -i.icon.facebook.square:before { - content: "\f082" -} - -i.icon.fast.backward:before { - content: "\f049" -} - -i.icon.fast.forward:before { - content: "\f050" -} - -i.icon.fax:before { - content: "\f1ac" -} - -i.icon.female:before { - content: "\f182" -} - -i.icon.fighter.jet:before { - content: "\f0fb" -} - -i.icon.file:before { - content: "\f15b" -} - -i.icon.file.alternate:before { - content: "\f15c" -} - -i.icon.file.archive:before { - content: "\f1c6" -} - -i.icon.file.audio:before { - content: "\f1c7" -} - -i.icon.file.code:before { - content: "\f1c9" -} - -i.icon.file.excel:before { - content: "\f1c3" -} - -i.icon.file.image:before { - content: "\f1c5" -} - -i.icon.file.pdf:before { - content: "\f1c1" -} - -i.icon.file.powerpoint:before { - content: "\f1c4" -} - -i.icon.file.video:before { - content: "\f1c8" -} - -i.icon.file.word:before { - content: "\f1c2" -} - -i.icon.film:before { - content: "\f008" -} - -i.icon.filter:before { - content: "\f0b0" -} - -i.icon.fire:before { - content: "\f06d" -} - -i.icon.fire.extinguisher:before { - content: "\f134" -} - -i.icon.firefox:before { - content: "\f269" -} - -i.icon.first.aid:before { - content: "\f479" -} - -i.icon.first.order:before { - content: "\f2b0" -} - -i.icon.firstdraft:before { - content: "\f3a1" -} - -i.icon.flag:before { - content: "\f024" -} - -i.icon.flag.checkered:before { - content: "\f11e" -} - -i.icon.flask:before { - content: "\f0c3" -} - -i.icon.flickr:before { - content: "\f16e" -} - -i.icon.flipboard:before { - content: "\f44d" -} - -i.icon.fly:before { - content: "\f417" -} - -i.icon.folder:before { - content: "\f07b" -} - -i.icon.folder.open:before { - content: "\f07c" -} - -i.icon.font:before { - content: "\f031" -} - -i.icon.font.awesome:before { - content: "\f2b4" -} - -i.icon.font.awesome.alternate:before { - content: "\f35c" -} - -i.icon.font.awesome.flag:before { - content: "\f425" -} - -i.icon.fonticons:before { - content: "\f280" -} - -i.icon.fonticons.fi:before { - content: "\f3a2" -} - -i.icon.football.ball:before { - content: "\f44e" -} - -i.icon.fort.awesome:before { - content: "\f286" -} - -i.icon.fort.awesome.alternate:before { - content: "\f3a3" -} - -i.icon.forumbee:before { - content: "\f211" -} - -i.icon.forward:before { - content: "\f04e" -} - -i.icon.foursquare:before { - content: "\f180" -} - -i.icon.free.code.camp:before { - content: "\f2c5" -} - -i.icon.freebsd:before { - content: "\f3a4" -} - -i.icon.frown:before { - content: "\f119" -} - -i.icon.futbol:before { - content: "\f1e3" -} - -i.icon.gamepad:before { - content: "\f11b" -} - -i.icon.gavel:before { - content: "\f0e3" -} - -i.icon.gem:before { - content: "\f3a5" -} - -i.icon.genderless:before { - content: "\f22d" -} - -i.icon.get.pocket:before { - content: "\f265" -} - -i.icon.gg:before { - content: "\f260" -} - -i.icon.gg.circle:before { - content: "\f261" -} - -i.icon.gift:before { - content: "\f06b" -} - -i.icon.git:before { - content: "\f1d3" -} - -i.icon.git.square:before { - content: "\f1d2" -} - -i.icon.github:before { - content: "\f09b" -} - -i.icon.github.alternate:before { - content: "\f113" -} - -i.icon.github.square:before { - content: "\f092" -} - -i.icon.gitkraken:before { - content: "\f3a6" -} - -i.icon.gitlab:before { - content: "\f296" -} - -i.icon.gitter:before { - content: "\f426" -} - -i.icon.glass.martini:before { - content: "\f000" -} - -i.icon.glide:before { - content: "\f2a5" -} - -i.icon.glide.g:before { - content: "\f2a6" -} - -i.icon.globe:before { - content: "\f0ac" -} - -i.icon.gofore:before { - content: "\f3a7" -} - -i.icon.golf.ball:before { - content: "\f450" -} - -i.icon.goodreads:before { - content: "\f3a8" -} - -i.icon.goodreads.g:before { - content: "\f3a9" -} - -i.icon.google:before { - content: "\f1a0" -} - -i.icon.google.drive:before { - content: "\f3aa" -} - -i.icon.google.play:before { - content: "\f3ab" -} - -i.icon.google.plus:before { - content: "\f2b3" -} - -i.icon.google.plus.g:before { - content: "\f0d5" -} - -i.icon.google.plus.square:before { - content: "\f0d4" -} - -i.icon.google.wallet:before { - content: "\f1ee" -} - -i.icon.graduation.cap:before { - content: "\f19d" -} - -i.icon.gratipay:before { - content: "\f184" -} - -i.icon.grav:before { - content: "\f2d6" -} - -i.icon.gripfire:before { - content: "\f3ac" -} - -i.icon.grunt:before { - content: "\f3ad" -} - -i.icon.gulp:before { - content: "\f3ae" -} - -i.icon.h.square:before { - content: "\f0fd" -} - -i.icon.hacker.news:before { - content: "\f1d4" -} - -i.icon.hacker.news.square:before { - content: "\f3af" -} - -i.icon.hand.lizard:before { - content: "\f258" -} - -i.icon.hand.paper:before { - content: "\f256" -} - -i.icon.hand.peace:before { - content: "\f25b" -} - -i.icon.hand.point.down:before { - content: "\f0a7" -} - -i.icon.hand.point.left:before { - content: "\f0a5" -} - -i.icon.hand.point.right:before { - content: "\f0a4" -} - -i.icon.hand.point.up:before { - content: "\f0a6" -} - -i.icon.hand.pointer:before { - content: "\f25a" -} - -i.icon.hand.rock:before { - content: "\f255" -} - -i.icon.hand.scissors:before { - content: "\f257" -} - -i.icon.hand.spock:before { - content: "\f259" -} - -i.icon.handshake:before { - content: "\f2b5" -} - -i.icon.hashtag:before { - content: "\f292" -} - -i.icon.hdd:before { - content: "\f0a0" -} - -i.icon.heading:before { - content: "\f1dc" -} - -i.icon.headphones:before { - content: "\f025" -} - -i.icon.heart:before { - content: "\f004" -} - -i.icon.heartbeat:before { - content: "\f21e" -} - -i.icon.hips:before { - content: "\f452" -} - -i.icon.hire.a.helper:before { - content: "\f3b0" -} - -i.icon.history:before { - content: "\f1da" -} - -i.icon.hockey.puck:before { - content: "\f453" -} - -i.icon.home:before { - content: "\f015" -} - -i.icon.hooli:before { - content: "\f427" -} - -i.icon.hospital:before { - content: "\f0f8" -} - -i.icon.hospital.symbol:before { - content: "\f47e" -} - -i.icon.hotjar:before { - content: "\f3b1" -} - -i.icon.hourglass:before { - content: "\f254" -} - -i.icon.hourglass.end:before { - content: "\f253" -} - -i.icon.hourglass.half:before { - content: "\f252" -} - -i.icon.hourglass.start:before { - content: "\f251" -} - -i.icon.houzz:before { - content: "\f27c" -} - -i.icon.html5:before { - content: "\f13b" -} - -i.icon.hubspot:before { - content: "\f3b2" -} - -i.icon.i.cursor:before { - content: "\f246" -} - -i.icon.id.badge:before { - content: "\f2c1" -} - -i.icon.id.card:before { - content: "\f2c2" -} - -i.icon.image:before { - content: "\f03e" -} - -i.icon.images:before { - content: "\f302" -} - -i.icon.imdb:before { - content: "\f2d8" -} - -i.icon.inbox:before { - content: "\f01c" -} - -i.icon.indent:before { - content: "\f03c" -} - -i.icon.industry:before { - content: "\f275" -} - -i.icon.info:before { - content: "\f129" -} - -i.icon.info.circle:before { - content: "\f05a" -} - -i.icon.instagram:before { - content: "\f16d" -} - -i.icon.internet.explorer:before { - content: "\f26b" -} - -i.icon.ioxhost:before { - content: "\f208" -} - -i.icon.italic:before { - content: "\f033" -} - -i.icon.itunes:before { - content: "\f3b4" -} - -i.icon.itunes.note:before { - content: "\f3b5" -} - -i.icon.jenkins:before { - content: "\f3b6" -} - -i.icon.joget:before { - content: "\f3b7" -} - -i.icon.joomla:before { - content: "\f1aa" -} - -i.icon.js:before { - content: "\f3b8" -} - -i.icon.js.square:before { - content: "\f3b9" -} - -i.icon.jsfiddle:before { - content: "\f1cc" -} - -i.icon.key:before { - content: "\f084" -} - -i.icon.keyboard:before { - content: "\f11c" -} - -i.icon.keycdn:before { - content: "\f3ba" -} - -i.icon.kickstarter:before { - content: "\f3bb" -} - -i.icon.kickstarter.k:before { - content: "\f3bc" -} - -i.icon.korvue:before { - content: "\f42f" -} - -i.icon.language:before { - content: "\f1ab" -} - -i.icon.laptop:before { - content: "\f109" -} - -i.icon.laravel:before { - content: "\f3bd" -} - -i.icon.lastfm:before { - content: "\f202" -} - -i.icon.lastfm.square:before { - content: "\f203" -} - -i.icon.leaf:before { - content: "\f06c" -} - -i.icon.leanpub:before { - content: "\f212" -} - -i.icon.lemon:before { - content: "\f094" -} - -i.icon.less:before { - content: "\f41d" -} - -i.icon.level.down.alternate:before { - content: "\f3be" -} - -i.icon.level.up.alternate:before { - content: "\f3bf" -} - -i.icon.life.ring:before { - content: "\f1cd" -} - -i.icon.lightbulb:before { - content: "\f0eb" -} - -i.icon.linechat:before { - content: "\f3c0" -} - -i.icon.linkify:before { - content: "\f0c1" -} - -i.icon.linkedin:before { - content: "\f08c" -} - -i.icon.linkedin.alt:before { - content: "\f0e1" -} - -i.icon.linode:before { - content: "\f2b8" -} - -i.icon.linux:before { - content: "\f17c" -} - -i.icon.lira.sign:before { - content: "\f195" -} - -i.icon.list:before { - content: "\f03a" -} - -i.icon.list.alternate:before { - content: "\f022" -} - -i.icon.list.ol:before { - content: "\f0cb" -} - -i.icon.list.ul:before { - content: "\f0ca" -} - -i.icon.location.arrow:before { - content: "\f124" -} - -i.icon.lock:before { - content: "\f023" -} - -i.icon.lock.open:before { - content: "\f3c1" -} - -i.icon.long.arrow.alternate.down:before { - content: "\f309" -} - -i.icon.long.arrow.alternate.left:before { - content: "\f30a" -} - -i.icon.long.arrow.alternate.right:before { - content: "\f30b" -} - -i.icon.long.arrow.alternate.up:before { - content: "\f30c" -} - -i.icon.low.vision:before { - content: "\f2a8" -} - -i.icon.lyft:before { - content: "\f3c3" -} - -i.icon.magento:before { - content: "\f3c4" -} - -i.icon.magic:before { - content: "\f0d0" -} - -i.icon.magnet:before { - content: "\f076" -} - -i.icon.male:before { - content: "\f183" -} - -i.icon.map:before { - content: "\f279" -} - -i.icon.map.marker:before { - content: "\f041" -} - -i.icon.map.marker.alternate:before { - content: "\f3c5" -} - -i.icon.map.pin:before { - content: "\f276" -} - -i.icon.map.signs:before { - content: "\f277" -} - -i.icon.mars:before { - content: "\f222" -} - -i.icon.mars.double:before { - content: "\f227" -} - -i.icon.mars.stroke:before { - content: "\f229" -} - -i.icon.mars.stroke.horizontal:before { - content: "\f22b" -} - -i.icon.mars.stroke.vertical:before { - content: "\f22a" -} - -i.icon.maxcdn:before { - content: "\f136" -} - -i.icon.medapps:before { - content: "\f3c6" -} - -i.icon.medium:before { - content: "\f23a" -} - -i.icon.medium.m:before { - content: "\f3c7" -} - -i.icon.medkit:before { - content: "\f0fa" -} - -i.icon.medrt:before { - content: "\f3c8" -} - -i.icon.meetup:before { - content: "\f2e0" -} - -i.icon.meh:before { - content: "\f11a" -} - -i.icon.mercury:before { - content: "\f223" -} - -i.icon.microchip:before { - content: "\f2db" -} - -i.icon.microphone:before { - content: "\f130" -} - -i.icon.microphone.slash:before { - content: "\f131" -} - -i.icon.microsoft:before { - content: "\f3ca" -} - -i.icon.minus:before { - content: "\f068" -} - -i.icon.minus.circle:before { - content: "\f056" -} - -i.icon.minus.square:before { - content: "\f146" -} - -i.icon.mix:before { - content: "\f3cb" -} - -i.icon.mixcloud:before { - content: "\f289" -} - -i.icon.mizuni:before { - content: "\f3cc" -} - -i.icon.mobile:before { - content: "\f10b" -} - -i.icon.mobile.alternate:before { - content: "\f3cd" -} - -i.icon.modx:before { - content: "\f285" -} - -i.icon.monero:before { - content: "\f3d0" -} - -i.icon.money.bill.alternate:before { - content: "\f3d1" -} - -i.icon.moon:before { - content: "\f186" -} - -i.icon.motorcycle:before { - content: "\f21c" -} - -i.icon.mouse.pointer:before { - content: "\f245" -} - -i.icon.music:before { - content: "\f001" -} - -i.icon.napster:before { - content: "\f3d2" -} - -i.icon.neuter:before { - content: "\f22c" -} - -i.icon.newspaper:before { - content: "\f1ea" -} - -i.icon.nintendo.switch:before { - content: "\f418" -} - -i.icon.node:before { - content: "\f419" -} - -i.icon.node.js:before { - content: "\f3d3" -} - -i.icon.npm:before { - content: "\f3d4" -} - -i.icon.ns8:before { - content: "\f3d5" -} - -i.icon.nutritionix:before { - content: "\f3d6" -} - -i.icon.object.group:before { - content: "\f247" -} - -i.icon.object.ungroup:before { - content: "\f248" -} - -i.icon.odnoklassniki:before { - content: "\f263" -} - -i.icon.odnoklassniki.square:before { - content: "\f264" -} - -i.icon.opencart:before { - content: "\f23d" -} - -i.icon.openid:before { - content: "\f19b" -} - -i.icon.opera:before { - content: "\f26a" -} - -i.icon.optin.monster:before { - content: "\f23c" -} - -i.icon.osi:before { - content: "\f41a" -} - -i.icon.outdent:before { - content: "\f03b" -} - -i.icon.page4:before { - content: "\f3d7" -} - -i.icon.pagelines:before { - content: "\f18c" -} - -i.icon.paint.brush:before { - content: "\f1fc" -} - -i.icon.palfed:before { - content: "\f3d8" -} - -i.icon.pallet:before { - content: "\f482" -} - -i.icon.paper.plane:before { - content: "\f1d8" -} - -i.icon.paperclip:before { - content: "\f0c6" -} - -i.icon.paragraph:before { - content: "\f1dd" -} - -i.icon.paste:before { - content: "\f0ea" -} - -i.icon.patreon:before { - content: "\f3d9" -} - -i.icon.pause:before { - content: "\f04c" -} - -i.icon.pause.circle:before { - content: "\f28b" -} - -i.icon.paw:before { - content: "\f1b0" -} - -i.icon.paypal:before { - content: "\f1ed" -} - -i.icon.pen.square:before { - content: "\f14b" -} - -i.icon.pencil.alternate:before { - content: "\f303" -} - -i.icon.percent:before { - content: "\f295" -} - -i.icon.periscope:before { - content: "\f3da" -} - -i.icon.phabricator:before { - content: "\f3db" -} - -i.icon.phoenix.framework:before { - content: "\f3dc" -} - -i.icon.phone:before { - content: "\f095" -} - -i.icon.phone.square:before { - content: "\f098" -} - -i.icon.phone.volume:before { - content: "\f2a0" -} - -i.icon.php:before { - content: "\f457" -} - -i.icon.pied.piper:before { - content: "\f2ae" -} - -i.icon.pied.piper.alternate:before { - content: "\f1a8" -} - -i.icon.pied.piper.pp:before { - content: "\f1a7" -} - -i.icon.pills:before { - content: "\f484" -} - -i.icon.pinterest:before { - content: "\f0d2" -} - -i.icon.pinterest.p:before { - content: "\f231" -} - -i.icon.pinterest.square:before { - content: "\f0d3" -} - -i.icon.plane:before { - content: "\f072" -} - -i.icon.play:before { - content: "\f04b" -} - -i.icon.play.circle:before { - content: "\f144" -} - -i.icon.playstation:before { - content: "\f3df" -} - -i.icon.plug:before { - content: "\f1e6" -} - -i.icon.plus:before { - content: "\f067" -} - -i.icon.plus.circle:before { - content: "\f055" -} - -i.icon.plus.square:before { - content: "\f0fe" -} - -i.icon.podcast:before { - content: "\f2ce" -} - -i.icon.pound.sign:before { - content: "\f154" -} - -i.icon.power.off:before { - content: "\f011" -} - -i.icon.print:before { - content: "\f02f" -} - -i.icon.product.hunt:before { - content: "\f288" -} - -i.icon.pushed:before { - content: "\f3e1" -} - -i.icon.puzzle.piece:before { - content: "\f12e" -} - -i.icon.python:before { - content: "\f3e2" -} - -i.icon.qq:before { - content: "\f1d6" -} - -i.icon.qrcode:before { - content: "\f029" -} - -i.icon.question:before { - content: "\f128" -} - -i.icon.question.circle:before { - content: "\f059" -} - -i.icon.quidditch:before { - content: "\f458" -} - -i.icon.quinscape:before { - content: "\f459" -} - -i.icon.quora:before { - content: "\f2c4" -} - -i.icon.quote.left:before { - content: "\f10d" -} - -i.icon.quote.right:before { - content: "\f10e" -} - -i.icon.random:before { - content: "\f074" -} - -i.icon.ravelry:before { - content: "\f2d9" -} - -i.icon.react:before { - content: "\f41b" -} - -i.icon.rebel:before { - content: "\f1d0" -} - -i.icon.recycle:before { - content: "\f1b8" -} - -i.icon.redriver:before { - content: "\f3e3" -} - -i.icon.reddit:before { - content: "\f1a1" -} - -i.icon.reddit.alien:before { - content: "\f281" -} - -i.icon.reddit.square:before { - content: "\f1a2" -} - -i.icon.redo:before { - content: "\f01e" -} - -i.icon.redo.alternate:before { - content: "\f2f9" -} - -i.icon.registered:before { - content: "\f25d" -} - -i.icon.rendact:before { - content: "\f3e4" -} - -i.icon.renren:before { - content: "\f18b" -} - -i.icon.reply:before { - content: "\f3e5" -} - -i.icon.reply.all:before { - content: "\f122" -} - -i.icon.replyd:before { - content: "\f3e6" -} - -i.icon.resolving:before { - content: "\f3e7" -} - -i.icon.retweet:before { - content: "\f079" -} - -i.icon.road:before { - content: "\f018" -} - -i.icon.rocket:before { - content: "\f135" -} - -i.icon.rocketchat:before { - content: "\f3e8" -} - -i.icon.rockrms:before { - content: "\f3e9" -} - -i.icon.rss:before { - content: "\f09e" -} - -i.icon.rss.square:before { - content: "\f143" -} - -i.icon.ruble.sign:before { - content: "\f158" -} - -i.icon.rupee.sign:before { - content: "\f156" -} - -i.icon.safari:before { - content: "\f267" -} - -i.icon.sass:before { - content: "\f41e" -} - -i.icon.save:before { - content: "\f0c7" -} - -i.icon.schlix:before { - content: "\f3ea" -} - -i.icon.scribd:before { - content: "\f28a" -} - -i.icon.search:before { - content: "\f002" -} - -i.icon.search.minus:before { - content: "\f010" -} - -i.icon.search.plus:before { - content: "\f00e" -} - -i.icon.searchengin:before { - content: "\f3eb" -} - -i.icon.sellcast:before { - content: "\f2da" -} - -i.icon.sellsy:before { - content: "\f213" -} - -i.icon.server:before { - content: "\f233" -} - -i.icon.servicestack:before { - content: "\f3ec" -} - -i.icon.share:before { - content: "\f064" -} - -i.icon.share.alternate:before { - content: "\f1e0" -} - -i.icon.share.alternate.square:before { - content: "\f1e1" -} - -i.icon.share.square:before { - content: "\f14d" -} - -i.icon.shekel.sign:before { - content: "\f20b" -} - -i.icon.shield.alternate:before { - content: "\f3ed" -} - -i.icon.ship:before { - content: "\f21a" -} - -i.icon.shipping.fast:before { - content: "\f48b" -} - -i.icon.shirtsinbulk:before { - content: "\f214" -} - -i.icon.shopping.bag:before { - content: "\f290" -} - -i.icon.shopping.basket:before { - content: "\f291" -} - -i.icon.shopping.cart:before { - content: "\f07a" -} - -i.icon.shower:before { - content: "\f2cc" -} - -i.icon.sign.language:before { - content: "\f2a7" -} - -i.icon.signal:before { - content: "\f012" -} - -i.icon.simplybuilt:before { - content: "\f215" -} - -i.icon.sistrix:before { - content: "\f3ee" -} - -i.icon.sitemap:before { - content: "\f0e8" -} - -i.icon.skyatlas:before { - content: "\f216" -} - -i.icon.skype:before { - content: "\f17e" -} - -i.icon.slack:before { - content: "\f198" -} - -i.icon.slack.hash:before { - content: "\f3ef" -} - -i.icon.sliders.horizontal:before { - content: "\f1de" -} - -i.icon.slideshare:before { - content: "\f1e7" -} - -i.icon.smile:before { - content: "\f118" -} - -i.icon.snapchat:before { - content: "\f2ab" -} - -i.icon.snapchat.ghost:before { - content: "\f2ac" -} - -i.icon.snapchat.square:before { - content: "\f2ad" -} - -i.icon.snowflake:before { - content: "\f2dc" -} - -i.icon.sort:before { - content: "\f0dc" -} - -i.icon.sort.alphabet.down:before { - content: "\f15d" -} - -i.icon.sort.alphabet.up:before { - content: "\f15e" -} - -i.icon.sort.amount.down:before { - content: "\f160" -} - -i.icon.sort.amount.up:before { - content: "\f161" -} - -i.icon.sort.down:before { - content: "\f0dd" -} - -i.icon.sort.numeric.down:before { - content: "\f162" -} - -i.icon.sort.numeric.up:before { - content: "\f163" -} - -i.icon.sort.up:before { - content: "\f0de" -} - -i.icon.soundcloud:before { - content: "\f1be" -} - -i.icon.space.shuttle:before { - content: "\f197" -} - -i.icon.speakap:before { - content: "\f3f3" -} - -i.icon.spinner:before { - content: "\f110" -} - -i.icon.spotify:before { - content: "\f1bc" -} - -i.icon.square:before { - content: "\f0c8" -} - -i.icon.square.full:before { - content: "\f45c" -} - -i.icon.stack.exchange:before { - content: "\f18d" -} - -i.icon.stack.overflow:before { - content: "\f16c" -} - -i.icon.star:before { - content: "\f005" -} - -i.icon.star.half:before { - content: "\f089" -} - -i.icon.staylinked:before { - content: "\f3f5" -} - -i.icon.steam:before { - content: "\f1b6" -} - -i.icon.steam.square:before { - content: "\f1b7" -} - -i.icon.steam.symbol:before { - content: "\f3f6" -} - -i.icon.step.backward:before { - content: "\f048" -} - -i.icon.step.forward:before { - content: "\f051" -} - -i.icon.stethoscope:before { - content: "\f0f1" -} - -i.icon.sticker.mule:before { - content: "\f3f7" -} - -i.icon.sticky.note:before { - content: "\f249" -} - -i.icon.stop:before { - content: "\f04d" -} - -i.icon.stop.circle:before { - content: "\f28d" -} - -i.icon.stopwatch:before { - content: "\f2f2" -} - -i.icon.strava:before { - content: "\f428" -} - -i.icon.street.view:before { - content: "\f21d" -} - -i.icon.strikethrough:before { - content: "\f0cc" -} - -i.icon.stripe:before { - content: "\f429" -} - -i.icon.stripe.s:before { - content: "\f42a" -} - -i.icon.studiovinari:before { - content: "\f3f8" -} - -i.icon.stumbleupon:before { - content: "\f1a4" -} - -i.icon.stumbleupon.circle:before { - content: "\f1a3" -} - -i.icon.subscript:before { - content: "\f12c" -} - -i.icon.subway:before { - content: "\f239" -} - -i.icon.suitcase:before { - content: "\f0f2" -} - -i.icon.sun:before { - content: "\f185" -} - -i.icon.superpowers:before { - content: "\f2dd" -} - -i.icon.superscript:before { - content: "\f12b" -} - -i.icon.supple:before { - content: "\f3f9" -} - -i.icon.sync:before { - content: "\f021" -} - -i.icon.sync.alternate:before { - content: "\f2f1" -} - -i.icon.syringe:before { - content: "\f48e" -} - -i.icon.table:before { - content: "\f0ce" -} - -i.icon.table.tennis:before { - content: "\f45d" -} - -i.icon.tablet:before { - content: "\f10a" -} - -i.icon.tablet.alternate:before { - content: "\f3fa" -} - -i.icon.tachometer.alternate:before { - content: "\f3fd" -} - -i.icon.tag:before { - content: "\f02b" -} - -i.icon.tags:before { - content: "\f02c" -} - -i.icon.tasks:before { - content: "\f0ae" -} - -i.icon.taxi:before { - content: "\f1ba" -} - -i.icon.telegram:before { - content: "\f2c6" -} - -i.icon.telegram.plane:before { - content: "\f3fe" -} - -i.icon.tencent.weibo:before { - content: "\f1d5" -} - -i.icon.terminal:before { - content: "\f120" -} - -i.icon.text.height:before { - content: "\f034" -} - -i.icon.text.width:before { - content: "\f035" -} - -i.icon.th:before { - content: "\f00a" -} - -i.icon.th.large:before { - content: "\f009" -} - -i.icon.th.list:before { - content: "\f00b" -} - -i.icon.themeisle:before { - content: "\f2b2" -} - -i.icon.thermometer:before { - content: "\f491" -} - -i.icon.thermometer.empty:before { - content: "\f2cb" -} - -i.icon.thermometer.full:before { - content: "\f2c7" -} - -i.icon.thermometer.half:before { - content: "\f2c9" -} - -i.icon.thermometer.quarter:before { - content: "\f2ca" -} - -i.icon.thermometer.three.quarters:before { - content: "\f2c8" -} - -i.icon.thumbs.down:before { - content: "\f165" -} - -i.icon.thumbs.up:before { - content: "\f164" -} - -i.icon.thumbtack:before { - content: "\f08d" -} - -i.icon.ticket.alternate:before { - content: "\f3ff" -} - -i.icon.times:before { - content: "\f00d" -} - -i.icon.times.circle:before { - content: "\f057" -} - -i.icon.tint:before { - content: "\f043" -} - -i.icon.toggle.off:before { - content: "\f204" -} - -i.icon.toggle.on:before { - content: "\f205" -} - -i.icon.trademark:before { - content: "\f25c" -} - -i.icon.train:before { - content: "\f238" -} - -i.icon.transgender:before { - content: "\f224" -} - -i.icon.transgender.alternate:before { - content: "\f225" -} - -i.icon.trash:before { - content: "\f1f8" -} - -i.icon.trash.alternate:before { - content: "\f2ed" -} - -i.icon.tree:before { - content: "\f1bb" -} - -i.icon.trello:before { - content: "\f181" -} - -i.icon.tripadvisor:before { - content: "\f262" -} - -i.icon.trophy:before { - content: "\f091" -} - -i.icon.truck:before { - content: "\f0d1" -} - -i.icon.tty:before { - content: "\f1e4" -} - -i.icon.tumblr:before { - content: "\f173" -} - -i.icon.tumblr.square:before { - content: "\f174" -} - -i.icon.tv:before { - content: "\f26c" -} - -i.icon.twitch:before { - content: "\f1e8" -} - -i.icon.twitter:before { - content: "\f099" -} - -i.icon.twitter.square:before { - content: "\f081" -} - -i.icon.typo3:before { - content: "\f42b" -} - -i.icon.uber:before { - content: "\f402" -} - -i.icon.uikit:before { - content: "\f403" -} - -i.icon.umbrella:before { - content: "\f0e9" -} - -i.icon.underline:before { - content: "\f0cd" -} - -i.icon.undo:before { - content: "\f0e2" -} - -i.icon.undo.alternate:before { - content: "\f2ea" -} - -i.icon.uniregistry:before { - content: "\f404" -} - -i.icon.universal.access:before { - content: "\f29a" -} - -i.icon.university:before { - content: "\f19c" -} - -i.icon.unlink:before { - content: "\f127" -} - -i.icon.unlock:before { - content: "\f09c" -} - -i.icon.unlock.alternate:before { - content: "\f13e" -} - -i.icon.untappd:before { - content: "\f405" -} - -i.icon.upload:before { - content: "\f093" -} - -i.icon.usb:before { - content: "\f287" -} - -i.icon.user:before { - content: "\f007" -} - -i.icon.user.circle:before { - content: "\f2bd" -} - -i.icon.user.md:before { - content: "\f0f0" -} - -i.icon.user.plus:before { - content: "\f234" -} - -i.icon.user.secret:before { - content: "\f21b" -} - -i.icon.user.times:before { - content: "\f235" -} - -i.icon.users:before { - content: "\f0c0" -} - -i.icon.ussunnah:before { - content: "\f407" -} - -i.icon.utensil.spoon:before { - content: "\f2e5" -} - -i.icon.utensils:before { - content: "\f2e7" -} - -i.icon.vaadin:before { - content: "\f408" -} - -i.icon.venus:before { - content: "\f221" -} - -i.icon.venus.double:before { - content: "\f226" -} - -i.icon.venus.mars:before { - content: "\f228" -} - -i.icon.viacoin:before { - content: "\f237" -} - -i.icon.viadeo:before { - content: "\f2a9" -} - -i.icon.viadeo.square:before { - content: "\f2aa" -} - -i.icon.viber:before { - content: "\f409" -} - -i.icon.video:before { - content: "\f03d" -} - -i.icon.vimeo:before { - content: "\f40a" -} - -i.icon.vimeo.square:before { - content: "\f194" -} - -i.icon.vimeo.v:before { - content: "\f27d" -} - -i.icon.vine:before { - content: "\f1ca" -} - -i.icon.vk:before { - content: "\f189" -} - -i.icon.vnv:before { - content: "\f40b" -} - -i.icon.volleyball.ball:before { - content: "\f45f" -} - -i.icon.volume.down:before { - content: "\f027" -} - -i.icon.volume.off:before { - content: "\f026" -} - -i.icon.volume.up:before { - content: "\f028" -} - -i.icon.vuejs:before { - content: "\f41f" -} - -i.icon.warehouse:before { - content: "\f494" -} - -i.icon.weibo:before { - content: "\f18a" -} - -i.icon.weight:before { - content: "\f496" -} - -i.icon.weixin:before { - content: "\f1d7" -} - -i.icon.whatsapp:before { - content: "\f232" -} - -i.icon.whatsapp.square:before { - content: "\f40c" -} - -i.icon.wheelchair:before { - content: "\f193" -} - -i.icon.whmcs:before { - content: "\f40d" -} - -i.icon.wifi:before { - content: "\f1eb" -} - -i.icon.wikipedia.w:before { - content: "\f266" -} - -i.icon.window.close:before { - content: "\f410" -} - -i.icon.window.maximize:before { - content: "\f2d0" -} - -i.icon.window.minimize:before { - content: "\f2d1" -} - -i.icon.window.restore:before { - content: "\f2d2" -} - -i.icon.windows:before { - content: "\f17a" -} - -i.icon.won.sign:before { - content: "\f159" -} - -i.icon.wordpress:before { - content: "\f19a" -} - -i.icon.wordpress.simple:before { - content: "\f411" -} - -i.icon.wpbeginner:before { - content: "\f297" -} - -i.icon.wpexplorer:before { - content: "\f2de" -} - -i.icon.wpforms:before { - content: "\f298" -} - -i.icon.wrench:before { - content: "\f0ad" -} - -i.icon.xbox:before { - content: "\f412" -} - -i.icon.xing:before { - content: "\f168" -} - -i.icon.xing.square:before { - content: "\f169" -} - -i.icon.y.combinator:before { - content: "\f23b" -} - -i.icon.yahoo:before { - content: "\f19e" -} - -i.icon.yandex:before { - content: "\f413" -} - -i.icon.yandex.international:before { - content: "\f414" -} - -i.icon.yelp:before { - content: "\f1e9" -} - -i.icon.yen.sign:before { - content: "\f157" -} - -i.icon.yoast:before { - content: "\f2b1" -} - -i.icon.youtube:before { - content: "\f167" -} - -i.icon.youtube.square:before { - content: "\f431" -} - -i.icon.chess.rock:before { - content: "\f447" -} - -i.icon.ordered.list:before { - content: "\f0cb" -} - -i.icon.unordered.list:before { - content: "\f0ca" -} - -i.icon.user.doctor:before { - content: "\f0f0" -} - -i.icon.shield:before { - content: "\f3ed" -} - -i.icon.puzzle:before { - content: "\f12e" -} - -i.icon.credit.card.amazon.pay:before { - content: "\f42d" -} - -i.icon.credit.card.american.express:before { - content: "\f1f3" -} - -i.icon.credit.card.diners.club:before { - content: "\f24c" -} - -i.icon.credit.card.discover:before { - content: "\f1f2" -} - -i.icon.credit.card.jcb:before { - content: "\f24b" -} - -i.icon.credit.card.mastercard:before { - content: "\f1f1" -} - -i.icon.credit.card.paypal:before { - content: "\f1f4" -} - -i.icon.credit.card.stripe:before { - content: "\f1f5" -} - -i.icon.credit.card.visa:before { - content: "\f1f0" -} - -i.icon.add.circle:before { - content: "\f055" -} - -i.icon.add.square:before { - content: "\f0fe" -} - -i.icon.add.to.calendar:before { - content: "\f271" -} - -i.icon.add.to.cart:before { - content: "\f217" -} - -i.icon.add.user:before { - content: "\f234" -} - -i.icon.add:before { - content: "\f067" -} - -i.icon.alarm.mute:before { - content: "\f1f6" -} - -i.icon.alarm:before { - content: "\f0f3" -} - -i.icon.ald:before { - content: "\f2a2" -} - -i.icon.als:before { - content: "\f2a2" -} - -i.icon.american.express.card:before { - content: "\f1f3" -} - -i.icon.american.express:before { - content: "\f1f3" -} - -i.icon.amex:before { - content: "\f1f3" -} - -i.icon.announcement:before { - content: "\f0a1" -} - -i.icon.area.chart:before { - content: "\f1fe" -} - -i.icon.area.graph:before { - content: "\f1fe" -} - -i.icon.arrow.down.cart:before { - content: "\f218" -} - -i.icon.asexual:before { - content: "\f22d" -} - -i.icon.asl.interpreting:before { - content: "\f2a3" -} - -i.icon.asl:before { - content: "\f2a3" -} - -i.icon.assistive.listening.devices:before { - content: "\f2a2" -} - -i.icon.attach:before { - content: "\f0c6" -} - -i.icon.attention:before { - content: "\f06a" -} - -i.icon.balance:before { - content: "\f24e" -} - -i.icon.bar:before { - content: "\f0fc" -} - -i.icon.bathtub:before { - content: "\f2cd" -} - -i.icon.battery.four:before { - content: "\f240" -} - -i.icon.battery.high:before { - content: "\f241" -} - -i.icon.battery.low:before { - content: "\f243" -} - -i.icon.battery.medium:before { - content: "\f242" -} - -i.icon.battery.one:before { - content: "\f243" -} - -i.icon.battery.three:before { - content: "\f241" -} - -i.icon.battery.two:before { - content: "\f242" -} - -i.icon.battery.zero:before { - content: "\f244" -} - -i.icon.birthday:before { - content: "\f1fd" -} - -i.icon.block.layout:before { - content: "\f009" -} - -i.icon.bluetooth.alternative:before { - content: "\f294" -} - -i.icon.broken.chain:before { - content: "\f127" -} - -i.icon.browser:before { - content: "\f022" -} - -i.icon.call.square:before { - content: "\f098" -} - -i.icon.call:before { - content: "\f095" -} - -i.icon.cancel:before { - content: "\f00d" -} - -i.icon.cart:before { - content: "\f07a" -} - -i.icon.cc:before { - content: "\f20a" -} - -i.icon.chain:before { - content: "\f0c1" -} - -i.icon.chat:before { - content: "\f075" -} - -i.icon.checked.calendar:before { - content: "\f274" -} - -i.icon.checkmark:before { - content: "\f00c" -} - -i.icon.circle.notched:before { - content: "\f1ce" -} - -i.icon.close:before { - content: "\f00d" -} - -i.icon.cny:before { - content: "\f157" -} - -i.icon.cocktail:before { - content: "\f000" -} - -i.icon.commenting:before { - content: "\f27a" -} - -i.icon.computer:before { - content: "\f108" -} - -i.icon.configure:before { - content: "\f0ad" -} - -i.icon.content:before { - content: "\f0c9" -} - -i.icon.deafness:before { - content: "\f2a4" -} - -i.icon.delete.calendar:before { - content: "\f273" -} - -i.icon.delete:before { - content: "\f00d" -} - -i.icon.detective:before { - content: "\f21b" -} - -i.icon.diners.club.card:before { - content: "\f24c" -} - -i.icon.diners.club:before { - content: "\f24c" -} - -i.icon.discover.card:before { - content: "\f1f2" -} - -i.icon.discover:before { - content: "\f1f2" -} - -i.icon.discussions:before { - content: "\f086" -} - -i.icon.doctor:before { - content: "\f0f0" -} - -i.icon.dollar:before { - content: "\f155" -} - -i.icon.dont:before { - content: "\f05e" -} - -i.icon.dribble:before { - content: "\f17d" -} - -i.icon.drivers.license:before { - content: "\f2c2" -} - -i.icon.dropdown:before { - content: "\f0d7" -} - -i.icon.eercast:before { - content: "\f2da" -} - -i.icon.emergency:before { - content: "\f0f9" -} - -i.icon.envira.gallery:before { - content: "\f299" -} - -i.icon.erase:before { - content: "\f12d" -} - -i.icon.eur:before { - content: "\f153" -} - -i.icon.euro:before { - content: "\f153" -} - -i.icon.eyedropper:before { - content: "\f1fb" -} - -i.icon.fa:before { - content: "\f2b4" -} - -i.icon.factory:before { - content: "\f275" -} - -i.icon.favorite:before { - content: "\f005" -} - -i.icon.feed:before { - content: "\f09e" -} - -i.icon.female.homosexual:before { - content: "\f226" -} - -i.icon.file.text:before { - content: "\f15c" -} - -i.icon.find:before { - content: "\f1e5" -} - -i.icon.first.aid:before { - content: "\f0fa" -} - -i.icon.five.hundred.pixels:before { - content: "\f26e" -} - -i.icon.fork:before { - content: "\f126" -} - -i.icon.game:before { - content: "\f11b" -} - -i.icon.gay:before { - content: "\f227" -} - -i.icon.gbp:before { - content: "\f154" -} - -i.icon.gittip:before { - content: "\f184" -} - -i.icon.google.plus.circle:before { - content: "\f2b3" -} - -i.icon.google.plus.official:before { - content: "\f2b3" -} - -i.icon.grab:before { - content: "\f255" -} - -i.icon.graduation:before { - content: "\f19d" -} - -i.icon.grid.layout:before { - content: "\f00a" -} - -i.icon.group:before { - content: "\f0c0" -} - -i.icon.h:before { - content: "\f0fd" -} - -i.icon.hand.victory:before { - content: "\f25b" -} - -i.icon.handicap:before { - content: "\f193" -} - -i.icon.hard.of.hearing:before { - content: "\f2a4" -} - -i.icon.header:before { - content: "\f1dc" -} - -i.icon.help.circle:before { - content: "\f059" -} - -i.icon.help:before { - content: "\f128" -} - -i.icon.heterosexual:before { - content: "\f228" -} - -i.icon.hide:before { - content: "\f070" -} - -i.icon.hotel:before { - content: "\f236" -} - -i.icon.hourglass.four:before { - content: "\f254" -} - -i.icon.hourglass.full:before { - content: "\f254" -} - -i.icon.hourglass.one:before { - content: "\f251" -} - -i.icon.hourglass.three:before { - content: "\f253" -} - -i.icon.hourglass.two:before { - content: "\f252" -} - -i.icon.idea:before { - content: "\f0eb" -} - -i.icon.ils:before { - content: "\f20b" -} - -i.icon.in-cart:before { - content: "\f218" -} - -i.icon.inr:before { - content: "\f156" -} - -i.icon.intergender:before { - content: "\f224" -} - -i.icon.intersex:before { - content: "\f224" -} - -i.icon.japan.credit.bureau.card:before { - content: "\f24b" -} - -i.icon.japan.credit.bureau:before { - content: "\f24b" -} - -i.icon.jcb:before { - content: "\f24b" -} - -i.icon.jpy:before { - content: "\f157" -} - -i.icon.krw:before { - content: "\f159" -} - -i.icon.lab:before { - content: "\f0c3" -} - -i.icon.law:before { - content: "\f24e" -} - -i.icon.legal:before { - content: "\f0e3" -} - -i.icon.lesbian:before { - content: "\f226" -} - -i.icon.lightning:before { - content: "\f0e7" -} - -i.icon.like:before { - content: "\f004" -} - -i.icon.line.graph:before { - content: "\f201" -} - -i.icon.linkedin.square:before { - content: "\f08c" -} - -i.icon.linkify:before { - content: "\f0c1" -} - -i.icon.lira:before { - content: "\f195" -} - -i.icon.list.layout:before { - content: "\f00b" -} - -i.icon.magnify:before { - content: "\f00e" -} - -i.icon.mail.forward:before { - content: "\f064" -} - -i.icon.mail.square:before { - content: "\f199" -} - -i.icon.mail:before { - content: "\f0e0" -} - -i.icon.male.homosexual:before { - content: "\f227" -} - -i.icon.man:before { - content: "\f222" -} - -i.icon.marker:before { - content: "\f041" -} - -i.icon.mars.alternate:before { - content: "\f229" -} - -i.icon.mars.horizontal:before { - content: "\f22b" -} - -i.icon.mars.vertical:before { - content: "\f22a" -} - -i.icon.mastercard.card:before { - content: "\f1f1" -} - -i.icon.mastercard:before { - content: "\f1f1" -} - -i.icon.microsoft.edge:before { - content: "\f282" -} - -i.icon.military:before { - content: "\f0fb" -} - -i.icon.ms.edge:before { - content: "\f282" -} - -i.icon.mute:before { - content: "\f131" -} - -i.icon.new.pied.piper:before { - content: "\f2ae" -} - -i.icon.non.binary.transgender:before { - content: "\f223" -} - -i.icon.numbered.list:before { - content: "\f0cb" -} - -i.icon.optinmonster:before { - content: "\f23c" -} - -i.icon.options:before { - content: "\f1de" -} - -i.icon.other.gender.horizontal:before { - content: "\f22b" -} - -i.icon.other.gender.vertical:before { - content: "\f22a" -} - -i.icon.other.gender:before { - content: "\f229" -} - -i.icon.payment:before { - content: "\f09d" -} - -i.icon.paypal.card:before { - content: "\f1f4" -} - -i.icon.pencil.square:before { - content: "\f14b" -} - -i.icon.photo:before { - content: "\f030" -} - -i.icon.picture:before { - content: "\f03e" -} - -i.icon.pie.chart:before { - content: "\f200" -} - -i.icon.pie.graph:before { - content: "\f200" -} - -i.icon.pied.piper.hat:before { - content: "\f2ae" -} - -i.icon.pin:before { - content: "\f08d" -} - -i.icon.plus.cart:before { - content: "\f217" -} - -i.icon.pocket:before { - content: "\f265" -} - -i.icon.point:before { - content: "\f041" -} - -i.icon.pointing.down:before { - content: "\f0a7" -} - -i.icon.pointing.left:before { - content: "\f0a5" -} - -i.icon.pointing.right:before { - content: "\f0a4" -} - -i.icon.pointing.up:before { - content: "\f0a6" -} - -i.icon.pound:before { - content: "\f154" -} - -i.icon.power.cord:before { - content: "\f1e6" -} - -i.icon.power:before { - content: "\f011" -} - -i.icon.privacy:before { - content: "\f084" -} - -i.icon.r.circle:before { - content: "\f25d" -} - -i.icon.rain:before { - content: "\f0e9" -} - -i.icon.record:before { - content: "\f03d" -} - -i.icon.refresh:before { - content: "\f021" -} - -i.icon.remove.circle:before { - content: "\f057" -} - -i.icon.remove.from.calendar:before { - content: "\f272" -} - -i.icon.remove.user:before { - content: "\f235" -} - -i.icon.remove:before { - content: "\f00d" -} - -i.icon.repeat:before { - content: "\f01e" -} - -i.icon.rmb:before { - content: "\f157" -} - -i.icon.rouble:before { - content: "\f158" -} - -i.icon.rub:before { - content: "\f158" -} - -i.icon.ruble:before { - content: "\f158" -} - -i.icon.rupee:before { - content: "\f156" -} - -i.icon.s15:before { - content: "\f2cd" -} - -i.icon.selected.radio:before { - content: "\f192" -} - -i.icon.send:before { - content: "\f1d8" -} - -i.icon.setting:before { - content: "\f013" -} - -i.icon.settings:before { - content: "\f085" -} - -i.icon.shekel:before { - content: "\f20b" -} - -i.icon.sheqel:before { - content: "\f20b" -} - -i.icon.shipping:before { - content: "\f0d1" -} - -i.icon.shop:before { - content: "\f07a" -} - -i.icon.shuffle:before { - content: "\f074" -} - -i.icon.shutdown:before { - content: "\f011" -} - -i.icon.sidebar:before { - content: "\f0c9" -} - -i.icon.signing:before { - content: "\f2a7" -} - -i.icon.signup:before { - content: "\f044" -} - -i.icon.sliders:before { - content: "\f1de" -} - -i.icon.soccer:before { - content: "\f1e3" -} - -i.icon.sort.alphabet.ascending:before { - content: "\f15d" -} - -i.icon.sort.alphabet.descending:before { - content: "\f15e" -} - -i.icon.sort.ascending:before { - content: "\f0de" -} - -i.icon.sort.content.ascending:before { - content: "\f160" -} - -i.icon.sort.content.descending:before { - content: "\f161" -} - -i.icon.sort.descending:before { - content: "\f0dd" -} - -i.icon.sort.numeric.ascending:before { - content: "\f162" -} - -i.icon.sort.numeric.descending:before { - content: "\f163" -} - -i.icon.sound:before { - content: "\f025" -} - -i.icon.spy:before { - content: "\f21b" -} - -i.icon.stripe.card:before { - content: "\f1f5" -} - -i.icon.student:before { - content: "\f19d" -} - -i.icon.talk:before { - content: "\f27a" -} - -i.icon.target:before { - content: "\f140" -} - -i.icon.teletype:before { - content: "\f1e4" -} - -i.icon.television:before { - content: "\f26c" -} - -i.icon.text.cursor:before { - content: "\f246" -} - -i.icon.text.telephone:before { - content: "\f1e4" -} - -i.icon.theme.isle:before { - content: "\f2b2" -} - -i.icon.theme:before { - content: "\f043" -} - -i.icon.thermometer:before { - content: "\f2c7" -} - -i.icon.thumb.tack:before { - content: "\f08d" -} - -i.icon.time:before { - content: "\f017" -} - -i.icon.tm:before { - content: "\f25c" -} - -i.icon.toggle.down:before { - content: "\f150" -} - -i.icon.toggle.left:before { - content: "\f191" -} - -i.icon.toggle.right:before { - content: "\f152" -} - -i.icon.toggle.up:before { - content: "\f151" -} - -i.icon.translate:before { - content: "\f1ab" -} - -i.icon.travel:before { - content: "\f0b1" -} - -i.icon.treatment:before { - content: "\f0f1" -} - -i.icon.triangle.down:before { - content: "\f0d7" -} - -i.icon.triangle.left:before { - content: "\f0d9" -} - -i.icon.triangle.right:before { - content: "\f0da" -} - -i.icon.triangle.up:before { - content: "\f0d8" -} - -i.icon.try:before { - content: "\f195" -} - -i.icon.unhide:before { - content: "\f06e" -} - -i.icon.unlinkify:before { - content: "\f127" -} - -i.icon.unmute:before { - content: "\f130" -} - -i.icon.usd:before { - content: "\f155" -} - -i.icon.user.cancel:before { - content: "\f235" -} - -i.icon.user.close:before { - content: "\f235" -} - -i.icon.user.delete:before { - content: "\f235" -} - -i.icon.user.x:before { - content: "\f235" -} - -i.icon.vcard:before { - content: "\f2bb" -} - -i.icon.video.camera:before { - content: "\f03d" -} - -i.icon.video.play:before { - content: "\f144" -} - -i.icon.visa.card:before { - content: "\f1f0" -} - -i.icon.visa:before { - content: "\f1f0" -} - -i.icon.volume.control.phone:before { - content: "\f2a0" -} - -i.icon.wait:before { - content: "\f017" -} - -i.icon.warning.circle:before { - content: "\f06a" -} - -i.icon.warning.sign:before { - content: "\f071" -} - -i.icon.warning:before { - content: "\f12a" -} - -i.icon.wechat:before { - content: "\f1d7" -} - -i.icon.wi-fi:before { - content: "\f1eb" -} - -i.icon.wikipedia:before { - content: "\f266" -} - -i.icon.winner:before { - content: "\f091" -} - -i.icon.wizard:before { - content: "\f0d0" -} - -i.icon.woman:before { - content: "\f221" -} - -i.icon.won:before { - content: "\f159" -} - -i.icon.wordpress.beginner:before { - content: "\f297" -} - -i.icon.wordpress.forms:before { - content: "\f298" -} - -i.icon.world:before { - content: "\f0ac" -} - -i.icon.write.square:before { - content: "\f14b" -} - -i.icon.x:before { - content: "\f00d" -} - -i.icon.yc:before { - content: "\f23b" -} - -i.icon.ycombinator:before { - content: "\f23b" -} - -i.icon.yen:before { - content: "\f157" -} - -i.icon.zip:before { - content: "\f187" -} - -i.icon.zoom-in:before { - content: "\f00e" -} - -i.icon.zoom-out:before { - content: "\f010" -} - -i.icon.zoom:before { - content: "\f00e" -} - -i.icon.bitbucket.square:before { - content: "\f171" -} - -i.icon.checkmark.box:before { - content: "\f14a" -} - -i.icon.circle.thin:before { - content: "\f111" -} - -i.icon.cloud.download:before { - content: "\f381" -} - -i.icon.cloud.upload:before { - content: "\f382" -} - -i.icon.compose:before { - content: "\f303" -} - -i.icon.conversation:before { - content: "\f086" -} - -i.icon.credit.card.alternative:before { - content: "\f09d" -} - -i.icon.currency:before { - content: "\f3d1" -} - -i.icon.dashboard:before { - content: "\f3fd" -} - -i.icon.diamond:before { - content: "\f3a5" -} - -i.icon.disk:before { - content: "\f0a0" -} - -i.icon.exchange:before { - content: "\f362" -} - -i.icon.external.share:before { - content: "\f14d" -} - -i.icon.external.square:before { - content: "\f360" -} - -i.icon.external:before { - content: "\f35d" -} - -i.icon.facebook.official:before { - content: "\f082" -} - -i.icon.food:before { - content: "\f2e7" -} - -i.icon.hourglass.zero:before { - content: "\f253" -} - -i.icon.level.down:before { - content: "\f3be" -} - -i.icon.level.up:before { - content: "\f3bf" -} - -i.icon.logout:before { - content: "\f2f5" -} - -i.icon.meanpath:before { - content: "\f0c8" -} - -i.icon.money:before { - content: "\f3d1" -} - -i.icon.move:before { - content: "\f0b2" -} - -i.icon.pencil:before { - content: "\f303" -} - -i.icon.protect:before { - content: "\f023" -} - -i.icon.radio:before { - content: "\f192" -} - -i.icon.remove.bookmark:before { - content: "\f02e" -} - -i.icon.resize.horizontal:before { - content: "\f337" -} - -i.icon.resize.vertical:before { - content: "\f338" -} - -i.icon.sign-in:before { - content: "\f2f6" -} - -i.icon.sign-out:before { - content: "\f2f5" -} - -i.icon.spoon:before { - content: "\f2e5" -} - -i.icon.star.half.empty:before { - content: "\f089" -} - -i.icon.star.half.full:before { - content: "\f089" -} - -i.icon.ticket:before { - content: "\f3ff" -} - -i.icon.times.rectangle:before { - content: "\f410" -} - -i.icon.write:before { - content: "\f303" -} - -i.icon.youtube.play:before { - content: "\f167" -} - -@font-face { - font-family: outline-icons; - src: url(themes/default/assets/fonts/outline-icons.eot); - src: url(themes/default/assets/fonts/outline-icons.eot?#iefix) format('embedded-opentype'), url(themes/default/assets/fonts/outline-icons.woff2) format('woff2'), url(themes/default/assets/fonts/outline-icons.woff) format('woff'), url(themes/default/assets/fonts/outline-icons.ttf) format('truetype'), url(themes/default/assets/fonts/outline-icons.svg#icons) format('svg'); - font-style: normal; - font-weight: 400; - font-variant: normal; - text-decoration: inherit; - text-transform: none -} - -i.icon.outline { - font-family: outline-icons -} - -i.icon.address.book.outline:before { - content: "\f2b9" -} - -i.icon.address.card.outline:before { - content: "\f2bb" -} - -i.icon.arrow.alternate.circle.down.outline:before { - content: "\f358" -} - -i.icon.arrow.alternate.circle.left.outline:before { - content: "\f359" -} - -i.icon.arrow.alternate.circle.right.outline:before { - content: "\f35a" -} - -i.icon.arrow.alternate.circle.up.outline:before { - content: "\f35b" -} - -i.icon.bell.outline:before { - content: "\f0f3" -} - -i.icon.bell.slash.outline:before { - content: "\f1f6" -} - -i.icon.bookmark.outline:before { - content: "\f02e" -} - -i.icon.building.outline:before { - content: "\f1ad" -} - -i.icon.calendar.outline:before { - content: "\f133" -} - -i.icon.calendar.alternate.outline:before { - content: "\f073" -} - -i.icon.calendar.check.outline:before { - content: "\f274" -} - -i.icon.calendar.minus.outline:before { - content: "\f272" -} - -i.icon.calendar.plus.outline:before { - content: "\f271" -} - -i.icon.calendar.times.outline:before { - content: "\f273" -} - -i.icon.caret.square.down.outline:before { - content: "\f150" -} - -i.icon.caret.square.left.outline:before { - content: "\f191" -} - -i.icon.caret.square.right.outline:before { - content: "\f152" -} - -i.icon.caret.square.up.outline:before { - content: "\f151" -} - -i.icon.chart.bar.outline:before { - content: "\f080" -} - -i.icon.check.circle.outline:before { - content: "\f058" -} - -i.icon.check.square.outline:before { - content: "\f14a" -} - -i.icon.circle.outline:before { - content: "\f111" -} - -i.icon.clipboard.outline:before { - content: "\f328" -} - -i.icon.clock.outline:before { - content: "\f017" -} - -i.icon.clone.outline:before { - content: "\f24d" -} - -i.icon.closed.captioning.outline:before { - content: "\f20a" -} - -i.icon.comment.outline:before { - content: "\f075" -} - -i.icon.comment.alternate.outline:before { - content: "\f27a" -} - -i.icon.comments.outline:before { - content: "\f086" -} - -i.icon.compass.outline:before { - content: "\f14e" -} - -i.icon.copy.outline:before { - content: "\f0c5" -} - -i.icon.copyright.outline:before { - content: "\f1f9" -} - -i.icon.credit.card.outline:before { - content: "\f09d" -} - -i.icon.dot.circle.outline:before { - content: "\f192" -} - -i.icon.edit.outline:before { - content: "\f044" -} - -i.icon.envelope.outline:before { - content: "\f0e0" -} - -i.icon.envelope.open.outline:before { - content: "\f2b6" -} - -i.icon.eye.slash.outline:before { - content: "\f070" -} - -i.icon.file.outline:before { - content: "\f15b" -} - -i.icon.file.alternate.outline:before { - content: "\f15c" -} - -i.icon.file.archive.outline:before { - content: "\f1c6" -} - -i.icon.file.audio.outline:before { - content: "\f1c7" -} - -i.icon.file.code.outline:before { - content: "\f1c9" -} - -i.icon.file.excel.outline:before { - content: "\f1c3" -} - -i.icon.file.image.outline:before { - content: "\f1c5" -} - -i.icon.file.pdf.outline:before { - content: "\f1c1" -} - -i.icon.file.powerpoint.outline:before { - content: "\f1c4" -} - -i.icon.file.video.outline:before { - content: "\f1c8" -} - -i.icon.file.word.outline:before { - content: "\f1c2" -} - -i.icon.flag.outline:before { - content: "\f024" -} - -i.icon.folder.outline:before { - content: "\f07b" -} - -i.icon.folder.open.outline:before { - content: "\f07c" -} - -i.icon.frown.outline:before { - content: "\f119" -} - -i.icon.futbol.outline:before { - content: "\f1e3" -} - -i.icon.gem.outline:before { - content: "\f3a5" -} - -i.icon.hand.lizard.outline:before { - content: "\f258" -} - -i.icon.hand.paper.outline:before { - content: "\f256" -} - -i.icon.hand.peace.outline:before { - content: "\f25b" -} - -i.icon.hand.point.down.outline:before { - content: "\f0a7" -} - -i.icon.hand.point.left.outline:before { - content: "\f0a5" -} - -i.icon.hand.point.right.outline:before { - content: "\f0a4" -} - -i.icon.hand.point.up.outline:before { - content: "\f0a6" -} - -i.icon.hand.pointer.outline:before { - content: "\f25a" -} - -i.icon.hand.rock.outline:before { - content: "\f255" -} - -i.icon.hand.scissors.outline:before { - content: "\f257" -} - -i.icon.hand.spock.outline:before { - content: "\f259" -} - -i.icon.handshake.outline:before { - content: "\f2b5" -} - -i.icon.hdd.outline:before { - content: "\f0a0" -} - -i.icon.heart.outline:before { - content: "\f004" -} - -i.icon.hospital.outline:before { - content: "\f0f8" -} - -i.icon.hourglass.outline:before { - content: "\f254" -} - -i.icon.id.badge.outline:before { - content: "\f2c1" -} - -i.icon.id.card.outline:before { - content: "\f2c2" -} - -i.icon.image.outline:before { - content: "\f03e" -} - -i.icon.images.outline:before { - content: "\f302" -} - -i.icon.keyboard.outline:before { - content: "\f11c" -} - -i.icon.lemon.outline:before { - content: "\f094" -} - -i.icon.life.ring.outline:before { - content: "\f1cd" -} - -i.icon.lightbulb.outline:before { - content: "\f0eb" -} - -i.icon.list.alternate.outline:before { - content: "\f022" -} - -i.icon.map.outline:before { - content: "\f279" -} - -i.icon.meh.outline:before { - content: "\f11a" -} - -i.icon.minus.square.outline:before { - content: "\f146" -} - -i.icon.money.bill.alternate.outline:before { - content: "\f3d1" -} - -i.icon.moon.outline:before { - content: "\f186" -} - -i.icon.newspaper.outline:before { - content: "\f1ea" -} - -i.icon.object.group.outline:before { - content: "\f247" -} - -i.icon.object.ungroup.outline:before { - content: "\f248" -} - -i.icon.paper.plane.outline:before { - content: "\f1d8" -} - -i.icon.pause.circle.outline:before { - content: "\f28b" -} - -i.icon.play.circle.outline:before { - content: "\f144" -} - -i.icon.plus.square.outline:before { - content: "\f0fe" -} - -i.icon.question.circle.outline:before { - content: "\f059" -} - -i.icon.registered.outline:before { - content: "\f25d" -} - -i.icon.save.outline:before { - content: "\f0c7" -} - -i.icon.share.square.outline:before { - content: "\f14d" -} - -i.icon.smile.outline:before { - content: "\f118" -} - -i.icon.snowflake.outline:before { - content: "\f2dc" -} - -i.icon.square.outline:before { - content: "\f0c8" -} - -i.icon.star.outline:before { - content: "\f005" -} - -i.icon.star.half.outline:before { - content: "\f089" -} - -i.icon.sticky.note.outline:before { - content: "\f249" -} - -i.icon.stop.circle.outline:before { - content: "\f28d" -} - -i.icon.sun.outline:before { - content: "\f185" -} - -i.icon.thumbs.down.outline:before { - content: "\f165" -} - -i.icon.thumbs.up.outline:before { - content: "\f164" -} - -i.icon.times.circle.outline:before { - content: "\f057" -} - -i.icon.trash.alternate.outline:before { - content: "\f2ed" -} - -i.icon.user.outline:before { - content: "\f007" -} - -i.icon.user.circle.outline:before { - content: "\f2bd" -} - -i.icon.window.close.outline:before { - content: "\f410" -} - -i.icon.window.maximize.outline:before { - content: "\f2d0" -} - -i.icon.window.minimize.outline:before { - content: "\f2d1" -} - -i.icon.window.restore.outline:before { - content: "\f2d2" -} - -i.icon.disk.outline:before { - content: "\f0a0" -} - -i.icon.heart.empty, i.icon.star.empty { - font-family: outline-icons -} - -i.icon.heart.empty:before { - content: "\f004" -} - -i.icon.star.empty:before { - content: "\f089" -} - -@font-face { - font-family: brand-icons; - src: url(themes/default/assets/fonts/brand-icons.eot); - src: url(themes/default/assets/fonts/brand-icons.eot?#iefix) format('embedded-opentype'), url(themes/default/assets/fonts/brand-icons.woff2) format('woff2'), url(themes/default/assets/fonts/brand-icons.woff) format('woff'), url(themes/default/assets/fonts/brand-icons.ttf) format('truetype'), url(themes/default/assets/fonts/brand-icons.svg#icons) format('svg'); - font-style: normal; - font-weight: 400; - font-variant: normal; - text-decoration: inherit; - text-transform: none -} - -i.icon.\35 00px, i.icon.accessible.icon, i.icon.accusoft, i.icon.adn, i.icon.adversal, i.icon.affiliatetheme, i.icon.algolia, i.icon.amazon, i.icon.amazon.pay, i.icon.amilia, i.icon.android, i.icon.angellist, i.icon.angrycreative, i.icon.angular, i.icon.app.store, i.icon.app.store.ios, i.icon.apper, i.icon.apple, i.icon.apple.pay, i.icon.asymmetrik, i.icon.audible, i.icon.autoprefixer, i.icon.avianex, i.icon.aviato, i.icon.aws, i.icon.bandcamp, i.icon.behance, i.icon.behance.square, i.icon.bimobject, i.icon.bitbucket, i.icon.bitcoin, i.icon.bity, i.icon.black.tie, i.icon.blackberry, i.icon.blogger, i.icon.blogger.b, i.icon.bluetooth, i.icon.bluetooth.b, i.icon.btc, i.icon.buromobelexperte, i.icon.buysellads, i.icon.cc.amazon.pay, i.icon.cc.amex, i.icon.cc.apple.pay, i.icon.cc.diners.club, i.icon.cc.discover, i.icon.cc.jcb, i.icon.cc.mastercard, i.icon.cc.paypal, i.icon.cc.stripe, i.icon.cc.visa, i.icon.centercode, i.icon.chrome, i.icon.cloudscale, i.icon.cloudsmith, i.icon.cloudversify, i.icon.codepen, i.icon.codiepie, i.icon.connectdevelop, i.icon.contao, i.icon.cpanel, i.icon.creative.commons, i.icon.css3, i.icon.css3.alternate, i.icon.cuttlefish, i.icon.d.and.d, i.icon.dashcube, i.icon.delicious, i.icon.deploydog, i.icon.deskpro, i.icon.deviantart, i.icon.digg, i.icon.digital.ocean, i.icon.discord, i.icon.discourse, i.icon.dochub, i.icon.docker, i.icon.draft2digital, i.icon.dribbble, i.icon.dribbble.square, i.icon.dropbox, i.icon.drupal, i.icon.dyalog, i.icon.earlybirds, i.icon.edge, i.icon.elementor, i.icon.ember, i.icon.empire, i.icon.envira, i.icon.erlang, i.icon.ethereum, i.icon.etsy, i.icon.expeditedssl, i.icon.facebook, i.icon.facebook.f, i.icon.facebook.messenger, i.icon.facebook.square, i.icon.firefox, i.icon.first.order, i.icon.firstdraft, i.icon.flickr, i.icon.flipboard, i.icon.fly, i.icon.font.awesome, i.icon.font.awesome.alternate, i.icon.font.awesome.flag, i.icon.fonticons, i.icon.fonticons.fi, i.icon.fort.awesome, i.icon.fort.awesome.alternate, i.icon.forumbee, i.icon.foursquare, i.icon.free.code.camp, i.icon.freebsd, i.icon.get.pocket, i.icon.gg, i.icon.gg.circle, i.icon.git, i.icon.git.square, i.icon.github, i.icon.github.alternate, i.icon.github.square, i.icon.gitkraken, i.icon.gitlab, i.icon.gitter, i.icon.glide, i.icon.glide.g, i.icon.gofore, i.icon.goodreads, i.icon.goodreads.g, i.icon.google, i.icon.google.drive, i.icon.google.play, i.icon.google.plus, i.icon.google.plus.g, i.icon.google.plus.square, i.icon.google.wallet, i.icon.gratipay, i.icon.grav, i.icon.gripfire, i.icon.grunt, i.icon.gulp, i.icon.hacker.news, i.icon.hacker.news.square, i.icon.hips, i.icon.hire.a.helper, i.icon.hooli, i.icon.hotjar, i.icon.houzz, i.icon.html5, i.icon.hubspot, i.icon.imdb, i.icon.instagram, i.icon.internet.explorer, i.icon.ioxhost, i.icon.itunes, i.icon.itunes.note, i.icon.jenkins, i.icon.joget, i.icon.joomla, i.icon.js, i.icon.js.square, i.icon.jsfiddle, i.icon.keycdn, i.icon.kickstarter, i.icon.kickstarter.k, i.icon.korvue, i.icon.laravel, i.icon.lastfm, i.icon.lastfm.square, i.icon.leanpub, i.icon.less, i.icon.linechat, i.icon.linkedin, i.icon.linkedin.alternate, i.icon.linkedin.in, i.icon.linode, i.icon.linux, i.icon.lyft, i.icon.magento, i.icon.maxcdn, i.icon.medapps, i.icon.medium, i.icon.medium.m, i.icon.medrt, i.icon.meetup, i.icon.microsoft, i.icon.mix, i.icon.mixcloud, i.icon.mizuni, i.icon.modx, i.icon.monero, i.icon.napster, i.icon.nintendo.switch, i.icon.node, i.icon.node.js, i.icon.npm, i.icon.ns8, i.icon.nutritionix, i.icon.odnoklassniki, i.icon.odnoklassniki.square, i.icon.opencart, i.icon.openid, i.icon.opera, i.icon.optin.monster, i.icon.osi, i.icon.page4, i.icon.pagelines, i.icon.palfed, i.icon.patreon, i.icon.paypal, i.icon.periscope, i.icon.phabricator, i.icon.phoenix.framework, i.icon.php, i.icon.pied.piper, i.icon.pied.piper.alternate, i.icon.pied.piper.pp, i.icon.pinterest, i.icon.pinterest.p, i.icon.pinterest.square, i.icon.playstation, i.icon.product.hunt, i.icon.pushed, i.icon.python, i.icon.qq, i.icon.quinscape, i.icon.quora, i.icon.ravelry, i.icon.react, i.icon.rebel, i.icon.reddit, i.icon.reddit.alien, i.icon.reddit.square, i.icon.redriver, i.icon.rendact, i.icon.renren, i.icon.replyd, i.icon.resolving, i.icon.rocketchat, i.icon.rockrms, i.icon.safari, i.icon.sass, i.icon.schlix, i.icon.scribd, i.icon.searchengin, i.icon.sellcast, i.icon.sellsy, i.icon.servicestack, i.icon.shirtsinbulk, i.icon.simplybuilt, i.icon.sistrix, i.icon.skyatlas, i.icon.skype, i.icon.slack, i.icon.slack.hash, i.icon.slideshare, i.icon.snapchat, i.icon.snapchat.ghost, i.icon.snapchat.square, i.icon.soundcloud, i.icon.speakap, i.icon.spotify, i.icon.stack.exchange, i.icon.stack.overflow, i.icon.staylinked, i.icon.steam, i.icon.steam.square, i.icon.steam.symbol, i.icon.sticker.mule, i.icon.strava, i.icon.stripe, i.icon.stripe.s, i.icon.studiovinari, i.icon.stumbleupon, i.icon.stumbleupon.circle, i.icon.superpowers, i.icon.supple, i.icon.telegram, i.icon.telegram.plane, i.icon.tencent.weibo, i.icon.themeisle, i.icon.trello, i.icon.tripadvisor, i.icon.tumblr, i.icon.tumblr.square, i.icon.twitch, i.icon.twitter, i.icon.twitter.square, i.icon.typo3, i.icon.uber, i.icon.uikit, i.icon.uniregistry, i.icon.untappd, i.icon.usb, i.icon.ussunnah, i.icon.vaadin, i.icon.viacoin, i.icon.viadeo, i.icon.viadeo.square, i.icon.viber, i.icon.vimeo, i.icon.vimeo.square, i.icon.vimeo.v, i.icon.vine, i.icon.vk, i.icon.vnv, i.icon.vuejs, i.icon.wechat, i.icon.weibo, i.icon.weixin, i.icon.whatsapp, i.icon.whatsapp.square, i.icon.whmcs, i.icon.wikipedia.w, i.icon.windows, i.icon.wordpress, i.icon.wordpress.simple, i.icon.wpbeginner, i.icon.wpexplorer, i.icon.wpforms, i.icon.xbox, i.icon.xing, i.icon.xing.square, i.icon.y.combinator, i.icon.yahoo, i.icon.yandex, i.icon.yandex.international, i.icon.yelp, i.icon.yoast, i.icon.youtube, i.icon.youtube.square { - font-family: brand-icons -} - -/*! - * # Semantic UI 2.4.0 - Image - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.image { - position: relative; - display: inline-block; - vertical-align: middle; - max-width: 100%; - background-color: transparent -} - -img.ui.image { - display: block -} - -.ui.image img, .ui.image svg { - display: block; - max-width: 100%; - height: auto -} - -.ui.hidden.image, .ui.hidden.images { - display: none -} - -.ui.hidden.transition.image, .ui.hidden.transition.images { - display: block; - visibility: hidden -} - -.ui.images > .hidden.transition { - display: inline-block; - visibility: hidden -} - -.ui.disabled.image, .ui.disabled.images { - cursor: default; - opacity: .45 -} - -.ui.inline.image, .ui.inline.image img, .ui.inline.image svg { - display: inline-block -} - -.ui.top.aligned.image, .ui.top.aligned.image img, .ui.top.aligned.image svg, .ui.top.aligned.images .image { - display: inline-block; - vertical-align: top -} - -.ui.middle.aligned.image, .ui.middle.aligned.image img, .ui.middle.aligned.image svg, .ui.middle.aligned.images .image { - display: inline-block; - vertical-align: middle -} - -.ui.bottom.aligned.image, .ui.bottom.aligned.image img, .ui.bottom.aligned.image svg, .ui.bottom.aligned.images .image { - display: inline-block; - vertical-align: bottom -} - -.ui.rounded.image, .ui.rounded.image > *, .ui.rounded.images .image, .ui.rounded.images .image > * { - border-radius: .3125em -} - -.ui.bordered.image img, .ui.bordered.image svg, .ui.bordered.images .image, .ui.bordered.images img, .ui.bordered.images svg, img.ui.bordered.image { - border: 1px solid rgba(0, 0, 0, .1) -} - -.ui.circular.image, .ui.circular.images { - overflow: hidden -} - -.ui.circular.image, .ui.circular.image > *, .ui.circular.images .image, .ui.circular.images .image > * { - border-radius: 500rem -} - -.ui.fluid.image, .ui.fluid.image img, .ui.fluid.image svg, .ui.fluid.images, .ui.fluid.images img, .ui.fluid.images svg { - display: block; - width: 100%; - height: auto -} - -.ui.avatar.image, .ui.avatar.image img, .ui.avatar.image svg, .ui.avatar.images .image, .ui.avatar.images img, .ui.avatar.images svg { - margin-right: .25em; - display: inline-block; - width: 2em; - height: 2em; - border-radius: 500rem -} - -.ui.spaced.image { - display: inline-block !important; - margin-left: .5em; - margin-right: .5em -} - -.ui[class*="left spaced"].image { - margin-left: .5em; - margin-right: 0 -} - -.ui[class*="right spaced"].image { - margin-left: 0; - margin-right: .5em -} - -.ui.floated.image, .ui.floated.images { - float: left; - margin-right: 1em; - margin-bottom: 1em -} - -.ui.right.floated.image, .ui.right.floated.images { - float: right; - margin-right: 0; - margin-bottom: 1em; - margin-left: 1em -} - -.ui.floated.image:last-child, .ui.floated.images:last-child { - margin-bottom: 0 -} - -.ui.centered.image, .ui.centered.images { - margin-left: auto; - margin-right: auto -} - -.ui.mini.image, .ui.mini.images .image, .ui.mini.images img, .ui.mini.images svg { - width: 35px; - height: auto; - font-size: .78571429rem -} - -.ui.tiny.image, .ui.tiny.images .image, .ui.tiny.images img, .ui.tiny.images svg { - width: 80px; - height: auto; - font-size: .85714286rem -} - -.ui.small.image, .ui.small.images .image, .ui.small.images img, .ui.small.images svg { - width: 150px; - height: auto; - font-size: .92857143rem -} - -.ui.medium.image, .ui.medium.images .image, .ui.medium.images img, .ui.medium.images svg { - width: 300px; - height: auto; - font-size: 1rem -} - -.ui.large.image, .ui.large.images .image, .ui.large.images img, .ui.large.images svg { - width: 450px; - height: auto; - font-size: 1.14285714rem -} - -.ui.big.image, .ui.big.images .image, .ui.big.images img, .ui.big.images svg { - width: 600px; - height: auto; - font-size: 1.28571429rem -} - -.ui.huge.image, .ui.huge.images .image, .ui.huge.images img, .ui.huge.images svg { - width: 800px; - height: auto; - font-size: 1.42857143rem -} - -.ui.massive.image, .ui.massive.images .image, .ui.massive.images img, .ui.massive.images svg { - width: 960px; - height: auto; - font-size: 1.71428571rem -} - -.ui.images { - font-size: 0; - margin: 0 -.25rem 0 -} - -.ui.images .image, .ui.images > img, .ui.images > svg { - display: inline-block; - margin: 0 .25rem .5rem -} - -/*! - * # Semantic UI 2.4.0 - Input - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.input { - position: relative; - font-weight: 400; - font-style: normal; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - color: rgba(0, 0, 0, .87) -} - -.ui.input > input { - margin: 0; - max-width: 100%; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - outline: 0; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); - text-align: left; - line-height: 1.21428571em; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - padding: .67857143em 1em; - background: #fff; - border: 1px solid rgba(34, 36, 38, .15); - color: rgba(0, 0, 0, .87); - border-radius: .28571429rem; - -webkit-transition: border-color .1s ease, -webkit-box-shadow .1s ease; - transition: border-color .1s ease, -webkit-box-shadow .1s ease; - transition: box-shadow .1s ease, border-color .1s ease; - transition: box-shadow .1s ease, border-color .1s ease, -webkit-box-shadow .1s ease; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.input > input::-webkit-input-placeholder { - color: rgba(191, 191, 191, .87) -} - -.ui.input > input::-moz-placeholder { - color: rgba(191, 191, 191, .87) -} - -.ui.input > input:-ms-input-placeholder { - color: rgba(191, 191, 191, .87) -} - -.ui.disabled.input, .ui.input:not(.disabled) input[disabled] { - opacity: .45 -} - -.ui.disabled.input > input, .ui.input:not(.disabled) input[disabled] { - pointer-events: none -} - -.ui.input.down input, .ui.input > input:active { - border-color: rgba(0, 0, 0, .3); - background: #fafafa; - color: rgba(0, 0, 0, .87); - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.loading.loading.input > i.icon:before { - position: absolute; - content: ''; - top: 50%; - left: 50%; - margin: -.64285714em 0 0 -.64285714em; - width: 1.28571429em; - height: 1.28571429em; - border-radius: 500rem; - border: .2em solid rgba(0, 0, 0, .1) -} - -.ui.loading.loading.input > i.icon:after { - position: absolute; - content: ''; - top: 50%; - left: 50%; - margin: -.64285714em 0 0 -.64285714em; - width: 1.28571429em; - height: 1.28571429em; - -webkit-animation: button-spin .6s linear; - animation: button-spin .6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - border-radius: 500rem; - border-color: #767676 transparent transparent; - border-style: solid; - border-width: .2em; - -webkit-box-shadow: 0 0 0 1px transparent; - box-shadow: 0 0 0 1px transparent -} - -.ui.input.focus > input, .ui.input > input:focus { - border-color: #85b7d9; - background: #fff; - color: rgba(0, 0, 0, .8); - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.input.focus > input::-webkit-input-placeholder, .ui.input > input:focus::-webkit-input-placeholder { - color: rgba(115, 115, 115, .87) -} - -.ui.input.focus > input::-moz-placeholder, .ui.input > input:focus::-moz-placeholder { - color: rgba(115, 115, 115, .87) -} - -.ui.input.focus > input:-ms-input-placeholder, .ui.input > input:focus:-ms-input-placeholder { - color: rgba(115, 115, 115, .87) -} - -.ui.input.error > input { - background-color: #fff6f6; - border-color: #e0b4b4; - color: #9f3a38; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.input.error > input::-webkit-input-placeholder { - color: #e7bdbc -} - -.ui.input.error > input::-moz-placeholder { - color: #e7bdbc -} - -.ui.input.error > input:-ms-input-placeholder { - color: #e7bdbc !important -} - -.ui.input.error > input:focus::-webkit-input-placeholder { - color: #da9796 -} - -.ui.input.error > input:focus::-moz-placeholder { - color: #da9796 -} - -.ui.input.error > input:focus:-ms-input-placeholder { - color: #da9796 !important -} - -.ui.transparent.input > input { - border-color: transparent !important; - background-color: transparent !important; - padding: 0 !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - border-radius: 0 !important -} - -.ui.transparent.icon.input > i.icon { - width: 1.1em -} - -.ui.transparent.icon.input > input { - padding-left: 0 !important; - padding-right: 2em !important -} - -.ui.transparent[class*="left icon"].input > input { - padding-left: 2em !important; - padding-right: 0 !important -} - -.ui.transparent.inverted.input { - color: #fff -} - -.ui.transparent.inverted.input > input { - color: inherit -} - -.ui.transparent.inverted.input > input::-webkit-input-placeholder { - color: rgba(255, 255, 255, .5) -} - -.ui.transparent.inverted.input > input::-moz-placeholder { - color: rgba(255, 255, 255, .5) -} - -.ui.transparent.inverted.input > input:-ms-input-placeholder { - color: rgba(255, 255, 255, .5) -} - -.ui.icon.input > i.icon { - cursor: default; - position: absolute; - line-height: 1; - text-align: center; - top: 0; - right: 0; - margin: 0; - height: 100%; - width: 2.67142857em; - opacity: .5; - border-radius: 0 .28571429rem .28571429rem 0; - -webkit-transition: opacity .3s ease; - transition: opacity .3s ease -} - -.ui.icon.input > i.icon:not(.link) { - pointer-events: none -} - -.ui.icon.input > input { - padding-right: 2.67142857em !important -} - -.ui.icon.input > i.icon:after, .ui.icon.input > i.icon:before { - left: 0; - position: absolute; - text-align: center; - top: 50%; - width: 100%; - margin-top: -.5em -} - -.ui.icon.input > i.link.icon { - cursor: pointer -} - -.ui.icon.input > i.circular.icon { - top: .35em; - right: .5em -} - -.ui[class*="left icon"].input > i.icon { - right: auto; - left: 1px; - border-radius: .28571429rem 0 0 .28571429rem -} - -.ui[class*="left icon"].input > i.circular.icon { - right: auto; - left: .5em -} - -.ui[class*="left icon"].input > input { - padding-left: 2.67142857em !important; - padding-right: 1em !important -} - -.ui.icon.input > input:focus ~ i.icon { - opacity: 1 -} - -.ui.labeled.input > .label { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - margin: 0; - font-size: 1em -} - -.ui.labeled.input > .label:not(.corner) { - padding-top: .78571429em; - padding-bottom: .78571429em -} - -.ui.labeled.input:not([class*="corner labeled"]) .label:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-color: transparent -} - -.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input:focus { - border-left-color: #85b7d9 -} - -.ui[class*="right labeled"].input > input { - border-top-right-radius: 0 !important; - border-bottom-right-radius: 0 !important; - border-right-color: transparent !important -} - -.ui[class*="right labeled"].input > input + .label { - border-top-left-radius: 0; - border-bottom-left-radius: 0 -} - -.ui[class*="right labeled"].input > input:focus { - border-right-color: #85b7d9 !important -} - -.ui.labeled.input .corner.label { - top: 1px; - right: 1px; - font-size: .64285714em; - border-radius: 0 .28571429rem 0 0 -} - -.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input > input { - padding-right: 2.5em !important -} - -.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > input { - padding-right: 3.25em !important -} - -.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > .icon { - margin-right: 1.25em -} - -.ui[class*="left corner labeled"].labeled.input > input { - padding-left: 2.5em !important -} - -.ui[class*="left corner labeled"].icon.input > input { - padding-left: 3.25em !important -} - -.ui[class*="left corner labeled"].icon.input > .icon { - margin-left: 1.25em -} - -.ui.input > .ui.corner.label { - top: 1px; - right: 1px -} - -.ui.input > .ui.left.corner.label { - right: auto; - left: 1px -} - -.ui.action.input > .button, .ui.action.input > .buttons { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto -} - -.ui.action.input > .button, .ui.action.input > .buttons > .button { - padding-top: .78571429em; - padding-bottom: .78571429em; - margin: 0 -} - -.ui.action.input:not([class*="left action"]) > input { - border-top-right-radius: 0 !important; - border-bottom-right-radius: 0 !important; - border-right-color: transparent !important -} - -.ui.action.input:not([class*="left action"]) > .button:not(:first-child), .ui.action.input:not([class*="left action"]) > .buttons:not(:first-child) > .button, .ui.action.input:not([class*="left action"]) > .dropdown:not(:first-child) { - border-radius: 0 -} - -.ui.action.input:not([class*="left action"]) > .button:last-child, .ui.action.input:not([class*="left action"]) > .buttons:last-child > .button, .ui.action.input:not([class*="left action"]) > .dropdown:last-child { - border-radius: 0 .28571429rem .28571429rem 0 -} - -.ui.action.input:not([class*="left action"]) > input:focus { - border-right-color: #85b7d9 !important -} - -.ui[class*="left action"].input > input { - border-top-left-radius: 0 !important; - border-bottom-left-radius: 0 !important; - border-left-color: transparent !important -} - -.ui[class*="left action"].input > .button, .ui[class*="left action"].input > .buttons > .button, .ui[class*="left action"].input > .dropdown { - border-radius: 0 -} - -.ui[class*="left action"].input > .button:first-child, .ui[class*="left action"].input > .buttons:first-child > .button, .ui[class*="left action"].input > .dropdown:first-child { - border-radius: .28571429rem 0 0 .28571429rem -} - -.ui[class*="left action"].input > input:focus { - border-left-color: #85b7d9 !important -} - -.ui.inverted.input > input { - border: none -} - -.ui.fluid.input { - display: -webkit-box; - display: -ms-flexbox; - display: flex -} - -.ui.fluid.input > input { - width: 0 !important -} - -.ui.mini.input { - font-size: .78571429em -} - -.ui.small.input { - font-size: .92857143em -} - -.ui.input { - font-size: 1em -} - -.ui.large.input { - font-size: 1.14285714em -} - -.ui.big.input { - font-size: 1.28571429em -} - -.ui.huge.input { - font-size: 1.42857143em -} - -.ui.massive.input { - font-size: 1.71428571em -} - -/*! - * # Semantic UI 2.4.0 - Label - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.label { - display: inline-block; - line-height: 1; - vertical-align: baseline; - margin: 0 .14285714em; - background-color: #e8e8e8; - background-image: none; - padding: .5833em .833em; - color: rgba(0, 0, 0, .6); - text-transform: none; - font-weight: 700; - border: 0 solid transparent; - border-radius: .28571429rem; - -webkit-transition: background .1s ease; - transition: background .1s ease -} - -.ui.label:first-child { - margin-left: 0 -} - -.ui.label:last-child { - margin-right: 0 -} - -a.ui.label { - cursor: pointer -} - -.ui.label > a { - cursor: pointer; - color: inherit; - opacity: .5; - -webkit-transition: .1s opacity ease; - transition: .1s opacity ease -} - -.ui.label > a:hover { - opacity: 1 -} - -.ui.label > img { - width: auto !important; - vertical-align: middle; - height: 2.1666em !important -} - -.ui.label > .icon { - width: auto; - margin: 0 .75em 0 0 -} - -.ui.label > .detail { - display: inline-block; - vertical-align: top; - font-weight: 700; - margin-left: 1em; - opacity: .8 -} - -.ui.label > .detail .icon { - margin: 0 .25em 0 0 -} - -.ui.label > .close.icon, .ui.label > .delete.icon { - cursor: pointer; - margin-right: 0; - margin-left: .5em; - font-size: .92857143em; - opacity: .5; - -webkit-transition: background .1s ease; - transition: background .1s ease -} - -.ui.label > .delete.icon:hover { - opacity: 1 -} - -.ui.labels > .label { - margin: 0 .5em .5em 0 -} - -.ui.header > .ui.label { - margin-top: -.29165em -} - -.ui.attached.segment > .ui.top.left.attached.label, .ui.bottom.attached.segment > .ui.top.left.attached.label { - border-top-left-radius: 0 -} - -.ui.attached.segment > .ui.top.right.attached.label, .ui.bottom.attached.segment > .ui.top.right.attached.label { - border-top-right-radius: 0 -} - -.ui.top.attached.segment > .ui.bottom.left.attached.label { - border-bottom-left-radius: 0 -} - -.ui.top.attached.segment > .ui.bottom.right.attached.label { - border-bottom-right-radius: 0 -} - -.ui.top.attached.label + [class*="right floated"] + *, .ui.top.attached.label:first-child + :not(.attached) { - margin-top: 2rem !important -} - -.ui.bottom.attached.label:first-child ~ :last-child:not(.attached) { - margin-top: 0; - margin-bottom: 2rem !important -} - -.ui.image.label { - width: auto !important; - margin-top: 0; - margin-bottom: 0; - max-width: 9999px; - vertical-align: baseline; - text-transform: none; - background: #e8e8e8; - padding: .5833em .833em .5833em .5em; - border-radius: .28571429rem; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.image.label img { - display: inline-block; - vertical-align: top; - height: 2.1666em; - margin: -.5833em .5em -.5833em -.5em; - border-radius: .28571429rem 0 0 .28571429rem -} - -.ui.image.label .detail { - background: rgba(0, 0, 0, .1); - margin: -.5833em -.833em -.5833em .5em; - padding: .5833em .833em; - border-radius: 0 .28571429rem .28571429rem 0 -} - -.ui.tag.label, .ui.tag.labels .label { - margin-left: 1em; - position: relative; - padding-left: 1.5em; - padding-right: 1.5em; - border-radius: 0 .28571429rem .28571429rem 0; - -webkit-transition: none; - transition: none -} - -.ui.tag.label:before, .ui.tag.labels .label:before { - position: absolute; - -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg); - transform: translateY(-50%) translateX(50%) rotate(-45deg); - top: 50%; - right: 100%; - content: ''; - background-color: inherit; - background-image: none; - width: 1.56em; - height: 1.56em; - -webkit-transition: none; - transition: none -} - -.ui.tag.label:after, .ui.tag.labels .label:after { - position: absolute; - content: ''; - top: 50%; - left: -.25em; - margin-top: -.25em; - background-color: #fff !important; - width: .5em; - height: .5em; - -webkit-box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, .3); - box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, .3); - border-radius: 500rem -} - -.ui.corner.label { - position: absolute; - top: 0; - right: 0; - margin: 0; - padding: 0; - text-align: center; - border-color: #e8e8e8; - width: 4em; - height: 4em; - z-index: 1; - -webkit-transition: border-color .1s ease; - transition: border-color .1s ease -} - -.ui.corner.label { - background-color: transparent !important -} - -.ui.corner.label:after { - position: absolute; - content: ""; - right: 0; - top: 0; - z-index: -1; - width: 0; - height: 0; - background-color: transparent !important; - border-top: 0 solid transparent; - border-right: 4em solid transparent; - border-bottom: 4em solid transparent; - border-left: 0 solid transparent; - border-right-color: inherit; - -webkit-transition: border-color .1s ease; - transition: border-color .1s ease -} - -.ui.corner.label .icon { - cursor: default; - position: relative; - top: .64285714em; - left: .78571429em; - font-size: 1.14285714em; - margin: 0 -} - -.ui.left.corner.label, .ui.left.corner.label:after { - right: auto; - left: 0 -} - -.ui.left.corner.label:after { - border-top: 4em solid transparent; - border-right: 4em solid transparent; - border-bottom: 0 solid transparent; - border-left: 0 solid transparent; - border-top-color: inherit -} - -.ui.left.corner.label .icon { - left: -.78571429em -} - -.ui.segment > .ui.corner.label { - top: -1px; - right: -1px -} - -.ui.segment > .ui.left.corner.label { - right: auto; - left: -1px -} - -.ui.ribbon.label { - position: relative; - margin: 0; - min-width: -webkit-max-content; - min-width: -moz-max-content; - min-width: max-content; - border-radius: 0 .28571429rem .28571429rem 0; - border-color: rgba(0, 0, 0, .15) -} - -.ui.ribbon.label:after { - position: absolute; - content: ''; - top: 100%; - left: 0; - background-color: transparent !important; - border-style: solid; - border-width: 0 1.2em 1.2em 0; - border-color: transparent; - border-right-color: inherit; - width: 0; - height: 0 -} - -.ui.ribbon.label { - left: calc(-1rem - 1.2em); - margin-right: -1.2em; - padding-left: calc(1rem + 1.2em); - padding-right: 1.2em -} - -.ui[class*="right ribbon"].label { - left: calc(100% + 1rem + 1.2em); - padding-left: 1.2em; - padding-right: calc(1rem + 1.2em) -} - -.ui[class*="right ribbon"].label { - text-align: left; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - border-radius: .28571429rem 0 0 .28571429rem -} - -.ui[class*="right ribbon"].label:after { - left: auto; - right: 0; - border-style: solid; - border-width: 1.2em 1.2em 0 0; - border-color: transparent; - border-top-color: inherit -} - -.ui.card .image > .ribbon.label, .ui.image > .ribbon.label { - position: absolute; - top: 1rem -} - -.ui.card .image > .ui.ribbon.label, .ui.image > .ui.ribbon.label { - left: calc(.05rem - 1.2em) -} - -.ui.card .image > .ui[class*="right ribbon"].label, .ui.image > .ui[class*="right ribbon"].label { - left: calc(100% + -.05rem + 1.2em); - padding-left: .833em -} - -.ui.table td > .ui.ribbon.label { - left: calc(-.78571429em - 1.2em) -} - -.ui.table td > .ui[class*="right ribbon"].label { - left: calc(100% + .78571429em + 1.2em); - padding-left: .833em -} - -.ui.attached.label, .ui[class*="top attached"].label { - width: 100%; - position: absolute; - margin: 0; - top: 0; - left: 0; - padding: .75em 1em; - border-radius: .21428571rem .21428571rem 0 0 -} - -.ui[class*="bottom attached"].label { - top: auto; - bottom: 0; - border-radius: 0 0 .21428571rem .21428571rem -} - -.ui[class*="top left attached"].label { - width: auto; - margin-top: 0 !important; - border-radius: .21428571rem 0 .28571429rem 0 -} - -.ui[class*="top right attached"].label { - width: auto; - left: auto; - right: 0; - border-radius: 0 .21428571rem 0 .28571429rem -} - -.ui[class*="bottom left attached"].label { - width: auto; - top: auto; - bottom: 0; - border-radius: 0 .28571429rem 0 .21428571rem -} - -.ui[class*="bottom right attached"].label { - top: auto; - bottom: 0; - left: auto; - right: 0; - width: auto; - border-radius: .28571429rem 0 .21428571rem 0 -} - -.ui.label.disabled { - opacity: .5 -} - -a.ui.label:hover, a.ui.labels .label:hover { - background-color: #e0e0e0; - border-color: #e0e0e0; - background-image: none; - color: rgba(0, 0, 0, .8) -} - -.ui.labels a.label:hover:before, a.ui.label:hover:before { - color: rgba(0, 0, 0, .8) -} - -.ui.active.label { - background-color: #d0d0d0; - border-color: #d0d0d0; - background-image: none; - color: rgba(0, 0, 0, .95) -} - -.ui.active.label:before { - background-color: #d0d0d0; - background-image: none; - color: rgba(0, 0, 0, .95) -} - -a.ui.active.label:hover, a.ui.labels .active.label:hover { - background-color: #c8c8c8; - border-color: #c8c8c8; - background-image: none; - color: rgba(0, 0, 0, .95) -} - -.ui.labels a.active.label:ActiveHover:before, a.ui.active.label:ActiveHover:before { - background-color: #c8c8c8; - background-image: none; - color: rgba(0, 0, 0, .95) -} - -.ui.label.visible:not(.dropdown), .ui.labels.visible .label { - display: inline-block !important -} - -.ui.label.hidden, .ui.labels.hidden .label { - display: none !important -} - -.ui.red.label, .ui.red.labels .label { - background-color: #db2828 !important; - border-color: #db2828 !important; - color: #fff !important -} - -.ui.red.labels .label:hover, a.ui.red.label:hover { - background-color: #d01919 !important; - border-color: #d01919 !important; - color: #fff !important -} - -.ui.red.corner.label, .ui.red.corner.label:hover { - background-color: transparent !important -} - -.ui.red.ribbon.label { - border-color: #b21e1e !important -} - -.ui.basic.red.label { - background: none #fff !important; - color: #db2828 !important; - border-color: #db2828 !important -} - -.ui.basic.red.labels a.label:hover, a.ui.basic.red.label:hover { - background-color: #fff !important; - color: #d01919 !important; - border-color: #d01919 !important -} - -.ui.orange.label, .ui.orange.labels .label { - background-color: #f2711c !important; - border-color: #f2711c !important; - color: #fff !important -} - -.ui.orange.labels .label:hover, a.ui.orange.label:hover { - background-color: #f26202 !important; - border-color: #f26202 !important; - color: #fff !important -} - -.ui.orange.corner.label, .ui.orange.corner.label:hover { - background-color: transparent !important -} - -.ui.orange.ribbon.label { - border-color: #cf590c !important -} - -.ui.basic.orange.label { - background: none #fff !important; - color: #f2711c !important; - border-color: #f2711c !important -} - -.ui.basic.orange.labels a.label:hover, a.ui.basic.orange.label:hover { - background-color: #fff !important; - color: #f26202 !important; - border-color: #f26202 !important -} - -.ui.yellow.label, .ui.yellow.labels .label { - background-color: #fbbd08 !important; - border-color: #fbbd08 !important; - color: #fff !important -} - -.ui.yellow.labels .label:hover, a.ui.yellow.label:hover { - background-color: #eaae00 !important; - border-color: #eaae00 !important; - color: #fff !important -} - -.ui.yellow.corner.label, .ui.yellow.corner.label:hover { - background-color: transparent !important -} - -.ui.yellow.ribbon.label { - border-color: #cd9903 !important -} - -.ui.basic.yellow.label { - background: none #fff !important; - color: #fbbd08 !important; - border-color: #fbbd08 !important -} - -.ui.basic.yellow.labels a.label:hover, a.ui.basic.yellow.label:hover { - background-color: #fff !important; - color: #eaae00 !important; - border-color: #eaae00 !important -} - -.ui.olive.label, .ui.olive.labels .label { - background-color: #b5cc18 !important; - border-color: #b5cc18 !important; - color: #fff !important -} - -.ui.olive.labels .label:hover, a.ui.olive.label:hover { - background-color: #a7bd0d !important; - border-color: #a7bd0d !important; - color: #fff !important -} - -.ui.olive.corner.label, .ui.olive.corner.label:hover { - background-color: transparent !important -} - -.ui.olive.ribbon.label { - border-color: #198f35 !important -} - -.ui.basic.olive.label { - background: none #fff !important; - color: #b5cc18 !important; - border-color: #b5cc18 !important -} - -.ui.basic.olive.labels a.label:hover, a.ui.basic.olive.label:hover { - background-color: #fff !important; - color: #a7bd0d !important; - border-color: #a7bd0d !important -} - -.ui.green.label, .ui.green.labels .label { - background-color: #21ba45 !important; - border-color: #21ba45 !important; - color: #fff !important -} - -.ui.green.labels .label:hover, a.ui.green.label:hover { - background-color: #16ab39 !important; - border-color: #16ab39 !important; - color: #fff !important -} - -.ui.green.corner.label, .ui.green.corner.label:hover { - background-color: transparent !important -} - -.ui.green.ribbon.label { - border-color: #198f35 !important -} - -.ui.basic.green.label { - background: none #fff !important; - color: #21ba45 !important; - border-color: #21ba45 !important -} - -.ui.basic.green.labels a.label:hover, a.ui.basic.green.label:hover { - background-color: #fff !important; - color: #16ab39 !important; - border-color: #16ab39 !important -} - -.ui.teal.label, .ui.teal.labels .label { - background-color: #00b5ad !important; - border-color: #00b5ad !important; - color: #fff !important -} - -.ui.teal.labels .label:hover, a.ui.teal.label:hover { - background-color: #009c95 !important; - border-color: #009c95 !important; - color: #fff !important -} - -.ui.teal.corner.label, .ui.teal.corner.label:hover { - background-color: transparent !important -} - -.ui.teal.ribbon.label { - border-color: #00827c !important -} - -.ui.basic.teal.label { - background: none #fff !important; - color: #00b5ad !important; - border-color: #00b5ad !important -} - -.ui.basic.teal.labels a.label:hover, a.ui.basic.teal.label:hover { - background-color: #fff !important; - color: #009c95 !important; - border-color: #009c95 !important -} - -.ui.blue.label, .ui.blue.labels .label { - background-color: #2185d0 !important; - border-color: #2185d0 !important; - color: #fff !important -} - -.ui.blue.labels .label:hover, a.ui.blue.label:hover { - background-color: #1678c2 !important; - border-color: #1678c2 !important; - color: #fff !important -} - -.ui.blue.corner.label, .ui.blue.corner.label:hover { - background-color: transparent !important -} - -.ui.blue.ribbon.label { - border-color: #1a69a4 !important -} - -.ui.basic.blue.label { - background: none #fff !important; - color: #2185d0 !important; - border-color: #2185d0 !important -} - -.ui.basic.blue.labels a.label:hover, a.ui.basic.blue.label:hover { - background-color: #fff !important; - color: #1678c2 !important; - border-color: #1678c2 !important -} - -.ui.violet.label, .ui.violet.labels .label { - background-color: #6435c9 !important; - border-color: #6435c9 !important; - color: #fff !important -} - -.ui.violet.labels .label:hover, a.ui.violet.label:hover { - background-color: #5829bb !important; - border-color: #5829bb !important; - color: #fff !important -} - -.ui.violet.corner.label, .ui.violet.corner.label:hover { - background-color: transparent !important -} - -.ui.violet.ribbon.label { - border-color: #502aa1 !important -} - -.ui.basic.violet.label { - background: none #fff !important; - color: #6435c9 !important; - border-color: #6435c9 !important -} - -.ui.basic.violet.labels a.label:hover, a.ui.basic.violet.label:hover { - background-color: #fff !important; - color: #5829bb !important; - border-color: #5829bb !important -} - -.ui.purple.label, .ui.purple.labels .label { - background-color: #a333c8 !important; - border-color: #a333c8 !important; - color: #fff !important -} - -.ui.purple.labels .label:hover, a.ui.purple.label:hover { - background-color: #9627ba !important; - border-color: #9627ba !important; - color: #fff !important -} - -.ui.purple.corner.label, .ui.purple.corner.label:hover { - background-color: transparent !important -} - -.ui.purple.ribbon.label { - border-color: #82299f !important -} - -.ui.basic.purple.label { - background: none #fff !important; - color: #a333c8 !important; - border-color: #a333c8 !important -} - -.ui.basic.purple.labels a.label:hover, a.ui.basic.purple.label:hover { - background-color: #fff !important; - color: #9627ba !important; - border-color: #9627ba !important -} - -.ui.pink.label, .ui.pink.labels .label { - background-color: #e03997 !important; - border-color: #e03997 !important; - color: #fff !important -} - -.ui.pink.labels .label:hover, a.ui.pink.label:hover { - background-color: #e61a8d !important; - border-color: #e61a8d !important; - color: #fff !important -} - -.ui.pink.corner.label, .ui.pink.corner.label:hover { - background-color: transparent !important -} - -.ui.pink.ribbon.label { - border-color: #c71f7e !important -} - -.ui.basic.pink.label { - background: none #fff !important; - color: #e03997 !important; - border-color: #e03997 !important -} - -.ui.basic.pink.labels a.label:hover, a.ui.basic.pink.label:hover { - background-color: #fff !important; - color: #e61a8d !important; - border-color: #e61a8d !important -} - -.ui.brown.label, .ui.brown.labels .label { - background-color: #a5673f !important; - border-color: #a5673f !important; - color: #fff !important -} - -.ui.brown.labels .label:hover, a.ui.brown.label:hover { - background-color: #975b33 !important; - border-color: #975b33 !important; - color: #fff !important -} - -.ui.brown.corner.label, .ui.brown.corner.label:hover { - background-color: transparent !important -} - -.ui.brown.ribbon.label { - border-color: #805031 !important -} - -.ui.basic.brown.label { - background: none #fff !important; - color: #a5673f !important; - border-color: #a5673f !important -} - -.ui.basic.brown.labels a.label:hover, a.ui.basic.brown.label:hover { - background-color: #fff !important; - color: #975b33 !important; - border-color: #975b33 !important -} - -.ui.grey.label, .ui.grey.labels .label { - background-color: #767676 !important; - border-color: #767676 !important; - color: #fff !important -} - -.ui.grey.labels .label:hover, a.ui.grey.label:hover { - background-color: #838383 !important; - border-color: #838383 !important; - color: #fff !important -} - -.ui.grey.corner.label, .ui.grey.corner.label:hover { - background-color: transparent !important -} - -.ui.grey.ribbon.label { - border-color: #805031 !important -} - -.ui.basic.grey.label { - background: none #fff !important; - color: #767676 !important; - border-color: #767676 !important -} - -.ui.basic.grey.labels a.label:hover, a.ui.basic.grey.label:hover { - background-color: #fff !important; - color: #838383 !important; - border-color: #838383 !important -} - -.ui.black.label, .ui.black.labels .label { - background-color: #1b1c1d !important; - border-color: #1b1c1d !important; - color: #fff !important -} - -.ui.black.labels .label:hover, a.ui.black.label:hover { - background-color: #27292a !important; - border-color: #27292a !important; - color: #fff !important -} - -.ui.black.corner.label, .ui.black.corner.label:hover { - background-color: transparent !important -} - -.ui.black.ribbon.label { - border-color: #805031 !important -} - -.ui.basic.black.label { - background: none #fff !important; - color: #1b1c1d !important; - border-color: #1b1c1d !important -} - -.ui.basic.black.labels a.label:hover, a.ui.basic.black.label:hover { - background-color: #fff !important; - color: #27292a !important; - border-color: #27292a !important -} - -.ui.basic.label { - background: none #fff; - border: 1px solid rgba(34, 36, 38, .15); - color: rgba(0, 0, 0, .87); - -webkit-box-shadow: none; - box-shadow: none -} - -a.ui.basic.label:hover { - text-decoration: none; - background: none #fff; - color: #1e70bf; - -webkit-box-shadow: 1px solid rgba(34, 36, 38, .15); - box-shadow: 1px solid rgba(34, 36, 38, .15); - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.basic.pointing.label:before { - border-color: inherit -} - -.ui.fluid.labels > .label, .ui.label.fluid { - width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box -} - -.ui.inverted.label, .ui.inverted.labels .label { - color: rgba(255, 255, 255, .9) !important -} - -.ui.horizontal.label, .ui.horizontal.labels .label { - margin: 0 .5em 0 0; - padding: .4em .833em; - min-width: 3em; - text-align: center -} - -.ui.circular.label, .ui.circular.labels .label { - min-width: 2em; - min-height: 2em; - padding: .5em !important; - line-height: 1em; - text-align: center; - border-radius: 500rem -} - -.ui.empty.circular.label, .ui.empty.circular.labels .label { - min-width: 0; - min-height: 0; - overflow: hidden; - width: .5em; - height: .5em; - vertical-align: baseline -} - -.ui.pointing.label { - position: relative -} - -.ui.attached.pointing.label { - position: absolute -} - -.ui.pointing.label:before { - background-color: inherit; - background-image: inherit; - border-width: none; - border-style: solid; - border-color: inherit -} - -.ui.pointing.label:before { - position: absolute; - content: ''; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - background-image: none; - z-index: 2; - width: .6666em; - height: .6666em; - -webkit-transition: background .1s ease; - transition: background .1s ease -} - -.ui.pointing.label, .ui[class*="pointing above"].label { - margin-top: 1em -} - -.ui.pointing.label:before, .ui[class*="pointing above"].label:before { - border-width: 1px 0 0 1px; - -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg); - transform: translateX(-50%) translateY(-50%) rotate(45deg); - top: 0; - left: 50% -} - -.ui[class*="bottom pointing"].label, .ui[class*="pointing below"].label { - margin-top: 0; - margin-bottom: 1em -} - -.ui[class*="bottom pointing"].label:before, .ui[class*="pointing below"].label:before { - border-width: 0 1px 1px 0; - top: auto; - right: auto; - -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg); - transform: translateX(-50%) translateY(-50%) rotate(45deg); - top: 100%; - left: 50% -} - -.ui[class*="left pointing"].label { - margin-top: 0; - margin-left: .6666em -} - -.ui[class*="left pointing"].label:before { - border-width: 0 0 1px 1px; - -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg); - transform: translateX(-50%) translateY(-50%) rotate(45deg); - bottom: auto; - right: auto; - top: 50%; - left: 0 -} - -.ui[class*="right pointing"].label { - margin-top: 0; - margin-right: .6666em -} - -.ui[class*="right pointing"].label:before { - border-width: 1px 1px 0 0; - -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg); - transform: translateX(50%) translateY(-50%) rotate(45deg); - top: 50%; - right: 0; - bottom: auto; - left: auto -} - -.ui.basic.pointing.label:before, .ui.basic[class*="pointing above"].label:before { - margin-top: -1px -} - -.ui.basic[class*="bottom pointing"].label:before, .ui.basic[class*="pointing below"].label:before { - bottom: auto; - top: 100%; - margin-top: 1px -} - -.ui.basic[class*="left pointing"].label:before { - top: 50%; - left: -1px -} - -.ui.basic[class*="right pointing"].label:before { - top: 50%; - right: -1px -} - -.ui.floating.label { - position: absolute; - z-index: 100; - top: -1em; - left: 100%; - margin: 0 0 0 -1.5em !important -} - -.ui.mini.label, .ui.mini.labels .label { - font-size: .64285714rem -} - -.ui.tiny.label, .ui.tiny.labels .label { - font-size: .71428571rem -} - -.ui.small.label, .ui.small.labels .label { - font-size: .78571429rem -} - -.ui.label, .ui.labels .label { - font-size: .85714286rem -} - -.ui.large.label, .ui.large.labels .label { - font-size: 1rem -} - -.ui.big.label, .ui.big.labels .label { - font-size: 1.28571429rem -} - -.ui.huge.label, .ui.huge.labels .label { - font-size: 1.42857143rem -} - -.ui.massive.label, .ui.massive.labels .label { - font-size: 1.71428571rem -} - -/*! - * # Semantic UI 2.4.0 - List - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.list, ol.ui.list, ul.ui.list { - list-style-type: none; - margin: 1em 0; - padding: 0 0 -} - -.ui.list:first-child, ol.ui.list:first-child, ul.ui.list:first-child { - margin-top: 0; - padding-top: 0 -} - -.ui.list:last-child, ol.ui.list:last-child, ul.ui.list:last-child { - margin-bottom: 0; - padding-bottom: 0 -} - -.ui.list .list > .item, .ui.list > .item, ol.ui.list li, ul.ui.list li { - display: list-item; - table-layout: fixed; - list-style-type: none; - list-style-position: outside; - padding: .21428571em 0; - line-height: 1.14285714em -} - -.ui.list > .item:after, .ui.list > .list > .item, ol.ui.list > li:first-child:after, ul.ui.list > li:first-child:after { - content: ''; - display: block; - height: 0; - clear: both; - visibility: hidden -} - -.ui.list .list > .item:first-child, .ui.list > .item:first-child, ol.ui.list li:first-child, ul.ui.list li:first-child { - padding-top: 0 -} - -.ui.list .list > .item:last-child, .ui.list > .item:last-child, ol.ui.list li:last-child, ul.ui.list li:last-child { - padding-bottom: 0 -} - -.ui.list .list, ol.ui.list ol, ul.ui.list ul { - clear: both; - margin: 0; - padding: .75em 0 .25em .5em -} - -.ui.list .list > .item, ol.ui.list ol li, ul.ui.list ul li { - padding: .14285714em 0; - line-height: inherit -} - -.ui.list .list > .item > i.icon, .ui.list > .item > i.icon { - display: table-cell; - margin: 0; - padding-top: 0; - padding-right: .28571429em; - vertical-align: top; - -webkit-transition: color .1s ease; - transition: color .1s ease -} - -.ui.list .list > .item > i.icon:only-child, .ui.list > .item > i.icon:only-child { - display: inline-block; - vertical-align: top -} - -.ui.list .list > .item > .image, .ui.list > .item > .image { - display: table-cell; - background-color: transparent; - margin: 0; - vertical-align: top -} - -.ui.list .list > .item > .image:not(:only-child):not(img), .ui.list > .item > .image:not(:only-child):not(img) { - padding-right: .5em -} - -.ui.list .list > .item > .image img, .ui.list > .item > .image img { - vertical-align: top -} - -.ui.list .list > .item > .image:only-child, .ui.list .list > .item > img.image, .ui.list > .item > .image:only-child, .ui.list > .item > img.image { - display: inline-block -} - -.ui.list .list > .item > .content, .ui.list > .item > .content { - line-height: 1.14285714em -} - -.ui.list .list > .item > .icon + .content, .ui.list .list > .item > .image + .content, .ui.list > .item > .icon + .content, .ui.list > .item > .image + .content { - display: table-cell; - width: 100%; - padding: 0 0 0 .5em; - vertical-align: top -} - -.ui.list .list > .item > img.image + .content, .ui.list > .item > img.image + .content { - display: inline-block; - width: auto -} - -.ui.list .list > .item > .content > .list, .ui.list > .item > .content > .list { - margin-left: 0; - padding-left: 0 -} - -.ui.list .list > .item .header, .ui.list > .item .header { - display: block; - margin: 0; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-weight: 700; - color: rgba(0, 0, 0, .87) -} - -.ui.list .list > .item .description, .ui.list > .item .description { - display: block; - color: rgba(0, 0, 0, .7) -} - -.ui.list .list > .item a, .ui.list > .item a { - cursor: pointer -} - -.ui.list .list > a.item, .ui.list > a.item { - cursor: pointer; - color: #4183c4 -} - -.ui.list .list > a.item:hover, .ui.list > a.item:hover { - color: #1e70bf -} - -.ui.list .list > a.item i.icon, .ui.list > a.item i.icon { - color: rgba(0, 0, 0, .4) -} - -.ui.list .list > .item a.header, .ui.list > .item a.header { - cursor: pointer; - color: #4183c4 !important -} - -.ui.list .list > .item a.header:hover, .ui.list > .item a.header:hover { - color: #1e70bf !important -} - -.ui[class*="left floated"].list { - float: left -} - -.ui[class*="right floated"].list { - float: right -} - -.ui.list .list > .item [class*="left floated"], .ui.list > .item [class*="left floated"] { - float: left; - margin: 0 1em 0 0 -} - -.ui.list .list > .item [class*="right floated"], .ui.list > .item [class*="right floated"] { - float: right; - margin: 0 0 0 1em -} - -.ui.menu .ui.list .list > .item, .ui.menu .ui.list > .item { - display: list-item; - table-layout: fixed; - background-color: transparent; - list-style-type: none; - list-style-position: outside; - padding: .21428571em 0; - line-height: 1.14285714em -} - -.ui.menu .ui.list .list > .item:before, .ui.menu .ui.list > .item:before { - border: none; - background: 0 0 -} - -.ui.menu .ui.list .list > .item:first-child, .ui.menu .ui.list > .item:first-child { - padding-top: 0 -} - -.ui.menu .ui.list .list > .item:last-child, .ui.menu .ui.list > .item:last-child { - padding-bottom: 0 -} - -.ui.horizontal.list { - display: inline-block; - font-size: 0 -} - -.ui.horizontal.list > .item { - display: inline-block; - margin-left: 1em; - font-size: 1rem -} - -.ui.horizontal.list:not(.celled) > .item:first-child { - margin-left: 0 !important; - padding-left: 0 !important -} - -.ui.horizontal.list .list { - padding-left: 0; - padding-bottom: 0 -} - -.ui.horizontal.list .list > .item > .content, .ui.horizontal.list .list > .item > .icon, .ui.horizontal.list .list > .item > .image, .ui.horizontal.list > .item > .content, .ui.horizontal.list > .item > .icon, .ui.horizontal.list > .item > .image { - vertical-align: middle -} - -.ui.horizontal.list > .item:first-child, .ui.horizontal.list > .item:last-child { - padding-top: .21428571em; - padding-bottom: .21428571em -} - -.ui.horizontal.list > .item > i.icon { - margin: 0; - padding: 0 .25em 0 0 -} - -.ui.horizontal.list > .item > .icon, .ui.horizontal.list > .item > .icon + .content { - float: none; - display: inline-block -} - -.ui.list .list > .disabled.item, .ui.list > .disabled.item { - pointer-events: none; - color: rgba(40, 40, 40, .3) !important -} - -.ui.inverted.list .list > .disabled.item, .ui.inverted.list > .disabled.item { - color: rgba(225, 225, 225, .3) !important -} - -.ui.list .list > a.item:hover .icon, .ui.list > a.item:hover .icon { - color: rgba(0, 0, 0, .87) -} - -.ui.inverted.list .list > a.item > .icon, .ui.inverted.list > a.item > .icon { - color: rgba(255, 255, 255, .7) -} - -.ui.inverted.list .list > .item .header, .ui.inverted.list > .item .header { - color: rgba(255, 255, 255, .9) -} - -.ui.inverted.list .list > .item .description, .ui.inverted.list > .item .description { - color: rgba(255, 255, 255, .7) -} - -.ui.inverted.list .list > a.item, .ui.inverted.list > a.item { - cursor: pointer; - color: rgba(255, 255, 255, .9) -} - -.ui.inverted.list .list > a.item:hover, .ui.inverted.list > a.item:hover { - color: #1e70bf -} - -.ui.inverted.list .item a:not(.ui) { - color: rgba(255, 255, 255, .9) !important -} - -.ui.inverted.list .item a:not(.ui):hover { - color: #1e70bf !important -} - -.ui.list [class*="top aligned"], .ui.list[class*="top aligned"] .content, .ui.list[class*="top aligned"] .image { - vertical-align: top !important -} - -.ui.list [class*="middle aligned"], .ui.list[class*="middle aligned"] .content, .ui.list[class*="middle aligned"] .image { - vertical-align: middle !important -} - -.ui.list [class*="bottom aligned"], .ui.list[class*="bottom aligned"] .content, .ui.list[class*="bottom aligned"] .image { - vertical-align: bottom !important -} - -.ui.link.list .item, .ui.link.list .item a:not(.ui), .ui.link.list a.item { - color: rgba(0, 0, 0, .4); - -webkit-transition: .1s color ease; - transition: .1s color ease -} - -.ui.link.list.list .item a:not(.ui):hover, .ui.link.list.list a.item:hover { - color: rgba(0, 0, 0, .8) -} - -.ui.link.list.list .item a:not(.ui):active, .ui.link.list.list a.item:active { - color: rgba(0, 0, 0, .9) -} - -.ui.link.list.list .active.item, .ui.link.list.list .active.item a:not(.ui) { - color: rgba(0, 0, 0, .95) -} - -.ui.inverted.link.list .item, .ui.inverted.link.list .item a:not(.ui), .ui.inverted.link.list a.item { - color: rgba(255, 255, 255, .5) -} - -.ui.inverted.link.list.list .item a:not(.ui):hover, .ui.inverted.link.list.list a.item:hover { - color: #fff -} - -.ui.inverted.link.list.list .item a:not(.ui):active, .ui.inverted.link.list.list a.item:active { - color: #fff -} - -.ui.inverted.link.list.list .active.item a:not(.ui), .ui.inverted.link.list.list a.active.item { - color: #fff -} - -.ui.selection.list .list > .item, .ui.selection.list > .item { - cursor: pointer; - background: 0 0; - padding: .5em .5em; - margin: 0; - color: rgba(0, 0, 0, .4); - border-radius: .5em; - -webkit-transition: .1s color ease, .1s padding-left ease, .1s background-color ease; - transition: .1s color ease, .1s padding-left ease, .1s background-color ease -} - -.ui.selection.list .list > .item:last-child, .ui.selection.list > .item:last-child { - margin-bottom: 0 -} - -.ui.selection.list.list > .item:hover, .ui.selection.list > .item:hover { - background: rgba(0, 0, 0, .03); - color: rgba(0, 0, 0, .8) -} - -.ui.selection.list .list > .item:active, .ui.selection.list > .item:active { - background: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .9) -} - -.ui.selection.list .list > .item.active, .ui.selection.list > .item.active { - background: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .95) -} - -.ui.inverted.selection.list > .item { - background: 0 0; - color: rgba(255, 255, 255, .5) -} - -.ui.inverted.selection.list > .item:hover { - background: rgba(255, 255, 255, .02); - color: #fff -} - -.ui.inverted.selection.list > .item:active { - background: rgba(255, 255, 255, .08); - color: #fff -} - -.ui.inverted.selection.list > .item.active { - background: rgba(255, 255, 255, .08); - color: #fff -} - -.ui.celled.selection.list .list > .item, .ui.celled.selection.list > .item, .ui.divided.selection.list .list > .item, .ui.divided.selection.list > .item { - border-radius: 0 -} - -.ui.animated.list > .item { - -webkit-transition: .25s color ease .1s, .25s padding-left ease .1s, .25s background-color ease .1s; - transition: .25s color ease .1s, .25s padding-left ease .1s, .25s background-color ease .1s -} - -.ui.animated.list:not(.horizontal) > .item:hover { - padding-left: 1em -} - -.ui.fitted.list:not(.selection) .list > .item, .ui.fitted.list:not(.selection) > .item { - padding-left: 0; - padding-right: 0 -} - -.ui.fitted.selection.list .list > .item, .ui.fitted.selection.list > .item { - margin-left: -.5em; - margin-right: -.5em -} - -.ui.bulleted.list, ul.ui.list { - margin-left: 1.25rem -} - -.ui.bulleted.list .list > .item, .ui.bulleted.list > .item, ul.ui.list li { - position: relative -} - -.ui.bulleted.list .list > .item:before, .ui.bulleted.list > .item:before, ul.ui.list li:before { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - pointer-events: none; - position: absolute; - top: auto; - left: auto; - font-weight: 400; - margin-left: -1.25rem; - content: '•'; - opacity: 1; - color: inherit; - vertical-align: top -} - -.ui.bulleted.list .list > a.item:before, .ui.bulleted.list > a.item:before, ul.ui.list li:before { - color: rgba(0, 0, 0, .87) -} - -.ui.bulleted.list .list, ul.ui.list ul { - padding-left: 1.25rem -} - -.ui.horizontal.bulleted.list, ul.ui.horizontal.bulleted.list { - margin-left: 0 -} - -.ui.horizontal.bulleted.list > .item, ul.ui.horizontal.bulleted.list li { - margin-left: 1.75rem -} - -.ui.horizontal.bulleted.list > .item:first-child, ul.ui.horizontal.bulleted.list li:first-child { - margin-left: 0 -} - -.ui.horizontal.bulleted.list > .item::before, ul.ui.horizontal.bulleted.list li::before { - color: rgba(0, 0, 0, .87) -} - -.ui.horizontal.bulleted.list > .item:first-child::before, ul.ui.horizontal.bulleted.list li:first-child::before { - display: none -} - -.ui.ordered.list, .ui.ordered.list .list, ol.ui.list, ol.ui.list ol { - counter-reset: ordered; - margin-left: 1.25rem; - list-style-type: none -} - -.ui.ordered.list .list > .item, .ui.ordered.list > .item, ol.ui.list li { - list-style-type: none; - position: relative -} - -.ui.ordered.list .list > .item:before, .ui.ordered.list > .item:before, ol.ui.list li:before { - position: absolute; - top: auto; - left: auto; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - pointer-events: none; - margin-left: -1.25rem; - counter-increment: ordered; - content: counters(ordered, ".") " "; - text-align: right; - color: rgba(0, 0, 0, .87); - vertical-align: middle; - opacity: .8 -} - -.ui.ordered.inverted.list .list > .item:before, .ui.ordered.inverted.list > .item:before, ol.ui.inverted.list li:before { - color: rgba(255, 255, 255, .7) -} - -.ui.ordered.list > .item[data-value], .ui.ordered.list > .list > .item[data-value] { - content: attr(data-value) -} - -ol.ui.list li[value]:before { - content: attr(value) -} - -.ui.ordered.list .list, ol.ui.list ol { - margin-left: 1em -} - -.ui.ordered.list .list > .item:before, ol.ui.list ol li:before { - margin-left: -2em -} - -.ui.ordered.horizontal.list, ol.ui.horizontal.list { - margin-left: 0 -} - -.ui.ordered.horizontal.list .list > .item:before, .ui.ordered.horizontal.list > .item:before, ol.ui.horizontal.list li:before { - position: static; - margin: 0 .5em 0 0 -} - -.ui.divided.list > .item { - border-top: 1px solid rgba(34, 36, 38, .15) -} - -.ui.divided.list .list > .item { - border-top: none -} - -.ui.divided.list .item .list > .item { - border-top: none -} - -.ui.divided.list .list > .item:first-child, .ui.divided.list > .item:first-child { - border-top: none -} - -.ui.divided.list:not(.horizontal) .list > .item:first-child { - border-top-width: 1px -} - -.ui.divided.bulleted.list .list, .ui.divided.bulleted.list:not(.horizontal) { - margin-left: 0; - padding-left: 0 -} - -.ui.divided.bulleted.list > .item:not(.horizontal) { - padding-left: 1.25rem -} - -.ui.divided.ordered.list { - margin-left: 0 -} - -.ui.divided.ordered.list .list > .item, .ui.divided.ordered.list > .item { - padding-left: 1.25rem -} - -.ui.divided.ordered.list .item .list { - margin-left: 0; - margin-right: 0; - padding-bottom: .21428571em -} - -.ui.divided.ordered.list .item .list > .item { - padding-left: 1em -} - -.ui.divided.selection.list .list > .item, .ui.divided.selection.list > .item { - margin: 0; - border-radius: 0 -} - -.ui.divided.horizontal.list { - margin-left: 0 -} - -.ui.divided.horizontal.list > .item:not(:first-child) { - padding-left: .5em -} - -.ui.divided.horizontal.list > .item:not(:last-child) { - padding-right: .5em -} - -.ui.divided.horizontal.list > .item { - border-top: none; - border-left: 1px solid rgba(34, 36, 38, .15); - margin: 0; - line-height: .6 -} - -.ui.horizontal.divided.list > .item:first-child { - border-left: none -} - -.ui.divided.inverted.horizontal.list > .item, .ui.divided.inverted.list > .item, .ui.divided.inverted.list > .list { - border-color: rgba(255, 255, 255, .1) -} - -.ui.celled.list > .item, .ui.celled.list > .list { - border-top: 1px solid rgba(34, 36, 38, .15); - padding-left: .5em; - padding-right: .5em -} - -.ui.celled.list > .item:last-child { - border-bottom: 1px solid rgba(34, 36, 38, .15) -} - -.ui.celled.list > .item:first-child, .ui.celled.list > .item:last-child { - padding-top: .21428571em; - padding-bottom: .21428571em -} - -.ui.celled.list .item .list > .item { - border-width: 0 -} - -.ui.celled.list .list > .item:first-child { - border-top-width: 0 -} - -.ui.celled.bulleted.list { - margin-left: 0 -} - -.ui.celled.bulleted.list .list > .item, .ui.celled.bulleted.list > .item { - padding-left: 1.25rem -} - -.ui.celled.bulleted.list .item .list { - margin-left: -1.25rem; - margin-right: -1.25rem; - padding-bottom: .21428571em -} - -.ui.celled.ordered.list { - margin-left: 0 -} - -.ui.celled.ordered.list .list > .item, .ui.celled.ordered.list > .item { - padding-left: 1.25rem -} - -.ui.celled.ordered.list .item .list { - margin-left: 0; - margin-right: 0; - padding-bottom: .21428571em -} - -.ui.celled.ordered.list .list > .item { - padding-left: 1em -} - -.ui.horizontal.celled.list { - margin-left: 0 -} - -.ui.horizontal.celled.list .list > .item, .ui.horizontal.celled.list > .item { - border-top: none; - border-left: 1px solid rgba(34, 36, 38, .15); - margin: 0; - padding-left: .5em; - padding-right: .5em; - line-height: .6 -} - -.ui.horizontal.celled.list .list > .item:last-child, .ui.horizontal.celled.list > .item:last-child { - border-bottom: none; - border-right: 1px solid rgba(34, 36, 38, .15) -} - -.ui.celled.inverted.list > .item, .ui.celled.inverted.list > .list { - border-color: 1px solid rgba(255, 255, 255, .1) -} - -.ui.celled.inverted.horizontal.list .list > .item, .ui.celled.inverted.horizontal.list > .item { - border-color: 1px solid rgba(255, 255, 255, .1) -} - -.ui.relaxed.list:not(.horizontal) > .item:not(:first-child) { - padding-top: .42857143em -} - -.ui.relaxed.list:not(.horizontal) > .item:not(:last-child) { - padding-bottom: .42857143em -} - -.ui.horizontal.relaxed.list .list > .item:not(:first-child), .ui.horizontal.relaxed.list > .item:not(:first-child) { - padding-left: 1rem -} - -.ui.horizontal.relaxed.list .list > .item:not(:last-child), .ui.horizontal.relaxed.list > .item:not(:last-child) { - padding-right: 1rem -} - -.ui[class*="very relaxed"].list:not(.horizontal) > .item:not(:first-child) { - padding-top: .85714286em -} - -.ui[class*="very relaxed"].list:not(.horizontal) > .item:not(:last-child) { - padding-bottom: .85714286em -} - -.ui.horizontal[class*="very relaxed"].list .list > .item:not(:first-child), .ui.horizontal[class*="very relaxed"].list > .item:not(:first-child) { - padding-left: 1.5rem -} - -.ui.horizontal[class*="very relaxed"].list .list > .item:not(:last-child), .ui.horizontal[class*="very relaxed"].list > .item:not(:last-child) { - padding-right: 1.5rem -} - -.ui.mini.list { - font-size: .78571429em -} - -.ui.tiny.list { - font-size: .85714286em -} - -.ui.small.list { - font-size: .92857143em -} - -.ui.list { - font-size: 1em -} - -.ui.large.list { - font-size: 1.14285714em -} - -.ui.big.list { - font-size: 1.28571429em -} - -.ui.huge.list { - font-size: 1.42857143em -} - -.ui.massive.list { - font-size: 1.71428571em -} - -.ui.mini.horizontal.list .list > .item, .ui.mini.horizontal.list > .item { - font-size: .78571429rem -} - -.ui.tiny.horizontal.list .list > .item, .ui.tiny.horizontal.list > .item { - font-size: .85714286rem -} - -.ui.small.horizontal.list .list > .item, .ui.small.horizontal.list > .item { - font-size: .92857143rem -} - -.ui.horizontal.list .list > .item, .ui.horizontal.list > .item { - font-size: 1rem -} - -.ui.large.horizontal.list .list > .item, .ui.large.horizontal.list > .item { - font-size: 1.14285714rem -} - -.ui.big.horizontal.list .list > .item, .ui.big.horizontal.list > .item { - font-size: 1.28571429rem -} - -.ui.huge.horizontal.list .list > .item, .ui.huge.horizontal.list > .item { - font-size: 1.42857143rem -} - -.ui.massive.horizontal.list .list > .item, .ui.massive.horizontal.list > .item { - font-size: 1.71428571rem -} - -/*! - * # Semantic UI 2.4.0 - Loader - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.loader { - display: none; - position: absolute; - top: 50%; - left: 50%; - margin: 0; - text-align: center; - z-index: 1000; - -webkit-transform: translateX(-50%) translateY(-50%); - transform: translateX(-50%) translateY(-50%) -} - -.ui.loader:before { - position: absolute; - content: ''; - top: 0; - left: 50%; - width: 100%; - height: 100%; - border-radius: 500rem; - border: .2em solid rgba(0, 0, 0, .1) -} - -.ui.loader:after { - position: absolute; - content: ''; - top: 0; - left: 50%; - width: 100%; - height: 100%; - -webkit-animation: loader .6s linear; - animation: loader .6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - border-radius: 500rem; - border-color: #767676 transparent transparent; - border-style: solid; - border-width: .2em; - -webkit-box-shadow: 0 0 0 1px transparent; - box-shadow: 0 0 0 1px transparent -} - -@-webkit-keyframes loader { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -@keyframes loader { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -.ui.mini.loader:after, .ui.mini.loader:before { - width: 1rem; - height: 1rem; - margin: 0 0 0 -.5rem -} - -.ui.tiny.loader:after, .ui.tiny.loader:before { - width: 1.14285714rem; - height: 1.14285714rem; - margin: 0 0 0 -.57142857rem -} - -.ui.small.loader:after, .ui.small.loader:before { - width: 1.71428571rem; - height: 1.71428571rem; - margin: 0 0 0 -.85714286rem -} - -.ui.loader:after, .ui.loader:before { - width: 2.28571429rem; - height: 2.28571429rem; - margin: 0 0 0 -1.14285714rem -} - -.ui.large.loader:after, .ui.large.loader:before { - width: 3.42857143rem; - height: 3.42857143rem; - margin: 0 0 0 -1.71428571rem -} - -.ui.big.loader:after, .ui.big.loader:before { - width: 3.71428571rem; - height: 3.71428571rem; - margin: 0 0 0 -1.85714286rem -} - -.ui.huge.loader:after, .ui.huge.loader:before { - width: 4.14285714rem; - height: 4.14285714rem; - margin: 0 0 0 -2.07142857rem -} - -.ui.massive.loader:after, .ui.massive.loader:before { - width: 4.57142857rem; - height: 4.57142857rem; - margin: 0 0 0 -2.28571429rem -} - -.ui.dimmer .loader { - display: block -} - -.ui.dimmer .ui.loader { - color: rgba(255, 255, 255, .9) -} - -.ui.dimmer .ui.loader:before { - border-color: rgba(255, 255, 255, .15) -} - -.ui.dimmer .ui.loader:after { - border-color: #fff transparent transparent -} - -.ui.inverted.dimmer .ui.loader { - color: rgba(0, 0, 0, .87) -} - -.ui.inverted.dimmer .ui.loader:before { - border-color: rgba(0, 0, 0, .1) -} - -.ui.inverted.dimmer .ui.loader:after { - border-color: #767676 transparent transparent -} - -.ui.text.loader { - width: auto !important; - height: auto !important; - text-align: center; - font-style: normal -} - -.ui.indeterminate.loader:after { - animation-direction: reverse; - -webkit-animation-duration: 1.2s; - animation-duration: 1.2s -} - -.ui.loader.active, .ui.loader.visible { - display: block -} - -.ui.loader.disabled, .ui.loader.hidden { - display: none -} - -.ui.inverted.dimmer .ui.mini.loader, .ui.mini.loader { - width: 1rem; - height: 1rem; - font-size: .78571429em -} - -.ui.inverted.dimmer .ui.tiny.loader, .ui.tiny.loader { - width: 1.14285714rem; - height: 1.14285714rem; - font-size: .85714286em -} - -.ui.inverted.dimmer .ui.small.loader, .ui.small.loader { - width: 1.71428571rem; - height: 1.71428571rem; - font-size: .92857143em -} - -.ui.inverted.dimmer .ui.loader, .ui.loader { - width: 2.28571429rem; - height: 2.28571429rem; - font-size: 1em -} - -.ui.inverted.dimmer .ui.large.loader, .ui.large.loader { - width: 3.42857143rem; - height: 3.42857143rem; - font-size: 1.14285714em -} - -.ui.big.loader, .ui.inverted.dimmer .ui.big.loader { - width: 3.71428571rem; - height: 3.71428571rem; - font-size: 1.28571429em -} - -.ui.huge.loader, .ui.inverted.dimmer .ui.huge.loader { - width: 4.14285714rem; - height: 4.14285714rem; - font-size: 1.42857143em -} - -.ui.inverted.dimmer .ui.massive.loader, .ui.massive.loader { - width: 4.57142857rem; - height: 4.57142857rem; - font-size: 1.71428571em -} - -.ui.mini.text.loader { - min-width: 1rem; - padding-top: 1.78571429rem -} - -.ui.tiny.text.loader { - min-width: 1.14285714rem; - padding-top: 1.92857143rem -} - -.ui.small.text.loader { - min-width: 1.71428571rem; - padding-top: 2.5rem -} - -.ui.text.loader { - min-width: 2.28571429rem; - padding-top: 3.07142857rem -} - -.ui.large.text.loader { - min-width: 3.42857143rem; - padding-top: 4.21428571rem -} - -.ui.big.text.loader { - min-width: 3.71428571rem; - padding-top: 4.5rem -} - -.ui.huge.text.loader { - min-width: 4.14285714rem; - padding-top: 4.92857143rem -} - -.ui.massive.text.loader { - min-width: 4.57142857rem; - padding-top: 5.35714286rem -} - -.ui.inverted.loader { - color: rgba(255, 255, 255, .9) -} - -.ui.inverted.loader:before { - border-color: rgba(255, 255, 255, .15) -} - -.ui.inverted.loader:after { - border-top-color: #fff -} - -.ui.inline.loader { - position: relative; - vertical-align: middle; - margin: 0; - left: 0; - top: 0; - -webkit-transform: none; - transform: none -} - -.ui.inline.loader.active, .ui.inline.loader.visible { - display: inline-block -} - -.ui.centered.inline.loader.active, .ui.centered.inline.loader.visible { - display: block; - margin-left: auto; - margin-right: auto -} - -/*! - * # Semantic UI 2.4.0 - Loader - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.placeholder { - position: static; - overflow: hidden; - -webkit-animation: placeholderShimmer 2s linear; - animation: placeholderShimmer 2s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - background-color: #fff; - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .08)), color-stop(15%, rgba(0, 0, 0, .15)), color-stop(30%, rgba(0, 0, 0, .08))); - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .08) 0, rgba(0, 0, 0, .15) 15%, rgba(0, 0, 0, .08) 30%); - background-image: linear-gradient(to right, rgba(0, 0, 0, .08) 0, rgba(0, 0, 0, .15) 15%, rgba(0, 0, 0, .08) 30%); - background-size: 1200px 100%; - max-width: 30rem -} - -@-webkit-keyframes placeholderShimmer { - 0% { - background-position: -1200px 0 - } - 100% { - background-position: 1200px 0 - } -} - -@keyframes placeholderShimmer { - 0% { - background-position: -1200px 0 - } - 100% { - background-position: 1200px 0 - } -} - -.ui.placeholder + .ui.placeholder { - margin-top: 2rem -} - -.ui.placeholder + .ui.placeholder { - -webkit-animation-delay: .15s; - animation-delay: .15s -} - -.ui.placeholder + .ui.placeholder + .ui.placeholder { - -webkit-animation-delay: .3s; - animation-delay: .3s -} - -.ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder { - -webkit-animation-delay: .45s; - animation-delay: .45s -} - -.ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder { - -webkit-animation-delay: .6s; - animation-delay: .6s -} - -.ui.placeholder, .ui.placeholder .image.header:after, .ui.placeholder .line, .ui.placeholder .line:after, .ui.placeholder > :before { - background-color: #fff -} - -.ui.placeholder .image:not(.header):not(.ui) { - height: 100px -} - -.ui.placeholder .square.image:not(.header) { - height: 0; - overflow: hidden; - padding-top: 100% -} - -.ui.placeholder .rectangular.image:not(.header) { - height: 0; - overflow: hidden; - padding-top: 75% -} - -.ui.placeholder .line { - position: relative; - height: .85714286em -} - -.ui.placeholder .line:after, .ui.placeholder .line:before { - top: 100%; - position: absolute; - content: ''; - background-color: inherit -} - -.ui.placeholder .line:before { - left: 0 -} - -.ui.placeholder .line:after { - right: 0 -} - -.ui.placeholder .line { - margin-bottom: .5em -} - -.ui.placeholder .line:after, .ui.placeholder .line:before { - height: .5em -} - -.ui.placeholder .line:not(:first-child) { - margin-top: .5em -} - -.ui.placeholder .header { - position: relative; - overflow: hidden -} - -.ui.placeholder .line:nth-child(1):after { - width: 0% -} - -.ui.placeholder .line:nth-child(2):after { - width: 50% -} - -.ui.placeholder .line:nth-child(3):after { - width: 10% -} - -.ui.placeholder .line:nth-child(4):after { - width: 35% -} - -.ui.placeholder .line:nth-child(5):after { - width: 65% -} - -.ui.placeholder .header .line { - margin-bottom: .64285714em -} - -.ui.placeholder .header .line:after, .ui.placeholder .header .line:before { - height: .64285714em -} - -.ui.placeholder .header .line:not(:first-child) { - margin-top: .64285714em -} - -.ui.placeholder .header .line:after { - width: 20% -} - -.ui.placeholder .header .line:nth-child(2):after { - width: 60% -} - -.ui.placeholder .image.header .line { - margin-left: 3em -} - -.ui.placeholder .image.header .line:before { - width: .71428571rem -} - -.ui.placeholder .image.header:after { - display: block; - height: .85714286em; - content: ''; - margin-left: 3em -} - -.ui.placeholder .header .line:first-child, .ui.placeholder .image .line:first-child, .ui.placeholder .paragraph .line:first-child { - height: .01px -} - -.ui.placeholder .header:not(:first-child):before, .ui.placeholder .image:not(:first-child):before, .ui.placeholder .paragraph:not(:first-child):before { - height: 1.42857143em; - content: ''; - display: block -} - -.ui.inverted.placeholder { - background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, .08)), color-stop(15%, rgba(255, 255, 255, .14)), color-stop(30%, rgba(255, 255, 255, .08))); - background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, .08) 0, rgba(255, 255, 255, .14) 15%, rgba(255, 255, 255, .08) 30%); - background-image: linear-gradient(to right, rgba(255, 255, 255, .08) 0, rgba(255, 255, 255, .14) 15%, rgba(255, 255, 255, .08) 30%) -} - -.ui.inverted.placeholder, .ui.inverted.placeholder .image.header:after, .ui.inverted.placeholder .line, .ui.inverted.placeholder .line:after, .ui.inverted.placeholder > :before { - background-color: #1b1c1d -} - -.ui.placeholder .full.line.line.line:after { - width: 0% -} - -.ui.placeholder .very.long.line.line.line:after { - width: 10% -} - -.ui.placeholder .long.line.line.line:after { - width: 35% -} - -.ui.placeholder .medium.line.line.line:after { - width: 50% -} - -.ui.placeholder .short.line.line.line:after { - width: 65% -} - -.ui.placeholder .very.short.line.line.line:after { - width: 80% -} - -.ui.fluid.placeholder { - max-width: none -} - -/*! - * # Semantic UI 2.4.0 - Rail - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.rail { - position: absolute; - top: 0; - width: 300px; - height: 100% -} - -.ui.left.rail { - left: auto; - right: 100%; - padding: 0 2rem 0 0; - margin: 0 2rem 0 0 -} - -.ui.right.rail { - left: 100%; - right: auto; - padding: 0 0 0 2rem; - margin: 0 0 0 2rem -} - -.ui.left.internal.rail { - left: 0; - right: auto; - padding: 0 0 0 2rem; - margin: 0 0 0 2rem -} - -.ui.right.internal.rail { - left: auto; - right: 0; - padding: 0 2rem 0 0; - margin: 0 2rem 0 0 -} - -.ui.dividing.rail { - width: 302.5px -} - -.ui.left.dividing.rail { - padding: 0 2.5rem 0 0; - margin: 0 2.5rem 0 0; - border-right: 1px solid rgba(34, 36, 38, .15) -} - -.ui.right.dividing.rail { - border-left: 1px solid rgba(34, 36, 38, .15); - padding: 0 0 0 2.5rem; - margin: 0 0 0 2.5rem -} - -.ui.close.rail { - width: calc(300px + 1em) -} - -.ui.close.left.rail { - padding: 0 1em 0 0; - margin: 0 1em 0 0 -} - -.ui.close.right.rail { - padding: 0 0 0 1em; - margin: 0 0 0 1em -} - -.ui.very.close.rail { - width: calc(300px + .5em) -} - -.ui.very.close.left.rail { - padding: 0 .5em 0 0; - margin: 0 .5em 0 0 -} - -.ui.very.close.right.rail { - padding: 0 0 0 .5em; - margin: 0 0 0 .5em -} - -.ui.attached.left.rail, .ui.attached.right.rail { - padding: 0; - margin: 0 -} - -.ui.mini.rail { - font-size: .78571429rem -} - -.ui.tiny.rail { - font-size: .85714286rem -} - -.ui.small.rail { - font-size: .92857143rem -} - -.ui.rail { - font-size: 1rem -} - -.ui.large.rail { - font-size: 1.14285714rem -} - -.ui.big.rail { - font-size: 1.28571429rem -} - -.ui.huge.rail { - font-size: 1.42857143rem -} - -.ui.massive.rail { - font-size: 1.71428571rem -} - -/*! - * # Semantic UI 2.4.0 - Reveal - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.reveal { - display: inherit; - position: relative !important; - font-size: 0 !important -} - -.ui.reveal > .visible.content { - position: absolute !important; - top: 0 !important; - left: 0 !important; - z-index: 3 !important; - -webkit-transition: all .5s ease .1s; - transition: all .5s ease .1s -} - -.ui.reveal > .hidden.content { - position: relative !important; - z-index: 2 !important -} - -.ui.active.reveal .visible.content, .ui.reveal:hover .visible.content { - z-index: 4 !important -} - -.ui.slide.reveal { - position: relative !important; - overflow: hidden !important; - white-space: nowrap -} - -.ui.slide.reveal > .content { - display: block; - width: 100%; - white-space: normal; - float: left; - margin: 0; - -webkit-transition: -webkit-transform .5s ease .1s; - transition: -webkit-transform .5s ease .1s; - transition: transform .5s ease .1s; - transition: transform .5s ease .1s, -webkit-transform .5s ease .1s -} - -.ui.slide.reveal > .visible.content { - position: relative !important -} - -.ui.slide.reveal > .hidden.content { - position: absolute !important; - left: 0 !important; - width: 100% !important; - -webkit-transform: translateX(100%) !important; - transform: translateX(100%) !important -} - -.ui.slide.active.reveal > .visible.content, .ui.slide.reveal:hover > .visible.content { - -webkit-transform: translateX(-100%) !important; - transform: translateX(-100%) !important -} - -.ui.slide.active.reveal > .hidden.content, .ui.slide.reveal:hover > .hidden.content { - -webkit-transform: translateX(0) !important; - transform: translateX(0) !important -} - -.ui.slide.right.reveal > .visible.content { - -webkit-transform: translateX(0) !important; - transform: translateX(0) !important -} - -.ui.slide.right.reveal > .hidden.content { - -webkit-transform: translateX(-100%) !important; - transform: translateX(-100%) !important -} - -.ui.slide.right.active.reveal > .visible.content, .ui.slide.right.reveal:hover > .visible.content { - -webkit-transform: translateX(100%) !important; - transform: translateX(100%) !important -} - -.ui.slide.right.active.reveal > .hidden.content, .ui.slide.right.reveal:hover > .hidden.content { - -webkit-transform: translateX(0) !important; - transform: translateX(0) !important -} - -.ui.slide.up.reveal > .hidden.content { - -webkit-transform: translateY(100%) !important; - transform: translateY(100%) !important -} - -.ui.slide.up.active.reveal > .visible.content, .ui.slide.up.reveal:hover > .visible.content { - -webkit-transform: translateY(-100%) !important; - transform: translateY(-100%) !important -} - -.ui.slide.up.active.reveal > .hidden.content, .ui.slide.up.reveal:hover > .hidden.content { - -webkit-transform: translateY(0) !important; - transform: translateY(0) !important -} - -.ui.slide.down.reveal > .hidden.content { - -webkit-transform: translateY(-100%) !important; - transform: translateY(-100%) !important -} - -.ui.slide.down.active.reveal > .visible.content, .ui.slide.down.reveal:hover > .visible.content { - -webkit-transform: translateY(100%) !important; - transform: translateY(100%) !important -} - -.ui.slide.down.active.reveal > .hidden.content, .ui.slide.down.reveal:hover > .hidden.content { - -webkit-transform: translateY(0) !important; - transform: translateY(0) !important -} - -.ui.fade.reveal > .visible.content { - opacity: 1 -} - -.ui.fade.active.reveal > .visible.content, .ui.fade.reveal:hover > .visible.content { - opacity: 0 -} - -.ui.move.reveal { - position: relative !important; - overflow: hidden !important; - white-space: nowrap -} - -.ui.move.reveal > .content { - display: block; - float: left; - white-space: normal; - margin: 0; - -webkit-transition: -webkit-transform .5s cubic-bezier(.175, .885, .32, 1) .1s; - transition: -webkit-transform .5s cubic-bezier(.175, .885, .32, 1) .1s; - transition: transform .5s cubic-bezier(.175, .885, .32, 1) .1s; - transition: transform .5s cubic-bezier(.175, .885, .32, 1) .1s, -webkit-transform .5s cubic-bezier(.175, .885, .32, 1) .1s -} - -.ui.move.reveal > .visible.content { - position: relative !important -} - -.ui.move.reveal > .hidden.content { - position: absolute !important; - left: 0 !important; - width: 100% !important -} - -.ui.move.active.reveal > .visible.content, .ui.move.reveal:hover > .visible.content { - -webkit-transform: translateX(-100%) !important; - transform: translateX(-100%) !important -} - -.ui.move.right.active.reveal > .visible.content, .ui.move.right.reveal:hover > .visible.content { - -webkit-transform: translateX(100%) !important; - transform: translateX(100%) !important -} - -.ui.move.up.active.reveal > .visible.content, .ui.move.up.reveal:hover > .visible.content { - -webkit-transform: translateY(-100%) !important; - transform: translateY(-100%) !important -} - -.ui.move.down.active.reveal > .visible.content, .ui.move.down.reveal:hover > .visible.content { - -webkit-transform: translateY(100%) !important; - transform: translateY(100%) !important -} - -.ui.rotate.reveal > .visible.content { - -webkit-transition-duration: .5s; - transition-duration: .5s; - -webkit-transform: rotate(0); - transform: rotate(0) -} - -.ui.rotate.reveal > .visible.content, .ui.rotate.right.reveal > .visible.content { - -webkit-transform-origin: bottom right; - transform-origin: bottom right -} - -.ui.rotate.active.reveal > .visible.content, .ui.rotate.reveal:hover > .visible.content, .ui.rotate.right.active.reveal > .visible.content, .ui.rotate.right.reveal:hover > .visible.content { - -webkit-transform: rotate(110deg); - transform: rotate(110deg) -} - -.ui.rotate.left.reveal > .visible.content { - -webkit-transform-origin: bottom left; - transform-origin: bottom left -} - -.ui.rotate.left.active.reveal > .visible.content, .ui.rotate.left.reveal:hover > .visible.content { - -webkit-transform: rotate(-110deg); - transform: rotate(-110deg) -} - -.ui.disabled.reveal:hover > .visible.visible.content { - position: static !important; - display: block !important; - opacity: 1 !important; - top: 0 !important; - left: 0 !important; - right: auto !important; - bottom: auto !important; - -webkit-transform: none !important; - transform: none !important -} - -.ui.disabled.reveal:hover > .hidden.hidden.content { - display: none !important -} - -.ui.reveal > .ui.ribbon.label { - z-index: 5 -} - -.ui.visible.reveal { - overflow: visible -} - -.ui.instant.reveal > .content { - -webkit-transition-delay: 0s !important; - transition-delay: 0s !important -} - -.ui.reveal > .content { - font-size: 1rem !important -} - -/*! - * # Semantic UI 2.4.0 - Segment - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.segment { - position: relative; - background: #fff; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15); - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15); - margin: 1rem 0; - padding: 1em 1em; - border-radius: .28571429rem; - border: 1px solid rgba(34, 36, 38, .15) -} - -.ui.segment:first-child { - margin-top: 0 -} - -.ui.segment:last-child { - margin-bottom: 0 -} - -.ui.vertical.segment { - margin: 0; - padding-left: 0; - padding-right: 0; - background: none transparent; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; - border: none; - border-bottom: 1px solid rgba(34, 36, 38, .15) -} - -.ui.vertical.segment:last-child { - border-bottom: none -} - -.ui.inverted.segment > .ui.header { - color: #fff -} - -.ui[class*="bottom attached"].segment > [class*="top attached"].label { - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.ui[class*="top attached"].segment > [class*="bottom attached"].label { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0 -} - -.ui.attached.segment:not(.top):not(.bottom) > [class*="top attached"].label { - border-top-left-radius: 0; - border-top-right-radius: 0 -} - -.ui.attached.segment:not(.top):not(.bottom) > [class*="bottom attached"].label { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0 -} - -.ui.grid > .row > .ui.segment.column, .ui.grid > .ui.segment.column, .ui.page.grid.segment { - padding-top: 2em; - padding-bottom: 2em -} - -.ui.grid.segment { - margin: 1rem 0; - border-radius: .28571429rem -} - -.ui.basic.table.segment { - background: #fff; - border: 1px solid rgba(34, 36, 38, .15); - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15); - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15) -} - -.ui[class*="very basic"].table.segment { - padding: 1em 1em -} - -.ui.placeholder.segment { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - max-width: initial; - -webkit-animation: none; - animation: none; - overflow: visible; - padding: 1em 1em; - min-height: 18rem; - background: #f9fafb; - border-color: rgba(34, 36, 38, .15); - -webkit-box-shadow: 0 2px 25px 0 rgba(34, 36, 38, .05) inset; - box-shadow: 0 2px 25px 0 rgba(34, 36, 38, .05) inset -} - -.ui.placeholder.segment .button, .ui.placeholder.segment textarea { - display: block -} - -.ui.placeholder.segment .button, .ui.placeholder.segment .field, .ui.placeholder.segment textarea, .ui.placeholder.segment > .ui.input { - max-width: 15rem; - margin-left: auto; - margin-right: auto -} - -.ui.placeholder.segment .column .button, .ui.placeholder.segment .column .field, .ui.placeholder.segment .column textarea, .ui.placeholder.segment .column > .ui.input { - max-width: 15rem; - margin-left: auto; - margin-right: auto -} - -.ui.placeholder.segment > .inline { - -ms-flex-item-align: center; - align-self: center -} - -.ui.placeholder.segment > .inline > .button { - display: inline-block; - width: auto; - margin: 0 .35714286rem 0 0 -} - -.ui.placeholder.segment > .inline > .button:last-child { - margin-right: 0 -} - -.ui.piled.segment, .ui.piled.segments { - margin: 3em 0; - -webkit-box-shadow: ''; - box-shadow: ''; - z-index: auto -} - -.ui.piled.segment:first-child { - margin-top: 0 -} - -.ui.piled.segment:last-child { - margin-bottom: 0 -} - -.ui.piled.segment:after, .ui.piled.segment:before, .ui.piled.segments:after, .ui.piled.segments:before { - background-color: #fff; - visibility: visible; - content: ''; - display: block; - height: 100%; - left: 0; - position: absolute; - width: 100%; - border: 1px solid rgba(34, 36, 38, .15); - -webkit-box-shadow: ''; - box-shadow: '' -} - -.ui.piled.segment:before, .ui.piled.segments:before { - -webkit-transform: rotate(-1.2deg); - transform: rotate(-1.2deg); - top: 0; - z-index: -2 -} - -.ui.piled.segment:after, .ui.piled.segments:after { - -webkit-transform: rotate(1.2deg); - transform: rotate(1.2deg); - top: 0; - z-index: -1 -} - -.ui[class*="top attached"].piled.segment { - margin-top: 3em; - margin-bottom: 0 -} - -.ui.piled.segment[class*="top attached"]:first-child { - margin-top: 0 -} - -.ui.piled.segment[class*="bottom attached"] { - margin-top: 0; - margin-bottom: 3em -} - -.ui.piled.segment[class*="bottom attached"]:last-child { - margin-bottom: 0 -} - -.ui.stacked.segment { - padding-bottom: 1.4em -} - -.ui.stacked.segment:after, .ui.stacked.segment:before, .ui.stacked.segments:after, .ui.stacked.segments:before { - content: ''; - position: absolute; - bottom: -3px; - left: 0; - border-top: 1px solid rgba(34, 36, 38, .15); - background: rgba(0, 0, 0, .03); - width: 100%; - height: 6px; - visibility: visible -} - -.ui.stacked.segment:before, .ui.stacked.segments:before { - display: none -} - -.ui.tall.stacked.segment:before, .ui.tall.stacked.segments:before { - display: block; - bottom: 0 -} - -.ui.stacked.inverted.segment:after, .ui.stacked.inverted.segment:before, .ui.stacked.inverted.segments:after, .ui.stacked.inverted.segments:before { - background-color: rgba(0, 0, 0, .03); - border-top: 1px solid rgba(34, 36, 38, .35) -} - -.ui.padded.segment { - padding: 1.5em -} - -.ui[class*="very padded"].segment { - padding: 3em -} - -.ui.padded.segment.vertical.segment, .ui[class*="very padded"].vertical.segment { - padding-left: 0; - padding-right: 0 -} - -.ui.compact.segment { - display: table -} - -.ui.compact.segments { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex -} - -.ui.compact.segments .segment, .ui.segments .compact.segment { - display: block; - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto -} - -.ui.circular.segment { - display: table-cell; - padding: 2em; - text-align: center; - vertical-align: middle; - border-radius: 500em -} - -.ui.raised.segment, .ui.raised.segments { - -webkit-box-shadow: 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15); - box-shadow: 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15) -} - -.ui.segments { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - position: relative; - margin: 1rem 0; - border: 1px solid rgba(34, 36, 38, .15); - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15); - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15); - border-radius: .28571429rem -} - -.ui.segments:first-child { - margin-top: 0 -} - -.ui.segments:last-child { - margin-bottom: 0 -} - -.ui.segments > .segment { - top: 0; - bottom: 0; - border-radius: 0; - margin: 0; - width: auto; - -webkit-box-shadow: none; - box-shadow: none; - border: none; - border-top: 1px solid rgba(34, 36, 38, .15) -} - -.ui.segments:not(.horizontal) > .segment:first-child { - border-top: none; - margin-top: 0; - bottom: 0; - margin-bottom: 0; - top: 0; - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.segments:not(.horizontal) > .segment:last-child { - top: 0; - bottom: 0; - margin-top: 0; - margin-bottom: 0; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), none; - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), none; - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.segments:not(.horizontal) > .segment:only-child { - border-radius: .28571429rem -} - -.ui.segments > .ui.segments { - border-top: 1px solid rgba(34, 36, 38, .15); - margin: 1rem 1rem -} - -.ui.segments > .segments:first-child { - border-top: none -} - -.ui.segments > .segment + .segments:not(.horizontal) { - margin-top: 0 -} - -.ui.horizontal.segments { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - background-color: transparent; - border-radius: 0; - padding: 0; - background-color: #fff; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15); - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15); - margin: 1rem 0; - border-radius: .28571429rem; - border: 1px solid rgba(34, 36, 38, .15) -} - -.ui.segments > .horizontal.segments { - margin: 0; - background-color: transparent; - border-radius: 0; - border: none; - -webkit-box-shadow: none; - box-shadow: none; - border-top: 1px solid rgba(34, 36, 38, .15) -} - -.ui.horizontal.segments > .segment { - -webkit-box-flex: 1; - flex: 1 1 auto; - -ms-flex: 1 1 0px; - margin: 0; - min-width: 0; - background-color: transparent; - border-radius: 0; - border: none; - -webkit-box-shadow: none; - box-shadow: none; - border-left: 1px solid rgba(34, 36, 38, .15) -} - -.ui.segments > .horizontal.segments:first-child { - border-top: none -} - -.ui.horizontal.segments > .segment:first-child { - border-left: none -} - -.ui.disabled.segment { - opacity: .45; - color: rgba(40, 40, 40, .3) -} - -.ui.loading.segment { - position: relative; - cursor: default; - pointer-events: none; - text-shadow: none !important; - color: transparent !important; - -webkit-transition: all 0s linear; - transition: all 0s linear -} - -.ui.loading.segment:before { - position: absolute; - content: ''; - top: 0; - left: 0; - background: rgba(255, 255, 255, .8); - width: 100%; - height: 100%; - border-radius: .28571429rem; - z-index: 100 -} - -.ui.loading.segment:after { - position: absolute; - content: ''; - top: 50%; - left: 50%; - margin: -1.5em 0 0 -1.5em; - width: 3em; - height: 3em; - -webkit-animation: segment-spin .6s linear; - animation: segment-spin .6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - border-radius: 500rem; - border-color: #767676 rgba(0, 0, 0, .1) rgba(0, 0, 0, .1) rgba(0, 0, 0, .1); - border-style: solid; - border-width: .2em; - -webkit-box-shadow: 0 0 0 1px transparent; - box-shadow: 0 0 0 1px transparent; - visibility: visible; - z-index: 101 -} - -@-webkit-keyframes segment-spin { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -@keyframes segment-spin { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -.ui.basic.segment { - background: none transparent; - -webkit-box-shadow: none; - box-shadow: none; - border: none; - border-radius: 0 -} - -.ui.clearing.segment:after { - content: "."; - display: block; - height: 0; - clear: both; - visibility: hidden -} - -.ui.red.segment:not(.inverted) { - border-top: 2px solid #db2828 !important -} - -.ui.inverted.red.segment { - background-color: #db2828 !important; - color: #fff !important -} - -.ui.orange.segment:not(.inverted) { - border-top: 2px solid #f2711c !important -} - -.ui.inverted.orange.segment { - background-color: #f2711c !important; - color: #fff !important -} - -.ui.yellow.segment:not(.inverted) { - border-top: 2px solid #fbbd08 !important -} - -.ui.inverted.yellow.segment { - background-color: #fbbd08 !important; - color: #fff !important -} - -.ui.olive.segment:not(.inverted) { - border-top: 2px solid #b5cc18 !important -} - -.ui.inverted.olive.segment { - background-color: #b5cc18 !important; - color: #fff !important -} - -.ui.green.segment:not(.inverted) { - border-top: 2px solid #21ba45 !important -} - -.ui.inverted.green.segment { - background-color: #21ba45 !important; - color: #fff !important -} - -.ui.teal.segment:not(.inverted) { - border-top: 2px solid #00b5ad !important -} - -.ui.inverted.teal.segment { - background-color: #00b5ad !important; - color: #fff !important -} - -.ui.blue.segment:not(.inverted) { - border-top: 2px solid #2185d0 !important -} - -.ui.inverted.blue.segment { - background-color: #2185d0 !important; - color: #fff !important -} - -.ui.violet.segment:not(.inverted) { - border-top: 2px solid #6435c9 !important -} - -.ui.inverted.violet.segment { - background-color: #6435c9 !important; - color: #fff !important -} - -.ui.purple.segment:not(.inverted) { - border-top: 2px solid #a333c8 !important -} - -.ui.inverted.purple.segment { - background-color: #a333c8 !important; - color: #fff !important -} - -.ui.pink.segment:not(.inverted) { - border-top: 2px solid #e03997 !important -} - -.ui.inverted.pink.segment { - background-color: #e03997 !important; - color: #fff !important -} - -.ui.brown.segment:not(.inverted) { - border-top: 2px solid #a5673f !important -} - -.ui.inverted.brown.segment { - background-color: #a5673f !important; - color: #fff !important -} - -.ui.grey.segment:not(.inverted) { - border-top: 2px solid #767676 !important -} - -.ui.inverted.grey.segment { - background-color: #767676 !important; - color: #fff !important -} - -.ui.black.segment:not(.inverted) { - border-top: 2px solid #1b1c1d !important -} - -.ui.inverted.black.segment { - background-color: #1b1c1d !important; - color: #fff !important -} - -.ui[class*="left aligned"].segment { - text-align: left -} - -.ui[class*="right aligned"].segment { - text-align: right -} - -.ui[class*="center aligned"].segment { - text-align: center -} - -.ui.floated.segment, .ui[class*="left floated"].segment { - float: left; - margin-right: 1em -} - -.ui[class*="right floated"].segment { - float: right; - margin-left: 1em -} - -.ui.inverted.segment { - border: none; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.inverted.segment, .ui.primary.inverted.segment { - background: #1b1c1d; - color: rgba(255, 255, 255, .9) -} - -.ui.inverted.segment .segment { - color: rgba(0, 0, 0, .87) -} - -.ui.inverted.segment .inverted.segment { - color: rgba(255, 255, 255, .9) -} - -.ui.inverted.attached.segment { - border-color: #555 -} - -.ui.secondary.segment { - background: #f3f4f5; - color: rgba(0, 0, 0, .6) -} - -.ui.secondary.inverted.segment { - background: #4c4f52 -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, .2)), to(rgba(255, 255, 255, .2))); - background: #4c4f52 -webkit-linear-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .2) 100%); - background: #4c4f52 linear-gradient(rgba(255, 255, 255, .2) 0, rgba(255, 255, 255, .2) 100%); - color: rgba(255, 255, 255, .8) -} - -.ui.tertiary.segment { - background: #dcddde; - color: rgba(0, 0, 0, .6) -} - -.ui.tertiary.inverted.segment { - background: #717579 -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, .35)), to(rgba(255, 255, 255, .35))); - background: #717579 -webkit-linear-gradient(rgba(255, 255, 255, .35) 0, rgba(255, 255, 255, .35) 100%); - background: #717579 linear-gradient(rgba(255, 255, 255, .35) 0, rgba(255, 255, 255, .35) 100%); - color: rgba(255, 255, 255, .8) -} - -.ui.attached.segment { - top: 0; - bottom: 0; - border-radius: 0; - margin: 0 -1px; - width: calc(100% + 2px); - max-width: calc(100% + 2px); - -webkit-box-shadow: none; - box-shadow: none; - border: 1px solid #d4d4d5 -} - -.ui.attached:not(.message) + .ui.attached.segment:not(.top) { - border-top: none -} - -.ui[class*="top attached"].segment { - bottom: 0; - margin-bottom: 0; - top: 0; - margin-top: 1rem; - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.segment[class*="top attached"]:first-child { - margin-top: 0 -} - -.ui.segment[class*="bottom attached"] { - bottom: 0; - margin-top: 0; - top: 0; - margin-bottom: 1rem; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), none; - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), none; - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.segment[class*="bottom attached"]:last-child { - margin-bottom: 0 -} - -.ui.mini.segment, .ui.mini.segments .segment { - font-size: .78571429rem -} - -.ui.tiny.segment, .ui.tiny.segments .segment { - font-size: .85714286rem -} - -.ui.small.segment, .ui.small.segments .segment { - font-size: .92857143rem -} - -.ui.segment, .ui.segments .segment { - font-size: 1rem -} - -.ui.large.segment, .ui.large.segments .segment { - font-size: 1.14285714rem -} - -.ui.big.segment, .ui.big.segments .segment { - font-size: 1.28571429rem -} - -.ui.huge.segment, .ui.huge.segments .segment { - font-size: 1.42857143rem -} - -.ui.massive.segment, .ui.massive.segments .segment { - font-size: 1.71428571rem -} - -/*! - * # Semantic UI 2.4.0 - Step - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.steps { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - margin: 1em 0; - background: ''; - -webkit-box-shadow: none; - box-shadow: none; - line-height: 1.14285714em; - border-radius: .28571429rem; - border: 1px solid rgba(34, 36, 38, .15) -} - -.ui.steps:first-child { - margin-top: 0 -} - -.ui.steps:last-child { - margin-bottom: 0 -} - -.ui.steps .step { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - vertical-align: middle; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin: 0 0; - padding: 1.14285714em 2em; - background: #fff; - color: rgba(0, 0, 0, .87); - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0; - border: none; - border-right: 1px solid rgba(34, 36, 38, .15); - -webkit-transition: background-color .1s ease, opacity .1s ease, color .1s ease, -webkit-box-shadow .1s ease; - transition: background-color .1s ease, opacity .1s ease, color .1s ease, -webkit-box-shadow .1s ease; - transition: background-color .1s ease, opacity .1s ease, color .1s ease, box-shadow .1s ease; - transition: background-color .1s ease, opacity .1s ease, color .1s ease, box-shadow .1s ease, -webkit-box-shadow .1s ease -} - -.ui.steps .step:after { - display: none; - position: absolute; - z-index: 2; - content: ''; - top: 50%; - right: 0; - border: medium none; - background-color: #fff; - width: 1.14285714em; - height: 1.14285714em; - border-style: solid; - border-color: rgba(34, 36, 38, .15); - border-width: 0 1px 1px 0; - -webkit-transition: background-color .1s ease, opacity .1s ease, color .1s ease, -webkit-box-shadow .1s ease; - transition: background-color .1s ease, opacity .1s ease, color .1s ease, -webkit-box-shadow .1s ease; - transition: background-color .1s ease, opacity .1s ease, color .1s ease, box-shadow .1s ease; - transition: background-color .1s ease, opacity .1s ease, color .1s ease, box-shadow .1s ease, -webkit-box-shadow .1s ease; - -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg); - transform: translateY(-50%) translateX(50%) rotate(-45deg) -} - -.ui.steps .step:first-child { - padding-left: 2em; - border-radius: .28571429rem 0 0 .28571429rem -} - -.ui.steps .step:last-child { - border-radius: 0 .28571429rem .28571429rem 0 -} - -.ui.steps .step:last-child { - border-right: none; - margin-right: 0 -} - -.ui.steps .step:only-child { - border-radius: .28571429rem -} - -.ui.steps .step .title { - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1.14285714em; - font-weight: 700 -} - -.ui.steps .step > .title { - width: 100% -} - -.ui.steps .step .description { - font-weight: 400; - font-size: .92857143em; - color: rgba(0, 0, 0, .87) -} - -.ui.steps .step > .description { - width: 100% -} - -.ui.steps .step .title ~ .description { - margin-top: .25em -} - -.ui.steps .step > .icon { - line-height: 1; - font-size: 2.5em; - margin: 0 1rem 0 0 -} - -.ui.steps .step > .icon, .ui.steps .step > .icon ~ .content { - display: block; - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - -ms-flex-item-align: middle; - align-self: middle -} - -.ui.steps .step > .icon ~ .content { - -webkit-box-flex: 1 0 auto; - -ms-flex-positive: 1 0 auto; - flex-grow: 1 0 auto -} - -.ui.steps:not(.vertical) .step > .icon { - width: auto -} - -.ui.steps .link.step, .ui.steps a.step { - cursor: pointer -} - -.ui.ordered.steps { - counter-reset: ordered -} - -.ui.ordered.steps .step:before { - display: block; - position: static; - text-align: center; - content: counters(ordered, "."); - -ms-flex-item-align: middle; - align-self: middle; - margin-right: 1rem; - font-size: 2.5em; - counter-increment: ordered; - font-family: inherit; - font-weight: 700 -} - -.ui.ordered.steps .step > * { - display: block; - -ms-flex-item-align: middle; - align-self: middle -} - -.ui.vertical.steps { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - overflow: visible -} - -.ui.vertical.steps .step { - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - border-radius: 0; - padding: 1.14285714em 2em; - border-right: none; - border-bottom: 1px solid rgba(34, 36, 38, .15) -} - -.ui.vertical.steps .step:first-child { - padding: 1.14285714em 2em; - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.vertical.steps .step:last-child { - border-bottom: none; - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.vertical.steps .step:only-child { - border-radius: .28571429rem -} - -.ui.vertical.steps .step:after { - display: none -} - -.ui.vertical.steps .step:after { - top: 50%; - right: 0; - border-width: 0 1px 1px 0 -} - -.ui.vertical.steps .step:after { - display: none -} - -.ui.vertical.steps .active.step:after { - display: block -} - -.ui.vertical.steps .step:last-child:after { - display: none -} - -.ui.vertical.steps .active.step:last-child:after { - display: block -} - -@media only screen and (max-width: 767px) { - .ui.steps:not(.unstackable) { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - overflow: visible; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column - } - - .ui.steps:not(.unstackable) .step { - width: 100% !important; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - border-radius: 0; - padding: 1.14285714em 2em - } - - .ui.steps:not(.unstackable) .step:first-child { - padding: 1.14285714em 2em; - border-radius: .28571429rem .28571429rem 0 0 - } - - .ui.steps:not(.unstackable) .step:last-child { - border-radius: 0 0 .28571429rem .28571429rem - } - - .ui.steps:not(.unstackable) .step:after { - display: none !important - } - - .ui.steps:not(.unstackable) .step .content { - text-align: center - } - - .ui.ordered.steps:not(.unstackable) .step:before, .ui.steps:not(.unstackable) .step > .icon { - margin: 0 0 1rem 0 - } -} - -.ui.steps .link.step:hover, .ui.steps .link.step:hover::after, .ui.steps a.step:hover, .ui.steps a.step:hover::after { - background: #f9fafb; - color: rgba(0, 0, 0, .8) -} - -.ui.steps .link.step:active, .ui.steps .link.step:active::after, .ui.steps a.step:active, .ui.steps a.step:active::after { - background: #f3f4f5; - color: rgba(0, 0, 0, .9) -} - -.ui.steps .step.active { - cursor: auto; - background: #f3f4f5 -} - -.ui.steps .step.active:after { - background: #f3f4f5 -} - -.ui.steps .step.active .title { - color: #4183c4 -} - -.ui.ordered.steps .step.active:before, .ui.steps .active.step .icon { - color: rgba(0, 0, 0, .85) -} - -.ui.steps .step:after { - display: block -} - -.ui.steps .active.step:after { - display: block -} - -.ui.steps .step:last-child:after { - display: none -} - -.ui.steps .active.step:last-child:after { - display: none -} - -.ui.steps .link.active.step:hover, .ui.steps .link.active.step:hover::after, .ui.steps a.active.step:hover, .ui.steps a.active.step:hover::after { - cursor: pointer; - background: #dcddde; - color: rgba(0, 0, 0, .87) -} - -.ui.ordered.steps .step.completed:before, .ui.steps .step.completed > .icon:before { - color: #21ba45 -} - -.ui.steps .disabled.step { - cursor: auto; - background: #fff; - pointer-events: none -} - -.ui.steps .disabled.step, .ui.steps .disabled.step .description, .ui.steps .disabled.step .title { - color: rgba(40, 40, 40, .3) -} - -.ui.steps .disabled.step:after { - background: #fff -} - -@media only screen and (max-width: 991px) { - .ui[class*="tablet stackable"].steps { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - overflow: visible; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column - } - - .ui[class*="tablet stackable"].steps .step { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - border-radius: 0; - padding: 1.14285714em 2em - } - - .ui[class*="tablet stackable"].steps .step:first-child { - padding: 1.14285714em 2em; - border-radius: .28571429rem .28571429rem 0 0 - } - - .ui[class*="tablet stackable"].steps .step:last-child { - border-radius: 0 0 .28571429rem .28571429rem - } - - .ui[class*="tablet stackable"].steps .step:after { - display: none !important - } - - .ui[class*="tablet stackable"].steps .step .content { - text-align: center - } - - .ui[class*="tablet stackable"].ordered.steps .step:before, .ui[class*="tablet stackable"].steps .step > .icon { - margin: 0 0 1rem 0 - } -} - -.ui.fluid.steps { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - width: 100% -} - -.ui.attached.steps { - width: calc(100% + 2px) !important; - margin: 0 -1px 0; - max-width: calc(100% + 2px); - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.attached.steps .step:first-child { - border-radius: .28571429rem 0 0 0 -} - -.ui.attached.steps .step:last-child { - border-radius: 0 .28571429rem 0 0 -} - -.ui.bottom.attached.steps { - margin: 0 -1px 0; - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.bottom.attached.steps .step:first-child { - border-radius: 0 0 0 .28571429rem -} - -.ui.bottom.attached.steps .step:last-child { - border-radius: 0 0 .28571429rem 0 -} - -.ui.eight.steps, .ui.five.steps, .ui.four.steps, .ui.one.steps, .ui.seven.steps, .ui.six.steps, .ui.three.steps, .ui.two.steps { - width: 100% -} - -.ui.eight.steps > .step, .ui.five.steps > .step, .ui.four.steps > .step, .ui.one.steps > .step, .ui.seven.steps > .step, .ui.six.steps > .step, .ui.three.steps > .step, .ui.two.steps > .step { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap -} - -.ui.one.steps > .step { - width: 100% -} - -.ui.two.steps > .step { - width: 50% -} - -.ui.three.steps > .step { - width: 33.333% -} - -.ui.four.steps > .step { - width: 25% -} - -.ui.five.steps > .step { - width: 20% -} - -.ui.six.steps > .step { - width: 16.666% -} - -.ui.seven.steps > .step { - width: 14.285% -} - -.ui.eight.steps > .step { - width: 12.5% -} - -.ui.mini.step, .ui.mini.steps .step { - font-size: .78571429rem -} - -.ui.tiny.step, .ui.tiny.steps .step { - font-size: .85714286rem -} - -.ui.small.step, .ui.small.steps .step { - font-size: .92857143rem -} - -.ui.step, .ui.steps .step { - font-size: 1rem -} - -.ui.large.step, .ui.large.steps .step { - font-size: 1.14285714rem -} - -.ui.big.step, .ui.big.steps .step { - font-size: 1.28571429rem -} - -.ui.huge.step, .ui.huge.steps .step { - font-size: 1.42857143rem -} - -.ui.massive.step, .ui.massive.steps .step { - font-size: 1.71428571rem -} - -@font-face { - font-family: Step; - src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA) format('woff') -} - -.ui.ordered.steps .step.completed:before, .ui.steps .step.completed > .icon:before { - font-family: Step; - content: '\e800' -} - -/*! - * # Semantic UI 2.4.0 - Breadcrumb - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.breadcrumb { - line-height: 1; - display: inline-block; - margin: 0 0; - vertical-align: middle -} - -.ui.breadcrumb:first-child { - margin-top: 0 -} - -.ui.breadcrumb:last-child { - margin-bottom: 0 -} - -.ui.breadcrumb .divider { - display: inline-block; - opacity: .7; - margin: 0 .21428571rem 0; - font-size: .92857143em; - color: rgba(0, 0, 0, .4); - vertical-align: baseline -} - -.ui.breadcrumb a { - color: #4183c4 -} - -.ui.breadcrumb a:hover { - color: #1e70bf -} - -.ui.breadcrumb .icon.divider { - font-size: .85714286em; - vertical-align: baseline -} - -.ui.breadcrumb a.section { - cursor: pointer -} - -.ui.breadcrumb .section { - display: inline-block; - margin: 0; - padding: 0 -} - -.ui.breadcrumb.segment { - display: inline-block; - padding: .78571429em 1em -} - -.ui.breadcrumb .active.section { - font-weight: 700 -} - -.ui.mini.breadcrumb { - font-size: .78571429rem -} - -.ui.tiny.breadcrumb { - font-size: .85714286rem -} - -.ui.small.breadcrumb { - font-size: .92857143rem -} - -.ui.breadcrumb { - font-size: 1rem -} - -.ui.large.breadcrumb { - font-size: 1.14285714rem -} - -.ui.big.breadcrumb { - font-size: 1.28571429rem -} - -.ui.huge.breadcrumb { - font-size: 1.42857143rem -} - -.ui.massive.breadcrumb { - font-size: 1.71428571rem -} - -/*! - * # Semantic UI 2.4.0 - Form - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.form { - position: relative; - max-width: 100% -} - -.ui.form > p { - margin: 1em 0 -} - -.ui.form .field { - clear: both; - margin: 0 0 1em -} - -.ui.form .field:last-child, .ui.form .fields:last-child .field { - margin-bottom: 0 -} - -.ui.form .fields .field { - clear: both; - margin: 0 -} - -.ui.form .field > label { - display: block; - margin: 0 0 .28571429rem 0; - color: rgba(0, 0, 0, .87); - font-size: .92857143em; - font-weight: 700; - text-transform: none -} - -.ui.form input:not([type]), .ui.form input[type=date], .ui.form input[type=datetime-local], .ui.form input[type=email], .ui.form input[type=file], .ui.form input[type=number], .ui.form input[type=password], .ui.form input[type=search], .ui.form input[type=tel], .ui.form input[type=text], .ui.form input[type=time], .ui.form input[type=url], .ui.form textarea { - width: 100%; - vertical-align: top -} - -.ui.form ::-webkit-datetime-edit, .ui.form ::-webkit-inner-spin-button { - height: 1.21428571em -} - -.ui.form input:not([type]), .ui.form input[type=date], .ui.form input[type=datetime-local], .ui.form input[type=email], .ui.form input[type=file], .ui.form input[type=number], .ui.form input[type=password], .ui.form input[type=search], .ui.form input[type=tel], .ui.form input[type=text], .ui.form input[type=time], .ui.form input[type=url] { - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - margin: 0; - outline: 0; - -webkit-appearance: none; - tap-highlight-color: rgba(255, 255, 255, 0); - line-height: 1.21428571em; - padding: .67857143em 1em; - font-size: 1em; - background: #fff; - border: 1px solid rgba(34, 36, 38, .15); - color: rgba(0, 0, 0, .87); - border-radius: .28571429rem; - -webkit-box-shadow: 0 0 0 0 transparent inset; - box-shadow: 0 0 0 0 transparent inset; - -webkit-transition: color .1s ease, border-color .1s ease; - transition: color .1s ease, border-color .1s ease -} - -.ui.form textarea { - margin: 0; - -webkit-appearance: none; - tap-highlight-color: rgba(255, 255, 255, 0); - padding: .78571429em 1em; - background: #fff; - border: 1px solid rgba(34, 36, 38, .15); - outline: 0; - color: rgba(0, 0, 0, .87); - border-radius: .28571429rem; - -webkit-box-shadow: 0 0 0 0 transparent inset; - box-shadow: 0 0 0 0 transparent inset; - -webkit-transition: color .1s ease, border-color .1s ease; - transition: color .1s ease, border-color .1s ease; - font-size: 1em; - line-height: 1.2857; - resize: vertical -} - -.ui.form textarea:not([rows]) { - height: 12em; - min-height: 8em; - max-height: 24em -} - -.ui.form input[type=checkbox], .ui.form textarea { - vertical-align: top -} - -.ui.form input.attached { - width: auto -} - -.ui.form select { - display: block; - height: auto; - width: 100%; - background: #fff; - border: 1px solid rgba(34, 36, 38, .15); - border-radius: .28571429rem; - -webkit-box-shadow: 0 0 0 0 transparent inset; - box-shadow: 0 0 0 0 transparent inset; - padding: .62em 1em; - color: rgba(0, 0, 0, .87); - -webkit-transition: color .1s ease, border-color .1s ease; - transition: color .1s ease, border-color .1s ease -} - -.ui.form .field > .selection.dropdown { - width: 100% -} - -.ui.form .field > .selection.dropdown > .dropdown.icon { - float: right -} - -.ui.form .inline.field > .selection.dropdown, .ui.form .inline.fields .field > .selection.dropdown { - width: auto -} - -.ui.form .inline.field > .selection.dropdown > .dropdown.icon, .ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon { - float: none -} - -.ui.form .field .ui.input, .ui.form .fields .field .ui.input, .ui.form .wide.field .ui.input { - width: 100% -} - -.ui.form .inline.field:not(.wide) .ui.input, .ui.form .inline.fields .field:not(.wide) .ui.input { - width: auto; - vertical-align: middle -} - -.ui.form .field .ui.input input, .ui.form .fields .field .ui.input input { - width: auto -} - -.ui.form .eight.fields .ui.input input, .ui.form .five.fields .ui.input input, .ui.form .four.fields .ui.input input, .ui.form .nine.fields .ui.input input, .ui.form .seven.fields .ui.input input, .ui.form .six.fields .ui.input input, .ui.form .ten.fields .ui.input input, .ui.form .three.fields .ui.input input, .ui.form .two.fields .ui.input input, .ui.form .wide.field .ui.input input { - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - width: 0 -} - -.ui.form .error.message, .ui.form .success.message, .ui.form .warning.message { - display: none -} - -.ui.form .message:first-child { - margin-top: 0 -} - -.ui.form .field .prompt.label { - white-space: normal; - background: #fff !important; - border: 1px solid #e0b4b4 !important; - color: #9f3a38 !important -} - -.ui.form .inline.field .prompt, .ui.form .inline.fields .field .prompt { - vertical-align: top; - margin: -.25em 0 -.5em .5em -} - -.ui.form .inline.field .prompt:before, .ui.form .inline.fields .field .prompt:before { - border-width: 0 0 1px 1px; - bottom: auto; - right: auto; - top: 50%; - left: 0 -} - -.ui.form .field.field input:-webkit-autofill { - -webkit-box-shadow: 0 0 0 100px ivory inset !important; - box-shadow: 0 0 0 100px ivory inset !important; - border-color: #e5dfa1 !important -} - -.ui.form .field.field input:-webkit-autofill:focus { - -webkit-box-shadow: 0 0 0 100px ivory inset !important; - box-shadow: 0 0 0 100px ivory inset !important; - border-color: #d5c315 !important -} - -.ui.form .error.error input:-webkit-autofill { - -webkit-box-shadow: 0 0 0 100px #fffaf0 inset !important; - box-shadow: 0 0 0 100px #fffaf0 inset !important; - border-color: #e0b4b4 !important -} - -.ui.form ::-webkit-input-placeholder { - color: rgba(191, 191, 191, .87) -} - -.ui.form :-ms-input-placeholder { - color: rgba(191, 191, 191, .87) !important -} - -.ui.form ::-moz-placeholder { - color: rgba(191, 191, 191, .87) -} - -.ui.form :focus::-webkit-input-placeholder { - color: rgba(115, 115, 115, .87) -} - -.ui.form :focus:-ms-input-placeholder { - color: rgba(115, 115, 115, .87) !important -} - -.ui.form :focus::-moz-placeholder { - color: rgba(115, 115, 115, .87) -} - -.ui.form .error ::-webkit-input-placeholder { - color: #e7bdbc -} - -.ui.form .error :-ms-input-placeholder { - color: #e7bdbc !important -} - -.ui.form .error ::-moz-placeholder { - color: #e7bdbc -} - -.ui.form .error :focus::-webkit-input-placeholder { - color: #da9796 -} - -.ui.form .error :focus:-ms-input-placeholder { - color: #da9796 !important -} - -.ui.form .error :focus::-moz-placeholder { - color: #da9796 -} - -.ui.form input:not([type]):focus, .ui.form input[type=date]:focus, .ui.form input[type=datetime-local]:focus, .ui.form input[type=email]:focus, .ui.form input[type=file]:focus, .ui.form input[type=number]:focus, .ui.form input[type=password]:focus, .ui.form input[type=search]:focus, .ui.form input[type=tel]:focus, .ui.form input[type=text]:focus, .ui.form input[type=time]:focus, .ui.form input[type=url]:focus { - color: rgba(0, 0, 0, .95); - border-color: #85b7d9; - border-radius: .28571429rem; - background: #fff; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .35) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .35) inset -} - -.ui.form textarea:focus { - color: rgba(0, 0, 0, .95); - border-color: #85b7d9; - border-radius: .28571429rem; - background: #fff; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, .35) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, .35) inset; - -webkit-appearance: none -} - -.ui.form.success .success.message:not(:empty) { - display: block -} - -.ui.form.success .compact.success.message:not(:empty) { - display: inline-block -} - -.ui.form.success .icon.success.message:not(:empty) { - display: -webkit-box; - display: -ms-flexbox; - display: flex -} - -.ui.form.warning .warning.message:not(:empty) { - display: block -} - -.ui.form.warning .compact.warning.message:not(:empty) { - display: inline-block -} - -.ui.form.warning .icon.warning.message:not(:empty) { - display: -webkit-box; - display: -ms-flexbox; - display: flex -} - -.ui.form.error .error.message:not(:empty) { - display: block -} - -.ui.form.error .compact.error.message:not(:empty) { - display: inline-block -} - -.ui.form.error .icon.error.message:not(:empty) { - display: -webkit-box; - display: -ms-flexbox; - display: flex -} - -.ui.form .field.error .input, .ui.form .field.error label, .ui.form .fields.error .field .input, .ui.form .fields.error .field label { - color: #9f3a38 -} - -.ui.form .field.error .corner.label, .ui.form .fields.error .field .corner.label { - border-color: #9f3a38; - color: #fff -} - -.ui.form .field.error input:not([type]), .ui.form .field.error input[type=date], .ui.form .field.error input[type=datetime-local], .ui.form .field.error input[type=email], .ui.form .field.error input[type=file], .ui.form .field.error input[type=number], .ui.form .field.error input[type=password], .ui.form .field.error input[type=search], .ui.form .field.error input[type=tel], .ui.form .field.error input[type=text], .ui.form .field.error input[type=time], .ui.form .field.error input[type=url], .ui.form .field.error select, .ui.form .field.error textarea, .ui.form .fields.error .field input:not([type]), .ui.form .fields.error .field input[type=date], .ui.form .fields.error .field input[type=datetime-local], .ui.form .fields.error .field input[type=email], .ui.form .fields.error .field input[type=file], .ui.form .fields.error .field input[type=number], .ui.form .fields.error .field input[type=password], .ui.form .fields.error .field input[type=search], .ui.form .fields.error .field input[type=tel], .ui.form .fields.error .field input[type=text], .ui.form .fields.error .field input[type=time], .ui.form .fields.error .field input[type=url], .ui.form .fields.error .field select, .ui.form .fields.error .field textarea { - background: #fff6f6; - border-color: #e0b4b4; - color: #9f3a38; - border-radius: ''; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.form .field.error input:not([type]):focus, .ui.form .field.error input[type=date]:focus, .ui.form .field.error input[type=datetime-local]:focus, .ui.form .field.error input[type=email]:focus, .ui.form .field.error input[type=file]:focus, .ui.form .field.error input[type=number]:focus, .ui.form .field.error input[type=password]:focus, .ui.form .field.error input[type=search]:focus, .ui.form .field.error input[type=tel]:focus, .ui.form .field.error input[type=text]:focus, .ui.form .field.error input[type=time]:focus, .ui.form .field.error input[type=url]:focus, .ui.form .field.error select:focus, .ui.form .field.error textarea:focus { - background: #fff6f6; - border-color: #e0b4b4; - color: #9f3a38; - -webkit-appearance: none; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.form .field.error select { - -webkit-appearance: menulist-button -} - -.ui.form .field.error .ui.dropdown, .ui.form .field.error .ui.dropdown .item, .ui.form .field.error .ui.dropdown .text, .ui.form .fields.error .field .ui.dropdown, .ui.form .fields.error .field .ui.dropdown .item { - background: #fff6f6; - color: #9f3a38 -} - -.ui.form .field.error .ui.dropdown, .ui.form .fields.error .field .ui.dropdown { - border-color: #e0b4b4 !important -} - -.ui.form .field.error .ui.dropdown:hover, .ui.form .fields.error .field .ui.dropdown:hover { - border-color: #e0b4b4 !important -} - -.ui.form .field.error .ui.dropdown:hover .menu, .ui.form .fields.error .field .ui.dropdown:hover .menu { - border-color: #e0b4b4 -} - -.ui.form .field.error .ui.multiple.selection.dropdown > .label, .ui.form .fields.error .field .ui.multiple.selection.dropdown > .label { - background-color: #eacbcb; - color: #9f3a38 -} - -.ui.form .field.error .ui.dropdown .menu .item:hover, .ui.form .fields.error .field .ui.dropdown .menu .item:hover { - background-color: #fbe7e7 -} - -.ui.form .field.error .ui.dropdown .menu .selected.item, .ui.form .fields.error .field .ui.dropdown .menu .selected.item { - background-color: #fbe7e7 -} - -.ui.form .field.error .ui.dropdown .menu .active.item, .ui.form .fields.error .field .ui.dropdown .menu .active.item { - background-color: #fdcfcf !important -} - -.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box, .ui.form .field.error .checkbox:not(.toggle):not(.slider) label, .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box, .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label { - color: #9f3a38 -} - -.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before, .ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before, .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before, .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before { - background: #fff6f6; - border-color: #e0b4b4 -} - -.ui.form .field.error .checkbox .box:after, .ui.form .field.error .checkbox label:after, .ui.form .fields.error .field .checkbox .box:after, .ui.form .fields.error .field .checkbox label:after { - color: #9f3a38 -} - -.ui.form .disabled.field, .ui.form .disabled.fields .field, .ui.form .field :disabled { - pointer-events: none; - opacity: .45 -} - -.ui.form .field.disabled > label, .ui.form .fields.disabled > label { - opacity: .45 -} - -.ui.form .field.disabled :disabled { - opacity: 1 -} - -.ui.loading.form { - position: relative; - cursor: default; - pointer-events: none -} - -.ui.loading.form:before { - position: absolute; - content: ''; - top: 0; - left: 0; - background: rgba(255, 255, 255, .8); - width: 100%; - height: 100%; - z-index: 100 -} - -.ui.loading.form:after { - position: absolute; - content: ''; - top: 50%; - left: 50%; - margin: -1.5em 0 0 -1.5em; - width: 3em; - height: 3em; - -webkit-animation: form-spin .6s linear; - animation: form-spin .6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - border-radius: 500rem; - border-color: #767676 rgba(0, 0, 0, .1) rgba(0, 0, 0, .1) rgba(0, 0, 0, .1); - border-style: solid; - border-width: .2em; - -webkit-box-shadow: 0 0 0 1px transparent; - box-shadow: 0 0 0 1px transparent; - visibility: visible; - z-index: 101 -} - -@-webkit-keyframes form-spin { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -@keyframes form-spin { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -.ui.form .required.field > .checkbox:after, .ui.form .required.field > label:after, .ui.form .required.fields.grouped > label:after, .ui.form .required.fields:not(.grouped) > .field > .checkbox:after, .ui.form .required.fields:not(.grouped) > .field > label:after { - margin: -.2em 0 0 .2em; - content: '*'; - color: #db2828 -} - -.ui.form .required.field > label:after, .ui.form .required.fields.grouped > label:after, .ui.form .required.fields:not(.grouped) > .field > label:after { - display: inline-block; - vertical-align: top -} - -.ui.form .required.field > .checkbox:after, .ui.form .required.fields:not(.grouped) > .field > .checkbox:after { - position: absolute; - top: 0; - left: 100% -} - -.ui.form .inverted.segment .ui.checkbox .box, .ui.form .inverted.segment .ui.checkbox label, .ui.form .inverted.segment label, .ui.inverted.form .inline.field > label, .ui.inverted.form .inline.field > p, .ui.inverted.form .inline.fields .field > label, .ui.inverted.form .inline.fields .field > p, .ui.inverted.form .inline.fields > label, .ui.inverted.form .ui.checkbox .box, .ui.inverted.form .ui.checkbox label, .ui.inverted.form label { - color: rgba(255, 255, 255, .9) -} - -.ui.inverted.form input:not([type]), .ui.inverted.form input[type=date], .ui.inverted.form input[type=datetime-local], .ui.inverted.form input[type=email], .ui.inverted.form input[type=file], .ui.inverted.form input[type=number], .ui.inverted.form input[type=password], .ui.inverted.form input[type=search], .ui.inverted.form input[type=tel], .ui.inverted.form input[type=text], .ui.inverted.form input[type=time], .ui.inverted.form input[type=url] { - background: #fff; - border-color: rgba(255, 255, 255, .1); - color: rgba(0, 0, 0, .87); - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.form .grouped.fields { - display: block; - margin: 0 0 1em -} - -.ui.form .grouped.fields:last-child { - margin-bottom: 0 -} - -.ui.form .grouped.fields > label { - margin: 0 0 .28571429rem 0; - color: rgba(0, 0, 0, .87); - font-size: .92857143em; - font-weight: 700; - text-transform: none -} - -.ui.form .grouped.fields .field, .ui.form .grouped.inline.fields .field { - display: block; - margin: .5em 0; - padding: 0 -} - -.ui.form .fields { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - margin: 0 -.5em 1em -} - -.ui.form .fields > .field { - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - padding-left: .5em; - padding-right: .5em -} - -.ui.form .fields > .field:first-child { - border-left: none; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.form .two.fields > .field, .ui.form .two.fields > .fields { - width: 50% -} - -.ui.form .three.fields > .field, .ui.form .three.fields > .fields { - width: 33.33333333% -} - -.ui.form .four.fields > .field, .ui.form .four.fields > .fields { - width: 25% -} - -.ui.form .five.fields > .field, .ui.form .five.fields > .fields { - width: 20% -} - -.ui.form .six.fields > .field, .ui.form .six.fields > .fields { - width: 16.66666667% -} - -.ui.form .seven.fields > .field, .ui.form .seven.fields > .fields { - width: 14.28571429% -} - -.ui.form .eight.fields > .field, .ui.form .eight.fields > .fields { - width: 12.5% -} - -.ui.form .nine.fields > .field, .ui.form .nine.fields > .fields { - width: 11.11111111% -} - -.ui.form .ten.fields > .field, .ui.form .ten.fields > .fields { - width: 10% -} - -@media only screen and (max-width: 767px) { - .ui.form .fields { - -ms-flex-wrap: wrap; - flex-wrap: wrap - } - - .ui.form:not(.unstackable) .eight.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .eight.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) .nine.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .nine.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) .seven.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .seven.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) .six.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .six.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) .ten.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .ten.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) [class*="equal width"].fields:not(.unstackable) > .field, .ui[class*="equal width"].form:not(.unstackable) .fields > .field { - width: 100% !important; - margin: 0 0 1em - } -} - -.ui.form .fields .wide.field { - width: 6.25%; - padding-left: .5em; - padding-right: .5em -} - -.ui.form .one.wide.field { - width: 6.25% !important -} - -.ui.form .two.wide.field { - width: 12.5% !important -} - -.ui.form .three.wide.field { - width: 18.75% !important -} - -.ui.form .four.wide.field { - width: 25% !important -} - -.ui.form .five.wide.field { - width: 31.25% !important -} - -.ui.form .six.wide.field { - width: 37.5% !important -} - -.ui.form .seven.wide.field { - width: 43.75% !important -} - -.ui.form .eight.wide.field { - width: 50% !important -} - -.ui.form .nine.wide.field { - width: 56.25% !important -} - -.ui.form .ten.wide.field { - width: 62.5% !important -} - -.ui.form .eleven.wide.field { - width: 68.75% !important -} - -.ui.form .twelve.wide.field { - width: 75% !important -} - -.ui.form .thirteen.wide.field { - width: 81.25% !important -} - -.ui.form .fourteen.wide.field { - width: 87.5% !important -} - -.ui.form .fifteen.wide.field { - width: 93.75% !important -} - -.ui.form .sixteen.wide.field { - width: 100% !important -} - -@media only screen and (max-width: 767px) { - .ui.form:not(.unstackable) .fields:not(.unstackable) > .eight.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .eleven.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .fifteen.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .five.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .four.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .fourteen.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .nine.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .seven.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .six.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .sixteen.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .ten.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .thirteen.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .three.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .twelve.wide.field, .ui.form:not(.unstackable) .fields:not(.unstackable) > .two.wide.field, .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .five.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .four.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .three.fields:not(.unstackable) > .fields, .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .field, .ui.form:not(.unstackable) .two.fields:not(.unstackable) > .fields { - width: 100% !important - } - - .ui.form .fields { - margin-bottom: 0 - } -} - -.ui.form [class*="equal width"].fields > .field, .ui[class*="equal width"].form .fields > .field { - width: 100%; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto -} - -.ui.form .inline.fields { - margin: 0 0 1em; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center -} - -.ui.form .inline.fields .field { - margin: 0; - padding: 0 1em 0 0 -} - -.ui.form .inline.field > label, .ui.form .inline.field > p, .ui.form .inline.fields .field > label, .ui.form .inline.fields .field > p, .ui.form .inline.fields > label { - display: inline-block; - width: auto; - margin-top: 0; - margin-bottom: 0; - vertical-align: baseline; - font-size: .92857143em; - font-weight: 700; - color: rgba(0, 0, 0, .87); - text-transform: none -} - -.ui.form .inline.fields > label { - margin: .035714em 1em 0 0 -} - -.ui.form .inline.field > input, .ui.form .inline.field > select, .ui.form .inline.fields .field > input, .ui.form .inline.fields .field > select { - display: inline-block; - width: auto; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - font-size: 1em -} - -.ui.form .inline.field > :first-child, .ui.form .inline.fields .field > :first-child { - margin: 0 .85714286em 0 0 -} - -.ui.form .inline.field > :only-child, .ui.form .inline.fields .field > :only-child { - margin: 0 -} - -.ui.form .inline.fields .wide.field { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center -} - -.ui.form .inline.fields .wide.field > input, .ui.form .inline.fields .wide.field > select { - width: 100% -} - -.ui.mini.form { - font-size: .78571429rem -} - -.ui.tiny.form { - font-size: .85714286rem -} - -.ui.small.form { - font-size: .92857143rem -} - -.ui.form { - font-size: 1rem -} - -.ui.large.form { - font-size: 1.14285714rem -} - -.ui.big.form { - font-size: 1.28571429rem -} - -.ui.huge.form { - font-size: 1.42857143rem -} - -.ui.massive.form { - font-size: 1.71428571rem -} - -/*! - * # Semantic UI 2.4.0 - Grid - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.grid { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - padding: 0 -} - -.ui.grid { - margin-top: -1rem; - margin-bottom: -1rem; - margin-left: -1rem; - margin-right: -1rem -} - -.ui.relaxed.grid { - margin-left: -1.5rem; - margin-right: -1.5rem -} - -.ui[class*="very relaxed"].grid { - margin-left: -2.5rem; - margin-right: -2.5rem -} - -.ui.grid + .grid { - margin-top: 1rem -} - -.ui.grid > .column:not(.row), .ui.grid > .row > .column { - position: relative; - display: inline-block; - width: 6.25%; - padding-left: 1rem; - padding-right: 1rem; - vertical-align: top -} - -.ui.grid > * { - padding-left: 1rem; - padding-right: 1rem -} - -.ui.grid > .row { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-pack: inherit; - -ms-flex-pack: inherit; - justify-content: inherit; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - width: 100% !important; - padding: 0; - padding-top: 1rem; - padding-bottom: 1rem -} - -.ui.grid > .column:not(.row) { - padding-top: 1rem; - padding-bottom: 1rem -} - -.ui.grid > .row > .column { - margin-top: 0; - margin-bottom: 0 -} - -.ui.grid > .row > .column > img, .ui.grid > .row > img { - max-width: 100% -} - -.ui.grid > .ui.grid:first-child { - margin-top: 0 -} - -.ui.grid > .ui.grid:last-child { - margin-bottom: 0 -} - -.ui.aligned.grid .column > .segment:not(.compact):not(.attached), .ui.grid .aligned.row > .column > .segment:not(.compact):not(.attached) { - width: 100% -} - -.ui.grid .row + .ui.divider { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - margin: 1rem 1rem -} - -.ui.grid .column + .ui.vertical.divider { - height: calc(50% - 1rem) -} - -.ui.grid > .column:last-child > .horizontal.segment, .ui.grid > .row > .column:last-child > .horizontal.segment { - -webkit-box-shadow: none; - box-shadow: none -} - -@media only screen and (max-width: 767px) { - .ui.page.grid { - width: auto; - padding-left: 0; - padding-right: 0; - margin-left: 0; - margin-right: 0 - } -} - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .ui.page.grid { - width: auto; - margin-left: 0; - margin-right: 0; - padding-left: 2em; - padding-right: 2em - } -} - -@media only screen and (min-width: 992px) and (max-width: 1199px) { - .ui.page.grid { - width: auto; - margin-left: 0; - margin-right: 0; - padding-left: 3%; - padding-right: 3% - } -} - -@media only screen and (min-width: 1200px) and (max-width: 1919px) { - .ui.page.grid { - width: auto; - margin-left: 0; - margin-right: 0; - padding-left: 15%; - padding-right: 15% - } -} - -@media only screen and (min-width: 1920px) { - .ui.page.grid { - width: auto; - margin-left: 0; - margin-right: 0; - padding-left: 23%; - padding-right: 23% - } -} - -.ui.grid > .column:only-child, .ui.grid > .row > .column:only-child { - width: 100% -} - -.ui[class*="one column"].grid > .column:not(.row), .ui[class*="one column"].grid > .row > .column { - width: 100% -} - -.ui[class*="two column"].grid > .column:not(.row), .ui[class*="two column"].grid > .row > .column { - width: 50% -} - -.ui[class*="three column"].grid > .column:not(.row), .ui[class*="three column"].grid > .row > .column { - width: 33.33333333% -} - -.ui[class*="four column"].grid > .column:not(.row), .ui[class*="four column"].grid > .row > .column { - width: 25% -} - -.ui[class*="five column"].grid > .column:not(.row), .ui[class*="five column"].grid > .row > .column { - width: 20% -} - -.ui[class*="six column"].grid > .column:not(.row), .ui[class*="six column"].grid > .row > .column { - width: 16.66666667% -} - -.ui[class*="seven column"].grid > .column:not(.row), .ui[class*="seven column"].grid > .row > .column { - width: 14.28571429% -} - -.ui[class*="eight column"].grid > .column:not(.row), .ui[class*="eight column"].grid > .row > .column { - width: 12.5% -} - -.ui[class*="nine column"].grid > .column:not(.row), .ui[class*="nine column"].grid > .row > .column { - width: 11.11111111% -} - -.ui[class*="ten column"].grid > .column:not(.row), .ui[class*="ten column"].grid > .row > .column { - width: 10% -} - -.ui[class*="eleven column"].grid > .column:not(.row), .ui[class*="eleven column"].grid > .row > .column { - width: 9.09090909% -} - -.ui[class*="twelve column"].grid > .column:not(.row), .ui[class*="twelve column"].grid > .row > .column { - width: 8.33333333% -} - -.ui[class*="thirteen column"].grid > .column:not(.row), .ui[class*="thirteen column"].grid > .row > .column { - width: 7.69230769% -} - -.ui[class*="fourteen column"].grid > .column:not(.row), .ui[class*="fourteen column"].grid > .row > .column { - width: 7.14285714% -} - -.ui[class*="fifteen column"].grid > .column:not(.row), .ui[class*="fifteen column"].grid > .row > .column { - width: 6.66666667% -} - -.ui[class*="sixteen column"].grid > .column:not(.row), .ui[class*="sixteen column"].grid > .row > .column { - width: 6.25% -} - -.ui.grid > [class*="one column"].row > .column { - width: 100% !important -} - -.ui.grid > [class*="two column"].row > .column { - width: 50% !important -} - -.ui.grid > [class*="three column"].row > .column { - width: 33.33333333% !important -} - -.ui.grid > [class*="four column"].row > .column { - width: 25% !important -} - -.ui.grid > [class*="five column"].row > .column { - width: 20% !important -} - -.ui.grid > [class*="six column"].row > .column { - width: 16.66666667% !important -} - -.ui.grid > [class*="seven column"].row > .column { - width: 14.28571429% !important -} - -.ui.grid > [class*="eight column"].row > .column { - width: 12.5% !important -} - -.ui.grid > [class*="nine column"].row > .column { - width: 11.11111111% !important -} - -.ui.grid > [class*="ten column"].row > .column { - width: 10% !important -} - -.ui.grid > [class*="eleven column"].row > .column { - width: 9.09090909% !important -} - -.ui.grid > [class*="twelve column"].row > .column { - width: 8.33333333% !important -} - -.ui.grid > [class*="thirteen column"].row > .column { - width: 7.69230769% !important -} - -.ui.grid > [class*="fourteen column"].row > .column { - width: 7.14285714% !important -} - -.ui.grid > [class*="fifteen column"].row > .column { - width: 6.66666667% !important -} - -.ui.grid > [class*="sixteen column"].row > .column { - width: 6.25% !important -} - -.ui.celled.page.grid { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.column.grid > [class*="one wide"].column, .ui.grid > .column.row > [class*="one wide"].column, .ui.grid > .row > [class*="one wide"].column, .ui.grid > [class*="one wide"].column { - width: 6.25% !important -} - -.ui.column.grid > [class*="two wide"].column, .ui.grid > .column.row > [class*="two wide"].column, .ui.grid > .row > [class*="two wide"].column, .ui.grid > [class*="two wide"].column { - width: 12.5% !important -} - -.ui.column.grid > [class*="three wide"].column, .ui.grid > .column.row > [class*="three wide"].column, .ui.grid > .row > [class*="three wide"].column, .ui.grid > [class*="three wide"].column { - width: 18.75% !important -} - -.ui.column.grid > [class*="four wide"].column, .ui.grid > .column.row > [class*="four wide"].column, .ui.grid > .row > [class*="four wide"].column, .ui.grid > [class*="four wide"].column { - width: 25% !important -} - -.ui.column.grid > [class*="five wide"].column, .ui.grid > .column.row > [class*="five wide"].column, .ui.grid > .row > [class*="five wide"].column, .ui.grid > [class*="five wide"].column { - width: 31.25% !important -} - -.ui.column.grid > [class*="six wide"].column, .ui.grid > .column.row > [class*="six wide"].column, .ui.grid > .row > [class*="six wide"].column, .ui.grid > [class*="six wide"].column { - width: 37.5% !important -} - -.ui.column.grid > [class*="seven wide"].column, .ui.grid > .column.row > [class*="seven wide"].column, .ui.grid > .row > [class*="seven wide"].column, .ui.grid > [class*="seven wide"].column { - width: 43.75% !important -} - -.ui.column.grid > [class*="eight wide"].column, .ui.grid > .column.row > [class*="eight wide"].column, .ui.grid > .row > [class*="eight wide"].column, .ui.grid > [class*="eight wide"].column { - width: 50% !important -} - -.ui.column.grid > [class*="nine wide"].column, .ui.grid > .column.row > [class*="nine wide"].column, .ui.grid > .row > [class*="nine wide"].column, .ui.grid > [class*="nine wide"].column { - width: 56.25% !important -} - -.ui.column.grid > [class*="ten wide"].column, .ui.grid > .column.row > [class*="ten wide"].column, .ui.grid > .row > [class*="ten wide"].column, .ui.grid > [class*="ten wide"].column { - width: 62.5% !important -} - -.ui.column.grid > [class*="eleven wide"].column, .ui.grid > .column.row > [class*="eleven wide"].column, .ui.grid > .row > [class*="eleven wide"].column, .ui.grid > [class*="eleven wide"].column { - width: 68.75% !important -} - -.ui.column.grid > [class*="twelve wide"].column, .ui.grid > .column.row > [class*="twelve wide"].column, .ui.grid > .row > [class*="twelve wide"].column, .ui.grid > [class*="twelve wide"].column { - width: 75% !important -} - -.ui.column.grid > [class*="thirteen wide"].column, .ui.grid > .column.row > [class*="thirteen wide"].column, .ui.grid > .row > [class*="thirteen wide"].column, .ui.grid > [class*="thirteen wide"].column { - width: 81.25% !important -} - -.ui.column.grid > [class*="fourteen wide"].column, .ui.grid > .column.row > [class*="fourteen wide"].column, .ui.grid > .row > [class*="fourteen wide"].column, .ui.grid > [class*="fourteen wide"].column { - width: 87.5% !important -} - -.ui.column.grid > [class*="fifteen wide"].column, .ui.grid > .column.row > [class*="fifteen wide"].column, .ui.grid > .row > [class*="fifteen wide"].column, .ui.grid > [class*="fifteen wide"].column { - width: 93.75% !important -} - -.ui.column.grid > [class*="sixteen wide"].column, .ui.grid > .column.row > [class*="sixteen wide"].column, .ui.grid > .row > [class*="sixteen wide"].column, .ui.grid > [class*="sixteen wide"].column { - width: 100% !important -} - -@media only screen and (min-width: 320px) and (max-width: 767px) { - .ui.column.grid > [class*="one wide mobile"].column, .ui.grid > .column.row > [class*="one wide mobile"].column, .ui.grid > .row > [class*="one wide mobile"].column, .ui.grid > [class*="one wide mobile"].column { - width: 6.25% !important - } - - .ui.column.grid > [class*="two wide mobile"].column, .ui.grid > .column.row > [class*="two wide mobile"].column, .ui.grid > .row > [class*="two wide mobile"].column, .ui.grid > [class*="two wide mobile"].column { - width: 12.5% !important - } - - .ui.column.grid > [class*="three wide mobile"].column, .ui.grid > .column.row > [class*="three wide mobile"].column, .ui.grid > .row > [class*="three wide mobile"].column, .ui.grid > [class*="three wide mobile"].column { - width: 18.75% !important - } - - .ui.column.grid > [class*="four wide mobile"].column, .ui.grid > .column.row > [class*="four wide mobile"].column, .ui.grid > .row > [class*="four wide mobile"].column, .ui.grid > [class*="four wide mobile"].column { - width: 25% !important - } - - .ui.column.grid > [class*="five wide mobile"].column, .ui.grid > .column.row > [class*="five wide mobile"].column, .ui.grid > .row > [class*="five wide mobile"].column, .ui.grid > [class*="five wide mobile"].column { - width: 31.25% !important - } - - .ui.column.grid > [class*="six wide mobile"].column, .ui.grid > .column.row > [class*="six wide mobile"].column, .ui.grid > .row > [class*="six wide mobile"].column, .ui.grid > [class*="six wide mobile"].column { - width: 37.5% !important - } - - .ui.column.grid > [class*="seven wide mobile"].column, .ui.grid > .column.row > [class*="seven wide mobile"].column, .ui.grid > .row > [class*="seven wide mobile"].column, .ui.grid > [class*="seven wide mobile"].column { - width: 43.75% !important - } - - .ui.column.grid > [class*="eight wide mobile"].column, .ui.grid > .column.row > [class*="eight wide mobile"].column, .ui.grid > .row > [class*="eight wide mobile"].column, .ui.grid > [class*="eight wide mobile"].column { - width: 50% !important - } - - .ui.column.grid > [class*="nine wide mobile"].column, .ui.grid > .column.row > [class*="nine wide mobile"].column, .ui.grid > .row > [class*="nine wide mobile"].column, .ui.grid > [class*="nine wide mobile"].column { - width: 56.25% !important - } - - .ui.column.grid > [class*="ten wide mobile"].column, .ui.grid > .column.row > [class*="ten wide mobile"].column, .ui.grid > .row > [class*="ten wide mobile"].column, .ui.grid > [class*="ten wide mobile"].column { - width: 62.5% !important - } - - .ui.column.grid > [class*="eleven wide mobile"].column, .ui.grid > .column.row > [class*="eleven wide mobile"].column, .ui.grid > .row > [class*="eleven wide mobile"].column, .ui.grid > [class*="eleven wide mobile"].column { - width: 68.75% !important - } - - .ui.column.grid > [class*="twelve wide mobile"].column, .ui.grid > .column.row > [class*="twelve wide mobile"].column, .ui.grid > .row > [class*="twelve wide mobile"].column, .ui.grid > [class*="twelve wide mobile"].column { - width: 75% !important - } - - .ui.column.grid > [class*="thirteen wide mobile"].column, .ui.grid > .column.row > [class*="thirteen wide mobile"].column, .ui.grid > .row > [class*="thirteen wide mobile"].column, .ui.grid > [class*="thirteen wide mobile"].column { - width: 81.25% !important - } - - .ui.column.grid > [class*="fourteen wide mobile"].column, .ui.grid > .column.row > [class*="fourteen wide mobile"].column, .ui.grid > .row > [class*="fourteen wide mobile"].column, .ui.grid > [class*="fourteen wide mobile"].column { - width: 87.5% !important - } - - .ui.column.grid > [class*="fifteen wide mobile"].column, .ui.grid > .column.row > [class*="fifteen wide mobile"].column, .ui.grid > .row > [class*="fifteen wide mobile"].column, .ui.grid > [class*="fifteen wide mobile"].column { - width: 93.75% !important - } - - .ui.column.grid > [class*="sixteen wide mobile"].column, .ui.grid > .column.row > [class*="sixteen wide mobile"].column, .ui.grid > .row > [class*="sixteen wide mobile"].column, .ui.grid > [class*="sixteen wide mobile"].column { - width: 100% !important - } -} - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .ui.column.grid > [class*="one wide tablet"].column, .ui.grid > .column.row > [class*="one wide tablet"].column, .ui.grid > .row > [class*="one wide tablet"].column, .ui.grid > [class*="one wide tablet"].column { - width: 6.25% !important - } - - .ui.column.grid > [class*="two wide tablet"].column, .ui.grid > .column.row > [class*="two wide tablet"].column, .ui.grid > .row > [class*="two wide tablet"].column, .ui.grid > [class*="two wide tablet"].column { - width: 12.5% !important - } - - .ui.column.grid > [class*="three wide tablet"].column, .ui.grid > .column.row > [class*="three wide tablet"].column, .ui.grid > .row > [class*="three wide tablet"].column, .ui.grid > [class*="three wide tablet"].column { - width: 18.75% !important - } - - .ui.column.grid > [class*="four wide tablet"].column, .ui.grid > .column.row > [class*="four wide tablet"].column, .ui.grid > .row > [class*="four wide tablet"].column, .ui.grid > [class*="four wide tablet"].column { - width: 25% !important - } - - .ui.column.grid > [class*="five wide tablet"].column, .ui.grid > .column.row > [class*="five wide tablet"].column, .ui.grid > .row > [class*="five wide tablet"].column, .ui.grid > [class*="five wide tablet"].column { - width: 31.25% !important - } - - .ui.column.grid > [class*="six wide tablet"].column, .ui.grid > .column.row > [class*="six wide tablet"].column, .ui.grid > .row > [class*="six wide tablet"].column, .ui.grid > [class*="six wide tablet"].column { - width: 37.5% !important - } - - .ui.column.grid > [class*="seven wide tablet"].column, .ui.grid > .column.row > [class*="seven wide tablet"].column, .ui.grid > .row > [class*="seven wide tablet"].column, .ui.grid > [class*="seven wide tablet"].column { - width: 43.75% !important - } - - .ui.column.grid > [class*="eight wide tablet"].column, .ui.grid > .column.row > [class*="eight wide tablet"].column, .ui.grid > .row > [class*="eight wide tablet"].column, .ui.grid > [class*="eight wide tablet"].column { - width: 50% !important - } - - .ui.column.grid > [class*="nine wide tablet"].column, .ui.grid > .column.row > [class*="nine wide tablet"].column, .ui.grid > .row > [class*="nine wide tablet"].column, .ui.grid > [class*="nine wide tablet"].column { - width: 56.25% !important - } - - .ui.column.grid > [class*="ten wide tablet"].column, .ui.grid > .column.row > [class*="ten wide tablet"].column, .ui.grid > .row > [class*="ten wide tablet"].column, .ui.grid > [class*="ten wide tablet"].column { - width: 62.5% !important - } - - .ui.column.grid > [class*="eleven wide tablet"].column, .ui.grid > .column.row > [class*="eleven wide tablet"].column, .ui.grid > .row > [class*="eleven wide tablet"].column, .ui.grid > [class*="eleven wide tablet"].column { - width: 68.75% !important - } - - .ui.column.grid > [class*="twelve wide tablet"].column, .ui.grid > .column.row > [class*="twelve wide tablet"].column, .ui.grid > .row > [class*="twelve wide tablet"].column, .ui.grid > [class*="twelve wide tablet"].column { - width: 75% !important - } - - .ui.column.grid > [class*="thirteen wide tablet"].column, .ui.grid > .column.row > [class*="thirteen wide tablet"].column, .ui.grid > .row > [class*="thirteen wide tablet"].column, .ui.grid > [class*="thirteen wide tablet"].column { - width: 81.25% !important - } - - .ui.column.grid > [class*="fourteen wide tablet"].column, .ui.grid > .column.row > [class*="fourteen wide tablet"].column, .ui.grid > .row > [class*="fourteen wide tablet"].column, .ui.grid > [class*="fourteen wide tablet"].column { - width: 87.5% !important - } - - .ui.column.grid > [class*="fifteen wide tablet"].column, .ui.grid > .column.row > [class*="fifteen wide tablet"].column, .ui.grid > .row > [class*="fifteen wide tablet"].column, .ui.grid > [class*="fifteen wide tablet"].column { - width: 93.75% !important - } - - .ui.column.grid > [class*="sixteen wide tablet"].column, .ui.grid > .column.row > [class*="sixteen wide tablet"].column, .ui.grid > .row > [class*="sixteen wide tablet"].column, .ui.grid > [class*="sixteen wide tablet"].column { - width: 100% !important - } -} - -@media only screen and (min-width: 992px) { - .ui.column.grid > [class*="one wide computer"].column, .ui.grid > .column.row > [class*="one wide computer"].column, .ui.grid > .row > [class*="one wide computer"].column, .ui.grid > [class*="one wide computer"].column { - width: 6.25% !important - } - - .ui.column.grid > [class*="two wide computer"].column, .ui.grid > .column.row > [class*="two wide computer"].column, .ui.grid > .row > [class*="two wide computer"].column, .ui.grid > [class*="two wide computer"].column { - width: 12.5% !important - } - - .ui.column.grid > [class*="three wide computer"].column, .ui.grid > .column.row > [class*="three wide computer"].column, .ui.grid > .row > [class*="three wide computer"].column, .ui.grid > [class*="three wide computer"].column { - width: 18.75% !important - } - - .ui.column.grid > [class*="four wide computer"].column, .ui.grid > .column.row > [class*="four wide computer"].column, .ui.grid > .row > [class*="four wide computer"].column, .ui.grid > [class*="four wide computer"].column { - width: 25% !important - } - - .ui.column.grid > [class*="five wide computer"].column, .ui.grid > .column.row > [class*="five wide computer"].column, .ui.grid > .row > [class*="five wide computer"].column, .ui.grid > [class*="five wide computer"].column { - width: 31.25% !important - } - - .ui.column.grid > [class*="six wide computer"].column, .ui.grid > .column.row > [class*="six wide computer"].column, .ui.grid > .row > [class*="six wide computer"].column, .ui.grid > [class*="six wide computer"].column { - width: 37.5% !important - } - - .ui.column.grid > [class*="seven wide computer"].column, .ui.grid > .column.row > [class*="seven wide computer"].column, .ui.grid > .row > [class*="seven wide computer"].column, .ui.grid > [class*="seven wide computer"].column { - width: 43.75% !important - } - - .ui.column.grid > [class*="eight wide computer"].column, .ui.grid > .column.row > [class*="eight wide computer"].column, .ui.grid > .row > [class*="eight wide computer"].column, .ui.grid > [class*="eight wide computer"].column { - width: 50% !important - } - - .ui.column.grid > [class*="nine wide computer"].column, .ui.grid > .column.row > [class*="nine wide computer"].column, .ui.grid > .row > [class*="nine wide computer"].column, .ui.grid > [class*="nine wide computer"].column { - width: 56.25% !important - } - - .ui.column.grid > [class*="ten wide computer"].column, .ui.grid > .column.row > [class*="ten wide computer"].column, .ui.grid > .row > [class*="ten wide computer"].column, .ui.grid > [class*="ten wide computer"].column { - width: 62.5% !important - } - - .ui.column.grid > [class*="eleven wide computer"].column, .ui.grid > .column.row > [class*="eleven wide computer"].column, .ui.grid > .row > [class*="eleven wide computer"].column, .ui.grid > [class*="eleven wide computer"].column { - width: 68.75% !important - } - - .ui.column.grid > [class*="twelve wide computer"].column, .ui.grid > .column.row > [class*="twelve wide computer"].column, .ui.grid > .row > [class*="twelve wide computer"].column, .ui.grid > [class*="twelve wide computer"].column { - width: 75% !important - } - - .ui.column.grid > [class*="thirteen wide computer"].column, .ui.grid > .column.row > [class*="thirteen wide computer"].column, .ui.grid > .row > [class*="thirteen wide computer"].column, .ui.grid > [class*="thirteen wide computer"].column { - width: 81.25% !important - } - - .ui.column.grid > [class*="fourteen wide computer"].column, .ui.grid > .column.row > [class*="fourteen wide computer"].column, .ui.grid > .row > [class*="fourteen wide computer"].column, .ui.grid > [class*="fourteen wide computer"].column { - width: 87.5% !important - } - - .ui.column.grid > [class*="fifteen wide computer"].column, .ui.grid > .column.row > [class*="fifteen wide computer"].column, .ui.grid > .row > [class*="fifteen wide computer"].column, .ui.grid > [class*="fifteen wide computer"].column { - width: 93.75% !important - } - - .ui.column.grid > [class*="sixteen wide computer"].column, .ui.grid > .column.row > [class*="sixteen wide computer"].column, .ui.grid > .row > [class*="sixteen wide computer"].column, .ui.grid > [class*="sixteen wide computer"].column { - width: 100% !important - } -} - -@media only screen and (min-width: 1200px) and (max-width: 1919px) { - .ui.column.grid > [class*="one wide large screen"].column, .ui.grid > .column.row > [class*="one wide large screen"].column, .ui.grid > .row > [class*="one wide large screen"].column, .ui.grid > [class*="one wide large screen"].column { - width: 6.25% !important - } - - .ui.column.grid > [class*="two wide large screen"].column, .ui.grid > .column.row > [class*="two wide large screen"].column, .ui.grid > .row > [class*="two wide large screen"].column, .ui.grid > [class*="two wide large screen"].column { - width: 12.5% !important - } - - .ui.column.grid > [class*="three wide large screen"].column, .ui.grid > .column.row > [class*="three wide large screen"].column, .ui.grid > .row > [class*="three wide large screen"].column, .ui.grid > [class*="three wide large screen"].column { - width: 18.75% !important - } - - .ui.column.grid > [class*="four wide large screen"].column, .ui.grid > .column.row > [class*="four wide large screen"].column, .ui.grid > .row > [class*="four wide large screen"].column, .ui.grid > [class*="four wide large screen"].column { - width: 25% !important - } - - .ui.column.grid > [class*="five wide large screen"].column, .ui.grid > .column.row > [class*="five wide large screen"].column, .ui.grid > .row > [class*="five wide large screen"].column, .ui.grid > [class*="five wide large screen"].column { - width: 31.25% !important - } - - .ui.column.grid > [class*="six wide large screen"].column, .ui.grid > .column.row > [class*="six wide large screen"].column, .ui.grid > .row > [class*="six wide large screen"].column, .ui.grid > [class*="six wide large screen"].column { - width: 37.5% !important - } - - .ui.column.grid > [class*="seven wide large screen"].column, .ui.grid > .column.row > [class*="seven wide large screen"].column, .ui.grid > .row > [class*="seven wide large screen"].column, .ui.grid > [class*="seven wide large screen"].column { - width: 43.75% !important - } - - .ui.column.grid > [class*="eight wide large screen"].column, .ui.grid > .column.row > [class*="eight wide large screen"].column, .ui.grid > .row > [class*="eight wide large screen"].column, .ui.grid > [class*="eight wide large screen"].column { - width: 50% !important - } - - .ui.column.grid > [class*="nine wide large screen"].column, .ui.grid > .column.row > [class*="nine wide large screen"].column, .ui.grid > .row > [class*="nine wide large screen"].column, .ui.grid > [class*="nine wide large screen"].column { - width: 56.25% !important - } - - .ui.column.grid > [class*="ten wide large screen"].column, .ui.grid > .column.row > [class*="ten wide large screen"].column, .ui.grid > .row > [class*="ten wide large screen"].column, .ui.grid > [class*="ten wide large screen"].column { - width: 62.5% !important - } - - .ui.column.grid > [class*="eleven wide large screen"].column, .ui.grid > .column.row > [class*="eleven wide large screen"].column, .ui.grid > .row > [class*="eleven wide large screen"].column, .ui.grid > [class*="eleven wide large screen"].column { - width: 68.75% !important - } - - .ui.column.grid > [class*="twelve wide large screen"].column, .ui.grid > .column.row > [class*="twelve wide large screen"].column, .ui.grid > .row > [class*="twelve wide large screen"].column, .ui.grid > [class*="twelve wide large screen"].column { - width: 75% !important - } - - .ui.column.grid > [class*="thirteen wide large screen"].column, .ui.grid > .column.row > [class*="thirteen wide large screen"].column, .ui.grid > .row > [class*="thirteen wide large screen"].column, .ui.grid > [class*="thirteen wide large screen"].column { - width: 81.25% !important - } - - .ui.column.grid > [class*="fourteen wide large screen"].column, .ui.grid > .column.row > [class*="fourteen wide large screen"].column, .ui.grid > .row > [class*="fourteen wide large screen"].column, .ui.grid > [class*="fourteen wide large screen"].column { - width: 87.5% !important - } - - .ui.column.grid > [class*="fifteen wide large screen"].column, .ui.grid > .column.row > [class*="fifteen wide large screen"].column, .ui.grid > .row > [class*="fifteen wide large screen"].column, .ui.grid > [class*="fifteen wide large screen"].column { - width: 93.75% !important - } - - .ui.column.grid > [class*="sixteen wide large screen"].column, .ui.grid > .column.row > [class*="sixteen wide large screen"].column, .ui.grid > .row > [class*="sixteen wide large screen"].column, .ui.grid > [class*="sixteen wide large screen"].column { - width: 100% !important - } -} - -@media only screen and (min-width: 1920px) { - .ui.column.grid > [class*="one wide widescreen"].column, .ui.grid > .column.row > [class*="one wide widescreen"].column, .ui.grid > .row > [class*="one wide widescreen"].column, .ui.grid > [class*="one wide widescreen"].column { - width: 6.25% !important - } - - .ui.column.grid > [class*="two wide widescreen"].column, .ui.grid > .column.row > [class*="two wide widescreen"].column, .ui.grid > .row > [class*="two wide widescreen"].column, .ui.grid > [class*="two wide widescreen"].column { - width: 12.5% !important - } - - .ui.column.grid > [class*="three wide widescreen"].column, .ui.grid > .column.row > [class*="three wide widescreen"].column, .ui.grid > .row > [class*="three wide widescreen"].column, .ui.grid > [class*="three wide widescreen"].column { - width: 18.75% !important - } - - .ui.column.grid > [class*="four wide widescreen"].column, .ui.grid > .column.row > [class*="four wide widescreen"].column, .ui.grid > .row > [class*="four wide widescreen"].column, .ui.grid > [class*="four wide widescreen"].column { - width: 25% !important - } - - .ui.column.grid > [class*="five wide widescreen"].column, .ui.grid > .column.row > [class*="five wide widescreen"].column, .ui.grid > .row > [class*="five wide widescreen"].column, .ui.grid > [class*="five wide widescreen"].column { - width: 31.25% !important - } - - .ui.column.grid > [class*="six wide widescreen"].column, .ui.grid > .column.row > [class*="six wide widescreen"].column, .ui.grid > .row > [class*="six wide widescreen"].column, .ui.grid > [class*="six wide widescreen"].column { - width: 37.5% !important - } - - .ui.column.grid > [class*="seven wide widescreen"].column, .ui.grid > .column.row > [class*="seven wide widescreen"].column, .ui.grid > .row > [class*="seven wide widescreen"].column, .ui.grid > [class*="seven wide widescreen"].column { - width: 43.75% !important - } - - .ui.column.grid > [class*="eight wide widescreen"].column, .ui.grid > .column.row > [class*="eight wide widescreen"].column, .ui.grid > .row > [class*="eight wide widescreen"].column, .ui.grid > [class*="eight wide widescreen"].column { - width: 50% !important - } - - .ui.column.grid > [class*="nine wide widescreen"].column, .ui.grid > .column.row > [class*="nine wide widescreen"].column, .ui.grid > .row > [class*="nine wide widescreen"].column, .ui.grid > [class*="nine wide widescreen"].column { - width: 56.25% !important - } - - .ui.column.grid > [class*="ten wide widescreen"].column, .ui.grid > .column.row > [class*="ten wide widescreen"].column, .ui.grid > .row > [class*="ten wide widescreen"].column, .ui.grid > [class*="ten wide widescreen"].column { - width: 62.5% !important - } - - .ui.column.grid > [class*="eleven wide widescreen"].column, .ui.grid > .column.row > [class*="eleven wide widescreen"].column, .ui.grid > .row > [class*="eleven wide widescreen"].column, .ui.grid > [class*="eleven wide widescreen"].column { - width: 68.75% !important - } - - .ui.column.grid > [class*="twelve wide widescreen"].column, .ui.grid > .column.row > [class*="twelve wide widescreen"].column, .ui.grid > .row > [class*="twelve wide widescreen"].column, .ui.grid > [class*="twelve wide widescreen"].column { - width: 75% !important - } - - .ui.column.grid > [class*="thirteen wide widescreen"].column, .ui.grid > .column.row > [class*="thirteen wide widescreen"].column, .ui.grid > .row > [class*="thirteen wide widescreen"].column, .ui.grid > [class*="thirteen wide widescreen"].column { - width: 81.25% !important - } - - .ui.column.grid > [class*="fourteen wide widescreen"].column, .ui.grid > .column.row > [class*="fourteen wide widescreen"].column, .ui.grid > .row > [class*="fourteen wide widescreen"].column, .ui.grid > [class*="fourteen wide widescreen"].column { - width: 87.5% !important - } - - .ui.column.grid > [class*="fifteen wide widescreen"].column, .ui.grid > .column.row > [class*="fifteen wide widescreen"].column, .ui.grid > .row > [class*="fifteen wide widescreen"].column, .ui.grid > [class*="fifteen wide widescreen"].column { - width: 93.75% !important - } - - .ui.column.grid > [class*="sixteen wide widescreen"].column, .ui.grid > .column.row > [class*="sixteen wide widescreen"].column, .ui.grid > .row > [class*="sixteen wide widescreen"].column, .ui.grid > [class*="sixteen wide widescreen"].column { - width: 100% !important - } -} - -.ui.centered.grid, .ui.centered.grid > .row, .ui.grid > .centered.row { - text-align: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center -} - -.ui.centered.grid > .column:not(.aligned):not(.justified):not(.row), .ui.centered.grid > .row > .column:not(.aligned):not(.justified), .ui.grid .centered.row > .column:not(.aligned):not(.justified) { - text-align: left -} - -.ui.grid > .centered.column, .ui.grid > .row > .centered.column { - display: block; - margin-left: auto; - margin-right: auto -} - -.ui.grid > .relaxed.row > .column, .ui.relaxed.grid > .column:not(.row), .ui.relaxed.grid > .row > .column { - padding-left: 1.5rem; - padding-right: 1.5rem -} - -.ui.grid > [class*="very relaxed"].row > .column, .ui[class*="very relaxed"].grid > .column:not(.row), .ui[class*="very relaxed"].grid > .row > .column { - padding-left: 2.5rem; - padding-right: 2.5rem -} - -.ui.grid .relaxed.row + .ui.divider, .ui.relaxed.grid .row + .ui.divider { - margin-left: 1.5rem; - margin-right: 1.5rem -} - -.ui.grid [class*="very relaxed"].row + .ui.divider, .ui[class*="very relaxed"].grid .row + .ui.divider { - margin-left: 2.5rem; - margin-right: 2.5rem -} - -.ui.padded.grid:not(.vertically):not(.horizontally) { - margin: 0 !important -} - -[class*="horizontally padded"].ui.grid { - margin-left: 0 !important; - margin-right: 0 !important -} - -[class*="vertically padded"].ui.grid { - margin-top: 0 !important; - margin-bottom: 0 !important -} - -.ui.grid [class*="left floated"].column { - margin-right: auto -} - -.ui.grid [class*="right floated"].column { - margin-left: auto -} - -.ui.divided.grid:not([class*="vertically divided"]) > .column:not(.row), .ui.divided.grid:not([class*="vertically divided"]) > .row > .column { - -webkit-box-shadow: -1px 0 0 0 rgba(34, 36, 38, .15); - box-shadow: -1px 0 0 0 rgba(34, 36, 38, .15) -} - -.ui[class*="vertically divided"].grid > .column:not(.row), .ui[class*="vertically divided"].grid > .row > .column { - margin-top: 1rem; - margin-bottom: 1rem; - padding-top: 0; - padding-bottom: 0 -} - -.ui[class*="vertically divided"].grid > .row { - margin-top: 0; - margin-bottom: 0 -} - -.ui.divided.grid:not([class*="vertically divided"]) > .column:first-child, .ui.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui[class*="vertically divided"].grid > .row:first-child > .column { - margin-top: 0 -} - -.ui.grid > .divided.row > .column { - -webkit-box-shadow: -1px 0 0 0 rgba(34, 36, 38, .15); - box-shadow: -1px 0 0 0 rgba(34, 36, 38, .15) -} - -.ui.grid > .divided.row > .column:first-child { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui[class*="vertically divided"].grid > .row { - position: relative -} - -.ui[class*="vertically divided"].grid > .row:before { - position: absolute; - content: ""; - top: 0; - left: 0; - width: calc(100% - 2rem); - height: 1px; - margin: 0 1rem; - -webkit-box-shadow: 0 -1px 0 0 rgba(34, 36, 38, .15); - box-shadow: 0 -1px 0 0 rgba(34, 36, 38, .15) -} - -.ui.padded.divided.grid:not(.vertically):not(.horizontally), [class*="horizontally padded"].ui.divided.grid { - width: 100% -} - -.ui[class*="vertically divided"].grid > .row:first-child:before { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row), .ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column { - -webkit-box-shadow: -1px 0 0 0 rgba(255, 255, 255, .1); - box-shadow: -1px 0 0 0 rgba(255, 255, 255, .1) -} - -.ui.inverted.divided.grid:not([class*="vertically divided"]) > .column:not(.row):first-child, .ui.inverted.divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.inverted[class*="vertically divided"].grid > .row:before { - -webkit-box-shadow: 0 -1px 0 0 rgba(255, 255, 255, .1); - box-shadow: 0 -1px 0 0 rgba(255, 255, 255, .1) -} - -.ui.relaxed[class*="vertically divided"].grid > .row:before { - margin-left: 1.5rem; - margin-right: 1.5rem; - width: calc(100% - 3rem) -} - -.ui[class*="very relaxed"][class*="vertically divided"].grid > .row:before { - margin-left: 5rem; - margin-right: 5rem; - width: calc(100% - 5rem) -} - -.ui.celled.grid { - width: 100%; - margin: 1em 0; - -webkit-box-shadow: 0 0 0 1px #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5 -} - -.ui.celled.grid > .row { - width: 100% !important; - margin: 0; - padding: 0; - -webkit-box-shadow: 0 -1px 0 0 #d4d4d5; - box-shadow: 0 -1px 0 0 #d4d4d5 -} - -.ui.celled.grid > .column:not(.row), .ui.celled.grid > .row > .column { - -webkit-box-shadow: -1px 0 0 0 #d4d4d5; - box-shadow: -1px 0 0 0 #d4d4d5 -} - -.ui.celled.grid > .column:first-child, .ui.celled.grid > .row > .column:first-child { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.celled.grid > .column:not(.row), .ui.celled.grid > .row > .column { - padding: 1em -} - -.ui.relaxed.celled.grid > .column:not(.row), .ui.relaxed.celled.grid > .row > .column { - padding: 1.5em -} - -.ui[class*="very relaxed"].celled.grid > .column:not(.row), .ui[class*="very relaxed"].celled.grid > .row > .column { - padding: 2em -} - -.ui[class*="internally celled"].grid { - -webkit-box-shadow: none; - box-shadow: none; - margin: 0 -} - -.ui[class*="internally celled"].grid > .row:first-child { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui[class*="internally celled"].grid > .row > .column:first-child { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.grid > .row > [class*="top aligned"].column, .ui.grid > [class*="top aligned"].column:not(.row), .ui.grid > [class*="top aligned"].row > .column, .ui[class*="top aligned"].grid > .column:not(.row), .ui[class*="top aligned"].grid > .row > .column { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - vertical-align: top; - -ms-flex-item-align: start !important; - align-self: flex-start !important -} - -.ui.grid > .row > [class*="middle aligned"].column, .ui.grid > [class*="middle aligned"].column:not(.row), .ui.grid > [class*="middle aligned"].row > .column, .ui[class*="middle aligned"].grid > .column:not(.row), .ui[class*="middle aligned"].grid > .row > .column { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - vertical-align: middle; - -ms-flex-item-align: center !important; - align-self: center !important -} - -.ui.grid > .row > [class*="bottom aligned"].column, .ui.grid > [class*="bottom aligned"].column:not(.row), .ui.grid > [class*="bottom aligned"].row > .column, .ui[class*="bottom aligned"].grid > .column:not(.row), .ui[class*="bottom aligned"].grid > .row > .column { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - vertical-align: bottom; - -ms-flex-item-align: end !important; - align-self: flex-end !important -} - -.ui.grid > .row > .stretched.column, .ui.grid > .stretched.column:not(.row), .ui.grid > .stretched.row > .column, .ui.stretched.grid > .column, .ui.stretched.grid > .row > .column { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - -ms-flex-item-align: stretch; - align-self: stretch; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column -} - -.ui.grid > .row > .stretched.column > *, .ui.grid > .stretched.column:not(.row) > *, .ui.grid > .stretched.row > .column > *, .ui.stretched.grid > .column > *, .ui.stretched.grid > .row > .column > * { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1 -} - -.ui.grid > .row > [class*="left aligned"].column.column, .ui.grid > [class*="left aligned"].column.column, .ui.grid > [class*="left aligned"].row > .column, .ui[class*="left aligned"].grid > .column, .ui[class*="left aligned"].grid > .row > .column { - text-align: left; - -ms-flex-item-align: inherit; - align-self: inherit -} - -.ui.grid > .row > [class*="center aligned"].column.column, .ui.grid > [class*="center aligned"].column.column, .ui.grid > [class*="center aligned"].row > .column, .ui[class*="center aligned"].grid > .column, .ui[class*="center aligned"].grid > .row > .column { - text-align: center; - -ms-flex-item-align: inherit; - align-self: inherit -} - -.ui[class*="center aligned"].grid { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center -} - -.ui.grid > .row > [class*="right aligned"].column.column, .ui.grid > [class*="right aligned"].column.column, .ui.grid > [class*="right aligned"].row > .column, .ui[class*="right aligned"].grid > .column, .ui[class*="right aligned"].grid > .row > .column { - text-align: right; - -ms-flex-item-align: inherit; - align-self: inherit -} - -.ui.grid > .justified.column.column, .ui.grid > .justified.row > .column, .ui.grid > .row > .justified.column.column, .ui.justified.grid > .column, .ui.justified.grid > .row > .column { - text-align: justify; - -webkit-hyphens: auto; - -ms-hyphens: auto; - hyphens: auto -} - -.ui.grid > .row > .black.column, .ui.grid > .row > .blue.column, .ui.grid > .row > .brown.column, .ui.grid > .row > .green.column, .ui.grid > .row > .grey.column, .ui.grid > .row > .olive.column, .ui.grid > .row > .orange.column, .ui.grid > .row > .pink.column, .ui.grid > .row > .purple.column, .ui.grid > .row > .red.column, .ui.grid > .row > .teal.column, .ui.grid > .row > .violet.column, .ui.grid > .row > .yellow.column { - margin-top: -1rem; - margin-bottom: -1rem; - padding-top: 1rem; - padding-bottom: 1rem -} - -.ui.grid > .red.column, .ui.grid > .red.row, .ui.grid > .row > .red.column { - background-color: #db2828 !important; - color: #fff -} - -.ui.grid > .orange.column, .ui.grid > .orange.row, .ui.grid > .row > .orange.column { - background-color: #f2711c !important; - color: #fff -} - -.ui.grid > .row > .yellow.column, .ui.grid > .yellow.column, .ui.grid > .yellow.row { - background-color: #fbbd08 !important; - color: #fff -} - -.ui.grid > .olive.column, .ui.grid > .olive.row, .ui.grid > .row > .olive.column { - background-color: #b5cc18 !important; - color: #fff -} - -.ui.grid > .green.column, .ui.grid > .green.row, .ui.grid > .row > .green.column { - background-color: #21ba45 !important; - color: #fff -} - -.ui.grid > .row > .teal.column, .ui.grid > .teal.column, .ui.grid > .teal.row { - background-color: #00b5ad !important; - color: #fff -} - -.ui.grid > .blue.column, .ui.grid > .blue.row, .ui.grid > .row > .blue.column { - background-color: #2185d0 !important; - color: #fff -} - -.ui.grid > .row > .violet.column, .ui.grid > .violet.column, .ui.grid > .violet.row { - background-color: #6435c9 !important; - color: #fff -} - -.ui.grid > .purple.column, .ui.grid > .purple.row, .ui.grid > .row > .purple.column { - background-color: #a333c8 !important; - color: #fff -} - -.ui.grid > .pink.column, .ui.grid > .pink.row, .ui.grid > .row > .pink.column { - background-color: #e03997 !important; - color: #fff -} - -.ui.grid > .brown.column, .ui.grid > .brown.row, .ui.grid > .row > .brown.column { - background-color: #a5673f !important; - color: #fff -} - -.ui.grid > .grey.column, .ui.grid > .grey.row, .ui.grid > .row > .grey.column { - background-color: #767676 !important; - color: #fff -} - -.ui.grid > .black.column, .ui.grid > .black.row, .ui.grid > .row > .black.column { - background-color: #1b1c1d !important; - color: #fff -} - -.ui.grid > [class*="equal width"].row > .column, .ui[class*="equal width"].grid > .column:not(.row), .ui[class*="equal width"].grid > .row > .column { - display: inline-block; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1 -} - -.ui.grid > [class*="equal width"].row > .wide.column, .ui[class*="equal width"].grid > .row > .wide.column, .ui[class*="equal width"].grid > .wide.column { - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0 -} - -@media only screen and (max-width: 767px) { - .ui.grid > [class*="mobile reversed"].row, .ui[class*="mobile reversed"].grid, .ui[class*="mobile reversed"].grid > .row { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse - } - - .ui.stackable[class*="mobile reversed"], .ui[class*="mobile vertically reversed"].grid { - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -ms-flex-direction: column-reverse; - flex-direction: column-reverse - } - - .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child, .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { - -webkit-box-shadow: -1px 0 0 0 rgba(34, 36, 38, .15); - box-shadow: -1px 0 0 0 rgba(34, 36, 38, .15) - } - - .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child, .ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child { - -webkit-box-shadow: none; - box-shadow: none - } - - .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:first-child:before { - -webkit-box-shadow: 0 -1px 0 0 rgba(34, 36, 38, .15); - box-shadow: 0 -1px 0 0 rgba(34, 36, 38, .15) - } - - .ui.grid[class*="vertically divided"][class*="mobile vertically reversed"] > .row:last-child:before { - -webkit-box-shadow: none; - box-shadow: none - } - - .ui[class*="mobile reversed"].celled.grid > .row > .column:first-child { - -webkit-box-shadow: -1px 0 0 0 #d4d4d5; - box-shadow: -1px 0 0 0 #d4d4d5 - } - - .ui[class*="mobile reversed"].celled.grid > .row > .column:last-child { - -webkit-box-shadow: none; - box-shadow: none - } -} - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .ui.grid > [class*="tablet reversed"].row, .ui[class*="tablet reversed"].grid, .ui[class*="tablet reversed"].grid > .row { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse - } - - .ui[class*="tablet vertically reversed"].grid { - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -ms-flex-direction: column-reverse; - flex-direction: column-reverse - } - - .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child, .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { - -webkit-box-shadow: -1px 0 0 0 rgba(34, 36, 38, .15); - box-shadow: -1px 0 0 0 rgba(34, 36, 38, .15) - } - - .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child, .ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child { - -webkit-box-shadow: none; - box-shadow: none - } - - .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:first-child:before { - -webkit-box-shadow: 0 -1px 0 0 rgba(34, 36, 38, .15); - box-shadow: 0 -1px 0 0 rgba(34, 36, 38, .15) - } - - .ui.grid[class*="vertically divided"][class*="tablet vertically reversed"] > .row:last-child:before { - -webkit-box-shadow: none; - box-shadow: none - } - - .ui[class*="tablet reversed"].celled.grid > .row > .column:first-child { - -webkit-box-shadow: -1px 0 0 0 #d4d4d5; - box-shadow: -1px 0 0 0 #d4d4d5 - } - - .ui[class*="tablet reversed"].celled.grid > .row > .column:last-child { - -webkit-box-shadow: none; - box-shadow: none - } -} - -@media only screen and (min-width: 992px) { - .ui.grid > [class*="computer reversed"].row, .ui[class*="computer reversed"].grid, .ui[class*="computer reversed"].grid > .row { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse - } - - .ui[class*="computer vertically reversed"].grid { - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -ms-flex-direction: column-reverse; - flex-direction: column-reverse - } - - .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:first-child, .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:first-child { - -webkit-box-shadow: -1px 0 0 0 rgba(34, 36, 38, .15); - box-shadow: -1px 0 0 0 rgba(34, 36, 38, .15) - } - - .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .column:last-child, .ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"]) > .row > .column:last-child { - -webkit-box-shadow: none; - box-shadow: none - } - - .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:first-child:before { - -webkit-box-shadow: 0 -1px 0 0 rgba(34, 36, 38, .15); - box-shadow: 0 -1px 0 0 rgba(34, 36, 38, .15) - } - - .ui.grid[class*="vertically divided"][class*="computer vertically reversed"] > .row:last-child:before { - -webkit-box-shadow: none; - box-shadow: none - } - - .ui[class*="computer reversed"].celled.grid > .row > .column:first-child { - -webkit-box-shadow: -1px 0 0 0 #d4d4d5; - box-shadow: -1px 0 0 0 #d4d4d5 - } - - .ui[class*="computer reversed"].celled.grid > .row > .column:last-child { - -webkit-box-shadow: none; - box-shadow: none - } -} - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .ui.doubling.grid { - width: auto - } - - .ui.doubling.grid > .row, .ui.grid > .doubling.row { - margin: 0 !important; - padding: 0 !important - } - - .ui.doubling.grid > .row > .column, .ui.grid > .doubling.row > .column { - display: inline-block !important; - padding-top: 1rem !important; - padding-bottom: 1rem !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - margin: 0 - } - - .ui.grid > [class*="two column"].doubling.row.row > .column, .ui[class*="two column"].doubling.grid > .column:not(.row), .ui[class*="two column"].doubling.grid > .row > .column { - width: 100% !important - } - - .ui.grid > [class*="three column"].doubling.row.row > .column, .ui[class*="three column"].doubling.grid > .column:not(.row), .ui[class*="three column"].doubling.grid > .row > .column { - width: 50% !important - } - - .ui.grid > [class*="four column"].doubling.row.row > .column, .ui[class*="four column"].doubling.grid > .column:not(.row), .ui[class*="four column"].doubling.grid > .row > .column { - width: 50% !important - } - - .ui.grid > [class*="five column"].doubling.row.row > .column, .ui[class*="five column"].doubling.grid > .column:not(.row), .ui[class*="five column"].doubling.grid > .row > .column { - width: 33.33333333% !important - } - - .ui.grid > [class*="six column"].doubling.row.row > .column, .ui[class*="six column"].doubling.grid > .column:not(.row), .ui[class*="six column"].doubling.grid > .row > .column { - width: 33.33333333% !important - } - - .ui.grid > [class*="seven column"].doubling.row.row > .column, .ui[class*="seven column"].doubling.grid > .column:not(.row), .ui[class*="seven column"].doubling.grid > .row > .column { - width: 33.33333333% !important - } - - .ui.grid > [class*="eight column"].doubling.row.row > .column, .ui[class*="eight column"].doubling.grid > .column:not(.row), .ui[class*="eight column"].doubling.grid > .row > .column { - width: 25% !important - } - - .ui.grid > [class*="nine column"].doubling.row.row > .column, .ui[class*="nine column"].doubling.grid > .column:not(.row), .ui[class*="nine column"].doubling.grid > .row > .column { - width: 25% !important - } - - .ui.grid > [class*="ten column"].doubling.row.row > .column, .ui[class*="ten column"].doubling.grid > .column:not(.row), .ui[class*="ten column"].doubling.grid > .row > .column { - width: 20% !important - } - - .ui.grid > [class*="eleven column"].doubling.row.row > .column, .ui[class*="eleven column"].doubling.grid > .column:not(.row), .ui[class*="eleven column"].doubling.grid > .row > .column { - width: 20% !important - } - - .ui.grid > [class*="twelve column"].doubling.row.row > .column, .ui[class*="twelve column"].doubling.grid > .column:not(.row), .ui[class*="twelve column"].doubling.grid > .row > .column { - width: 16.66666667% !important - } - - .ui.grid > [class*="thirteen column"].doubling.row.row > .column, .ui[class*="thirteen column"].doubling.grid > .column:not(.row), .ui[class*="thirteen column"].doubling.grid > .row > .column { - width: 16.66666667% !important - } - - .ui.grid > [class*="fourteen column"].doubling.row.row > .column, .ui[class*="fourteen column"].doubling.grid > .column:not(.row), .ui[class*="fourteen column"].doubling.grid > .row > .column { - width: 14.28571429% !important - } - - .ui.grid > [class*="fifteen column"].doubling.row.row > .column, .ui[class*="fifteen column"].doubling.grid > .column:not(.row), .ui[class*="fifteen column"].doubling.grid > .row > .column { - width: 14.28571429% !important - } - - .ui.grid > [class*="sixteen column"].doubling.row.row > .column, .ui[class*="sixteen column"].doubling.grid > .column:not(.row), .ui[class*="sixteen column"].doubling.grid > .row > .column { - width: 12.5% !important - } -} - -@media only screen and (max-width: 767px) { - .ui.doubling.grid > .row, .ui.grid > .doubling.row { - margin: 0 !important; - padding: 0 !important - } - - .ui.doubling.grid > .row > .column, .ui.grid > .doubling.row > .column { - padding-top: 1rem !important; - padding-bottom: 1rem !important; - margin: 0 !important; - -webkit-box-shadow: none !important; - box-shadow: none !important - } - - .ui.grid > [class*="two column"].doubling:not(.stackable).row.row > .column, .ui[class*="two column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="two column"].doubling:not(.stackable).grid > .row > .column { - width: 100% !important - } - - .ui.grid > [class*="three column"].doubling:not(.stackable).row.row > .column, .ui[class*="three column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="three column"].doubling:not(.stackable).grid > .row > .column { - width: 50% !important - } - - .ui.grid > [class*="four column"].doubling:not(.stackable).row.row > .column, .ui[class*="four column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="four column"].doubling:not(.stackable).grid > .row > .column { - width: 50% !important - } - - .ui.grid > [class*="five column"].doubling:not(.stackable).row.row > .column, .ui[class*="five column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="five column"].doubling:not(.stackable).grid > .row > .column { - width: 50% !important - } - - .ui.grid > [class*="six column"].doubling:not(.stackable).row.row > .column, .ui[class*="six column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="six column"].doubling:not(.stackable).grid > .row > .column { - width: 50% !important - } - - .ui.grid > [class*="seven column"].doubling:not(.stackable).row.row > .column, .ui[class*="seven column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="seven column"].doubling:not(.stackable).grid > .row > .column { - width: 50% !important - } - - .ui.grid > [class*="eight column"].doubling:not(.stackable).row.row > .column, .ui[class*="eight column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="eight column"].doubling:not(.stackable).grid > .row > .column { - width: 50% !important - } - - .ui.grid > [class*="nine column"].doubling:not(.stackable).row.row > .column, .ui[class*="nine column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="nine column"].doubling:not(.stackable).grid > .row > .column { - width: 33.33333333% !important - } - - .ui.grid > [class*="ten column"].doubling:not(.stackable).row.row > .column, .ui[class*="ten column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="ten column"].doubling:not(.stackable).grid > .row > .column { - width: 33.33333333% !important - } - - .ui.grid > [class*="eleven column"].doubling:not(.stackable).row.row > .column, .ui[class*="eleven column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="eleven column"].doubling:not(.stackable).grid > .row > .column { - width: 33.33333333% !important - } - - .ui.grid > [class*="twelve column"].doubling:not(.stackable).row.row > .column, .ui[class*="twelve column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="twelve column"].doubling:not(.stackable).grid > .row > .column { - width: 33.33333333% !important - } - - .ui.grid > [class*="thirteen column"].doubling:not(.stackable).row.row > .column, .ui[class*="thirteen column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="thirteen column"].doubling:not(.stackable).grid > .row > .column { - width: 33.33333333% !important - } - - .ui.grid > [class*="fourteen column"].doubling:not(.stackable).row.row > .column, .ui[class*="fourteen column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="fourteen column"].doubling:not(.stackable).grid > .row > .column { - width: 25% !important - } - - .ui.grid > [class*="fifteen column"].doubling:not(.stackable).row.row > .column, .ui[class*="fifteen column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="fifteen column"].doubling:not(.stackable).grid > .row > .column { - width: 25% !important - } - - .ui.grid > [class*="sixteen column"].doubling:not(.stackable).row.row > .column, .ui[class*="sixteen column"].doubling:not(.stackable).grid > .column:not(.row), .ui[class*="sixteen column"].doubling:not(.stackable).grid > .row > .column { - width: 25% !important - } -} - -@media only screen and (max-width: 767px) { - .ui.stackable.grid { - width: auto; - margin-left: 0 !important; - margin-right: 0 !important - } - - .ui.grid > .stackable.stackable.row > .column, .ui.stackable.grid > .column.grid > .column, .ui.stackable.grid > .column.row > .column, .ui.stackable.grid > .column:not(.row), .ui.stackable.grid > .row > .column, .ui.stackable.grid > .row > .wide.column, .ui.stackable.grid > .wide.column { - width: 100% !important; - margin: 0 0 !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - padding: 1rem 1rem !important - } - - .ui.stackable.grid:not(.vertically) > .row { - margin: 0; - padding: 0 - } - - .ui.container > .ui.stackable.grid > .column, .ui.container > .ui.stackable.grid > .row > .column { - padding-left: 0 !important; - padding-right: 0 !important - } - - .ui.grid .ui.stackable.grid, .ui.segment:not(.vertical) .ui.stackable.page.grid { - margin-left: -1rem !important; - margin-right: -1rem !important - } - - .ui.stackable.celled.grid > .column:not(.row):first-child, .ui.stackable.celled.grid > .row:first-child > .column:first-child, .ui.stackable.divided.grid > .column:not(.row):first-child, .ui.stackable.divided.grid > .row:first-child > .column:first-child { - border-top: none !important - } - - .ui.inverted.stackable.celled.grid > .column:not(.row), .ui.inverted.stackable.celled.grid > .row > .column, .ui.inverted.stackable.divided.grid > .column:not(.row), .ui.inverted.stackable.divided.grid > .row > .column { - border-top: 1px solid rgba(255, 255, 255, .1) - } - - .ui.stackable.celled.grid > .column:not(.row), .ui.stackable.celled.grid > .row > .column, .ui.stackable.divided:not(.vertically).grid > .column:not(.row), .ui.stackable.divided:not(.vertically).grid > .row > .column { - border-top: 1px solid rgba(34, 36, 38, .15); - -webkit-box-shadow: none !important; - box-shadow: none !important; - padding-top: 2rem !important; - padding-bottom: 2rem !important - } - - .ui.stackable.celled.grid > .row { - -webkit-box-shadow: none !important; - box-shadow: none !important - } - - .ui.stackable.divided:not(.vertically).grid > .column:not(.row), .ui.stackable.divided:not(.vertically).grid > .row > .column { - padding-left: 0 !important; - padding-right: 0 !important - } -} - -@media only screen and (max-width: 767px) { - .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.mobile), .ui.grid.grid.grid > [class*="tablet only"].column:not(.mobile), .ui.grid.grid.grid > [class*="tablet only"].row:not(.mobile), .ui[class*="tablet only"].grid.grid.grid:not(.mobile) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.mobile), .ui.grid.grid.grid > [class*="computer only"].column:not(.mobile), .ui.grid.grid.grid > [class*="computer only"].row:not(.mobile), .ui[class*="computer only"].grid.grid.grid:not(.mobile) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile), .ui[class*="large screen only"].grid.grid.grid:not(.mobile) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile), .ui[class*="widescreen only"].grid.grid.grid:not(.mobile) { - display: none !important - } -} - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.tablet), .ui.grid.grid.grid > [class*="mobile only"].column:not(.tablet), .ui.grid.grid.grid > [class*="mobile only"].row:not(.tablet), .ui[class*="mobile only"].grid.grid.grid:not(.tablet) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="computer only"].column:not(.tablet), .ui.grid.grid.grid > [class*="computer only"].column:not(.tablet), .ui.grid.grid.grid > [class*="computer only"].row:not(.tablet), .ui[class*="computer only"].grid.grid.grid:not(.tablet) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile), .ui[class*="large screen only"].grid.grid.grid:not(.mobile) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile), .ui[class*="widescreen only"].grid.grid.grid:not(.mobile) { - display: none !important - } -} - -@media only screen and (min-width: 992px) and (max-width: 1199px) { - .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer), .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer), .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer), .ui[class*="mobile only"].grid.grid.grid:not(.computer) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer), .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer), .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer), .ui[class*="tablet only"].grid.grid.grid:not(.computer) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="large screen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="large screen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="large screen only"].row:not(.mobile), .ui[class*="large screen only"].grid.grid.grid:not(.mobile) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile), .ui[class*="widescreen only"].grid.grid.grid:not(.mobile) { - display: none !important - } -} - -@media only screen and (min-width: 1200px) and (max-width: 1919px) { - .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer), .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer), .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer), .ui[class*="mobile only"].grid.grid.grid:not(.computer) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer), .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer), .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer), .ui[class*="tablet only"].grid.grid.grid:not(.computer) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="widescreen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="widescreen only"].column:not(.mobile), .ui.grid.grid.grid > [class*="widescreen only"].row:not(.mobile), .ui[class*="widescreen only"].grid.grid.grid:not(.mobile) { - display: none !important - } -} - -@media only screen and (min-width: 1920px) { - .ui.grid.grid.grid > .row > [class*="mobile only"].column:not(.computer), .ui.grid.grid.grid > [class*="mobile only"].column:not(.computer), .ui.grid.grid.grid > [class*="mobile only"].row:not(.computer), .ui[class*="mobile only"].grid.grid.grid:not(.computer) { - display: none !important - } - - .ui.grid.grid.grid > .row > [class*="tablet only"].column:not(.computer), .ui.grid.grid.grid > [class*="tablet only"].column:not(.computer), .ui.grid.grid.grid > [class*="tablet only"].row:not(.computer), .ui[class*="tablet only"].grid.grid.grid:not(.computer) { - display: none !important - } -} - -.ui.menu { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin: 1rem 0; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - background: #fff; - font-weight: 400; - border: 1px solid rgba(34, 36, 38, .15); - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15); - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15); - border-radius: .28571429rem; - min-height: 2.85714286em -} - -.ui.menu:after { - content: ''; - display: block; - height: 0; - clear: both; - visibility: hidden -} - -.ui.menu:first-child { - margin-top: 0 -} - -.ui.menu:last-child { - margin-bottom: 0 -} - -.ui.menu .menu { - margin: 0 -} - -.ui.menu:not(.vertical) > .menu { - display: -webkit-box; - display: -ms-flexbox; - display: flex -} - -.ui.menu:not(.vertical) .item { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center -} - -.ui.menu .item { - position: relative; - vertical-align: middle; - line-height: 1; - text-decoration: none; - -webkit-tap-highlight-color: transparent; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background: 0 0; - padding: .92857143em 1.14285714em; - text-transform: none; - color: rgba(0, 0, 0, .87); - font-weight: 400; - -webkit-transition: background .1s ease, color .1s ease, -webkit-box-shadow .1s ease; - transition: background .1s ease, color .1s ease, -webkit-box-shadow .1s ease; - transition: background .1s ease, box-shadow .1s ease, color .1s ease; - transition: background .1s ease, box-shadow .1s ease, color .1s ease, -webkit-box-shadow .1s ease -} - -.ui.menu > .item:first-child { - border-radius: .28571429rem 0 0 .28571429rem -} - -.ui.menu .item:before { - position: absolute; - content: ''; - top: 0; - right: 0; - height: 100%; - width: 1px; - background: rgba(34, 36, 38, .1) -} - -.ui.menu .item > a:not(.ui), .ui.menu .item > p:only-child, .ui.menu .text.item > * { - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; - line-height: 1.3 -} - -.ui.menu .item > p:first-child { - margin-top: 0 -} - -.ui.menu .item > p:last-child { - margin-bottom: 0 -} - -.ui.menu .item > i.icon { - opacity: .9; - float: none; - margin: 0 .35714286em 0 0 -} - -.ui.menu:not(.vertical) .item > .button { - position: relative; - top: 0; - margin: -.5em 0; - padding-bottom: .78571429em; - padding-top: .78571429em; - font-size: 1em -} - -.ui.menu > .container, .ui.menu > .grid { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: inherit; - -ms-flex-align: inherit; - align-items: inherit; - -webkit-box-orient: inherit; - -webkit-box-direction: inherit; - -ms-flex-direction: inherit; - flex-direction: inherit -} - -.ui.menu .item > .input { - width: 100% -} - -.ui.menu:not(.vertical) .item > .input { - position: relative; - top: 0; - margin: -.5em 0 -} - -.ui.menu .item > .input input { - font-size: 1em; - padding-top: .57142857em; - padding-bottom: .57142857em -} - -.ui.menu .header.item, .ui.vertical.menu .header.item { - margin: 0; - background: ''; - text-transform: normal; - font-weight: 700 -} - -.ui.vertical.menu .item > .header:not(.ui) { - margin: 0 0 .5em; - font-size: 1em; - font-weight: 700 -} - -.ui.menu .item > i.dropdown.icon { - padding: 0; - float: right; - margin: 0 0 0 1em -} - -.ui.menu .dropdown.item .menu { - min-width: calc(100% - 1px); - border-radius: 0 0 .28571429rem .28571429rem; - background: #fff; - margin: 0 0 0; - -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .08); - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .08); - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important -} - -.ui.menu .ui.dropdown .menu > .item { - margin: 0; - text-align: left; - font-size: 1em !important; - padding: .78571429em 1.14285714em !important; - background: 0 0 !important; - color: rgba(0, 0, 0, .87) !important; - text-transform: none !important; - font-weight: 400 !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - -webkit-transition: none !important; - transition: none !important -} - -.ui.menu .ui.dropdown .menu > .item:hover { - background: rgba(0, 0, 0, .05) !important; - color: rgba(0, 0, 0, .95) !important -} - -.ui.menu .ui.dropdown .menu > .selected.item { - background: rgba(0, 0, 0, .05) !important; - color: rgba(0, 0, 0, .95) !important -} - -.ui.menu .ui.dropdown .menu > .active.item { - background: rgba(0, 0, 0, .03) !important; - font-weight: 700 !important; - color: rgba(0, 0, 0, .95) !important -} - -.ui.menu .ui.dropdown.item .menu .item:not(.filtered) { - display: block -} - -.ui.menu .ui.dropdown .menu > .item .icon:not(.dropdown) { - display: inline-block; - font-size: 1em !important; - float: none; - margin: 0 .75em 0 0 !important -} - -.ui.secondary.menu .dropdown.item > .menu, .ui.text.menu .dropdown.item > .menu { - border-radius: .28571429rem; - margin-top: .35714286em -} - -.ui.menu .pointing.dropdown.item .menu { - margin-top: .75em -} - -.ui.inverted.menu .search.dropdown.item > .search, .ui.inverted.menu .search.dropdown.item > .text { - color: rgba(255, 255, 255, .9) -} - -.ui.vertical.menu .dropdown.item > .icon { - float: right; - content: "\f0da"; - margin-left: 1em -} - -.ui.vertical.menu .dropdown.item .menu { - left: 100%; - min-width: 0; - margin: 0; - -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .08); - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .08); - border-radius: 0 .28571429rem .28571429rem .28571429rem -} - -.ui.vertical.menu .dropdown.item.upward .menu { - bottom: 0 -} - -.ui.vertical.menu .dropdown.item:not(.upward) .menu { - top: 0 -} - -.ui.vertical.menu .active.dropdown.item { - border-top-right-radius: 0; - border-bottom-right-radius: 0 -} - -.ui.vertical.menu .dropdown.active.item { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.item.menu .dropdown .menu .item { - width: 100% -} - -.ui.menu .item > .label { - background: #999; - color: #fff; - margin-left: 1em; - padding: .3em .78571429em -} - -.ui.vertical.menu .item > .label { - background: #999; - color: #fff; - margin-top: -.15em; - margin-bottom: -.15em; - padding: .3em .78571429em -} - -.ui.menu .item > .floating.label { - padding: .3em .78571429em -} - -.ui.menu .item > img:not(.ui) { - display: inline-block; - vertical-align: middle; - margin: -.3em 0; - width: 2.5em; - margin-right: 10px -} - -.ui.vertical.menu .item > img:not(.ui):only-child { - display: block; - max-width: 100%; - width: auto -} - -.ui.menu .list .item:before { - background: 0 0 !important -} - -.ui.vertical.sidebar.menu > .item:first-child:before { - display: block !important -} - -.ui.vertical.sidebar.menu > .item::before { - top: auto; - bottom: 0 -} - -@media only screen and (max-width: 767px) { - .ui.menu > .ui.container { - width: 100% !important; - margin-left: 0 !important; - margin-right: 0 !important - } -} - -@media only screen and (min-width: 768px) { - .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .item:not(.right):not(.borderless):first-child { - border-left: 1px solid rgba(34, 36, 38, .1) - } -} - -.ui.link.menu .item:hover, .ui.menu .dropdown.item:hover, .ui.menu .link.item:hover, .ui.menu a.item:hover { - cursor: pointer; - background: rgba(0, 0, 0, .03); - color: rgba(0, 0, 0, .95) -} - -.ui.link.menu .item:active, .ui.menu .link.item:active, .ui.menu a.item:active { - background: rgba(0, 0, 0, .03); - color: rgba(0, 0, 0, .95) -} - -.ui.menu .active.item { - background: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .95); - font-weight: 400; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.menu .active.item > i.icon { - opacity: 1 -} - -.ui.menu .active.item:hover, .ui.vertical.menu .active.item:hover { - background-color: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .95) -} - -.ui.menu .item.disabled, .ui.menu .item.disabled:hover { - cursor: default !important; - background-color: transparent !important; - color: rgba(40, 40, 40, .3) !important -} - -.ui.menu:not(.vertical) .left.item, .ui.menu:not(.vertical) :not(.dropdown) > .left.menu { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin-right: auto !important -} - -.ui.menu:not(.vertical) .right.item, .ui.menu:not(.vertical) .right.menu { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin-left: auto !important -} - -.ui.menu .right.item::before, .ui.menu .right.menu > .item::before { - right: auto; - left: 0 -} - -.ui.vertical.menu { - display: block; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - background: #fff; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15); - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15) -} - -.ui.vertical.menu .item { - display: block; - background: 0 0; - border-top: none; - border-right: none -} - -.ui.vertical.menu > .item:first-child { - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.vertical.menu > .item:last-child { - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.vertical.menu .item > .label { - float: right; - text-align: center -} - -.ui.vertical.menu .item > i.icon { - width: 1.18em; - float: right; - margin: 0 0 0 .5em -} - -.ui.vertical.menu .item > .label + i.icon { - float: none; - margin: 0 .5em 0 0 -} - -.ui.vertical.menu .item:before { - position: absolute; - content: ''; - top: 0; - left: 0; - width: 100%; - height: 1px; - background: rgba(34, 36, 38, .1) -} - -.ui.vertical.menu .item:first-child:before { - display: none !important -} - -.ui.vertical.menu .item > .menu { - margin: .5em -1.14285714em 0 -} - -.ui.vertical.menu .menu .item { - background: 0 0; - padding: .5em 1.33333333em; - font-size: .85714286em; - color: rgba(0, 0, 0, .5) -} - -.ui.vertical.menu .item .menu .link.item:hover, .ui.vertical.menu .item .menu a.item:hover { - color: rgba(0, 0, 0, .85) -} - -.ui.vertical.menu .menu .item:before { - display: none -} - -.ui.vertical.menu .active.item { - background: rgba(0, 0, 0, .05); - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.vertical.menu > .active.item:first-child { - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.vertical.menu > .active.item:last-child { - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.vertical.menu > .active.item:only-child { - border-radius: .28571429rem -} - -.ui.vertical.menu .active.item .menu .active.item { - border-left: none -} - -.ui.vertical.menu .item .menu .active.item { - background-color: transparent; - font-weight: 700; - color: rgba(0, 0, 0, .95) -} - -.ui.tabular.menu { - border-radius: 0; - -webkit-box-shadow: none !important; - box-shadow: none !important; - border: none; - background: none transparent; - border-bottom: 1px solid #d4d4d5 -} - -.ui.tabular.fluid.menu { - width: calc(100% + 2px) !important -} - -.ui.tabular.menu .item { - background: 0 0; - border-bottom: none; - border-left: 1px solid transparent; - border-right: 1px solid transparent; - border-top: 2px solid transparent; - padding: .92857143em 1.42857143em; - color: rgba(0, 0, 0, .87) -} - -.ui.tabular.menu .item:before { - display: none -} - -.ui.tabular.menu .item:hover { - background-color: transparent; - color: rgba(0, 0, 0, .8) -} - -.ui.tabular.menu .active.item { - background: none #fff; - color: rgba(0, 0, 0, .95); - border-top-width: 1px; - border-color: #d4d4d5; - font-weight: 700; - margin-bottom: -1px; - -webkit-box-shadow: none; - box-shadow: none; - border-radius: .28571429rem .28571429rem 0 0 !important -} - -.ui.tabular.menu + .attached:not(.top).segment, .ui.tabular.menu + .attached:not(.top).segment + .attached:not(.top).segment { - border-top: none; - margin-left: 0; - margin-top: 0; - margin-right: 0; - width: 100% -} - -.top.attached.segment + .ui.bottom.tabular.menu { - position: relative; - width: calc(100% + 2px); - left: -1px -} - -.ui.bottom.tabular.menu { - background: none transparent; - border-radius: 0; - -webkit-box-shadow: none !important; - box-shadow: none !important; - border-bottom: none; - border-top: 1px solid #d4d4d5 -} - -.ui.bottom.tabular.menu .item { - background: 0 0; - border-left: 1px solid transparent; - border-right: 1px solid transparent; - border-bottom: 1px solid transparent; - border-top: none -} - -.ui.bottom.tabular.menu .active.item { - background: none #fff; - color: rgba(0, 0, 0, .95); - border-color: #d4d4d5; - margin: -1px 0 0 0; - border-radius: 0 0 .28571429rem .28571429rem !important -} - -.ui.vertical.tabular.menu { - background: none transparent; - border-radius: 0; - -webkit-box-shadow: none !important; - box-shadow: none !important; - border-bottom: none; - border-right: 1px solid #d4d4d5 -} - -.ui.vertical.tabular.menu .item { - background: 0 0; - border-left: 1px solid transparent; - border-bottom: 1px solid transparent; - border-top: 1px solid transparent; - border-right: none -} - -.ui.vertical.tabular.menu .active.item { - background: none #fff; - color: rgba(0, 0, 0, .95); - border-color: #d4d4d5; - margin: 0 -1px 0 0; - border-radius: .28571429rem 0 0 .28571429rem !important -} - -.ui.vertical.right.tabular.menu { - background: none transparent; - border-radius: 0; - -webkit-box-shadow: none !important; - box-shadow: none !important; - border-bottom: none; - border-right: none; - border-left: 1px solid #d4d4d5 -} - -.ui.vertical.right.tabular.menu .item { - background: 0 0; - border-right: 1px solid transparent; - border-bottom: 1px solid transparent; - border-top: 1px solid transparent; - border-left: none -} - -.ui.vertical.right.tabular.menu .active.item { - background: none #fff; - color: rgba(0, 0, 0, .95); - border-color: #d4d4d5; - margin: 0 0 0 -1px; - border-radius: 0 .28571429rem .28571429rem 0 !important -} - -.ui.tabular.menu .active.dropdown.item { - margin-bottom: 0; - border-left: 1px solid transparent; - border-right: 1px solid transparent; - border-top: 2px solid transparent; - border-bottom: none -} - -.ui.pagination.menu { - margin: 0; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - vertical-align: middle -} - -.ui.pagination.menu .item:last-child { - border-radius: 0 .28571429rem .28571429rem 0 -} - -.ui.compact.menu .item:last-child { - border-radius: 0 .28571429rem .28571429rem 0 -} - -.ui.pagination.menu .item:last-child:before { - display: none -} - -.ui.pagination.menu .item { - min-width: 3em; - text-align: center -} - -.ui.pagination.menu .icon.item i.icon { - vertical-align: top -} - -.ui.pagination.menu .active.item { - border-top: none; - padding-top: .92857143em; - background-color: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .95); - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.secondary.menu { - background: 0 0; - margin-left: -.35714286em; - margin-right: -.35714286em; - border-radius: 0; - border: none; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.secondary.menu .item { - -ms-flex-item-align: center; - align-self: center; - -webkit-box-shadow: none; - box-shadow: none; - border: none; - padding: .78571429em .92857143em; - margin: 0 .35714286em; - background: 0 0; - -webkit-transition: color .1s ease; - transition: color .1s ease; - border-radius: .28571429rem -} - -.ui.secondary.menu .item:before { - display: none !important -} - -.ui.secondary.menu .header.item { - border-radius: 0; - border-right: none; - background: none transparent -} - -.ui.secondary.menu .item > img:not(.ui) { - margin: 0 -} - -.ui.secondary.menu .dropdown.item:hover, .ui.secondary.menu .link.item:hover, .ui.secondary.menu a.item:hover { - background: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .95) -} - -.ui.secondary.menu .active.item { - -webkit-box-shadow: none; - box-shadow: none; - background: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .95); - border-radius: .28571429rem -} - -.ui.secondary.menu .active.item:hover { - -webkit-box-shadow: none; - box-shadow: none; - background: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .95) -} - -.ui.secondary.inverted.menu .link.item, .ui.secondary.inverted.menu a.item { - color: rgba(255, 255, 255, .7) !important -} - -.ui.secondary.inverted.menu .dropdown.item:hover, .ui.secondary.inverted.menu .link.item:hover, .ui.secondary.inverted.menu a.item:hover { - background: rgba(255, 255, 255, .08); - color: #fff !important -} - -.ui.secondary.inverted.menu .active.item { - background: rgba(255, 255, 255, .15); - color: #fff !important -} - -.ui.secondary.item.menu { - margin-left: 0; - margin-right: 0 -} - -.ui.secondary.item.menu .item:last-child { - margin-right: 0 -} - -.ui.secondary.attached.menu { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.vertical.secondary.menu .item:not(.dropdown) > .menu { - margin: 0 -.92857143em -} - -.ui.vertical.secondary.menu .item:not(.dropdown) > .menu > .item { - margin: 0; - padding: .5em 1.33333333em -} - -.ui.secondary.vertical.menu > .item { - border: none; - margin: 0 0 .35714286em; - border-radius: .28571429rem !important -} - -.ui.secondary.vertical.menu > .header.item { - border-radius: 0 -} - -.ui.vertical.secondary.menu .item > .menu .item { - background-color: transparent -} - -.ui.secondary.inverted.menu { - background-color: transparent -} - -.ui.secondary.pointing.menu { - margin-left: 0; - margin-right: 0; - border-bottom: 2px solid rgba(34, 36, 38, .15) -} - -.ui.secondary.pointing.menu .item { - border-bottom-color: transparent; - border-bottom-style: solid; - border-radius: 0; - -ms-flex-item-align: end; - align-self: flex-end; - margin: 0 0 -2px; - padding: .85714286em 1.14285714em; - border-bottom-width: 2px; - -webkit-transition: color .1s ease; - transition: color .1s ease -} - -.ui.secondary.pointing.menu .header.item { - color: rgba(0, 0, 0, .85) !important -} - -.ui.secondary.pointing.menu .text.item { - -webkit-box-shadow: none !important; - box-shadow: none !important -} - -.ui.secondary.pointing.menu .item:after { - display: none -} - -.ui.secondary.pointing.menu .dropdown.item:hover, .ui.secondary.pointing.menu .link.item:hover, .ui.secondary.pointing.menu a.item:hover { - background-color: transparent; - color: rgba(0, 0, 0, .87) -} - -.ui.secondary.pointing.menu .dropdown.item:active, .ui.secondary.pointing.menu .link.item:active, .ui.secondary.pointing.menu a.item:active { - background-color: transparent; - border-color: rgba(34, 36, 38, .15) -} - -.ui.secondary.pointing.menu .active.item { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; - border-color: #1b1c1d; - font-weight: 700; - color: rgba(0, 0, 0, .95) -} - -.ui.secondary.pointing.menu .active.item:hover { - border-color: #1b1c1d; - color: rgba(0, 0, 0, .95) -} - -.ui.secondary.pointing.menu .active.dropdown.item { - border-color: transparent -} - -.ui.secondary.vertical.pointing.menu { - border-bottom-width: 0; - border-right-width: 2px; - border-right-style: solid; - border-right-color: rgba(34, 36, 38, .15) -} - -.ui.secondary.vertical.pointing.menu .item { - border-bottom: none; - border-right-style: solid; - border-right-color: transparent; - border-radius: 0 !important; - margin: 0 -2px 0 0; - border-right-width: 2px -} - -.ui.secondary.vertical.pointing.menu .active.item { - border-color: #1b1c1d -} - -.ui.secondary.inverted.pointing.menu { - border-color: rgba(255, 255, 255, .1) -} - -.ui.secondary.inverted.pointing.menu { - border-width: 2px; - border-color: rgba(34, 36, 38, .15) -} - -.ui.secondary.inverted.pointing.menu .item { - color: rgba(255, 255, 255, .9) -} - -.ui.secondary.inverted.pointing.menu .header.item { - color: #fff !important -} - -.ui.secondary.inverted.pointing.menu .link.item:hover, .ui.secondary.inverted.pointing.menu a.item:hover { - color: rgba(0, 0, 0, .95) -} - -.ui.secondary.inverted.pointing.menu .active.item { - border-color: #fff; - color: #fff -} - -.ui.text.menu { - background: none transparent; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; - border: none; - margin: 1em -.5em -} - -.ui.text.menu .item { - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; - -ms-flex-item-align: center; - align-self: center; - margin: 0 0; - padding: .35714286em .5em; - font-weight: 400; - color: rgba(0, 0, 0, .6); - -webkit-transition: opacity .1s ease; - transition: opacity .1s ease -} - -.ui.text.menu .item:before, .ui.text.menu .menu .item:before { - display: none !important -} - -.ui.text.menu .header.item { - background-color: transparent; - opacity: 1; - color: rgba(0, 0, 0, .85); - font-size: .92857143em; - text-transform: uppercase; - font-weight: 700 -} - -.ui.text.menu .item > img:not(.ui) { - margin: 0 -} - -.ui.text.item.menu .item { - margin: 0 -} - -.ui.vertical.text.menu { - margin: 1em 0 -} - -.ui.vertical.text.menu:first-child { - margin-top: 0 -} - -.ui.vertical.text.menu:last-child { - margin-bottom: 0 -} - -.ui.vertical.text.menu .item { - margin: .57142857em 0; - padding-left: 0; - padding-right: 0 -} - -.ui.vertical.text.menu .item > i.icon { - float: none; - margin: 0 .35714286em 0 0 -} - -.ui.vertical.text.menu .header.item { - margin: .57142857em 0 .71428571em -} - -.ui.vertical.text.menu .item:not(.dropdown) > .menu { - margin: 0 -} - -.ui.vertical.text.menu .item:not(.dropdown) > .menu > .item { - margin: 0; - padding: .5em 0 -} - -.ui.text.menu .item:hover { - opacity: 1; - background-color: transparent -} - -.ui.text.menu .active.item { - background-color: transparent; - border: none; - -webkit-box-shadow: none; - box-shadow: none; - font-weight: 400; - color: rgba(0, 0, 0, .95) -} - -.ui.text.menu .active.item:hover { - background-color: transparent -} - -.ui.text.pointing.menu .active.item:after { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.text.attached.menu { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.inverted.text.menu, .ui.inverted.text.menu .active.item, .ui.inverted.text.menu .item, .ui.inverted.text.menu .item:hover { - background-color: transparent !important -} - -.ui.fluid.text.menu { - margin-left: 0; - margin-right: 0 -} - -.ui.vertical.icon.menu { - display: inline-block; - width: auto -} - -.ui.icon.menu .item { - height: auto; - text-align: center; - color: #1b1c1d -} - -.ui.icon.menu .item > .icon:not(.dropdown) { - margin: 0; - opacity: 1 -} - -.ui.icon.menu .icon:before { - opacity: 1 -} - -.ui.menu .icon.item > .icon { - width: auto; - margin: 0 auto -} - -.ui.vertical.icon.menu .item > .icon:not(.dropdown) { - display: block; - opacity: 1; - margin: 0 auto; - float: none -} - -.ui.inverted.icon.menu .item { - color: #fff -} - -.ui.labeled.icon.menu { - text-align: center -} - -.ui.labeled.icon.menu .item { - min-width: 6em; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column -} - -.ui.labeled.icon.menu .item > .icon:not(.dropdown) { - height: 1em; - display: block; - font-size: 1.71428571em !important; - margin: 0 auto .5rem !important -} - -.ui.fluid.labeled.icon.menu > .item { - min-width: 0 -} - -@media only screen and (max-width: 767px) { - .ui.stackable.menu { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column - } - - .ui.stackable.menu .item { - width: 100% !important - } - - .ui.stackable.menu .item:before { - position: absolute; - content: ''; - top: auto; - bottom: 0; - left: 0; - width: 100%; - height: 1px; - background: rgba(34, 36, 38, .1) - } - - .ui.stackable.menu .left.item, .ui.stackable.menu .left.menu { - margin-right: 0 !important - } - - .ui.stackable.menu .right.item, .ui.stackable.menu .right.menu { - margin-left: 0 !important - } - - .ui.stackable.menu .left.menu, .ui.stackable.menu .right.menu { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column - } -} - -.ui.menu .red.active.item, .ui.red.menu .active.item { - border-color: #db2828 !important; - color: #db2828 !important -} - -.ui.menu .orange.active.item, .ui.orange.menu .active.item { - border-color: #f2711c !important; - color: #f2711c !important -} - -.ui.menu .yellow.active.item, .ui.yellow.menu .active.item { - border-color: #fbbd08 !important; - color: #fbbd08 !important -} - -.ui.menu .olive.active.item, .ui.olive.menu .active.item { - border-color: #b5cc18 !important; - color: #b5cc18 !important -} - -.ui.green.menu .active.item, .ui.menu .green.active.item { - border-color: #21ba45 !important; - color: #21ba45 !important -} - -.ui.menu .teal.active.item, .ui.teal.menu .active.item { - border-color: #00b5ad !important; - color: #00b5ad !important -} - -.ui.blue.menu .active.item, .ui.menu .blue.active.item { - border-color: #2185d0 !important; - color: #2185d0 !important -} - -.ui.menu .violet.active.item, .ui.violet.menu .active.item { - border-color: #6435c9 !important; - color: #6435c9 !important -} - -.ui.menu .purple.active.item, .ui.purple.menu .active.item { - border-color: #a333c8 !important; - color: #a333c8 !important -} - -.ui.menu .pink.active.item, .ui.pink.menu .active.item { - border-color: #e03997 !important; - color: #e03997 !important -} - -.ui.brown.menu .active.item, .ui.menu .brown.active.item { - border-color: #a5673f !important; - color: #a5673f !important -} - -.ui.grey.menu .active.item, .ui.menu .grey.active.item { - border-color: #767676 !important; - color: #767676 !important -} - -.ui.inverted.menu { - border: 0 solid transparent; - background: #1b1c1d; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.inverted.menu .item, .ui.inverted.menu .item > a:not(.ui) { - background: 0 0; - color: rgba(255, 255, 255, .9) -} - -.ui.inverted.menu .item.menu { - background: 0 0 -} - -.ui.inverted.menu .item:before { - background: rgba(255, 255, 255, .08) -} - -.ui.vertical.inverted.menu .item:before { - background: rgba(255, 255, 255, .08) -} - -.ui.vertical.inverted.menu .menu .item, .ui.vertical.inverted.menu .menu .item a:not(.ui) { - color: rgba(255, 255, 255, .5) -} - -.ui.inverted.menu .header.item { - margin: 0; - background: 0 0; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.inverted.menu .item.disabled, .ui.inverted.menu .item.disabled:hover { - color: rgba(225, 225, 225, .3) -} - -.ui.inverted.menu .dropdown.item:hover, .ui.inverted.menu .link.item:hover, .ui.inverted.menu a.item:hover, .ui.link.inverted.menu .item:hover { - background: rgba(255, 255, 255, .08); - color: #fff -} - -.ui.vertical.inverted.menu .item .menu .link.item:hover, .ui.vertical.inverted.menu .item .menu a.item:hover { - background: 0 0; - color: #fff -} - -.ui.inverted.menu .link.item:active, .ui.inverted.menu a.item:active { - background: rgba(255, 255, 255, .08); - color: #fff -} - -.ui.inverted.menu .active.item { - background: rgba(255, 255, 255, .15); - color: #fff !important -} - -.ui.inverted.vertical.menu .item .menu .active.item { - background: 0 0; - color: #fff -} - -.ui.inverted.pointing.menu .active.item:after { - background: #3d3e3f !important; - margin: 0 !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - border: none !important -} - -.ui.inverted.menu .active.item:hover { - background: rgba(255, 255, 255, .15); - color: #fff !important -} - -.ui.inverted.pointing.menu .active.item:hover:after { - background: #3d3e3f !important -} - -.ui.floated.menu { - float: left; - margin: 0 .5rem 0 0 -} - -.ui.floated.menu .item:last-child:before { - display: none -} - -.ui.right.floated.menu { - float: right; - margin: 0 0 0 .5rem -} - -.ui.inverted.menu .red.active.item, .ui.inverted.red.menu { - background-color: #db2828 -} - -.ui.inverted.red.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.red.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.inverted.menu .orange.active.item, .ui.inverted.orange.menu { - background-color: #f2711c -} - -.ui.inverted.orange.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.orange.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.inverted.menu .yellow.active.item, .ui.inverted.yellow.menu { - background-color: #fbbd08 -} - -.ui.inverted.yellow.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.yellow.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.inverted.menu .olive.active.item, .ui.inverted.olive.menu { - background-color: #b5cc18 -} - -.ui.inverted.olive.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.olive.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.inverted.green.menu, .ui.inverted.menu .green.active.item { - background-color: #21ba45 -} - -.ui.inverted.green.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.green.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.inverted.menu .teal.active.item, .ui.inverted.teal.menu { - background-color: #00b5ad -} - -.ui.inverted.teal.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.teal.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.inverted.blue.menu, .ui.inverted.menu .blue.active.item { - background-color: #2185d0 -} - -.ui.inverted.blue.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.blue.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.inverted.menu .violet.active.item, .ui.inverted.violet.menu { - background-color: #6435c9 -} - -.ui.inverted.violet.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.violet.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.inverted.menu .purple.active.item, .ui.inverted.purple.menu { - background-color: #a333c8 -} - -.ui.inverted.purple.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.purple.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.inverted.menu .pink.active.item, .ui.inverted.pink.menu { - background-color: #e03997 -} - -.ui.inverted.pink.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.pink.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.inverted.brown.menu, .ui.inverted.menu .brown.active.item { - background-color: #a5673f -} - -.ui.inverted.brown.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.brown.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.inverted.grey.menu, .ui.inverted.menu .grey.active.item { - background-color: #767676 -} - -.ui.inverted.grey.menu .item:before { - background-color: rgba(34, 36, 38, .1) -} - -.ui.inverted.grey.menu .active.item { - background-color: rgba(0, 0, 0, .1) !important -} - -.ui.fitted.menu .item, .ui.fitted.menu .item .menu .item, .ui.menu .fitted.item { - padding: 0 -} - -.ui.horizontally.fitted.menu .item, .ui.horizontally.fitted.menu .item .menu .item, .ui.menu .horizontally.fitted.item { - padding-top: .92857143em; - padding-bottom: .92857143em -} - -.ui.menu .vertically.fitted.item, .ui.vertically.fitted.menu .item, .ui.vertically.fitted.menu .item .menu .item { - padding-left: 1.14285714em; - padding-right: 1.14285714em -} - -.ui.borderless.menu .item .menu .item:before, .ui.borderless.menu .item:before, .ui.menu .borderless.item:before { - background: 0 0 !important -} - -.ui.compact.menu { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - margin: 0; - vertical-align: middle -} - -.ui.compact.vertical.menu { - display: inline-block -} - -.ui.compact.menu .item:last-child { - border-radius: 0 .28571429rem .28571429rem 0 -} - -.ui.compact.menu .item:last-child:before { - display: none -} - -.ui.compact.vertical.menu { - width: auto !important -} - -.ui.compact.vertical.menu .item:last-child::before { - display: block -} - -.ui.menu.fluid, .ui.vertical.menu.fluid { - width: 100% !important -} - -.ui.item.menu, .ui.item.menu .item { - width: 100%; - padding-left: 0 !important; - padding-right: 0 !important; - margin-left: 0 !important; - margin-right: 0 !important; - text-align: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center -} - -.ui.attached.item.menu { - margin: 0 -1px !important -} - -.ui.item.menu .item:last-child:before { - display: none -} - -.ui.menu.two.item .item { - width: 50% -} - -.ui.menu.three.item .item { - width: 33.333% -} - -.ui.menu.four.item .item { - width: 25% -} - -.ui.menu.five.item .item { - width: 20% -} - -.ui.menu.six.item .item { - width: 16.666% -} - -.ui.menu.seven.item .item { - width: 14.285% -} - -.ui.menu.eight.item .item { - width: 12.5% -} - -.ui.menu.nine.item .item { - width: 11.11% -} - -.ui.menu.ten.item .item { - width: 10% -} - -.ui.menu.eleven.item .item { - width: 9.09% -} - -.ui.menu.twelve.item .item { - width: 8.333% -} - -.ui.menu.fixed { - position: fixed; - z-index: 101; - margin: 0; - width: 100% -} - -.ui.menu.fixed, .ui.menu.fixed .item:first-child, .ui.menu.fixed .item:last-child { - border-radius: 0 !important -} - -.ui.fixed.menu, .ui[class*="top fixed"].menu { - top: 0; - left: 0; - right: auto; - bottom: auto -} - -.ui[class*="top fixed"].menu { - border-top: none; - border-left: none; - border-right: none -} - -.ui[class*="right fixed"].menu { - border-top: none; - border-bottom: none; - border-right: none; - top: 0; - right: 0; - left: auto; - bottom: auto; - width: auto; - height: 100% -} - -.ui[class*="bottom fixed"].menu { - border-bottom: none; - border-left: none; - border-right: none; - bottom: 0; - left: 0; - top: auto; - right: auto -} - -.ui[class*="left fixed"].menu { - border-top: none; - border-bottom: none; - border-left: none; - top: 0; - left: 0; - right: auto; - bottom: auto; - width: auto; - height: 100% -} - -.ui.fixed.menu + .ui.grid { - padding-top: 2.75rem -} - -.ui.pointing.menu .item:after { - visibility: hidden; - position: absolute; - content: ''; - top: 100%; - left: 50%; - -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg); - transform: translateX(-50%) translateY(-50%) rotate(45deg); - background: 0 0; - margin: .5px 0 0; - width: .57142857em; - height: .57142857em; - border: none; - border-bottom: 1px solid #d4d4d5; - border-right: 1px solid #d4d4d5; - z-index: 2; - -webkit-transition: background .1s ease; - transition: background .1s ease -} - -.ui.vertical.pointing.menu .item:after { - position: absolute; - top: 50%; - right: 0; - bottom: auto; - left: auto; - -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg); - transform: translateX(50%) translateY(-50%) rotate(45deg); - margin: 0 -.5px 0 0; - border: none; - border-top: 1px solid #d4d4d5; - border-right: 1px solid #d4d4d5 -} - -.ui.pointing.menu .active.item:after { - visibility: visible -} - -.ui.pointing.menu .active.dropdown.item:after { - visibility: hidden -} - -.ui.pointing.menu .active.item .menu .active.item:after, .ui.pointing.menu .dropdown.active.item:after { - display: none -} - -.ui.pointing.menu .active.item:hover:after { - background-color: #f2f2f2 -} - -.ui.pointing.menu .active.item:after { - background-color: #f2f2f2 -} - -.ui.pointing.menu .active.item:hover:after { - background-color: #f2f2f2 -} - -.ui.vertical.pointing.menu .active.item:hover:after { - background-color: #f2f2f2 -} - -.ui.vertical.pointing.menu .active.item:after { - background-color: #f2f2f2 -} - -.ui.vertical.pointing.menu .menu .active.item:after { - background-color: #fff -} - -.ui.attached.menu { - top: 0; - bottom: 0; - border-radius: 0; - margin: 0 -1px; - width: calc(100% + 2px); - max-width: calc(100% + 2px); - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.attached + .ui.attached.menu:not(.top) { - border-top: none -} - -.ui[class*="top attached"].menu { - bottom: 0; - margin-bottom: 0; - top: 0; - margin-top: 1rem; - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.menu[class*="top attached"]:first-child { - margin-top: 0 -} - -.ui[class*="bottom attached"].menu { - bottom: 0; - margin-top: 0; - top: 0; - margin-bottom: 1rem; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), none; - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), none; - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui[class*="bottom attached"].menu:last-child { - margin-bottom: 0 -} - -.ui.top.attached.menu > .item:first-child { - border-radius: .28571429rem 0 0 0 -} - -.ui.bottom.attached.menu > .item:first-child { - border-radius: 0 0 0 .28571429rem -} - -.ui.attached.menu:not(.tabular) { - border: 1px solid #d4d4d5 -} - -.ui.attached.inverted.menu { - border: none -} - -.ui.attached.tabular.menu { - margin-left: 0; - margin-right: 0; - width: 100% -} - -.ui.mini.menu { - font-size: .78571429rem -} - -.ui.mini.vertical.menu { - width: 9rem -} - -.ui.tiny.menu { - font-size: .85714286rem -} - -.ui.tiny.vertical.menu { - width: 11rem -} - -.ui.small.menu { - font-size: .92857143rem -} - -.ui.small.vertical.menu { - width: 13rem -} - -.ui.menu { - font-size: 1rem -} - -.ui.vertical.menu { - width: 15rem -} - -.ui.large.menu { - font-size: 1.07142857rem -} - -.ui.large.vertical.menu { - width: 18rem -} - -.ui.huge.menu { - font-size: 1.21428571rem -} - -.ui.huge.vertical.menu { - width: 22rem -} - -.ui.big.menu { - font-size: 1.14285714rem -} - -.ui.big.vertical.menu { - width: 20rem -} - -.ui.massive.menu { - font-size: 1.28571429rem -} - -.ui.massive.vertical.menu { - width: 25rem -} - -/*! - * # Semantic UI 2.4.0 - Message - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.message { - position: relative; - min-height: 1em; - margin: 1em 0; - background: #f8f8f9; - padding: 1em 1.5em; - line-height: 1.4285em; - color: rgba(0, 0, 0, .87); - -webkit-transition: opacity .1s ease, color .1s ease, background .1s ease, -webkit-box-shadow .1s ease; - transition: opacity .1s ease, color .1s ease, background .1s ease, -webkit-box-shadow .1s ease; - transition: opacity .1s ease, color .1s ease, background .1s ease, box-shadow .1s ease; - transition: opacity .1s ease, color .1s ease, background .1s ease, box-shadow .1s ease, -webkit-box-shadow .1s ease; - border-radius: .28571429rem; - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, .22) inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px rgba(34, 36, 38, .22) inset, 0 0 0 0 transparent -} - -.ui.message:first-child { - margin-top: 0 -} - -.ui.message:last-child { - margin-bottom: 0 -} - -.ui.message .header { - display: block; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-weight: 700; - margin: -.14285714em 0 0 0 -} - -.ui.message .header:not(.ui) { - font-size: 1.14285714em -} - -.ui.message p { - opacity: .85; - margin: .75em 0 -} - -.ui.message p:first-child { - margin-top: 0 -} - -.ui.message p:last-child { - margin-bottom: 0 -} - -.ui.message .header + p { - margin-top: .25em -} - -.ui.message .list:not(.ui) { - text-align: left; - padding: 0; - opacity: .85; - list-style-position: inside; - margin: .5em 0 0 -} - -.ui.message .list:not(.ui):first-child { - margin-top: 0 -} - -.ui.message .list:not(.ui):last-child { - margin-bottom: 0 -} - -.ui.message .list:not(.ui) li { - position: relative; - list-style-type: none; - margin: 0 0 .3em 1em; - padding: 0 -} - -.ui.message .list:not(.ui) li:before { - position: absolute; - content: '•'; - left: -1em; - height: 100%; - vertical-align: baseline -} - -.ui.message .list:not(.ui) li:last-child { - margin-bottom: 0 -} - -.ui.message > .icon { - margin-right: .6em -} - -.ui.message > .close.icon { - cursor: pointer; - position: absolute; - margin: 0; - top: .78575em; - right: .5em; - opacity: .7; - -webkit-transition: opacity .1s ease; - transition: opacity .1s ease -} - -.ui.message > .close.icon:hover { - opacity: 1 -} - -.ui.message > :first-child { - margin-top: 0 -} - -.ui.message > :last-child { - margin-bottom: 0 -} - -.ui.dropdown .menu > .message { - margin: 0 -1px -} - -.ui.visible.visible.visible.visible.message { - display: block -} - -.ui.icon.visible.visible.visible.visible.message { - display: -webkit-box; - display: -ms-flexbox; - display: flex -} - -.ui.hidden.hidden.hidden.hidden.message { - display: none -} - -.ui.compact.message { - display: inline-block -} - -.ui.compact.icon.message { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex -} - -.ui.attached.message { - margin-bottom: -1px; - border-radius: .28571429rem .28571429rem 0 0; - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 1px rgba(34, 36, 38, .15) inset; - margin-left: -1px; - margin-right: -1px -} - -.ui.attached + .ui.attached.message:not(.top):not(.bottom) { - margin-top: -1px; - border-radius: 0 -} - -.ui.bottom.attached.message { - margin-top: -1px; - border-radius: 0 0 .28571429rem .28571429rem; - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, .15) inset, 0 1px 2px 0 rgba(34, 36, 38, .15); - box-shadow: 0 0 0 1px rgba(34, 36, 38, .15) inset, 0 1px 2px 0 rgba(34, 36, 38, .15) -} - -.ui.bottom.attached.message:not(:last-child) { - margin-bottom: 1em -} - -.ui.attached.icon.message { - width: auto -} - -.ui.icon.message { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - width: 100%; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center -} - -.ui.icon.message > .icon:not(.close) { - display: block; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - line-height: 1; - vertical-align: middle; - font-size: 3em; - opacity: .8 -} - -.ui.icon.message > .content { - display: block; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - vertical-align: middle -} - -.ui.icon.message .icon:not(.close) + .content { - padding-left: 0 -} - -.ui.icon.message .circular.icon { - width: 1em -} - -.ui.floating.message { - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, .22) inset, 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15); - box-shadow: 0 0 0 1px rgba(34, 36, 38, .22) inset, 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15) -} - -.ui.black.message { - background-color: #1b1c1d; - color: rgba(255, 255, 255, .9) -} - -.ui.positive.message { - background-color: #fcfff5; - color: #2c662d -} - -.ui.attached.positive.message, .ui.positive.message { - -webkit-box-shadow: 0 0 0 1px #a3c293 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #a3c293 inset, 0 0 0 0 transparent -} - -.ui.positive.message .header { - color: #1a531b -} - -.ui.negative.message { - background-color: #fff6f6; - color: #9f3a38 -} - -.ui.attached.negative.message, .ui.negative.message { - -webkit-box-shadow: 0 0 0 1px #e0b4b4 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #e0b4b4 inset, 0 0 0 0 transparent -} - -.ui.negative.message .header { - color: #912d2b -} - -.ui.info.message { - background-color: #f8ffff; - color: #276f86 -} - -.ui.attached.info.message, .ui.info.message { - -webkit-box-shadow: 0 0 0 1px #a9d5de inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #a9d5de inset, 0 0 0 0 transparent -} - -.ui.info.message .header { - color: #0e566c -} - -.ui.warning.message { - background-color: #fffaf3; - color: #573a08 -} - -.ui.attached.warning.message, .ui.warning.message { - -webkit-box-shadow: 0 0 0 1px #c9ba9b inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #c9ba9b inset, 0 0 0 0 transparent -} - -.ui.warning.message .header { - color: #794b02 -} - -.ui.error.message { - background-color: #fff6f6; - color: #9f3a38 -} - -.ui.attached.error.message, .ui.error.message { - -webkit-box-shadow: 0 0 0 1px #e0b4b4 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #e0b4b4 inset, 0 0 0 0 transparent -} - -.ui.error.message .header { - color: #912d2b -} - -.ui.success.message { - background-color: #fcfff5; - color: #2c662d -} - -.ui.attached.success.message, .ui.success.message { - -webkit-box-shadow: 0 0 0 1px #a3c293 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #a3c293 inset, 0 0 0 0 transparent -} - -.ui.success.message .header { - color: #1a531b -} - -.ui.black.message, .ui.inverted.message { - background-color: #1b1c1d; - color: rgba(255, 255, 255, .9) -} - -.ui.red.message { - background-color: #ffe8e6; - color: #db2828; - -webkit-box-shadow: 0 0 0 1px #db2828 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #db2828 inset, 0 0 0 0 transparent -} - -.ui.red.message .header { - color: #c82121 -} - -.ui.orange.message { - background-color: #ffedde; - color: #f2711c; - -webkit-box-shadow: 0 0 0 1px #f2711c inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #f2711c inset, 0 0 0 0 transparent -} - -.ui.orange.message .header { - color: #e7640d -} - -.ui.yellow.message { - background-color: #fff8db; - color: #b58105; - -webkit-box-shadow: 0 0 0 1px #b58105 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #b58105 inset, 0 0 0 0 transparent -} - -.ui.yellow.message .header { - color: #9c6f04 -} - -.ui.olive.message { - background-color: #fbfdef; - color: #8abc1e; - -webkit-box-shadow: 0 0 0 1px #8abc1e inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #8abc1e inset, 0 0 0 0 transparent -} - -.ui.olive.message .header { - color: #7aa61a -} - -.ui.green.message { - background-color: #e5f9e7; - color: #1ebc30; - -webkit-box-shadow: 0 0 0 1px #1ebc30 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #1ebc30 inset, 0 0 0 0 transparent -} - -.ui.green.message .header { - color: #1aa62a -} - -.ui.teal.message { - background-color: #e1f7f7; - color: #10a3a3; - -webkit-box-shadow: 0 0 0 1px #10a3a3 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #10a3a3 inset, 0 0 0 0 transparent -} - -.ui.teal.message .header { - color: #0e8c8c -} - -.ui.blue.message { - background-color: #dff0ff; - color: #2185d0; - -webkit-box-shadow: 0 0 0 1px #2185d0 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #2185d0 inset, 0 0 0 0 transparent -} - -.ui.blue.message .header { - color: #1e77ba -} - -.ui.violet.message { - background-color: #eae7ff; - color: #6435c9; - -webkit-box-shadow: 0 0 0 1px #6435c9 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #6435c9 inset, 0 0 0 0 transparent -} - -.ui.violet.message .header { - color: #5a30b5 -} - -.ui.purple.message { - background-color: #f6e7ff; - color: #a333c8; - -webkit-box-shadow: 0 0 0 1px #a333c8 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #a333c8 inset, 0 0 0 0 transparent -} - -.ui.purple.message .header { - color: #922eb4 -} - -.ui.pink.message { - background-color: #ffe3fb; - color: #e03997; - -webkit-box-shadow: 0 0 0 1px #e03997 inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #e03997 inset, 0 0 0 0 transparent -} - -.ui.pink.message .header { - color: #dd238b -} - -.ui.brown.message { - background-color: #f1e2d3; - color: #a5673f; - -webkit-box-shadow: 0 0 0 1px #a5673f inset, 0 0 0 0 transparent; - box-shadow: 0 0 0 1px #a5673f inset, 0 0 0 0 transparent -} - -.ui.brown.message .header { - color: #935b38 -} - -.ui.mini.message { - font-size: .78571429em -} - -.ui.tiny.message { - font-size: .85714286em -} - -.ui.small.message { - font-size: .92857143em -} - -.ui.message { - font-size: 1em -} - -.ui.large.message { - font-size: 1.14285714em -} - -.ui.big.message { - font-size: 1.28571429em -} - -.ui.huge.message { - font-size: 1.42857143em -} - -.ui.massive.message { - font-size: 1.71428571em -} - -/*! - * # Semantic UI 2.4.0 - Table - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.table { - width: 100%; - background: #fff; - margin: 1em 0; - border: 1px solid rgba(34, 36, 38, .15); - -webkit-box-shadow: none; - box-shadow: none; - border-radius: .28571429rem; - text-align: left; - color: rgba(0, 0, 0, .87); - border-collapse: separate; - border-spacing: 0 -} - -.ui.table:first-child { - margin-top: 0 -} - -.ui.table:last-child { - margin-bottom: 0 -} - -.ui.table td, .ui.table th { - -webkit-transition: background .1s ease, color .1s ease; - transition: background .1s ease, color .1s ease -} - -.ui.table thead { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.table thead th { - cursor: auto; - background: #f9fafb; - text-align: inherit; - color: rgba(0, 0, 0, .87); - padding: .92857143em .78571429em; - vertical-align: inherit; - font-style: none; - font-weight: 700; - text-transform: none; - border-bottom: 1px solid rgba(34, 36, 38, .1); - border-left: none -} - -.ui.table thead tr > th:first-child { - border-left: none -} - -.ui.table thead tr:first-child > th:first-child { - border-radius: .28571429rem 0 0 0 -} - -.ui.table thead tr:first-child > th:last-child { - border-radius: 0 .28571429rem 0 0 -} - -.ui.table thead tr:first-child > th:only-child { - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.table tfoot { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.table tfoot th { - cursor: auto; - border-top: 1px solid rgba(34, 36, 38, .15); - background: #f9fafb; - text-align: inherit; - color: rgba(0, 0, 0, .87); - padding: .78571429em .78571429em; - vertical-align: middle; - font-style: normal; - font-weight: 400; - text-transform: none -} - -.ui.table tfoot tr > th:first-child { - border-left: none -} - -.ui.table tfoot tr:first-child > th:first-child { - border-radius: 0 0 0 .28571429rem -} - -.ui.table tfoot tr:first-child > th:last-child { - border-radius: 0 0 .28571429rem 0 -} - -.ui.table tfoot tr:first-child > th:only-child { - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.table tr td { - border-top: 1px solid rgba(34, 36, 38, .1) -} - -.ui.table tr:first-child td { - border-top: none -} - -.ui.table tbody + tbody tr:first-child td { - border-top: 1px solid rgba(34, 36, 38, .1) -} - -.ui.table td { - padding: .78571429em .78571429em; - text-align: inherit -} - -.ui.table > .icon { - vertical-align: baseline -} - -.ui.table > .icon:only-child { - margin: 0 -} - -.ui.table.segment { - padding: 0 -} - -.ui.table.segment:after { - display: none -} - -.ui.table.segment.stacked:after { - display: block -} - -@media only screen and (max-width: 767px) { - .ui.table:not(.unstackable) { - width: 100% - } - - .ui.table:not(.unstackable) tbody, .ui.table:not(.unstackable) tr, .ui.table:not(.unstackable) tr > td, .ui.table:not(.unstackable) tr > th { - width: auto !important; - display: block !important - } - - .ui.table:not(.unstackable) { - padding: 0 - } - - .ui.table:not(.unstackable) thead { - display: block - } - - .ui.table:not(.unstackable) tfoot { - display: block - } - - .ui.table:not(.unstackable) tr { - padding-top: 1em; - padding-bottom: 1em; - -webkit-box-shadow: 0 -1px 0 0 rgba(0, 0, 0, .1) inset !important; - box-shadow: 0 -1px 0 0 rgba(0, 0, 0, .1) inset !important - } - - .ui.table:not(.unstackable) tr > td, .ui.table:not(.unstackable) tr > th { - background: 0 0; - border: none !important; - padding: .25em .75em !important; - -webkit-box-shadow: none !important; - box-shadow: none !important - } - - .ui.table:not(.unstackable) td:first-child, .ui.table:not(.unstackable) th:first-child { - font-weight: 700 - } - - .ui.definition.table:not(.unstackable) thead th:first-child { - -webkit-box-shadow: none !important; - box-shadow: none !important - } -} - -.ui.table td .image, .ui.table td .image img, .ui.table th .image, .ui.table th .image img { - max-width: none -} - -.ui.structured.table { - border-collapse: collapse -} - -.ui.structured.table thead th { - border-left: none; - border-right: none -} - -.ui.structured.sortable.table thead th { - border-left: 1px solid rgba(34, 36, 38, .15); - border-right: 1px solid rgba(34, 36, 38, .15) -} - -.ui.structured.basic.table th { - border-left: none; - border-right: none -} - -.ui.structured.celled.table tr td, .ui.structured.celled.table tr th { - border-left: 1px solid rgba(34, 36, 38, .1); - border-right: 1px solid rgba(34, 36, 38, .1) -} - -.ui.definition.table thead:not(.full-width) th:first-child { - pointer-events: none; - background: 0 0; - font-weight: 400; - color: rgba(0, 0, 0, .4); - -webkit-box-shadow: -1px -1px 0 1px #fff; - box-shadow: -1px -1px 0 1px #fff -} - -.ui.definition.table tfoot:not(.full-width) th:first-child { - pointer-events: none; - background: 0 0; - font-weight: rgba(0, 0, 0, .4); - color: normal; - -webkit-box-shadow: 1px 1px 0 1px #fff; - box-shadow: 1px 1px 0 1px #fff -} - -.ui.celled.definition.table thead:not(.full-width) th:first-child { - -webkit-box-shadow: 0 -1px 0 1px #fff; - box-shadow: 0 -1px 0 1px #fff -} - -.ui.celled.definition.table tfoot:not(.full-width) th:first-child { - -webkit-box-shadow: 0 1px 0 1px #fff; - box-shadow: 0 1px 0 1px #fff -} - -.ui.definition.table tr td.definition, .ui.definition.table tr td:first-child:not(.ignored) { - background: rgba(0, 0, 0, .03); - font-weight: 700; - color: rgba(0, 0, 0, .95); - text-transform: ''; - -webkit-box-shadow: ''; - box-shadow: ''; - text-align: ''; - font-size: 1em; - padding-left: ''; - padding-right: '' -} - -.ui.definition.table thead:not(.full-width) th:nth-child(2) { - border-left: 1px solid rgba(34, 36, 38, .15) -} - -.ui.definition.table tfoot:not(.full-width) th:nth-child(2) { - border-left: 1px solid rgba(34, 36, 38, .15) -} - -.ui.definition.table td:nth-child(2) { - border-left: 1px solid rgba(34, 36, 38, .15) -} - -.ui.table td.positive, .ui.table tr.positive { - -webkit-box-shadow: 0 0 0 #a3c293 inset; - box-shadow: 0 0 0 #a3c293 inset -} - -.ui.table td.positive, .ui.table tr.positive { - background: #fcfff5 !important; - color: #2c662d !important -} - -.ui.table td.negative, .ui.table tr.negative { - -webkit-box-shadow: 0 0 0 #e0b4b4 inset; - box-shadow: 0 0 0 #e0b4b4 inset -} - -.ui.table td.negative, .ui.table tr.negative { - background: #fff6f6 !important; - color: #9f3a38 !important -} - -.ui.table td.error, .ui.table tr.error { - -webkit-box-shadow: 0 0 0 #e0b4b4 inset; - box-shadow: 0 0 0 #e0b4b4 inset -} - -.ui.table td.error, .ui.table tr.error { - background: #fff6f6 !important; - color: #9f3a38 !important -} - -.ui.table td.warning, .ui.table tr.warning { - -webkit-box-shadow: 0 0 0 #c9ba9b inset; - box-shadow: 0 0 0 #c9ba9b inset -} - -.ui.table td.warning, .ui.table tr.warning { - background: #fffaf3 !important; - color: #573a08 !important -} - -.ui.table td.active, .ui.table tr.active { - -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .87) inset; - box-shadow: 0 0 0 rgba(0, 0, 0, .87) inset -} - -.ui.table td.active, .ui.table tr.active { - background: #e0e0e0 !important; - color: rgba(0, 0, 0, .87) !important -} - -.ui.table tr td.disabled, .ui.table tr.disabled td, .ui.table tr.disabled:hover, .ui.table tr:hover td.disabled { - pointer-events: none; - color: rgba(40, 40, 40, .3) -} - -@media only screen and (max-width: 991px) { - .ui[class*="tablet stackable"].table, .ui[class*="tablet stackable"].table tbody, .ui[class*="tablet stackable"].table tr, .ui[class*="tablet stackable"].table tr > td, .ui[class*="tablet stackable"].table tr > th { - width: 100% !important; - display: block !important - } - - .ui[class*="tablet stackable"].table { - padding: 0 - } - - .ui[class*="tablet stackable"].table thead { - display: block - } - - .ui[class*="tablet stackable"].table tfoot { - display: block - } - - .ui[class*="tablet stackable"].table tr { - padding-top: 1em; - padding-bottom: 1em; - -webkit-box-shadow: 0 -1px 0 0 rgba(0, 0, 0, .1) inset !important; - box-shadow: 0 -1px 0 0 rgba(0, 0, 0, .1) inset !important - } - - .ui[class*="tablet stackable"].table tr > td, .ui[class*="tablet stackable"].table tr > th { - background: 0 0; - border: none !important; - padding: .25em .75em; - -webkit-box-shadow: none !important; - box-shadow: none !important - } - - .ui.definition[class*="tablet stackable"].table thead th:first-child { - -webkit-box-shadow: none !important; - box-shadow: none !important - } -} - -.ui.table [class*="left aligned"], .ui.table[class*="left aligned"] { - text-align: left -} - -.ui.table [class*="center aligned"], .ui.table[class*="center aligned"] { - text-align: center -} - -.ui.table [class*="right aligned"], .ui.table[class*="right aligned"] { - text-align: right -} - -.ui.table [class*="top aligned"], .ui.table[class*="top aligned"] { - vertical-align: top -} - -.ui.table [class*="middle aligned"], .ui.table[class*="middle aligned"] { - vertical-align: middle -} - -.ui.table [class*="bottom aligned"], .ui.table[class*="bottom aligned"] { - vertical-align: bottom -} - -.ui.table td.collapsing, .ui.table th.collapsing { - width: 1px; - white-space: nowrap -} - -.ui.fixed.table { - table-layout: fixed -} - -.ui.fixed.table td, .ui.fixed.table th { - overflow: hidden; - text-overflow: ellipsis -} - -.ui.selectable.table tbody tr:hover, .ui.table tbody tr td.selectable:hover { - background: rgba(0, 0, 0, .05) !important; - color: rgba(0, 0, 0, .95) !important -} - -.ui.inverted.table tbody tr td.selectable:hover, .ui.selectable.inverted.table tbody tr:hover { - background: rgba(255, 255, 255, .08) !important; - color: #fff !important -} - -.ui.table tbody tr td.selectable { - padding: 0 -} - -.ui.table tbody tr td.selectable > a:not(.ui) { - display: block; - color: inherit; - padding: .78571429em .78571429em -} - -.ui.selectable.table tr.error:hover, .ui.selectable.table tr:hover td.error, .ui.table tr td.selectable.error:hover { - background: #ffe7e7 !important; - color: #943634 !important -} - -.ui.selectable.table tr.warning:hover, .ui.selectable.table tr:hover td.warning, .ui.table tr td.selectable.warning:hover { - background: #fff4e4 !important; - color: #493107 !important -} - -.ui.selectable.table tr.active:hover, .ui.selectable.table tr:hover td.active, .ui.table tr td.selectable.active:hover { - background: #e0e0e0 !important; - color: rgba(0, 0, 0, .87) !important -} - -.ui.selectable.table tr.positive:hover, .ui.selectable.table tr:hover td.positive, .ui.table tr td.selectable.positive:hover { - background: #f7ffe6 !important; - color: #275b28 !important -} - -.ui.selectable.table tr.negative:hover, .ui.selectable.table tr:hover td.negative, .ui.table tr td.selectable.negative:hover { - background: #ffe7e7 !important; - color: #943634 !important -} - -.ui.attached.table { - top: 0; - bottom: 0; - border-radius: 0; - margin: 0 -1px; - width: calc(100% + 2px); - max-width: calc(100% + 2px); - -webkit-box-shadow: none; - box-shadow: none; - border: 1px solid #d4d4d5 -} - -.ui.attached + .ui.attached.table:not(.top) { - border-top: none -} - -.ui[class*="top attached"].table { - bottom: 0; - margin-bottom: 0; - top: 0; - margin-top: 1em; - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.table[class*="top attached"]:first-child { - margin-top: 0 -} - -.ui[class*="bottom attached"].table { - bottom: 0; - margin-top: 0; - top: 0; - margin-bottom: 1em; - -webkit-box-shadow: none, none; - box-shadow: none, none; - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui[class*="bottom attached"].table:last-child { - margin-bottom: 0 -} - -.ui.striped.table tbody tr:nth-child(2n), .ui.striped.table > tr:nth-child(2n) { - background-color: rgba(0, 0, 50, .02) -} - -.ui.inverted.striped.table tbody tr:nth-child(2n), .ui.inverted.striped.table > tr:nth-child(2n) { - background-color: rgba(255, 255, 255, .05) -} - -.ui.striped.selectable.selectable.selectable.table tbody tr.active:hover { - background: #efefef !important; - color: rgba(0, 0, 0, .95) !important -} - -.ui.table [class*="single line"], .ui.table[class*="single line"] { - white-space: nowrap -} - -.ui.table [class*="single line"], .ui.table[class*="single line"] { - white-space: nowrap -} - -.ui.red.table { - border-top: .2em solid #db2828 -} - -.ui.inverted.red.table { - background-color: #db2828 !important; - color: #fff !important -} - -.ui.orange.table { - border-top: .2em solid #f2711c -} - -.ui.inverted.orange.table { - background-color: #f2711c !important; - color: #fff !important -} - -.ui.yellow.table { - border-top: .2em solid #fbbd08 -} - -.ui.inverted.yellow.table { - background-color: #fbbd08 !important; - color: #fff !important -} - -.ui.olive.table { - border-top: .2em solid #b5cc18 -} - -.ui.inverted.olive.table { - background-color: #b5cc18 !important; - color: #fff !important -} - -.ui.green.table { - border-top: .2em solid #21ba45 -} - -.ui.inverted.green.table { - background-color: #21ba45 !important; - color: #fff !important -} - -.ui.teal.table { - border-top: .2em solid #00b5ad -} - -.ui.inverted.teal.table { - background-color: #00b5ad !important; - color: #fff !important -} - -.ui.blue.table { - border-top: .2em solid #2185d0 -} - -.ui.inverted.blue.table { - background-color: #2185d0 !important; - color: #fff !important -} - -.ui.violet.table { - border-top: .2em solid #6435c9 -} - -.ui.inverted.violet.table { - background-color: #6435c9 !important; - color: #fff !important -} - -.ui.purple.table { - border-top: .2em solid #a333c8 -} - -.ui.inverted.purple.table { - background-color: #a333c8 !important; - color: #fff !important -} - -.ui.pink.table { - border-top: .2em solid #e03997 -} - -.ui.inverted.pink.table { - background-color: #e03997 !important; - color: #fff !important -} - -.ui.brown.table { - border-top: .2em solid #a5673f -} - -.ui.inverted.brown.table { - background-color: #a5673f !important; - color: #fff !important -} - -.ui.grey.table { - border-top: .2em solid #767676 -} - -.ui.inverted.grey.table { - background-color: #767676 !important; - color: #fff !important -} - -.ui.black.table { - border-top: .2em solid #1b1c1d -} - -.ui.inverted.black.table { - background-color: #1b1c1d !important; - color: #fff !important -} - -.ui.one.column.table td { - width: 100% -} - -.ui.two.column.table td { - width: 50% -} - -.ui.three.column.table td { - width: 33.33333333% -} - -.ui.four.column.table td { - width: 25% -} - -.ui.five.column.table td { - width: 20% -} - -.ui.six.column.table td { - width: 16.66666667% -} - -.ui.seven.column.table td { - width: 14.28571429% -} - -.ui.eight.column.table td { - width: 12.5% -} - -.ui.nine.column.table td { - width: 11.11111111% -} - -.ui.ten.column.table td { - width: 10% -} - -.ui.eleven.column.table td { - width: 9.09090909% -} - -.ui.twelve.column.table td { - width: 8.33333333% -} - -.ui.thirteen.column.table td { - width: 7.69230769% -} - -.ui.fourteen.column.table td { - width: 7.14285714% -} - -.ui.fifteen.column.table td { - width: 6.66666667% -} - -.ui.sixteen.column.table td { - width: 6.25% -} - -.ui.table td.one.wide, .ui.table th.one.wide { - width: 6.25% -} - -.ui.table td.two.wide, .ui.table th.two.wide { - width: 12.5% -} - -.ui.table td.three.wide, .ui.table th.three.wide { - width: 18.75% -} - -.ui.table td.four.wide, .ui.table th.four.wide { - width: 25% -} - -.ui.table td.five.wide, .ui.table th.five.wide { - width: 31.25% -} - -.ui.table td.six.wide, .ui.table th.six.wide { - width: 37.5% -} - -.ui.table td.seven.wide, .ui.table th.seven.wide { - width: 43.75% -} - -.ui.table td.eight.wide, .ui.table th.eight.wide { - width: 50% -} - -.ui.table td.nine.wide, .ui.table th.nine.wide { - width: 56.25% -} - -.ui.table td.ten.wide, .ui.table th.ten.wide { - width: 62.5% -} - -.ui.table td.eleven.wide, .ui.table th.eleven.wide { - width: 68.75% -} - -.ui.table td.twelve.wide, .ui.table th.twelve.wide { - width: 75% -} - -.ui.table td.thirteen.wide, .ui.table th.thirteen.wide { - width: 81.25% -} - -.ui.table td.fourteen.wide, .ui.table th.fourteen.wide { - width: 87.5% -} - -.ui.table td.fifteen.wide, .ui.table th.fifteen.wide { - width: 93.75% -} - -.ui.table td.sixteen.wide, .ui.table th.sixteen.wide { - width: 100% -} - -.ui.sortable.table thead th { - cursor: pointer; - white-space: nowrap; - border-left: 1px solid rgba(34, 36, 38, .15); - color: rgba(0, 0, 0, .87) -} - -.ui.sortable.table thead th:first-child { - border-left: none -} - -.ui.sortable.table thead th.sorted, .ui.sortable.table thead th.sorted:hover { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none -} - -.ui.sortable.table thead th:after { - display: none; - font-style: normal; - font-weight: 400; - text-decoration: inherit; - content: ''; - height: 1em; - width: auto; - opacity: .8; - margin: 0 0 0 .5em; - font-family: Icons -} - -.ui.sortable.table thead th.ascending:after { - content: '\f0d8' -} - -.ui.sortable.table thead th.descending:after { - content: '\f0d7' -} - -.ui.sortable.table th.disabled:hover { - cursor: auto; - color: rgba(40, 40, 40, .3) -} - -.ui.sortable.table thead th:hover { - background: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .8) -} - -.ui.sortable.table thead th.sorted { - background: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .95) -} - -.ui.sortable.table thead th.sorted:after { - display: inline-block -} - -.ui.sortable.table thead th.sorted:hover { - background: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .95) -} - -.ui.inverted.sortable.table thead th.sorted { - background: rgba(255, 255, 255, .15) -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, .05))); - background: rgba(255, 255, 255, .15) -webkit-linear-gradient(transparent, rgba(0, 0, 0, .05)); - background: rgba(255, 255, 255, .15) linear-gradient(transparent, rgba(0, 0, 0, .05)); - color: #fff -} - -.ui.inverted.sortable.table thead th:hover { - background: rgba(255, 255, 255, .08) -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, .05))); - background: rgba(255, 255, 255, .08) -webkit-linear-gradient(transparent, rgba(0, 0, 0, .05)); - background: rgba(255, 255, 255, .08) linear-gradient(transparent, rgba(0, 0, 0, .05)); - color: #fff -} - -.ui.inverted.sortable.table thead th { - border-left-color: transparent; - border-right-color: transparent -} - -.ui.inverted.table { - background: #333; - color: rgba(255, 255, 255, .9); - border: none -} - -.ui.inverted.table th { - background-color: rgba(0, 0, 0, .15); - border-color: rgba(255, 255, 255, .1) !important; - color: rgba(255, 255, 255, .9) !important -} - -.ui.inverted.table tr td { - border-color: rgba(255, 255, 255, .1) !important -} - -.ui.inverted.table tr td.disabled, .ui.inverted.table tr.disabled td, .ui.inverted.table tr.disabled:hover td, .ui.inverted.table tr:hover td.disabled { - pointer-events: none; - color: rgba(225, 225, 225, .3) -} - -.ui.inverted.definition.table tfoot:not(.full-width) th:first-child, .ui.inverted.definition.table thead:not(.full-width) th:first-child { - background: #fff -} - -.ui.inverted.definition.table tr td:first-child { - background: rgba(255, 255, 255, .02); - color: #fff -} - -.ui.collapsing.table { - width: auto -} - -.ui.basic.table { - background: 0 0; - border: 1px solid rgba(34, 36, 38, .15); - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.basic.table tfoot, .ui.basic.table thead { - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.basic.table th { - background: 0 0; - border-left: none -} - -.ui.basic.table tbody tr { - border-bottom: 1px solid rgba(0, 0, 0, .1) -} - -.ui.basic.table td { - background: 0 0 -} - -.ui.basic.striped.table tbody tr:nth-child(2n) { - background-color: rgba(0, 0, 0, .05) !important -} - -.ui[class*="very basic"].table { - border: none -} - -.ui[class*="very basic"].table:not(.sortable):not(.striped) td, .ui[class*="very basic"].table:not(.sortable):not(.striped) th { - padding: '' -} - -.ui[class*="very basic"].table:not(.sortable):not(.striped) td:first-child, .ui[class*="very basic"].table:not(.sortable):not(.striped) th:first-child { - padding-left: 0 -} - -.ui[class*="very basic"].table:not(.sortable):not(.striped) td:last-child, .ui[class*="very basic"].table:not(.sortable):not(.striped) th:last-child { - padding-right: 0 -} - -.ui[class*="very basic"].table:not(.sortable):not(.striped) thead tr:first-child th { - padding-top: 0 -} - -.ui.celled.table tr td, .ui.celled.table tr th { - border-left: 1px solid rgba(34, 36, 38, .1) -} - -.ui.celled.table tr td:first-child, .ui.celled.table tr th:first-child { - border-left: none -} - -.ui.padded.table th { - padding-left: 1em; - padding-right: 1em -} - -.ui.padded.table td, .ui.padded.table th { - padding: 1em 1em -} - -.ui[class*="very padded"].table th { - padding-left: 1.5em; - padding-right: 1.5em -} - -.ui[class*="very padded"].table td { - padding: 1.5em 1.5em -} - -.ui.compact.table th { - padding-left: .7em; - padding-right: .7em -} - -.ui.compact.table td { - padding: .5em .7em -} - -.ui[class*="very compact"].table th { - padding-left: .6em; - padding-right: .6em -} - -.ui[class*="very compact"].table td { - padding: .4em .6em -} - -.ui.small.table { - font-size: .9em -} - -.ui.table { - font-size: 1em -} - -.ui.large.table { - font-size: 1.1em -} - -/*! - * # Semantic UI 2.4.0 - Ad - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.ad { - display: block; - overflow: hidden; - margin: 1em 0 -} - -.ui.ad:first-child { - margin: 0 -} - -.ui.ad:last-child { - margin: 0 -} - -.ui.ad iframe { - margin: 0; - padding: 0; - border: none; - overflow: hidden -} - -.ui.leaderboard.ad { - width: 728px; - height: 90px -} - -.ui[class*="medium rectangle"].ad { - width: 300px; - height: 250px -} - -.ui[class*="large rectangle"].ad { - width: 336px; - height: 280px -} - -.ui[class*="half page"].ad { - width: 300px; - height: 600px -} - -.ui.square.ad { - width: 250px; - height: 250px -} - -.ui[class*="small square"].ad { - width: 200px; - height: 200px -} - -.ui[class*="small rectangle"].ad { - width: 180px; - height: 150px -} - -.ui[class*="vertical rectangle"].ad { - width: 240px; - height: 400px -} - -.ui.button.ad { - width: 120px; - height: 90px -} - -.ui[class*="square button"].ad { - width: 125px; - height: 125px -} - -.ui[class*="small button"].ad { - width: 120px; - height: 60px -} - -.ui.skyscraper.ad { - width: 120px; - height: 600px -} - -.ui[class*="wide skyscraper"].ad { - width: 160px -} - -.ui.banner.ad { - width: 468px; - height: 60px -} - -.ui[class*="vertical banner"].ad { - width: 120px; - height: 240px -} - -.ui[class*="top banner"].ad { - width: 930px; - height: 180px -} - -.ui[class*="half banner"].ad { - width: 234px; - height: 60px -} - -.ui[class*="large leaderboard"].ad { - width: 970px; - height: 90px -} - -.ui.billboard.ad { - width: 970px; - height: 250px -} - -.ui.panorama.ad { - width: 980px; - height: 120px -} - -.ui.netboard.ad { - width: 580px; - height: 400px -} - -.ui[class*="large mobile banner"].ad { - width: 320px; - height: 100px -} - -.ui[class*="mobile leaderboard"].ad { - width: 320px; - height: 50px -} - -.ui.mobile.ad { - display: none -} - -@media only screen and (max-width: 767px) { - .ui.mobile.ad { - display: block - } -} - -.ui.centered.ad { - margin-left: auto; - margin-right: auto -} - -.ui.test.ad { - position: relative; - background: #545454 -} - -.ui.test.ad:after { - position: absolute; - top: 50%; - left: 50%; - width: 100%; - text-align: center; - -webkit-transform: translateX(-50%) translateY(-50%); - transform: translateX(-50%) translateY(-50%); - content: 'Ad'; - color: #fff; - font-size: 1em; - font-weight: 700 -} - -.ui.mobile.test.ad:after { - font-size: .85714286em -} - -.ui.test.ad[data-text]:after { - content: attr(data-text) -} - -/*! - * # Semantic UI 2.4.0 - Item - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.card, .ui.cards > .card { - max-width: 100%; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - width: 290px; - min-height: 0; - background: #fff; - padding: 0; - border: none; - border-radius: .28571429rem; - -webkit-box-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5; - box-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5; - -webkit-transition: -webkit-box-shadow .1s ease, -webkit-transform .1s ease; - transition: -webkit-box-shadow .1s ease, -webkit-transform .1s ease; - transition: box-shadow .1s ease, transform .1s ease; - transition: box-shadow .1s ease, transform .1s ease, -webkit-box-shadow .1s ease, -webkit-transform .1s ease; - z-index: '' -} - -.ui.card { - margin: 1em 0 -} - -.ui.card a, .ui.cards > .card a { - cursor: pointer -} - -.ui.card:first-child { - margin-top: 0 -} - -.ui.card:last-child { - margin-bottom: 0 -} - -.ui.cards { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin: -.875em -.5em; - -ms-flex-wrap: wrap; - flex-wrap: wrap -} - -.ui.cards > .card { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin: .875em .5em; - float: none -} - -.ui.card:after, .ui.cards:after { - display: block; - content: ' '; - height: 0; - clear: both; - overflow: hidden; - visibility: hidden -} - -.ui.cards ~ .ui.cards { - margin-top: .875em -} - -.ui.card > :first-child, .ui.cards > .card > :first-child { - border-radius: .28571429rem .28571429rem 0 0 !important; - border-top: none !important -} - -.ui.card > :last-child, .ui.cards > .card > :last-child { - border-radius: 0 0 .28571429rem .28571429rem !important -} - -.ui.card > :only-child, .ui.cards > .card > :only-child { - border-radius: .28571429rem !important -} - -.ui.card > .image, .ui.cards > .card > .image { - position: relative; - display: block; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - padding: 0; - background: rgba(0, 0, 0, .05) -} - -.ui.card > .image > img, .ui.cards > .card > .image > img { - display: block; - width: 100%; - height: auto; - border-radius: inherit -} - -.ui.card > .image:not(.ui) > img, .ui.cards > .card > .image:not(.ui) > img { - border: none -} - -.ui.card > .content, .ui.cards > .card > .content { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - border: none; - border-top: 1px solid rgba(34, 36, 38, .1); - background: 0 0; - margin: 0; - padding: 1em 1em; - -webkit-box-shadow: none; - box-shadow: none; - font-size: 1em; - border-radius: 0 -} - -.ui.card > .content:after, .ui.cards > .card > .content:after { - display: block; - content: ' '; - height: 0; - clear: both; - overflow: hidden; - visibility: hidden -} - -.ui.card > .content > .header, .ui.cards > .card > .content > .header { - display: block; - margin: ''; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - color: rgba(0, 0, 0, .85) -} - -.ui.card > .content > .header:not(.ui), .ui.cards > .card > .content > .header:not(.ui) { - font-weight: 700; - font-size: 1.28571429em; - margin-top: -.21425em; - line-height: 1.28571429em -} - -.ui.card > .content > .header + .description, .ui.card > .content > .meta + .description, .ui.cards > .card > .content > .header + .description, .ui.cards > .card > .content > .meta + .description { - margin-top: .5em -} - -.ui.card [class*="left floated"], .ui.cards > .card [class*="left floated"] { - float: left -} - -.ui.card [class*="right floated"], .ui.cards > .card [class*="right floated"] { - float: right -} - -.ui.card [class*="left aligned"], .ui.cards > .card [class*="left aligned"] { - text-align: left -} - -.ui.card [class*="center aligned"], .ui.cards > .card [class*="center aligned"] { - text-align: center -} - -.ui.card [class*="right aligned"], .ui.cards > .card [class*="right aligned"] { - text-align: right -} - -.ui.card .content img, .ui.cards > .card .content img { - display: inline-block; - vertical-align: middle; - width: '' -} - -.ui.card .avatar img, .ui.card img.avatar, .ui.cards > .card .avatar img, .ui.cards > .card img.avatar { - width: 2em; - height: 2em; - border-radius: 500rem -} - -.ui.card > .content > .description, .ui.cards > .card > .content > .description { - clear: both; - color: rgba(0, 0, 0, .68) -} - -.ui.card > .content p, .ui.cards > .card > .content p { - margin: 0 0 .5em -} - -.ui.card > .content p:last-child, .ui.cards > .card > .content p:last-child { - margin-bottom: 0 -} - -.ui.card .meta, .ui.cards > .card .meta { - font-size: 1em; - color: rgba(0, 0, 0, .4) -} - -.ui.card .meta *, .ui.cards > .card .meta * { - margin-right: .3em -} - -.ui.card .meta :last-child, .ui.cards > .card .meta :last-child { - margin-right: 0 -} - -.ui.card .meta [class*="right floated"], .ui.cards > .card .meta [class*="right floated"] { - margin-right: 0; - margin-left: .3em -} - -.ui.card > .content a:not(.ui), .ui.cards > .card > .content a:not(.ui) { - color: ''; - -webkit-transition: color .1s ease; - transition: color .1s ease -} - -.ui.card > .content a:not(.ui):hover, .ui.cards > .card > .content a:not(.ui):hover { - color: '' -} - -.ui.card > .content > a.header, .ui.cards > .card > .content > a.header { - color: rgba(0, 0, 0, .85) -} - -.ui.card > .content > a.header:hover, .ui.cards > .card > .content > a.header:hover { - color: #1e70bf -} - -.ui.card .meta > a:not(.ui), .ui.cards > .card .meta > a:not(.ui) { - color: rgba(0, 0, 0, .4) -} - -.ui.card .meta > a:not(.ui):hover, .ui.cards > .card .meta > a:not(.ui):hover { - color: rgba(0, 0, 0, .87) -} - -.ui.card > .button, .ui.card > .buttons, .ui.cards > .card > .button, .ui.cards > .card > .buttons { - margin: 0 -1px; - width: calc(100% + 2px) -} - -.ui.card .dimmer, .ui.cards > .card .dimmer { - background-color: ''; - z-index: 10 -} - -.ui.card > .content .star.icon, .ui.cards > .card > .content .star.icon { - cursor: pointer; - opacity: .75; - -webkit-transition: color .1s ease; - transition: color .1s ease -} - -.ui.card > .content .star.icon:hover, .ui.cards > .card > .content .star.icon:hover { - opacity: 1; - color: #ffb70a -} - -.ui.card > .content .active.star.icon, .ui.cards > .card > .content .active.star.icon { - color: #ffe623 -} - -.ui.card > .content .like.icon, .ui.cards > .card > .content .like.icon { - cursor: pointer; - opacity: .75; - -webkit-transition: color .1s ease; - transition: color .1s ease -} - -.ui.card > .content .like.icon:hover, .ui.cards > .card > .content .like.icon:hover { - opacity: 1; - color: #ff2733 -} - -.ui.card > .content .active.like.icon, .ui.cards > .card > .content .active.like.icon { - color: #ff2733 -} - -.ui.card > .extra, .ui.cards > .card > .extra { - max-width: 100%; - min-height: 0 !important; - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - border-top: 1px solid rgba(0, 0, 0, .05) !important; - position: static; - background: 0 0; - width: auto; - margin: 0 0; - padding: .75em 1em; - top: 0; - left: 0; - color: rgba(0, 0, 0, .4); - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transition: color .1s ease; - transition: color .1s ease -} - -.ui.card > .extra a:not(.ui), .ui.cards > .card > .extra a:not(.ui) { - color: rgba(0, 0, 0, .4) -} - -.ui.card > .extra a:not(.ui):hover, .ui.cards > .card > .extra a:not(.ui):hover { - color: #1e70bf -} - -.ui.raised.card, .ui.raised.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15); - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15) -} - -.ui.link.cards .raised.card:hover, .ui.link.raised.card:hover, .ui.raised.cards a.card:hover, a.ui.raised.card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 4px 0 rgba(34, 36, 38, .15), 0 2px 10px 0 rgba(34, 36, 38, .25); - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 4px 0 rgba(34, 36, 38, .15), 0 2px 10px 0 rgba(34, 36, 38, .25) -} - -.ui.raised.card, .ui.raised.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15); - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15) -} - -.ui.centered.cards { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center -} - -.ui.centered.card { - margin-left: auto; - margin-right: auto -} - -.ui.fluid.card { - width: 100%; - max-width: 9999px -} - -.ui.cards a.card, .ui.link.card, .ui.link.cards .card, a.ui.card { - -webkit-transform: none; - transform: none -} - -.ui.cards a.card:hover, .ui.link.card:hover, .ui.link.cards .card:hover, a.ui.card:hover { - cursor: pointer; - z-index: 5; - background: #fff; - border: none; - -webkit-box-shadow: 0 1px 3px 0 #bcbdbd, 0 0 0 1px #d4d4d5; - box-shadow: 0 1px 3px 0 #bcbdbd, 0 0 0 1px #d4d4d5; - -webkit-transform: translateY(-3px); - transform: translateY(-3px) -} - -.ui.cards > .red.card, .ui.red.card, .ui.red.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #db2828, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #db2828, 0 1px 3px 0 #d4d4d5 -} - -.ui.cards > .red.card:hover, .ui.red.card:hover, .ui.red.cards > .card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #d01919, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #d01919, 0 1px 3px 0 #bcbdbd -} - -.ui.cards > .orange.card, .ui.orange.card, .ui.orange.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #f2711c, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #f2711c, 0 1px 3px 0 #d4d4d5 -} - -.ui.cards > .orange.card:hover, .ui.orange.card:hover, .ui.orange.cards > .card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #f26202, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #f26202, 0 1px 3px 0 #bcbdbd -} - -.ui.cards > .yellow.card, .ui.yellow.card, .ui.yellow.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #fbbd08, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #fbbd08, 0 1px 3px 0 #d4d4d5 -} - -.ui.cards > .yellow.card:hover, .ui.yellow.card:hover, .ui.yellow.cards > .card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #eaae00, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #eaae00, 0 1px 3px 0 #bcbdbd -} - -.ui.cards > .olive.card, .ui.olive.card, .ui.olive.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #b5cc18, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #b5cc18, 0 1px 3px 0 #d4d4d5 -} - -.ui.cards > .olive.card:hover, .ui.olive.card:hover, .ui.olive.cards > .card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a7bd0d, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a7bd0d, 0 1px 3px 0 #bcbdbd -} - -.ui.cards > .green.card, .ui.green.card, .ui.green.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #21ba45, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #21ba45, 0 1px 3px 0 #d4d4d5 -} - -.ui.cards > .green.card:hover, .ui.green.card:hover, .ui.green.cards > .card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #16ab39, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #16ab39, 0 1px 3px 0 #bcbdbd -} - -.ui.cards > .teal.card, .ui.teal.card, .ui.teal.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #00b5ad, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #00b5ad, 0 1px 3px 0 #d4d4d5 -} - -.ui.cards > .teal.card:hover, .ui.teal.card:hover, .ui.teal.cards > .card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #009c95, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #009c95, 0 1px 3px 0 #bcbdbd -} - -.ui.blue.card, .ui.blue.cards > .card, .ui.cards > .blue.card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #2185d0, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #2185d0, 0 1px 3px 0 #d4d4d5 -} - -.ui.blue.card:hover, .ui.blue.cards > .card:hover, .ui.cards > .blue.card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #1678c2, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #1678c2, 0 1px 3px 0 #bcbdbd -} - -.ui.cards > .violet.card, .ui.violet.card, .ui.violet.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #6435c9, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #6435c9, 0 1px 3px 0 #d4d4d5 -} - -.ui.cards > .violet.card:hover, .ui.violet.card:hover, .ui.violet.cards > .card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #5829bb, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #5829bb, 0 1px 3px 0 #bcbdbd -} - -.ui.cards > .purple.card, .ui.purple.card, .ui.purple.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a333c8, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a333c8, 0 1px 3px 0 #d4d4d5 -} - -.ui.cards > .purple.card:hover, .ui.purple.card:hover, .ui.purple.cards > .card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #9627ba, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #9627ba, 0 1px 3px 0 #bcbdbd -} - -.ui.cards > .pink.card, .ui.pink.card, .ui.pink.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #e03997, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #e03997, 0 1px 3px 0 #d4d4d5 -} - -.ui.cards > .pink.card:hover, .ui.pink.card:hover, .ui.pink.cards > .card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #e61a8d, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #e61a8d, 0 1px 3px 0 #bcbdbd -} - -.ui.brown.card, .ui.brown.cards > .card, .ui.cards > .brown.card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a5673f, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a5673f, 0 1px 3px 0 #d4d4d5 -} - -.ui.brown.card:hover, .ui.brown.cards > .card:hover, .ui.cards > .brown.card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #975b33, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #975b33, 0 1px 3px 0 #bcbdbd -} - -.ui.cards > .grey.card, .ui.grey.card, .ui.grey.cards > .card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #767676, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #767676, 0 1px 3px 0 #d4d4d5 -} - -.ui.cards > .grey.card:hover, .ui.grey.card:hover, .ui.grey.cards > .card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #838383, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #838383, 0 1px 3px 0 #bcbdbd -} - -.ui.black.card, .ui.black.cards > .card, .ui.cards > .black.card { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #1b1c1d, 0 1px 3px 0 #d4d4d5; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #1b1c1d, 0 1px 3px 0 #d4d4d5 -} - -.ui.black.card:hover, .ui.black.cards > .card:hover, .ui.cards > .black.card:hover { - -webkit-box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #27292a, 0 1px 3px 0 #bcbdbd; - box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #27292a, 0 1px 3px 0 #bcbdbd -} - -.ui.one.cards { - margin-left: 0; - margin-right: 0 -} - -.ui.one.cards > .card { - width: 100% -} - -.ui.two.cards { - margin-left: -1em; - margin-right: -1em -} - -.ui.two.cards > .card { - width: calc(50% - 2em); - margin-left: 1em; - margin-right: 1em -} - -.ui.three.cards { - margin-left: -1em; - margin-right: -1em -} - -.ui.three.cards > .card { - width: calc(33.33333333% - 2em); - margin-left: 1em; - margin-right: 1em -} - -.ui.four.cards { - margin-left: -.75em; - margin-right: -.75em -} - -.ui.four.cards > .card { - width: calc(25% - 1.5em); - margin-left: .75em; - margin-right: .75em -} - -.ui.five.cards { - margin-left: -.75em; - margin-right: -.75em -} - -.ui.five.cards > .card { - width: calc(20% - 1.5em); - margin-left: .75em; - margin-right: .75em -} - -.ui.six.cards { - margin-left: -.75em; - margin-right: -.75em -} - -.ui.six.cards > .card { - width: calc(16.66666667% - 1.5em); - margin-left: .75em; - margin-right: .75em -} - -.ui.seven.cards { - margin-left: -.5em; - margin-right: -.5em -} - -.ui.seven.cards > .card { - width: calc(14.28571429% - 1em); - margin-left: .5em; - margin-right: .5em -} - -.ui.eight.cards { - margin-left: -.5em; - margin-right: -.5em -} - -.ui.eight.cards > .card { - width: calc(12.5% - 1em); - margin-left: .5em; - margin-right: .5em; - font-size: 11px -} - -.ui.nine.cards { - margin-left: -.5em; - margin-right: -.5em -} - -.ui.nine.cards > .card { - width: calc(11.11111111% - 1em); - margin-left: .5em; - margin-right: .5em; - font-size: 10px -} - -.ui.ten.cards { - margin-left: -.5em; - margin-right: -.5em -} - -.ui.ten.cards > .card { - width: calc(10% - 1em); - margin-left: .5em; - margin-right: .5em -} - -@media only screen and (max-width: 767px) { - .ui.two.doubling.cards { - margin-left: 0; - margin-right: 0 - } - - .ui.two.doubling.cards > .card { - width: 100%; - margin-left: 0; - margin-right: 0 - } - - .ui.three.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.three.doubling.cards > .card { - width: calc(50% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.four.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.four.doubling.cards > .card { - width: calc(50% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.five.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.five.doubling.cards > .card { - width: calc(50% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.six.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.six.doubling.cards > .card { - width: calc(50% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.seven.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.seven.doubling.cards > .card { - width: calc(33.33333333% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.eight.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.eight.doubling.cards > .card { - width: calc(33.33333333% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.nine.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.nine.doubling.cards > .card { - width: calc(33.33333333% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.ten.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.ten.doubling.cards > .card { - width: calc(33.33333333% - 2em); - margin-left: 1em; - margin-right: 1em - } -} - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .ui.two.doubling.cards { - margin-left: 0; - margin-right: 0 - } - - .ui.two.doubling.cards > .card { - width: 100%; - margin-left: 0; - margin-right: 0 - } - - .ui.three.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.three.doubling.cards > .card { - width: calc(50% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.four.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.four.doubling.cards > .card { - width: calc(50% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.five.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.five.doubling.cards > .card { - width: calc(33.33333333% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.six.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.six.doubling.cards > .card { - width: calc(33.33333333% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.eight.doubling.cards { - margin-left: -1em; - margin-right: -1em - } - - .ui.eight.doubling.cards > .card { - width: calc(33.33333333% - 2em); - margin-left: 1em; - margin-right: 1em - } - - .ui.eight.doubling.cards { - margin-left: -.75em; - margin-right: -.75em - } - - .ui.eight.doubling.cards > .card { - width: calc(25% - 1.5em); - margin-left: .75em; - margin-right: .75em - } - - .ui.nine.doubling.cards { - margin-left: -.75em; - margin-right: -.75em - } - - .ui.nine.doubling.cards > .card { - width: calc(25% - 1.5em); - margin-left: .75em; - margin-right: .75em - } - - .ui.ten.doubling.cards { - margin-left: -.75em; - margin-right: -.75em - } - - .ui.ten.doubling.cards > .card { - width: calc(20% - 1.5em); - margin-left: .75em; - margin-right: .75em - } -} - -@media only screen and (max-width: 767px) { - .ui.stackable.cards { - display: block !important - } - - .ui.stackable.cards .card:first-child { - margin-top: 0 !important - } - - .ui.stackable.cards > .card { - display: block !important; - height: auto !important; - margin: 1em 1em; - padding: 0 !important; - width: calc(100% - 2em) !important - } -} - -.ui.cards > .card { - font-size: 1em -} - -/*! - * # Semantic UI 2.4.0 - Comment - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.comments { - margin: 1.5em 0; - max-width: 650px -} - -.ui.comments:first-child { - margin-top: 0 -} - -.ui.comments:last-child { - margin-bottom: 0 -} - -.ui.comments .comment { - position: relative; - background: 0 0; - margin: .5em 0 0; - padding: .5em 0 0; - border: none; - border-top: none; - line-height: 1.2 -} - -.ui.comments .comment:first-child { - margin-top: 0; - padding-top: 0 -} - -.ui.comments .comment .comments { - margin: 0 0 .5em .5em; - padding: 1em 0 1em 1em -} - -.ui.comments .comment .comments:before { - position: absolute; - top: 0; - left: 0 -} - -.ui.comments .comment .comments .comment { - border: none; - border-top: none; - background: 0 0 -} - -.ui.comments .comment .avatar { - display: block; - width: 2.5em; - height: auto; - float: left; - margin: .2em 0 0 -} - -.ui.comments .comment .avatar img, .ui.comments .comment img.avatar { - display: block; - margin: 0 auto; - width: 100%; - height: 100%; - border-radius: .25rem -} - -.ui.comments .comment > .content { - display: block -} - -.ui.comments .comment > .avatar ~ .content { - margin-left: 3.5em -} - -.ui.comments .comment .author { - font-size: 1em; - color: rgba(0, 0, 0, .87); - font-weight: 700 -} - -.ui.comments .comment a.author { - cursor: pointer -} - -.ui.comments .comment a.author:hover { - color: #1e70bf -} - -.ui.comments .comment .metadata { - display: inline-block; - margin-left: .5em; - color: rgba(0, 0, 0, .4); - font-size: .875em -} - -.ui.comments .comment .metadata > * { - display: inline-block; - margin: 0 .5em 0 0 -} - -.ui.comments .comment .metadata > :last-child { - margin-right: 0 -} - -.ui.comments .comment .text { - margin: .25em 0 .5em; - font-size: 1em; - word-wrap: break-word; - color: rgba(0, 0, 0, .87); - line-height: 1.3 -} - -.ui.comments .comment .actions { - font-size: .875em -} - -.ui.comments .comment .actions a { - cursor: pointer; - display: inline-block; - margin: 0 .75em 0 0; - color: rgba(0, 0, 0, .4) -} - -.ui.comments .comment .actions a:last-child { - margin-right: 0 -} - -.ui.comments .comment .actions a.active, .ui.comments .comment .actions a:hover { - color: rgba(0, 0, 0, .8) -} - -.ui.comments > .reply.form { - margin-top: 1em -} - -.ui.comments .comment .reply.form { - width: 100%; - margin-top: 1em -} - -.ui.comments .reply.form textarea { - font-size: 1em; - height: 12em -} - -.ui.collapsed.comments, .ui.comments .collapsed.comment, .ui.comments .collapsed.comments { - display: none -} - -.ui.threaded.comments .comment .comments { - margin: -1.5em 0 -1em 1.25em; - padding: 3em 0 2em 2.25em; - -webkit-box-shadow: -1px 0 0 rgba(34, 36, 38, .15); - box-shadow: -1px 0 0 rgba(34, 36, 38, .15) -} - -.ui.minimal.comments .comment .actions { - opacity: 0; - position: absolute; - top: 0; - right: 0; - left: auto; - -webkit-transition: opacity .2s ease; - transition: opacity .2s ease; - -webkit-transition-delay: .1s; - transition-delay: .1s -} - -.ui.minimal.comments .comment > .content:hover > .actions { - opacity: 1 -} - -.ui.mini.comments { - font-size: .78571429rem -} - -.ui.tiny.comments { - font-size: .85714286rem -} - -.ui.small.comments { - font-size: .92857143rem -} - -.ui.comments { - font-size: 1rem -} - -.ui.large.comments { - font-size: 1.14285714rem -} - -.ui.big.comments { - font-size: 1.28571429rem -} - -.ui.huge.comments { - font-size: 1.42857143rem -} - -.ui.massive.comments { - font-size: 1.71428571rem -} - -/*! - * # Semantic UI 2.4.0 - Feed - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.feed { - margin: 1em 0 -} - -.ui.feed:first-child { - margin-top: 0 -} - -.ui.feed:last-child { - margin-bottom: 0 -} - -.ui.feed > .event { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - width: 100%; - padding: .21428571rem 0; - margin: 0; - background: 0 0; - border-top: none -} - -.ui.feed > .event:first-child { - border-top: 0; - padding-top: 0 -} - -.ui.feed > .event:last-child { - padding-bottom: 0 -} - -.ui.feed > .event > .label { - display: block; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: 2.5em; - height: auto; - -ms-flex-item-align: stretch; - align-self: stretch; - text-align: left -} - -.ui.feed > .event > .label .icon { - opacity: 1; - font-size: 1.5em; - width: 100%; - padding: .25em; - background: 0 0; - border: none; - border-radius: none; - color: rgba(0, 0, 0, .6) -} - -.ui.feed > .event > .label img { - width: 100%; - height: auto; - border-radius: 500rem -} - -.ui.feed > .event > .label + .content { - margin: .5em 0 .35714286em 1.14285714em -} - -.ui.feed > .event > .content { - display: block; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - -ms-flex-item-align: stretch; - align-self: stretch; - text-align: left; - word-wrap: break-word -} - -.ui.feed > .event:last-child > .content { - padding-bottom: 0 -} - -.ui.feed > .event > .content a { - cursor: pointer -} - -.ui.feed > .event > .content .date { - margin: -.5rem 0 0; - padding: 0; - font-weight: 400; - font-size: 1em; - font-style: normal; - color: rgba(0, 0, 0, .4) -} - -.ui.feed > .event > .content .summary { - margin: 0; - font-size: 1em; - font-weight: 700; - color: rgba(0, 0, 0, .87) -} - -.ui.feed > .event > .content .summary img { - display: inline-block; - width: auto; - height: 10em; - margin: -.25em .25em 0 0; - border-radius: .25em; - vertical-align: middle -} - -.ui.feed > .event > .content .user { - display: inline-block; - font-weight: 700; - margin-right: 0; - vertical-align: baseline -} - -.ui.feed > .event > .content .user img { - margin: -.25em .25em 0 0; - width: auto; - height: 10em; - vertical-align: middle -} - -.ui.feed > .event > .content .summary > .date { - display: inline-block; - float: none; - font-weight: 400; - font-size: .85714286em; - font-style: normal; - margin: 0 0 0 .5em; - padding: 0; - color: rgba(0, 0, 0, .4) -} - -.ui.feed > .event > .content .extra { - margin: .5em 0 0; - background: 0 0; - padding: 0; - color: rgba(0, 0, 0, .87) -} - -.ui.feed > .event > .content .extra.images img { - display: inline-block; - margin: 0 .25em 0 0; - width: 6em -} - -.ui.feed > .event > .content .extra.text { - padding: 0; - border-left: none; - font-size: 1em; - max-width: 500px; - line-height: 1.4285em -} - -.ui.feed > .event > .content .meta { - display: inline-block; - font-size: .85714286em; - margin: .5em 0 0; - background: 0 0; - border: none; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; - padding: 0; - color: rgba(0, 0, 0, .6) -} - -.ui.feed > .event > .content .meta > * { - position: relative; - margin-left: .75em -} - -.ui.feed > .event > .content .meta > :after { - content: ''; - color: rgba(0, 0, 0, .2); - top: 0; - left: -1em; - opacity: 1; - position: absolute; - vertical-align: top -} - -.ui.feed > .event > .content .meta .like { - color: ''; - -webkit-transition: .2s color ease; - transition: .2s color ease -} - -.ui.feed > .event > .content .meta .like:hover .icon { - color: #ff2733 -} - -.ui.feed > .event > .content .meta .active.like .icon { - color: #ef404a -} - -.ui.feed > .event > .content .meta > :first-child { - margin-left: 0 -} - -.ui.feed > .event > .content .meta > :first-child::after { - display: none -} - -.ui.feed > .event > .content .meta a, .ui.feed > .event > .content .meta > .icon { - cursor: pointer; - opacity: 1; - color: rgba(0, 0, 0, .5); - -webkit-transition: color .1s ease; - transition: color .1s ease -} - -.ui.feed > .event > .content .meta a:hover, .ui.feed > .event > .content .meta a:hover .icon, .ui.feed > .event > .content .meta > .icon:hover { - color: rgba(0, 0, 0, .95) -} - -.ui.small.feed { - font-size: .92857143rem -} - -.ui.feed { - font-size: 1rem -} - -.ui.large.feed { - font-size: 1.14285714rem -} - -/*! - * # Semantic UI 2.4.0 - Item - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.items > .item { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin: 1em 0; - width: 100%; - min-height: 0; - background: 0 0; - padding: 0; - border: none; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transition: -webkit-box-shadow .1s ease; - transition: -webkit-box-shadow .1s ease; - transition: box-shadow .1s ease; - transition: box-shadow .1s ease, -webkit-box-shadow .1s ease; - z-index: '' -} - -.ui.items > .item a { - cursor: pointer -} - -.ui.items { - margin: 1.5em 0 -} - -.ui.items:first-child { - margin-top: 0 !important -} - -.ui.items:last-child { - margin-bottom: 0 !important -} - -.ui.items > .item:after { - display: block; - content: ' '; - height: 0; - clear: both; - overflow: hidden; - visibility: hidden -} - -.ui.items > .item:first-child { - margin-top: 0 -} - -.ui.items > .item:last-child { - margin-bottom: 0 -} - -.ui.items > .item > .image { - position: relative; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - display: block; - float: none; - margin: 0; - padding: 0; - max-height: ''; - -ms-flex-item-align: top; - align-self: top -} - -.ui.items > .item > .image > img { - display: block; - width: 100%; - height: auto; - border-radius: .125rem; - border: none -} - -.ui.items > .item > .image:only-child > img { - border-radius: 0 -} - -.ui.items > .item > .content { - display: block; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - background: 0 0; - margin: 0; - padding: 0; - -webkit-box-shadow: none; - box-shadow: none; - font-size: 1em; - border: none; - border-radius: 0 -} - -.ui.items > .item > .content:after { - display: block; - content: ' '; - height: 0; - clear: both; - overflow: hidden; - visibility: hidden -} - -.ui.items > .item > .image + .content { - min-width: 0; - width: auto; - display: block; - margin-left: 0; - -ms-flex-item-align: top; - align-self: top; - padding-left: 1.5em -} - -.ui.items > .item > .content > .header { - display: inline-block; - margin: -.21425em 0 0; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-weight: 700; - color: rgba(0, 0, 0, .85) -} - -.ui.items > .item > .content > .header:not(.ui) { - font-size: 1.28571429em -} - -.ui.items > .item [class*="left floated"] { - float: left -} - -.ui.items > .item [class*="right floated"] { - float: right -} - -.ui.items > .item .content img { - -ms-flex-item-align: middle; - align-self: middle; - width: '' -} - -.ui.items > .item .avatar img, .ui.items > .item img.avatar { - width: ''; - height: ''; - border-radius: 500rem -} - -.ui.items > .item > .content > .description { - margin-top: .6em; - max-width: auto; - font-size: 1em; - line-height: 1.4285em; - color: rgba(0, 0, 0, .87) -} - -.ui.items > .item > .content p { - margin: 0 0 .5em -} - -.ui.items > .item > .content p:last-child { - margin-bottom: 0 -} - -.ui.items > .item .meta { - margin: .5em 0 .5em; - font-size: 1em; - line-height: 1em; - color: rgba(0, 0, 0, .6) -} - -.ui.items > .item .meta * { - margin-right: .3em -} - -.ui.items > .item .meta :last-child { - margin-right: 0 -} - -.ui.items > .item .meta [class*="right floated"] { - margin-right: 0; - margin-left: .3em -} - -.ui.items > .item > .content a:not(.ui) { - color: ''; - -webkit-transition: color .1s ease; - transition: color .1s ease -} - -.ui.items > .item > .content a:not(.ui):hover { - color: '' -} - -.ui.items > .item > .content > a.header { - color: rgba(0, 0, 0, .85) -} - -.ui.items > .item > .content > a.header:hover { - color: #1e70bf -} - -.ui.items > .item .meta > a:not(.ui) { - color: rgba(0, 0, 0, .4) -} - -.ui.items > .item .meta > a:not(.ui):hover { - color: rgba(0, 0, 0, .87) -} - -.ui.items > .item > .content .favorite.icon { - cursor: pointer; - opacity: .75; - -webkit-transition: color .1s ease; - transition: color .1s ease -} - -.ui.items > .item > .content .favorite.icon:hover { - opacity: 1; - color: #ffb70a -} - -.ui.items > .item > .content .active.favorite.icon { - color: #ffe623 -} - -.ui.items > .item > .content .like.icon { - cursor: pointer; - opacity: .75; - -webkit-transition: color .1s ease; - transition: color .1s ease -} - -.ui.items > .item > .content .like.icon:hover { - opacity: 1; - color: #ff2733 -} - -.ui.items > .item > .content .active.like.icon { - color: #ff2733 -} - -.ui.items > .item .extra { - display: block; - position: relative; - background: 0 0; - margin: .5rem 0 0; - width: 100%; - padding: 0 0 0; - top: 0; - left: 0; - color: rgba(0, 0, 0, .4); - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transition: color .1s ease; - transition: color .1s ease; - border-top: none -} - -.ui.items > .item .extra > * { - margin: .25rem .5rem .25rem 0 -} - -.ui.items > .item .extra > [class*="right floated"] { - margin: .25rem 0 .25rem .5rem -} - -.ui.items > .item .extra:after { - display: block; - content: ' '; - height: 0; - clear: both; - overflow: hidden; - visibility: hidden -} - -.ui.items > .item > .image:not(.ui) { - width: 175px -} - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .ui.items > .item { - margin: 1em 0 - } - - .ui.items > .item > .image:not(.ui) { - width: 150px - } - - .ui.items > .item > .image + .content { - display: block; - padding: 0 0 0 1em - } -} - -@media only screen and (max-width: 767px) { - .ui.items:not(.unstackable) > .item { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - margin: 2em 0 - } - - .ui.items:not(.unstackable) > .item > .image { - display: block; - margin-left: auto; - margin-right: auto - } - - .ui.items:not(.unstackable) > .item > .image, .ui.items:not(.unstackable) > .item > .image > img { - max-width: 100% !important; - width: auto !important; - max-height: 250px !important - } - - .ui.items:not(.unstackable) > .item > .image + .content { - display: block; - padding: 1.5em 0 0 - } -} - -.ui.items > .item > .image + [class*="top aligned"].content { - -ms-flex-item-align: start; - align-self: flex-start -} - -.ui.items > .item > .image + [class*="middle aligned"].content { - -ms-flex-item-align: center; - align-self: center -} - -.ui.items > .item > .image + [class*="bottom aligned"].content { - -ms-flex-item-align: end; - align-self: flex-end -} - -.ui.relaxed.items > .item { - margin: 1.5em 0 -} - -.ui[class*="very relaxed"].items > .item { - margin: 2em 0 -} - -.ui.divided.items > .item { - border-top: 1px solid rgba(34, 36, 38, .15); - margin: 0; - padding: 1em 0 -} - -.ui.divided.items > .item:first-child { - border-top: none; - margin-top: 0 !important; - padding-top: 0 !important -} - -.ui.divided.items > .item:last-child { - margin-bottom: 0 !important; - padding-bottom: 0 !important -} - -.ui.relaxed.divided.items > .item { - margin: 0; - padding: 1.5em 0 -} - -.ui[class*="very relaxed"].divided.items > .item { - margin: 0; - padding: 2em 0 -} - -.ui.items a.item:hover, .ui.link.items > .item:hover { - cursor: pointer -} - -.ui.items a.item:hover .content .header, .ui.link.items > .item:hover .content .header { - color: #1e70bf -} - -.ui.items > .item { - font-size: 1em -} - -@media only screen and (max-width: 767px) { - .ui.unstackable.items > .item > .image, .ui.unstackable.items > .item > .image > img { - width: 125px !important - } -} - -/*! - * # Semantic UI 2.4.0 - Statistic - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.statistic { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - margin: 1em 0; - max-width: auto -} - -.ui.statistic + .ui.statistic { - margin: 0 0 0 1.5em -} - -.ui.statistic:first-child { - margin-top: 0 -} - -.ui.statistic:last-child { - margin-bottom: 0 -} - -.ui.statistics { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - -ms-flex-wrap: wrap; - flex-wrap: wrap -} - -.ui.statistics > .statistic { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - margin: 0 1.5em 1em; - max-width: auto -} - -.ui.statistics { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin: 1em -1.5em -1em -} - -.ui.statistics:after { - display: block; - content: ' '; - height: 0; - clear: both; - overflow: hidden; - visibility: hidden -} - -.ui.statistics:first-child { - margin-top: 0 -} - -.ui.statistic > .value, .ui.statistics .statistic > .value { - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 4rem; - font-weight: 400; - line-height: 1em; - color: #1b1c1d; - text-transform: uppercase; - text-align: center -} - -.ui.statistic > .label, .ui.statistics .statistic > .label { - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1em; - font-weight: 700; - color: rgba(0, 0, 0, .87); - text-transform: uppercase; - text-align: center -} - -.ui.statistic > .label ~ .value, .ui.statistics .statistic > .label ~ .value { - margin-top: 0 -} - -.ui.statistic > .value ~ .label, .ui.statistics .statistic > .value ~ .label { - margin-top: 15px; - margin-bottom: 15px -} - -.ui.statistic > .value .icon, .ui.statistics .statistic > .value .icon { - opacity: 1; - width: auto; - margin: 0 -} - -.ui.statistic > .text.value, .ui.statistics .statistic > .text.value { - line-height: 1em; - min-height: 2em; - font-weight: 700; - text-align: center -} - -.ui.statistic > .text.value + .label, .ui.statistics .statistic > .text.value + .label { - text-align: center -} - -.ui.statistic > .value img, .ui.statistics .statistic > .value img { - max-height: 3rem; - vertical-align: baseline -} - -.ui.ten.statistics { - margin: 0 0 -1em -} - -.ui.ten.statistics .statistic { - min-width: 10%; - margin: 0 0 1em -} - -.ui.nine.statistics { - margin: 0 0 -1em -} - -.ui.nine.statistics .statistic { - min-width: 11.11111111%; - margin: 0 0 1em -} - -.ui.eight.statistics { - margin: 0 0 -1em -} - -.ui.eight.statistics .statistic { - min-width: 12.5%; - margin: 0 0 1em -} - -.ui.seven.statistics { - margin: 0 0 -1em -} - -.ui.seven.statistics .statistic { - min-width: 14.28571429%; - margin: 0 0 1em -} - -.ui.six.statistics { - margin: 0 0 -1em -} - -.ui.six.statistics .statistic { - min-width: 16.66666667%; - margin: 0 0 1em -} - -.ui.five.statistics { - margin: 0 0 -1em -} - -.ui.five.statistics .statistic { - min-width: 20%; - margin: 0 0 1em -} - -.ui.four.statistics { - margin: 0 0 -1em -} - -.ui.four.statistics .statistic { - min-width: 25%; - margin: 0 0 1em -} - -.ui.three.statistics { - margin: 0 0 -1em -} - -.ui.three.statistics .statistic { - min-width: 33.33333333%; - margin: 0 0 1em -} - -.ui.two.statistics { - margin: 0 0 -1em -} - -.ui.two.statistics .statistic { - min-width: 50%; - margin: 0 0 1em -} - -.ui.one.statistics { - margin: 0 0 -1em -} - -.ui.one.statistics .statistic { - min-width: 100%; - margin: 0 0 1em -} - -.ui.horizontal.statistic { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center -} - -.ui.horizontal.statistics { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - margin: 0; - max-width: none -} - -.ui.horizontal.statistics .statistic { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - max-width: none; - margin: 1em 0 -} - -.ui.horizontal.statistic > .text.value, .ui.horizontal.statistics > .statistic > .text.value { - min-height: 0 !important -} - -.ui.horizontal.statistic > .value .icon, .ui.horizontal.statistics .statistic > .value .icon { - width: 1.18em -} - -.ui.horizontal.statistic > .value, .ui.horizontal.statistics .statistic > .value { - display: inline-block; - vertical-align: middle -} - -.ui.horizontal.statistic > .label, .ui.horizontal.statistics .statistic > .label { - display: inline-block; - vertical-align: middle; - margin: 0 0 0 .75em -} - -.ui.red.statistic > .value, .ui.red.statistics .statistic > .value, .ui.statistics .red.statistic > .value { - color: #db2828 -} - -.ui.orange.statistic > .value, .ui.orange.statistics .statistic > .value, .ui.statistics .orange.statistic > .value { - color: #f2711c -} - -.ui.statistics .yellow.statistic > .value, .ui.yellow.statistic > .value, .ui.yellow.statistics .statistic > .value { - color: #fbbd08 -} - -.ui.olive.statistic > .value, .ui.olive.statistics .statistic > .value, .ui.statistics .olive.statistic > .value { - color: #b5cc18 -} - -.ui.green.statistic > .value, .ui.green.statistics .statistic > .value, .ui.statistics .green.statistic > .value { - color: #21ba45 -} - -.ui.statistics .teal.statistic > .value, .ui.teal.statistic > .value, .ui.teal.statistics .statistic > .value { - color: #00b5ad -} - -.ui.blue.statistic > .value, .ui.blue.statistics .statistic > .value, .ui.statistics .blue.statistic > .value { - color: #2185d0 -} - -.ui.statistics .violet.statistic > .value, .ui.violet.statistic > .value, .ui.violet.statistics .statistic > .value { - color: #6435c9 -} - -.ui.purple.statistic > .value, .ui.purple.statistics .statistic > .value, .ui.statistics .purple.statistic > .value { - color: #a333c8 -} - -.ui.pink.statistic > .value, .ui.pink.statistics .statistic > .value, .ui.statistics .pink.statistic > .value { - color: #e03997 -} - -.ui.brown.statistic > .value, .ui.brown.statistics .statistic > .value, .ui.statistics .brown.statistic > .value { - color: #a5673f -} - -.ui.grey.statistic > .value, .ui.grey.statistics .statistic > .value, .ui.statistics .grey.statistic > .value { - color: #767676 -} - -.ui.inverted.statistic .value, .ui.inverted.statistics .statistic > .value { - color: #fff -} - -.ui.inverted.statistic .label, .ui.inverted.statistics .statistic > .label { - color: rgba(255, 255, 255, .9) -} - -.ui.inverted.red.statistic > .value, .ui.inverted.red.statistics .statistic > .value, .ui.statistics .inverted.red.statistic > .value { - color: #ff695e -} - -.ui.inverted.orange.statistic > .value, .ui.inverted.orange.statistics .statistic > .value, .ui.statistics .inverted.orange.statistic > .value { - color: #ff851b -} - -.ui.inverted.yellow.statistic > .value, .ui.inverted.yellow.statistics .statistic > .value, .ui.statistics .inverted.yellow.statistic > .value { - color: #ffe21f -} - -.ui.inverted.olive.statistic > .value, .ui.inverted.olive.statistics .statistic > .value, .ui.statistics .inverted.olive.statistic > .value { - color: #d9e778 -} - -.ui.inverted.green.statistic > .value, .ui.inverted.green.statistics .statistic > .value, .ui.statistics .inverted.green.statistic > .value { - color: #2ecc40 -} - -.ui.inverted.teal.statistic > .value, .ui.inverted.teal.statistics .statistic > .value, .ui.statistics .inverted.teal.statistic > .value { - color: #6dffff -} - -.ui.inverted.blue.statistic > .value, .ui.inverted.blue.statistics .statistic > .value, .ui.statistics .inverted.blue.statistic > .value { - color: #54c8ff -} - -.ui.inverted.violet.statistic > .value, .ui.inverted.violet.statistics .statistic > .value, .ui.statistics .inverted.violet.statistic > .value { - color: #a291fb -} - -.ui.inverted.purple.statistic > .value, .ui.inverted.purple.statistics .statistic > .value, .ui.statistics .inverted.purple.statistic > .value { - color: #dc73ff -} - -.ui.inverted.pink.statistic > .value, .ui.inverted.pink.statistics .statistic > .value, .ui.statistics .inverted.pink.statistic > .value { - color: #ff8edf -} - -.ui.inverted.brown.statistic > .value, .ui.inverted.brown.statistics .statistic > .value, .ui.statistics .inverted.brown.statistic > .value { - color: #d67c1c -} - -.ui.inverted.grey.statistic > .value, .ui.inverted.grey.statistics .statistic > .value, .ui.statistics .inverted.grey.statistic > .value { - color: #dcddde -} - -.ui[class*="left floated"].statistic { - float: left; - margin: 0 2em 1em 0 -} - -.ui[class*="right floated"].statistic { - float: right; - margin: 0 0 1em 2em -} - -.ui.floated.statistic:last-child { - margin-bottom: 0 -} - -.ui.mini.statistic > .value, .ui.mini.statistics .statistic > .value { - font-size: 1.5rem !important -} - -.ui.mini.horizontal.statistic > .value, .ui.mini.horizontal.statistics .statistic > .value { - font-size: 1.5rem !important -} - -.ui.mini.statistic > .text.value, .ui.mini.statistics .statistic > .text.value { - font-size: 1rem !important -} - -.ui.tiny.statistic > .value, .ui.tiny.statistics .statistic > .value { - font-size: 2rem !important -} - -.ui.tiny.horizontal.statistic > .value, .ui.tiny.horizontal.statistics .statistic > .value { - font-size: 2rem !important -} - -.ui.tiny.statistic > .text.value, .ui.tiny.statistics .statistic > .text.value { - font-size: 1rem !important -} - -.ui.small.statistic > .value, .ui.small.statistics .statistic > .value { - font-size: 3rem !important -} - -.ui.small.horizontal.statistic > .value, .ui.small.horizontal.statistics .statistic > .value { - font-size: 2rem !important -} - -.ui.small.statistic > .text.value, .ui.small.statistics .statistic > .text.value { - font-size: 1rem !important -} - -.ui.statistic > .value, .ui.statistics .statistic > .value { - font-size: 4rem !important -} - -.ui.horizontal.statistic > .value, .ui.horizontal.statistics .statistic > .value { - font-size: 3rem !important -} - -.ui.statistic > .text.value, .ui.statistics .statistic > .text.value { - font-size: 2rem !important -} - -.ui.large.statistic > .value, .ui.large.statistics .statistic > .value { - font-size: 5rem !important -} - -.ui.large.horizontal.statistic > .value, .ui.large.horizontal.statistics .statistic > .value { - font-size: 4rem !important -} - -.ui.large.statistic > .text.value, .ui.large.statistics .statistic > .text.value { - font-size: 2.5rem !important -} - -.ui.huge.statistic > .value, .ui.huge.statistics .statistic > .value { - font-size: 6rem !important -} - -.ui.huge.horizontal.statistic > .value, .ui.huge.horizontal.statistics .statistic > .value { - font-size: 5rem !important -} - -.ui.huge.statistic > .text.value, .ui.huge.statistics .statistic > .text.value { - font-size: 2.5rem !important -} - -/*! - * # Semantic UI 2.4.0 - Accordion - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.accordion, .ui.accordion .accordion { - max-width: 100% -} - -.ui.accordion .accordion { - margin: 1em 0 0; - padding: 0 -} - -.ui.accordion .accordion .title, .ui.accordion .title { - cursor: pointer -} - -.ui.accordion .title:not(.ui) { - padding: .5em 0; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1em; - color: rgba(0, 0, 0, .87) -} - -.ui.accordion .accordion .title ~ .content, .ui.accordion .title ~ .content { - display: none -} - -.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui), .ui.accordion:not(.styled) .title ~ .content:not(.ui) { - margin: ''; - padding: .5em 0 1em -} - -.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child { - padding-bottom: 0 -} - -.ui.accordion .accordion .title .dropdown.icon, .ui.accordion .title .dropdown.icon { - display: inline-block; - float: none; - opacity: 1; - width: 1.25em; - height: 1em; - margin: 0 .25rem 0 0; - padding: 0; - font-size: 1em; - -webkit-transition: opacity .1s ease, -webkit-transform .1s ease; - transition: opacity .1s ease, -webkit-transform .1s ease; - transition: transform .1s ease, opacity .1s ease; - transition: transform .1s ease, opacity .1s ease, -webkit-transform .1s ease; - vertical-align: baseline; - -webkit-transform: none; - transform: none -} - -.ui.accordion.menu .item .title { - display: block; - padding: 0 -} - -.ui.accordion.menu .item .title > .dropdown.icon { - float: right; - margin: .21425em 0 0 1em; - -webkit-transform: rotate(180deg); - transform: rotate(180deg) -} - -.ui.accordion .ui.header .dropdown.icon { - font-size: 1em; - margin: 0 .25rem 0 0 -} - -.ui.accordion .accordion .active.title .dropdown.icon, .ui.accordion .active.title .dropdown.icon { - -webkit-transform: rotate(90deg); - transform: rotate(90deg) -} - -.ui.accordion.menu .item .active.title > .dropdown.icon { - -webkit-transform: rotate(90deg); - transform: rotate(90deg) -} - -.ui.styled.accordion { - width: 600px -} - -.ui.styled.accordion, .ui.styled.accordion .accordion { - border-radius: .28571429rem; - background: #fff; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15); - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15) -} - -.ui.styled.accordion .accordion .title, .ui.styled.accordion .title { - margin: 0; - padding: .75em 1em; - color: rgba(0, 0, 0, .4); - font-weight: 700; - border-top: 1px solid rgba(34, 36, 38, .15); - -webkit-transition: background .1s ease, color .1s ease; - transition: background .1s ease, color .1s ease -} - -.ui.styled.accordion .accordion .title:first-child, .ui.styled.accordion > .title:first-child { - border-top: none -} - -.ui.styled.accordion .accordion .content, .ui.styled.accordion .content { - margin: 0; - padding: .5em 1em 1.5em -} - -.ui.styled.accordion .accordion .content { - padding: 0; - padding: .5em 1em 1.5em -} - -.ui.styled.accordion .accordion .active.title, .ui.styled.accordion .accordion .title:hover, .ui.styled.accordion .active.title, .ui.styled.accordion .title:hover { - background: 0 0; - color: rgba(0, 0, 0, .87) -} - -.ui.styled.accordion .accordion .active.title, .ui.styled.accordion .accordion .title:hover { - background: 0 0; - color: rgba(0, 0, 0, .87) -} - -.ui.styled.accordion .active.title { - background: 0 0; - color: rgba(0, 0, 0, .95) -} - -.ui.styled.accordion .accordion .active.title { - background: 0 0; - color: rgba(0, 0, 0, .95) -} - -.ui.accordion .accordion .active.content, .ui.accordion .active.content { - display: block -} - -.ui.fluid.accordion, .ui.fluid.accordion .accordion { - width: 100% -} - -.ui.inverted.accordion .title:not(.ui) { - color: rgba(255, 255, 255, .9) -} - -@font-face { - font-family: Accordion; - src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff'); - font-weight: 400; - font-style: normal -} - -.ui.accordion .accordion .title .dropdown.icon, .ui.accordion .title .dropdown.icon { - font-family: Accordion; - line-height: 1; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - font-weight: 400; - font-style: normal; - text-align: center -} - -.ui.accordion .accordion .title .dropdown.icon:before, .ui.accordion .title .dropdown.icon:before { - content: '\f0da' -} - -/*! - * # Semantic UI 2.4.0 - Checkbox - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.checkbox { - position: relative; - display: inline-block; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - outline: 0; - vertical-align: baseline; - font-style: normal; - min-height: 17px; - font-size: 1rem; - line-height: 17px; - min-width: 17px -} - -.ui.checkbox input[type=checkbox], .ui.checkbox input[type=radio] { - cursor: pointer; - position: absolute; - top: 0; - left: 0; - opacity: 0 !important; - outline: 0; - z-index: 3; - width: 17px; - height: 17px -} - -.ui.checkbox .box, .ui.checkbox label { - cursor: auto; - position: relative; - display: block; - padding-left: 1.85714em; - outline: 0; - font-size: 1em -} - -.ui.checkbox .box:before, .ui.checkbox label:before { - position: absolute; - top: 0; - left: 0; - width: 17px; - height: 17px; - content: ''; - background: #fff; - border-radius: .21428571rem; - -webkit-transition: border .1s ease, opacity .1s ease, -webkit-transform .1s ease, -webkit-box-shadow .1s ease; - transition: border .1s ease, opacity .1s ease, -webkit-transform .1s ease, -webkit-box-shadow .1s ease; - transition: border .1s ease, opacity .1s ease, transform .1s ease, box-shadow .1s ease; - transition: border .1s ease, opacity .1s ease, transform .1s ease, box-shadow .1s ease, -webkit-transform .1s ease, -webkit-box-shadow .1s ease; - border: 1px solid #d4d4d5 -} - -.ui.checkbox .box:after, .ui.checkbox label:after { - position: absolute; - font-size: 14px; - top: 0; - left: 0; - width: 17px; - height: 17px; - text-align: center; - opacity: 0; - color: rgba(0, 0, 0, .87); - -webkit-transition: border .1s ease, opacity .1s ease, -webkit-transform .1s ease, -webkit-box-shadow .1s ease; - transition: border .1s ease, opacity .1s ease, -webkit-transform .1s ease, -webkit-box-shadow .1s ease; - transition: border .1s ease, opacity .1s ease, transform .1s ease, box-shadow .1s ease; - transition: border .1s ease, opacity .1s ease, transform .1s ease, box-shadow .1s ease, -webkit-transform .1s ease, -webkit-box-shadow .1s ease -} - -.ui.checkbox label, .ui.checkbox + label { - color: rgba(0, 0, 0, .87); - -webkit-transition: color .1s ease; - transition: color .1s ease -} - -.ui.checkbox + label { - vertical-align: middle -} - -.ui.checkbox .box:hover::before, .ui.checkbox label:hover::before { - background: #fff; - border-color: rgba(34, 36, 38, .35) -} - -.ui.checkbox label:hover, .ui.checkbox + label:hover { - color: rgba(0, 0, 0, .8) -} - -.ui.checkbox .box:active::before, .ui.checkbox label:active::before { - background: #f9fafb; - border-color: rgba(34, 36, 38, .35) -} - -.ui.checkbox .box:active::after, .ui.checkbox label:active::after { - color: rgba(0, 0, 0, .95) -} - -.ui.checkbox input:active ~ label { - color: rgba(0, 0, 0, .95) -} - -.ui.checkbox input:focus ~ .box:before, .ui.checkbox input:focus ~ label:before { - background: #fff; - border-color: #96c8da -} - -.ui.checkbox input:focus ~ .box:after, .ui.checkbox input:focus ~ label:after { - color: rgba(0, 0, 0, .95) -} - -.ui.checkbox input:focus ~ label { - color: rgba(0, 0, 0, .95) -} - -.ui.checkbox input:checked ~ .box:before, .ui.checkbox input:checked ~ label:before { - background: #fff; - border-color: rgba(34, 36, 38, .35) -} - -.ui.checkbox input:checked ~ .box:after, .ui.checkbox input:checked ~ label:after { - opacity: 1; - color: rgba(0, 0, 0, .95) -} - -.ui.checkbox input:not([type=radio]):indeterminate ~ .box:before, .ui.checkbox input:not([type=radio]):indeterminate ~ label:before { - background: #fff; - border-color: rgba(34, 36, 38, .35) -} - -.ui.checkbox input:not([type=radio]):indeterminate ~ .box:after, .ui.checkbox input:not([type=radio]):indeterminate ~ label:after { - opacity: 1; - color: rgba(0, 0, 0, .95) -} - -.ui.checkbox input:checked:focus ~ .box:before, .ui.checkbox input:checked:focus ~ label:before, .ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:before, .ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:before { - background: #fff; - border-color: #96c8da -} - -.ui.checkbox input:checked:focus ~ .box:after, .ui.checkbox input:checked:focus ~ label:after, .ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:after, .ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:after { - color: rgba(0, 0, 0, .95) -} - -.ui.read-only.checkbox, .ui.read-only.checkbox label { - cursor: default -} - -.ui.checkbox input[disabled] ~ .box:after, .ui.checkbox input[disabled] ~ label, .ui.disabled.checkbox .box:after, .ui.disabled.checkbox label { - cursor: default !important; - opacity: .5; - color: #000 -} - -.ui.checkbox input.hidden { - z-index: -1 -} - -.ui.checkbox input.hidden + label { - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none -} - -.ui.radio.checkbox { - min-height: 15px -} - -.ui.radio.checkbox .box, .ui.radio.checkbox label { - padding-left: 1.85714em -} - -.ui.radio.checkbox .box:before, .ui.radio.checkbox label:before { - content: ''; - -webkit-transform: none; - transform: none; - width: 15px; - height: 15px; - border-radius: 500rem; - top: 1px; - left: 0 -} - -.ui.radio.checkbox .box:after, .ui.radio.checkbox label:after { - border: none; - content: '' !important; - width: 15px; - height: 15px; - line-height: 15px -} - -.ui.radio.checkbox .box:after, .ui.radio.checkbox label:after { - top: 1px; - left: 0; - width: 15px; - height: 15px; - border-radius: 500rem; - -webkit-transform: scale(.46666667); - transform: scale(.46666667); - background-color: rgba(0, 0, 0, .87) -} - -.ui.radio.checkbox input:focus ~ .box:before, .ui.radio.checkbox input:focus ~ label:before { - background-color: #fff -} - -.ui.radio.checkbox input:focus ~ .box:after, .ui.radio.checkbox input:focus ~ label:after { - background-color: rgba(0, 0, 0, .95) -} - -.ui.radio.checkbox input:indeterminate ~ .box:after, .ui.radio.checkbox input:indeterminate ~ label:after { - opacity: 0 -} - -.ui.radio.checkbox input:checked ~ .box:before, .ui.radio.checkbox input:checked ~ label:before { - background-color: #fff -} - -.ui.radio.checkbox input:checked ~ .box:after, .ui.radio.checkbox input:checked ~ label:after { - background-color: rgba(0, 0, 0, .95) -} - -.ui.radio.checkbox input:focus:checked ~ .box:before, .ui.radio.checkbox input:focus:checked ~ label:before { - background-color: #fff -} - -.ui.radio.checkbox input:focus:checked ~ .box:after, .ui.radio.checkbox input:focus:checked ~ label:after { - background-color: rgba(0, 0, 0, .95) -} - -.ui.slider.checkbox { - min-height: 1.25rem -} - -.ui.slider.checkbox input { - width: 3.5rem; - height: 1.25rem -} - -.ui.slider.checkbox .box, .ui.slider.checkbox label { - padding-left: 4.5rem; - line-height: 1rem; - color: rgba(0, 0, 0, .4) -} - -.ui.slider.checkbox .box:before, .ui.slider.checkbox label:before { - display: block; - position: absolute; - content: ''; - border: none !important; - left: 0; - z-index: 1; - top: .4rem; - background-color: rgba(0, 0, 0, .05); - width: 3.5rem; - height: .21428571rem; - -webkit-transform: none; - transform: none; - border-radius: 500rem; - -webkit-transition: background .3s ease; - transition: background .3s ease -} - -.ui.slider.checkbox .box:after, .ui.slider.checkbox label:after { - background: #fff -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, .05))); - background: #fff -webkit-linear-gradient(transparent, rgba(0, 0, 0, .05)); - background: #fff linear-gradient(transparent, rgba(0, 0, 0, .05)); - position: absolute; - content: '' !important; - opacity: 1; - z-index: 2; - border: none; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15) inset; - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15) inset; - width: 1.5rem; - height: 1.5rem; - top: -.25rem; - left: 0; - -webkit-transform: none; - transform: none; - border-radius: 500rem; - -webkit-transition: left .3s ease; - transition: left .3s ease -} - -.ui.slider.checkbox input:focus ~ .box:before, .ui.slider.checkbox input:focus ~ label:before { - background-color: rgba(0, 0, 0, .15); - border: none -} - -.ui.slider.checkbox .box:hover, .ui.slider.checkbox label:hover { - color: rgba(0, 0, 0, .8) -} - -.ui.slider.checkbox .box:hover::before, .ui.slider.checkbox label:hover::before { - background: rgba(0, 0, 0, .15) -} - -.ui.slider.checkbox input:checked ~ .box, .ui.slider.checkbox input:checked ~ label { - color: rgba(0, 0, 0, .95) !important -} - -.ui.slider.checkbox input:checked ~ .box:before, .ui.slider.checkbox input:checked ~ label:before { - background-color: #545454 !important -} - -.ui.slider.checkbox input:checked ~ .box:after, .ui.slider.checkbox input:checked ~ label:after { - left: 2rem -} - -.ui.slider.checkbox input:focus:checked ~ .box, .ui.slider.checkbox input:focus:checked ~ label { - color: rgba(0, 0, 0, .95) !important -} - -.ui.slider.checkbox input:focus:checked ~ .box:before, .ui.slider.checkbox input:focus:checked ~ label:before { - background-color: #000 !important -} - -.ui.toggle.checkbox { - min-height: 1.5rem -} - -.ui.toggle.checkbox input { - width: 3.5rem; - height: 1.5rem -} - -.ui.toggle.checkbox .box, .ui.toggle.checkbox label { - min-height: 1.5rem; - padding-left: 4.5rem; - color: rgba(0, 0, 0, .87) -} - -.ui.toggle.checkbox label { - padding-top: .15em -} - -.ui.toggle.checkbox .box:before, .ui.toggle.checkbox label:before { - display: block; - position: absolute; - content: ''; - z-index: 1; - -webkit-transform: none; - transform: none; - border: none; - top: 0; - background: rgba(0, 0, 0, .05); - -webkit-box-shadow: none; - box-shadow: none; - width: 3.5rem; - height: 1.5rem; - border-radius: 500rem -} - -.ui.toggle.checkbox .box:after, .ui.toggle.checkbox label:after { - background: #fff -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, .05))); - background: #fff -webkit-linear-gradient(transparent, rgba(0, 0, 0, .05)); - background: #fff linear-gradient(transparent, rgba(0, 0, 0, .05)); - position: absolute; - content: '' !important; - opacity: 1; - z-index: 2; - border: none; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15) inset; - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15) inset; - width: 1.5rem; - height: 1.5rem; - top: 0; - left: 0; - border-radius: 500rem; - -webkit-transition: background .3s ease, left .3s ease; - transition: background .3s ease, left .3s ease -} - -.ui.toggle.checkbox input ~ .box:after, .ui.toggle.checkbox input ~ label:after { - left: -.05rem; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15) inset; - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15) inset -} - -.ui.toggle.checkbox input:focus ~ .box:before, .ui.toggle.checkbox input:focus ~ label:before { - background-color: rgba(0, 0, 0, .15); - border: none -} - -.ui.toggle.checkbox .box:hover::before, .ui.toggle.checkbox label:hover::before { - background-color: rgba(0, 0, 0, .15); - border: none -} - -.ui.toggle.checkbox input:checked ~ .box, .ui.toggle.checkbox input:checked ~ label { - color: rgba(255, 255, 255, .95) !important -} - -.ui.toggle.checkbox input:checked ~ .box:before, .ui.toggle.checkbox input:checked ~ label:before { - background-color: #2185d0 !important -} - -.ui.toggle.checkbox input:checked ~ .box:after, .ui.toggle.checkbox input:checked ~ label:after { - left: 2.15rem; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15) inset; - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15), 0 0 0 1px rgba(34, 36, 38, .15) inset -} - -.ui.toggle.checkbox input:focus:checked ~ .box, .ui.toggle.checkbox input:focus:checked ~ label { - color: rgba(255, 255, 255, .95) !important -} - -.ui.toggle.checkbox input:focus:checked ~ .box:before, .ui.toggle.checkbox input:focus:checked ~ label:before { - background-color: #0d71bb !important -} - -.ui.fitted.checkbox .box, .ui.fitted.checkbox label { - padding-left: 0 !important -} - -.ui.fitted.toggle.checkbox { - width: 3.5rem -} - -.ui.fitted.slider.checkbox { - width: 3.5rem -} - -@font-face { - font-family: Checkbox; - src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype') -} - -.ui.checkbox .box:after, .ui.checkbox label:after { - font-family: Checkbox -} - -.ui.checkbox input:checked ~ .box:after, .ui.checkbox input:checked ~ label:after { - content: '\e800' -} - -.ui.checkbox input:indeterminate ~ .box:after, .ui.checkbox input:indeterminate ~ label:after { - font-size: 12px; - content: '\e801' -} - -/*! - * # Semantic UI 2.4.0 - Dimmer - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.dimmable:not(body) { - position: relative -} - -.ui.dimmer { - display: none; - position: absolute; - top: 0 !important; - left: 0 !important; - width: 100%; - height: 100%; - text-align: center; - vertical-align: middle; - padding: 1em; - background-color: rgba(0, 0, 0, .85); - opacity: 0; - line-height: 1; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; - -webkit-animation-duration: .5s; - animation-duration: .5s; - -webkit-transition: background-color .5s linear; - transition: background-color .5s linear; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - will-change: opacity; - z-index: 1000 -} - -.ui.dimmer > .content { - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; - color: #fff -} - -.ui.segment > .ui.dimmer { - border-radius: inherit !important -} - -.ui.dimmer:not(.inverted)::-webkit-scrollbar-track { - background: rgba(255, 255, 255, .1) -} - -.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, .25) -} - -.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:window-inactive { - background: rgba(255, 255, 255, .15) -} - -.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover { - background: rgba(255, 255, 255, .35) -} - -.animating.dimmable:not(body), .dimmed.dimmable:not(body) { - overflow: hidden -} - -.dimmed.dimmable > .ui.animating.dimmer, .dimmed.dimmable > .ui.visible.dimmer, .ui.active.dimmer { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - opacity: 1 -} - -.ui.disabled.dimmer { - width: 0 !important; - height: 0 !important -} - -.dimmed.dimmable > .ui.animating.legacy.dimmer, .dimmed.dimmable > .ui.visible.legacy.dimmer, .ui.active.legacy.dimmer { - display: block -} - -.ui[class*="top aligned"].dimmer { - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start -} - -.ui[class*="bottom aligned"].dimmer { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end -} - -.ui.page.dimmer { - position: fixed; - -webkit-transform-style: ''; - transform-style: ''; - -webkit-perspective: 2000px; - perspective: 2000px; - -webkit-transform-origin: center center; - transform-origin: center center -} - -body.animating.in.dimmable, body.dimmed.dimmable { - overflow: hidden -} - -body.dimmable > .dimmer { - position: fixed -} - -.blurring.dimmable > :not(.dimmer) { - -webkit-filter: blur(0) grayscale(0); - filter: blur(0) grayscale(0); - -webkit-transition: .8s -webkit-filter ease; - transition: .8s -webkit-filter ease; - transition: .8s filter ease; - transition: .8s filter ease, .8s -webkit-filter ease -} - -.blurring.dimmed.dimmable > :not(.dimmer) { - -webkit-filter: blur(5px) grayscale(.7); - filter: blur(5px) grayscale(.7) -} - -.blurring.dimmable > .dimmer { - background-color: rgba(0, 0, 0, .6) -} - -.blurring.dimmable > .inverted.dimmer { - background-color: rgba(255, 255, 255, .6) -} - -.ui.dimmer > .top.aligned.content > * { - vertical-align: top -} - -.ui.dimmer > .bottom.aligned.content > * { - vertical-align: bottom -} - -.ui.inverted.dimmer { - background-color: rgba(255, 255, 255, .85) -} - -.ui.inverted.dimmer > .content > * { - color: #fff -} - -.ui.simple.dimmer { - display: block; - overflow: hidden; - opacity: 1; - width: 0%; - height: 0%; - z-index: -100; - background-color: rgba(0, 0, 0, 0) -} - -.dimmed.dimmable > .ui.simple.dimmer { - overflow: visible; - opacity: 1; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, .85); - z-index: 1 -} - -.ui.simple.inverted.dimmer { - background-color: rgba(255, 255, 255, 0) -} - -.dimmed.dimmable > .ui.simple.inverted.dimmer { - background-color: rgba(255, 255, 255, .85) -} - -/*! - * # Semantic UI 2.4.0 - Dropdown - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.dropdown { - cursor: pointer; - position: relative; - display: inline-block; - outline: 0; - text-align: left; - -webkit-transition: width .1s ease, -webkit-box-shadow .1s ease; - transition: width .1s ease, -webkit-box-shadow .1s ease; - transition: box-shadow .1s ease, width .1s ease; - transition: box-shadow .1s ease, width .1s ease, -webkit-box-shadow .1s ease; - -webkit-tap-highlight-color: transparent -} - -.ui.dropdown .menu { - cursor: auto; - position: absolute; - display: none; - outline: 0; - top: 100%; - min-width: -webkit-max-content; - min-width: -moz-max-content; - min-width: max-content; - margin: 0; - padding: 0 0; - background: #fff; - font-size: 1em; - text-shadow: none; - text-align: left; - -webkit-box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15); - box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15); - border: 1px solid rgba(34, 36, 38, .15); - border-radius: .28571429rem; - -webkit-transition: opacity .1s ease; - transition: opacity .1s ease; - z-index: 11; - will-change: transform, opacity -} - -.ui.dropdown .menu > * { - white-space: nowrap -} - -.ui.dropdown > input:not(.search):first-child, .ui.dropdown > select { - display: none !important -} - -.ui.dropdown > .dropdown.icon { - position: relative; - width: auto; - font-size: .85714286em; - margin: 0 0 0 1em -} - -.ui.dropdown .menu > .item .dropdown.icon { - width: auto; - float: right; - margin: 0 0 0 1em -} - -.ui.dropdown .menu > .item .dropdown.icon + .text { - margin-right: 1em -} - -.ui.dropdown > .text { - display: inline-block; - -webkit-transition: none; - transition: none -} - -.ui.dropdown .menu > .item { - position: relative; - cursor: pointer; - display: block; - border: none; - height: auto; - text-align: left; - border-top: none; - line-height: 1em; - color: rgba(0, 0, 0, .87); - padding: .78571429rem 1.14285714rem !important; - font-size: 1rem; - text-transform: none; - font-weight: 400; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-touch-callout: none -} - -.ui.dropdown .menu > .item:first-child { - border-top-width: 0 -} - -.ui.dropdown .menu .item > [class*="right floated"], .ui.dropdown > .text > [class*="right floated"] { - float: right !important; - margin-right: 0 !important; - margin-left: 1em !important -} - -.ui.dropdown .menu .item > [class*="left floated"], .ui.dropdown > .text > [class*="left floated"] { - float: left !important; - margin-left: 0 !important; - margin-right: 1em !important -} - -.ui.dropdown .menu .item > .flag.floated, .ui.dropdown .menu .item > .icon.floated, .ui.dropdown .menu .item > .image.floated, .ui.dropdown .menu .item > img.floated { - margin-top: 0 -} - -.ui.dropdown .menu > .header { - margin: 1rem 0 .75rem; - padding: 0 1.14285714rem; - color: rgba(0, 0, 0, .85); - font-size: .78571429em; - font-weight: 700; - text-transform: uppercase -} - -.ui.dropdown .menu > .divider { - border-top: 1px solid rgba(34, 36, 38, .1); - height: 0; - margin: .5em 0 -} - -.ui.dropdown.dropdown .menu > .input { - width: auto; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin: 1.14285714rem .78571429rem; - min-width: 10rem -} - -.ui.dropdown .menu > .header + .input { - margin-top: 0 -} - -.ui.dropdown .menu > .input:not(.transparent) input { - padding: .5em 1em -} - -.ui.dropdown .menu > .input:not(.transparent) .button, .ui.dropdown .menu > .input:not(.transparent) .icon, .ui.dropdown .menu > .input:not(.transparent) .label { - padding-top: .5em; - padding-bottom: .5em -} - -.ui.dropdown .menu > .item > .description, .ui.dropdown > .text > .description { - float: right; - margin: 0 0 0 1em; - color: rgba(0, 0, 0, .4) -} - -.ui.dropdown .menu > .message { - padding: .78571429rem 1.14285714rem; - font-weight: 400 -} - -.ui.dropdown .menu > .message:not(.ui) { - color: rgba(0, 0, 0, .4) -} - -.ui.dropdown .menu .menu { - top: 0 !important; - left: 100%; - right: auto; - margin: 0 0 0 -.5em !important; - border-radius: .28571429rem !important; - z-index: 21 !important -} - -.ui.dropdown .menu .menu:after { - display: none -} - -.ui.dropdown > .text > .flag, .ui.dropdown > .text > .icon, .ui.dropdown > .text > .image, .ui.dropdown > .text > .label, .ui.dropdown > .text > img { - margin-top: 0 -} - -.ui.dropdown .menu > .item > .flag, .ui.dropdown .menu > .item > .icon, .ui.dropdown .menu > .item > .image, .ui.dropdown .menu > .item > .label, .ui.dropdown .menu > .item > img { - margin-top: 0 -} - -.ui.dropdown .menu > .item > .flag, .ui.dropdown .menu > .item > .icon, .ui.dropdown .menu > .item > .image, .ui.dropdown .menu > .item > .label, .ui.dropdown .menu > .item > img, .ui.dropdown > .text > .flag, .ui.dropdown > .text > .icon, .ui.dropdown > .text > .image, .ui.dropdown > .text > .label, .ui.dropdown > .text > img { - margin-left: 0; - float: none; - margin-right: .78571429rem -} - -.ui.dropdown .menu > .item > .image, .ui.dropdown .menu > .item > img, .ui.dropdown > .text > .image, .ui.dropdown > .text > img { - display: inline-block; - vertical-align: top; - width: auto; - margin-top: -.5em; - margin-bottom: -.5em; - max-height: 2em -} - -.ui.dropdown .ui.menu > .item:before, .ui.menu .ui.dropdown .menu > .item:before { - display: none -} - -.ui.menu .ui.dropdown .menu .active.item { - border-left: none -} - -.ui.buttons > .ui.dropdown:last-child .menu, .ui.menu .right.dropdown.item .menu, .ui.menu .right.menu .dropdown:last-child .menu { - left: auto; - right: 0 -} - -.ui.label.dropdown .menu { - min-width: 100% -} - -.ui.dropdown.icon.button > .dropdown.icon { - margin: 0 -} - -.ui.button.dropdown .menu { - min-width: 100% -} - -.ui.selection.dropdown { - cursor: pointer; - word-wrap: break-word; - line-height: 1em; - white-space: normal; - outline: 0; - -webkit-transform: rotateZ(0); - transform: rotateZ(0); - min-width: 14em; - min-height: 2.71428571em; - background: #fff; - display: inline-block; - padding: .78571429em 2.1em .78571429em 1em; - color: rgba(0, 0, 0, .87); - -webkit-box-shadow: none; - box-shadow: none; - border: 1px solid rgba(34, 36, 38, .15); - border-radius: .28571429rem; - -webkit-transition: width .1s ease, -webkit-box-shadow .1s ease; - transition: width .1s ease, -webkit-box-shadow .1s ease; - transition: box-shadow .1s ease, width .1s ease; - transition: box-shadow .1s ease, width .1s ease, -webkit-box-shadow .1s ease -} - -.ui.selection.dropdown.active, .ui.selection.dropdown.visible { - z-index: 10 -} - -select.ui.dropdown { - height: 38px; - padding: .5em; - border: 1px solid rgba(34, 36, 38, .15); - visibility: visible -} - -.ui.selection.dropdown > .delete.icon, .ui.selection.dropdown > .dropdown.icon, .ui.selection.dropdown > .search.icon { - cursor: pointer; - position: absolute; - width: auto; - height: auto; - line-height: 1.21428571em; - top: .78571429em; - right: 1em; - z-index: 3; - margin: -.78571429em; - padding: .91666667em; - opacity: .8; - -webkit-transition: opacity .1s ease; - transition: opacity .1s ease -} - -.ui.compact.selection.dropdown { - min-width: 0 -} - -.ui.selection.dropdown .menu { - overflow-x: hidden; - overflow-y: auto; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-overflow-scrolling: touch; - border-top-width: 0 !important; - width: auto; - outline: 0; - margin: 0 -1px; - min-width: calc(100% + 2px); - width: calc(100% + 2px); - border-radius: 0 0 .28571429rem .28571429rem; - -webkit-box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15); - box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15); - -webkit-transition: opacity .1s ease; - transition: opacity .1s ease -} - -.ui.selection.dropdown .menu:after, .ui.selection.dropdown .menu:before { - display: none -} - -.ui.selection.dropdown .menu > .message { - padding: .78571429rem 1.14285714rem -} - -@media only screen and (max-width: 767px) { - .ui.selection.dropdown .menu { - max-height: 8.01428571rem - } -} - -@media only screen and (min-width: 768px) { - .ui.selection.dropdown .menu { - max-height: 10.68571429rem - } -} - -@media only screen and (min-width: 992px) { - .ui.selection.dropdown .menu { - max-height: 16.02857143rem - } -} - -@media only screen and (min-width: 1920px) { - .ui.selection.dropdown .menu { - max-height: 21.37142857rem - } -} - -.ui.selection.dropdown .menu > .item { - border-top: 1px solid #fafafa; - padding: .78571429rem 1.14285714rem !important; - white-space: normal; - word-wrap: normal -} - -.ui.selection.dropdown .menu > .hidden.addition.item { - display: none -} - -.ui.selection.dropdown:hover { - border-color: rgba(34, 36, 38, .35); - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.selection.active.dropdown { - border-color: #96c8da; - -webkit-box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15); - box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15) -} - -.ui.selection.active.dropdown .menu { - border-color: #96c8da; - -webkit-box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15); - box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15) -} - -.ui.selection.dropdown:focus { - border-color: #96c8da; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.selection.dropdown:focus .menu { - border-color: #96c8da; - -webkit-box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15); - box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15) -} - -.ui.selection.visible.dropdown > .text:not(.default) { - font-weight: 400; - color: rgba(0, 0, 0, .8) -} - -.ui.selection.active.dropdown:hover { - border-color: #96c8da; - -webkit-box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15); - box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15) -} - -.ui.selection.active.dropdown:hover .menu { - border-color: #96c8da; - -webkit-box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15); - box-shadow: 0 2px 3px 0 rgba(34, 36, 38, .15) -} - -.ui.active.selection.dropdown > .dropdown.icon, .ui.visible.selection.dropdown > .dropdown.icon { - opacity: ''; - z-index: 3 -} - -.ui.active.selection.dropdown { - border-bottom-left-radius: 0 !important; - border-bottom-right-radius: 0 !important -} - -.ui.active.empty.selection.dropdown { - border-radius: .28571429rem !important; - -webkit-box-shadow: none !important; - box-shadow: none !important -} - -.ui.active.empty.selection.dropdown .menu { - border: none !important; - -webkit-box-shadow: none !important; - box-shadow: none !important -} - -.ui.search.dropdown { - min-width: '' -} - -.ui.search.dropdown > input.search { - background: none transparent !important; - border: none !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - cursor: text; - top: 0; - left: 1px; - width: 100%; - outline: 0; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); - padding: inherit -} - -.ui.search.dropdown > input.search { - position: absolute; - z-index: 2 -} - -.ui.search.dropdown > .text { - cursor: text; - position: relative; - left: 1px; - z-index: 3 -} - -.ui.search.selection.dropdown > input.search { - line-height: 1.21428571em; - padding: .67857143em 2.1em .67857143em 1em -} - -.ui.search.selection.dropdown > span.sizer { - line-height: 1.21428571em; - padding: .67857143em 2.1em .67857143em 1em; - display: none; - white-space: pre -} - -.ui.search.dropdown.active > input.search, .ui.search.dropdown.visible > input.search { - cursor: auto -} - -.ui.search.dropdown.active > .text, .ui.search.dropdown.visible > .text { - pointer-events: none -} - -.ui.active.search.dropdown input.search:focus + .text .flag, .ui.active.search.dropdown input.search:focus + .text .icon { - opacity: .45 -} - -.ui.active.search.dropdown input.search:focus + .text { - color: rgba(115, 115, 115, .87) !important -} - -.ui.search.dropdown .menu { - overflow-x: hidden; - overflow-y: auto; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-overflow-scrolling: touch -} - -@media only screen and (max-width: 767px) { - .ui.search.dropdown .menu { - max-height: 8.01428571rem - } -} - -@media only screen and (min-width: 768px) { - .ui.search.dropdown .menu { - max-height: 10.68571429rem - } -} - -@media only screen and (min-width: 992px) { - .ui.search.dropdown .menu { - max-height: 16.02857143rem - } -} - -@media only screen and (min-width: 1920px) { - .ui.search.dropdown .menu { - max-height: 21.37142857rem - } -} - -.ui.multiple.dropdown { - padding: .22619048em 2.1em .22619048em .35714286em -} - -.ui.multiple.dropdown .menu { - cursor: auto -} - -.ui.multiple.search.dropdown, .ui.multiple.search.dropdown > input.search { - cursor: text -} - -.ui.multiple.dropdown > .label { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - display: inline-block; - vertical-align: top; - white-space: normal; - font-size: 1em; - padding: .35714286em .78571429em; - margin: .14285714rem .28571429rem .14285714rem 0; - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, .15) inset; - box-shadow: 0 0 0 1px rgba(34, 36, 38, .15) inset -} - -.ui.multiple.dropdown .dropdown.icon { - margin: ''; - padding: '' -} - -.ui.multiple.dropdown > .text { - position: static; - padding: 0; - max-width: 100%; - margin: .45238095em 0 .45238095em .64285714em; - line-height: 1.21428571em -} - -.ui.multiple.dropdown > .label ~ input.search { - margin-left: .14285714em !important -} - -.ui.multiple.dropdown > .label ~ .text { - display: none -} - -.ui.multiple.search.dropdown > .text { - display: inline-block; - position: absolute; - top: 0; - left: 0; - padding: inherit; - margin: .45238095em 0 .45238095em .64285714em; - line-height: 1.21428571em -} - -.ui.multiple.search.dropdown > .label ~ .text { - display: none -} - -.ui.multiple.search.dropdown > input.search { - position: static; - padding: 0; - max-width: 100%; - margin: .45238095em 0 .45238095em .64285714em; - width: 2.2em; - line-height: 1.21428571em -} - -.ui.inline.dropdown { - cursor: pointer; - display: inline-block; - color: inherit -} - -.ui.inline.dropdown .dropdown.icon { - margin: 0 .21428571em 0 .21428571em; - vertical-align: baseline -} - -.ui.inline.dropdown > .text { - font-weight: 700 -} - -.ui.inline.dropdown .menu { - cursor: auto; - margin-top: .21428571em; - border-radius: .28571429rem -} - -.ui.dropdown .menu .active.item { - background: 0 0; - font-weight: 700; - color: rgba(0, 0, 0, .95); - -webkit-box-shadow: none; - box-shadow: none; - z-index: 12 -} - -.ui.dropdown .menu > .item:hover { - background: rgba(0, 0, 0, .05); - color: rgba(0, 0, 0, .95); - z-index: 13 -} - -.ui.loading.dropdown > i.icon { - height: 1em !important -} - -.ui.loading.selection.dropdown > i.icon { - padding: 1.5em 1.28571429em !important -} - -.ui.loading.dropdown > i.icon:before { - position: absolute; - content: ''; - top: 50%; - left: 50%; - margin: -.64285714em 0 0 -.64285714em; - width: 1.28571429em; - height: 1.28571429em; - border-radius: 500rem; - border: .2em solid rgba(0, 0, 0, .1) -} - -.ui.loading.dropdown > i.icon:after { - position: absolute; - content: ''; - top: 50%; - left: 50%; - -webkit-box-shadow: 0 0 0 1px transparent; - box-shadow: 0 0 0 1px transparent; - margin: -.64285714em 0 0 -.64285714em; - width: 1.28571429em; - height: 1.28571429em; - -webkit-animation: dropdown-spin .6s linear; - animation: dropdown-spin .6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - border-radius: 500rem; - border-color: #767676 transparent transparent; - border-style: solid; - border-width: .2em -} - -.ui.loading.dropdown.button > i.icon:after, .ui.loading.dropdown.button > i.icon:before { - display: none -} - -@-webkit-keyframes dropdown-spin { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -@keyframes dropdown-spin { - from { - -webkit-transform: rotate(0); - transform: rotate(0) - } - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg) - } -} - -.ui.default.dropdown:not(.button) > .text, .ui.dropdown:not(.button) > .default.text { - color: rgba(191, 191, 191, .87) -} - -.ui.default.dropdown:not(.button) > input:focus ~ .text, .ui.dropdown:not(.button) > input:focus ~ .default.text { - color: rgba(115, 115, 115, .87) -} - -.ui.loading.dropdown > .text { - -webkit-transition: none; - transition: none -} - -.ui.dropdown .loading.menu { - display: block; - visibility: hidden; - z-index: -1 -} - -.ui.dropdown > .loading.menu { - left: 0 !important; - right: auto !important -} - -.ui.dropdown > .menu .loading.menu { - left: 100% !important; - right: auto !important -} - -.ui.dropdown .menu .selected.item, .ui.dropdown.selected { - background: rgba(0, 0, 0, .03); - color: rgba(0, 0, 0, .95) -} - -.ui.dropdown > .filtered.text { - visibility: hidden -} - -.ui.dropdown .filtered.item { - display: none !important -} - -.ui.dropdown.error, .ui.dropdown.error > .default.text, .ui.dropdown.error > .text { - color: #9f3a38 -} - -.ui.selection.dropdown.error { - background: #fff6f6; - border-color: #e0b4b4 -} - -.ui.selection.dropdown.error:hover { - border-color: #e0b4b4 -} - -.ui.dropdown.error > .menu, .ui.dropdown.error > .menu .menu { - border-color: #e0b4b4 -} - -.ui.dropdown.error > .menu > .item { - color: #9f3a38 -} - -.ui.multiple.selection.error.dropdown > .label { - border-color: #e0b4b4 -} - -.ui.dropdown.error > .menu > .item:hover { - background-color: #fff2f2 -} - -.ui.dropdown.error > .menu .active.item { - background-color: #fdcfcf -} - -.ui.dropdown > .clear.dropdown.icon { - opacity: .8; - -webkit-transition: opacity .1s ease; - transition: opacity .1s ease -} - -.ui.dropdown > .clear.dropdown.icon:hover { - opacity: 1 -} - -.ui.disabled.dropdown, .ui.dropdown .menu > .disabled.item { - cursor: default; - pointer-events: none; - opacity: .45 -} - -.ui.dropdown .menu { - left: 0 -} - -.ui.dropdown .menu .right.menu, .ui.dropdown .right.menu > .menu { - left: 100% !important; - right: auto !important; - border-radius: .28571429rem !important -} - -.ui.dropdown > .left.menu { - left: auto !important; - right: 0 !important -} - -.ui.dropdown .menu .left.menu, .ui.dropdown > .left.menu .menu { - left: auto; - right: 100%; - margin: 0 -.5em 0 0 !important; - border-radius: .28571429rem !important -} - -.ui.dropdown .item .left.dropdown.icon, .ui.dropdown .left.menu .item .dropdown.icon { - width: auto; - float: left; - margin: 0 -} - -.ui.dropdown .item .left.dropdown.icon, .ui.dropdown .left.menu .item .dropdown.icon { - width: auto; - float: left; - margin: 0 -} - -.ui.dropdown .item .left.dropdown.icon + .text, .ui.dropdown .left.menu .item .dropdown.icon + .text { - margin-left: 1em; - margin-right: 0 -} - -.ui.upward.dropdown > .menu { - top: auto; - bottom: 100%; - -webkit-box-shadow: 0 0 3px 0 rgba(0, 0, 0, .08); - box-shadow: 0 0 3px 0 rgba(0, 0, 0, .08); - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.dropdown .upward.menu { - top: auto !important; - bottom: 0 !important -} - -.ui.simple.upward.active.dropdown, .ui.simple.upward.dropdown:hover { - border-radius: .28571429rem .28571429rem 0 0 !important -} - -.ui.upward.dropdown.button:not(.pointing):not(.floating).active { - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.upward.selection.dropdown .menu { - border-top-width: 1px !important; - border-bottom-width: 0 !important; - -webkit-box-shadow: 0 -2px 3px 0 rgba(0, 0, 0, .08); - box-shadow: 0 -2px 3px 0 rgba(0, 0, 0, .08) -} - -.ui.upward.selection.dropdown:hover { - -webkit-box-shadow: 0 0 2px 0 rgba(0, 0, 0, .05); - box-shadow: 0 0 2px 0 rgba(0, 0, 0, .05) -} - -.ui.active.upward.selection.dropdown { - border-radius: 0 0 .28571429rem .28571429rem !important -} - -.ui.upward.selection.dropdown.visible { - -webkit-box-shadow: 0 0 3px 0 rgba(0, 0, 0, .08); - box-shadow: 0 0 3px 0 rgba(0, 0, 0, .08); - border-radius: 0 0 .28571429rem .28571429rem !important -} - -.ui.upward.active.selection.dropdown:hover { - -webkit-box-shadow: 0 0 3px 0 rgba(0, 0, 0, .05); - box-shadow: 0 0 3px 0 rgba(0, 0, 0, .05) -} - -.ui.upward.active.selection.dropdown:hover .menu { - -webkit-box-shadow: 0 -2px 3px 0 rgba(0, 0, 0, .08); - box-shadow: 0 -2px 3px 0 rgba(0, 0, 0, .08) -} - -.ui.dropdown .scrolling.menu, .ui.scrolling.dropdown .menu { - overflow-x: hidden; - overflow-y: auto -} - -.ui.scrolling.dropdown .menu { - overflow-x: hidden; - overflow-y: auto; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-overflow-scrolling: touch; - min-width: 100% !important; - width: auto !important -} - -.ui.dropdown .scrolling.menu { - position: static; - overflow-y: auto; - border: none; - -webkit-box-shadow: none !important; - box-shadow: none !important; - border-radius: 0 !important; - margin: 0 !important; - min-width: 100% !important; - width: auto !important; - border-top: 1px solid rgba(34, 36, 38, .15) -} - -.ui.dropdown .scrolling.menu > .item.item.item, .ui.scrolling.dropdown .menu .item.item.item { - border-top: none -} - -.ui.dropdown .scrolling.menu .item:first-child, .ui.scrolling.dropdown .menu .item:first-child { - border-top: none -} - -.ui.dropdown > .animating.menu .scrolling.menu, .ui.dropdown > .visible.menu .scrolling.menu { - display: block -} - -@media all and (-ms-high-contrast: none) { - .ui.dropdown .scrolling.menu, .ui.scrolling.dropdown .menu { - min-width: calc(100% - 17px) - } -} - -@media only screen and (max-width: 767px) { - .ui.dropdown .scrolling.menu, .ui.scrolling.dropdown .menu { - max-height: 10.28571429rem - } -} - -@media only screen and (min-width: 768px) { - .ui.dropdown .scrolling.menu, .ui.scrolling.dropdown .menu { - max-height: 15.42857143rem - } -} - -@media only screen and (min-width: 992px) { - .ui.dropdown .scrolling.menu, .ui.scrolling.dropdown .menu { - max-height: 20.57142857rem - } -} - -@media only screen and (min-width: 1920px) { - .ui.dropdown .scrolling.menu, .ui.scrolling.dropdown .menu { - max-height: 20.57142857rem - } -} - -.ui.simple.dropdown .menu:after, .ui.simple.dropdown .menu:before { - display: none -} - -.ui.simple.dropdown .menu { - position: absolute; - display: block; - overflow: hidden; - top: -9999px !important; - opacity: 0; - width: 0; - height: 0; - -webkit-transition: opacity .1s ease; - transition: opacity .1s ease -} - -.ui.simple.active.dropdown, .ui.simple.dropdown:hover { - border-bottom-left-radius: 0 !important; - border-bottom-right-radius: 0 !important -} - -.ui.simple.active.dropdown > .menu, .ui.simple.dropdown:hover > .menu { - overflow: visible; - width: auto; - height: auto; - top: 100% !important; - opacity: 1 -} - -.ui.simple.dropdown:hover > .menu > .item:hover > .menu, .ui.simple.dropdown > .menu > .item:active > .menu { - overflow: visible; - width: auto; - height: auto; - top: 0 !important; - left: 100% !important; - opacity: 1 -} - -.ui.simple.disabled.dropdown:hover .menu { - display: none; - height: 0; - width: 0; - overflow: hidden -} - -.ui.simple.visible.dropdown > .menu { - display: block -} - -.ui.fluid.dropdown { - display: block; - width: 100%; - min-width: 0 -} - -.ui.fluid.dropdown > .dropdown.icon { - float: right -} - -.ui.floating.dropdown .menu { - left: 0; - right: auto; - -webkit-box-shadow: 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15) !important; - box-shadow: 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15) !important; - border-radius: .28571429rem !important -} - -.ui.floating.dropdown > .menu { - margin-top: .5em !important; - border-radius: .28571429rem !important -} - -.ui.pointing.dropdown > .menu { - top: 100%; - margin-top: .78571429rem; - border-radius: .28571429rem -} - -.ui.pointing.dropdown > .menu:after { - display: block; - position: absolute; - pointer-events: none; - content: ''; - visibility: visible; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - width: .5em; - height: .5em; - -webkit-box-shadow: -1px -1px 0 0 rgba(34, 36, 38, .15); - box-shadow: -1px -1px 0 0 rgba(34, 36, 38, .15); - background: #fff; - z-index: 2 -} - -.ui.pointing.dropdown > .menu:after { - top: -.25em; - left: 50%; - margin: 0 0 0 -.25em -} - -.ui.top.left.pointing.dropdown > .menu { - top: 100%; - bottom: auto; - left: 0; - right: auto; - margin: 1em 0 0 -} - -.ui.top.left.pointing.dropdown > .menu { - top: 100%; - bottom: auto; - left: 0; - right: auto; - margin: 1em 0 0 -} - -.ui.top.left.pointing.dropdown > .menu:after { - top: -.25em; - left: 1em; - right: auto; - margin: 0; - -webkit-transform: rotate(45deg); - transform: rotate(45deg) -} - -.ui.top.right.pointing.dropdown > .menu { - top: 100%; - bottom: auto; - right: 0; - left: auto; - margin: 1em 0 0 -} - -.ui.top.pointing.dropdown > .left.menu:after, .ui.top.right.pointing.dropdown > .menu:after { - top: -.25em; - left: auto !important; - right: 1em !important; - margin: 0; - -webkit-transform: rotate(45deg); - transform: rotate(45deg) -} - -.ui.left.pointing.dropdown > .menu { - top: 0; - left: 100%; - right: auto; - margin: 0 0 0 1em -} - -.ui.left.pointing.dropdown > .menu:after { - top: 1em; - left: -.25em; - margin: 0; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg) -} - -.ui.left:not(.top):not(.bottom).pointing.dropdown > .left.menu { - left: auto !important; - right: 100% !important; - margin: 0 1em 0 0 -} - -.ui.left:not(.top):not(.bottom).pointing.dropdown > .left.menu:after { - top: 1em; - left: auto; - right: -.25em; - margin: 0; - -webkit-transform: rotate(135deg); - transform: rotate(135deg) -} - -.ui.right.pointing.dropdown > .menu { - top: 0; - left: auto; - right: 100%; - margin: 0 1em 0 0 -} - -.ui.right.pointing.dropdown > .menu:after { - top: 1em; - left: auto; - right: -.25em; - margin: 0; - -webkit-transform: rotate(135deg); - transform: rotate(135deg) -} - -.ui.bottom.pointing.dropdown > .menu { - top: auto; - bottom: 100%; - left: 0; - right: auto; - margin: 0 0 1em -} - -.ui.bottom.pointing.dropdown > .menu:after { - top: auto; - bottom: -.25em; - right: auto; - margin: 0; - -webkit-transform: rotate(-135deg); - transform: rotate(-135deg) -} - -.ui.bottom.pointing.dropdown > .menu .menu { - top: auto !important; - bottom: 0 !important -} - -.ui.bottom.left.pointing.dropdown > .menu { - left: 0; - right: auto -} - -.ui.bottom.left.pointing.dropdown > .menu:after { - left: 1em; - right: auto -} - -.ui.bottom.right.pointing.dropdown > .menu { - right: 0; - left: auto -} - -.ui.bottom.right.pointing.dropdown > .menu:after { - left: auto; - right: 1em -} - -.ui.pointing.upward.dropdown .menu, .ui.top.pointing.upward.dropdown .menu { - top: auto !important; - bottom: 100% !important; - margin: 0 0 .78571429rem; - border-radius: .28571429rem -} - -.ui.pointing.upward.dropdown .menu:after, .ui.top.pointing.upward.dropdown .menu:after { - top: 100% !important; - bottom: auto !important; - -webkit-box-shadow: 1px 1px 0 0 rgba(34, 36, 38, .15); - box-shadow: 1px 1px 0 0 rgba(34, 36, 38, .15); - margin: -.25em 0 0 -} - -.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu { - top: auto !important; - bottom: 0 !important; - margin: 0 1em 0 0 -} - -.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after { - top: auto !important; - bottom: 0 !important; - margin: 0 0 1em 0; - -webkit-box-shadow: -1px -1px 0 0 rgba(34, 36, 38, .15); - box-shadow: -1px -1px 0 0 rgba(34, 36, 38, .15) -} - -.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu { - top: auto !important; - bottom: 0 !important; - margin: 0 0 0 1em -} - -.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after { - top: auto !important; - bottom: 0 !important; - margin: 0 0 1em 0; - -webkit-box-shadow: -1px -1px 0 0 rgba(34, 36, 38, .15); - box-shadow: -1px -1px 0 0 rgba(34, 36, 38, .15) -} - -@font-face { - font-family: Dropdown; - src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAVgAA8AAAAACFAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAchGgaq0dERUYAAAF0AAAAHAAAAB4AJwAPT1MvMgAAAZAAAABDAAAAVnW4TJdjbWFwAAAB1AAAAEsAAAFS8CcaqmN2dCAAAAIgAAAABAAAAAQAEQFEZ2FzcAAAAiQAAAAIAAAACP//AANnbHlmAAACLAAAAQoAAAGkrRHP9WhlYWQAAAM4AAAAMAAAADYPK8YyaGhlYQAAA2gAAAAdAAAAJANCAb1obXR4AAADiAAAACIAAAAiCBkAOGxvY2EAAAOsAAAAFAAAABQBnAIybWF4cAAAA8AAAAAfAAAAIAEVAF5uYW1lAAAD4AAAATAAAAKMFGlj5HBvc3QAAAUQAAAARgAAAHJoedjqd2ViZgAABVgAAAAGAAAABrO7W5UAAAABAAAAANXulPUAAAAA1r4hgAAAAADXu2Q1eNpjYGRgYOABYjEgZmJgBEIOIGYB8xgAA/YAN3jaY2BktGOcwMDKwMI4jTGNgYHBHUp/ZZBkaGFgYGJgZWbACgLSXFMYHFT/fLjFeOD/AQY9xjMMbkBhRpAcAN48DQYAeNpjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETAwMqn8+8H649f8/lHX9//9b7Pzf+fWgusCAkY0BzmUE6gHpQwGMDMMeAACbxg7SAAARAUQAAAAB//8AAnjadZBPSsNAGMXfS+yMqYgOhpSuSlKadmUhiVEhEMQzFF22m17BbbvzCh5BXCUn6EG8gjeQ4DepwYo4i+/ffL95j4EDA+CFC7jQuKyIeVHrI3wkleq9F7XrSInKteOeHdda8bOoaeepSc00NWPz/LRec9G8GabyGtEdF7h19z033GAMTK7zbM42xNEZpzYof0RtQ5CUHAQJ73OtVyutc+3b7Ou//b8XNlsPx3jgjUifABdhEohKJJL5iM5p39uqc7X1+sRQSqmGrUVhlsJ4lpmEUVwyT8SUYtg0P9DyNzPADDs+tjrGV6KRCRfsui3eHcL4/p8ZXvfMlcnEU+CLv7hDykOP+AKTPTxbAAB42mNgZGBgAGKuf5KP4vltvjLIMzGAwLV9ig0g+vruFFMQzdjACOJzMIClARh0CTJ42mNgZGBgPPD/AJD8wgAEjA0MjAyogAMAbOQEAQAAAAC7ABEAAAAAAKoAAAH0AAABgAAAAUAACAFAAAgAwAAXAAAAAAAAACoAKgAqADIAbACGAKAAugDSeNpjYGRgYOBkUGFgYgABEMkFhAwM/xn0QAIADdUBdAB42qWQvUoDQRSFv3GjaISUQaymSmGxJoGAsRC0iPYLsU50Y6IxrvlRtPCJJKUPIBb+PIHv4EN4djKuKAqCDHfmu+feOdwZoMCUAJNbAlYUMzaUlM14jjxbngOq7HnOia89z1Pk1vMCa9x7ztPkzfMyJbPj+ZGi6Xp+omxuPD+zaD7meaFg7mb8GrBqHmhwxoAxlm0uiRkpP9X5m26pKRoMxTGR1D49Dv/Yb/91o6l8qL6eu5n2hZQzn68utR9m3FU2cB4t9cdSLG2utI+44Eh/P9bqKO+oJ/WxmXssj77YkrjasZQD6SFddythk3Wtzrf+UF2p076Udla1VNzsERP3kkjVRKel7mp1udXYcHtZSlV7RfmJe1GiFWveluaeKD5/MuJcSk8Tpm/vvwPIbmJleNpjYGKAAFYG7ICTgYGRiZGZkYWRlZGNkZ2Rg5GTLT2nsiDDEEIZsZfmZRqZujmDaDcDAxcI7WIOpS2gtCWUdgQAZkcSmQAAAAFblbO6AAA=) format('woff'); - font-weight: 400; - font-style: normal -} - -.ui.dropdown > .dropdown.icon { - font-family: Dropdown; - line-height: 1; - height: 1em; - width: 1.23em; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - font-weight: 400; - font-style: normal; - text-align: center -} - -.ui.dropdown > .dropdown.icon { - width: auto -} - -.ui.dropdown > .dropdown.icon:before { - content: '\f0d7' -} - -.ui.dropdown .menu .item .dropdown.icon:before { - content: '\f0da' -} - -.ui.dropdown .item .left.dropdown.icon:before, .ui.dropdown .left.menu .item .dropdown.icon:before { - content: "\f0d9" -} - -.ui.vertical.menu .dropdown.item > .dropdown.icon:before { - content: "\f0da" -} - -.ui.dropdown > .clear.icon:before { - content: "\f00d" -} - -/*! - * # Semantic UI 2.4.0 - Video - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.embed { - position: relative; - max-width: 100%; - height: 0; - overflow: hidden; - background: #dcddde; - padding-bottom: 56.25% -} - -.ui.embed embed, .ui.embed iframe, .ui.embed object { - position: absolute; - border: none; - width: 100%; - height: 100%; - top: 0; - left: 0; - margin: 0; - padding: 0 -} - -.ui.embed > .embed { - display: none -} - -.ui.embed > .placeholder { - position: absolute; - cursor: pointer; - top: 0; - left: 0; - display: block; - width: 100%; - height: 100%; - background-color: radial-gradient(transparent 45%, rgba(0, 0, 0, .3)) -} - -.ui.embed > .icon { - cursor: pointer; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 2 -} - -.ui.embed > .icon:after { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 3; - content: ''; - background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, .3)); - background: radial-gradient(transparent 45%, rgba(0, 0, 0, .3)); - opacity: .5; - -webkit-transition: opacity .5s ease; - transition: opacity .5s ease -} - -.ui.embed > .icon:before { - position: absolute; - top: 50%; - left: 50%; - z-index: 4; - -webkit-transform: translateX(-50%) translateY(-50%); - transform: translateX(-50%) translateY(-50%); - color: #fff; - font-size: 6rem; - text-shadow: 0 2px 10px rgba(34, 36, 38, .2); - -webkit-transition: opacity .5s ease, color .5s ease; - transition: opacity .5s ease, color .5s ease; - z-index: 10 -} - -.ui.embed .icon:hover:after { - background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, .3)); - background: radial-gradient(transparent 45%, rgba(0, 0, 0, .3)); - opacity: 1 -} - -.ui.embed .icon:hover:before { - color: #fff -} - -.ui.active.embed > .icon, .ui.active.embed > .placeholder { - display: none -} - -.ui.active.embed > .embed { - display: block -} - -.ui.square.embed { - padding-bottom: 100% -} - -.ui[class*="4:3"].embed { - padding-bottom: 75% -} - -.ui[class*="16:9"].embed { - padding-bottom: 56.25% -} - -.ui[class*="21:9"].embed { - padding-bottom: 42.85714286% -} - -/*! - * # Semantic UI 2.4.0 - Modal - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.modal { - position: absolute; - display: none; - z-index: 1001; - text-align: left; - background: #fff; - border: none; - -webkit-box-shadow: 1px 3px 3px 0 rgba(0, 0, 0, .2), 1px 3px 15px 2px rgba(0, 0, 0, .2); - box-shadow: 1px 3px 3px 0 rgba(0, 0, 0, .2), 1px 3px 15px 2px rgba(0, 0, 0, .2); - -webkit-transform-origin: 50% 25%; - transform-origin: 50% 25%; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - border-radius: .28571429rem; - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; - will-change: top, left, margin, transform, opacity -} - -.ui.modal > .icon:first-child + *, .ui.modal > :first-child:not(.icon) { - border-top-left-radius: .28571429rem; - border-top-right-radius: .28571429rem -} - -.ui.modal > :last-child { - border-bottom-left-radius: .28571429rem; - border-bottom-right-radius: .28571429rem -} - -.ui.modal > .close { - cursor: pointer; - position: absolute; - top: -2.5rem; - right: -2.5rem; - z-index: 1; - opacity: .8; - font-size: 1.25em; - color: #fff; - width: 2.25rem; - height: 2.25rem; - padding: .625rem 0 0 0 -} - -.ui.modal > .close:hover { - opacity: 1 -} - -.ui.modal > .header { - display: block; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - background: #fff; - margin: 0; - padding: 1.25rem 1.5rem; - -webkit-box-shadow: none; - box-shadow: none; - color: rgba(0, 0, 0, .85); - border-bottom: 1px solid rgba(34, 36, 38, .15) -} - -.ui.modal > .header:not(.ui) { - font-size: 1.42857143rem; - line-height: 1.28571429em; - font-weight: 700 -} - -.ui.modal > .content { - display: block; - width: 100%; - font-size: 1em; - line-height: 1.4; - padding: 1.5rem; - background: #fff -} - -.ui.modal > .image.content { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row -} - -.ui.modal > .content > .image { - display: block; - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - width: ''; - -ms-flex-item-align: top; - align-self: top -} - -.ui.modal > [class*="top aligned"] { - -ms-flex-item-align: top; - align-self: top -} - -.ui.modal > [class*="middle aligned"] { - -ms-flex-item-align: middle; - align-self: middle -} - -.ui.modal > [class*=stretched] { - -ms-flex-item-align: stretch; - align-self: stretch -} - -.ui.modal > .content > .description { - display: block; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - min-width: 0; - -ms-flex-item-align: top; - align-self: top -} - -.ui.modal > .content > .icon + .description, .ui.modal > .content > .image + .description { - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - min-width: ''; - width: auto; - padding-left: 2em -} - -.ui.modal > .content > .image > i.icon { - margin: 0; - opacity: 1; - width: auto; - line-height: 1; - font-size: 8rem -} - -.ui.modal > .actions { - background: #f9fafb; - padding: 1rem 1rem; - border-top: 1px solid rgba(34, 36, 38, .15); - text-align: right -} - -.ui.modal .actions > .button { - margin-left: .75em -} - -@media only screen and (max-width: 767px) { - .ui.modal { - width: 95%; - margin: 0 - } -} - -@media only screen and (min-width: 768px) { - .ui.modal { - width: 88%; - margin: 0 - } -} - -@media only screen and (min-width: 992px) { - .ui.modal { - width: 850px; - margin: 0 - } -} - -@media only screen and (min-width: 1200px) { - .ui.modal { - width: 900px; - margin: 0 - } -} - -@media only screen and (min-width: 1920px) { - .ui.modal { - width: 950px; - margin: 0 - } -} - -@media only screen and (max-width: 991px) { - .ui.modal > .header { - padding-right: 2.25rem - } - - .ui.modal > .close { - top: 1.0535rem; - right: 1rem; - color: rgba(0, 0, 0, .87) - } -} - -@media only screen and (max-width: 767px) { - .ui.modal > .header { - padding: .75rem 1rem !important; - padding-right: 2.25rem !important - } - - .ui.modal > .content { - display: block; - padding: 1rem !important - } - - .ui.modal > .close { - top: .5rem !important; - right: .5rem !important - } - - .ui.modal .image.content { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column - } - - .ui.modal .content > .image { - display: block; - max-width: 100%; - margin: 0 auto !important; - text-align: center; - padding: 0 0 1rem !important - } - - .ui.modal > .content > .image > i.icon { - font-size: 5rem; - text-align: center - } - - .ui.modal .content > .description { - display: block; - width: 100% !important; - margin: 0 !important; - padding: 1rem 0 !important; - -webkit-box-shadow: none; - box-shadow: none - } - - .ui.modal > .actions { - padding: 1rem 1rem 0 !important - } - - .ui.modal .actions > .button, .ui.modal .actions > .buttons { - margin-bottom: 1rem - } -} - -.ui.inverted.dimmer > .ui.modal { - -webkit-box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, .2); - box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, .2) -} - -.ui.basic.modal { - background-color: transparent; - border: none; - border-radius: 0; - -webkit-box-shadow: none !important; - box-shadow: none !important; - color: #fff -} - -.ui.basic.modal > .actions, .ui.basic.modal > .content, .ui.basic.modal > .header { - background-color: transparent -} - -.ui.basic.modal > .header { - color: #fff -} - -.ui.basic.modal > .close { - top: 1rem; - right: 1.5rem -} - -.ui.inverted.dimmer > .basic.modal { - color: rgba(0, 0, 0, .87) -} - -.ui.inverted.dimmer > .ui.basic.modal > .header { - color: rgba(0, 0, 0, .85) -} - -.ui.legacy.modal, .ui.legacy.page.dimmer > .ui.modal { - top: 50%; - left: 50% -} - -.ui.legacy.page.dimmer > .ui.scrolling.modal, .ui.page.dimmer > .ui.scrolling.legacy.modal, .ui.top.aligned.dimmer > .ui.legacy.modal, .ui.top.aligned.legacy.page.dimmer > .ui.modal { - top: auto -} - -@media only screen and (max-width: 991px) { - .ui.basic.modal > .close { - color: #fff - } -} - -.ui.loading.modal { - display: block; - visibility: hidden; - z-index: -1 -} - -.ui.active.modal { - display: block -} - -.modals.dimmer[class*="top aligned"] .modal { - margin: 5vh auto -} - -@media only screen and (max-width: 767px) { - .modals.dimmer[class*="top aligned"] .modal { - margin: 1rem auto - } -} - -.legacy.modals.dimmer[class*="top aligned"] { - padding-top: 5vh -} - -@media only screen and (max-width: 767px) { - .legacy.modals.dimmer[class*="top aligned"] { - padding-top: 1rem - } -} - -.scrolling.dimmable.dimmed { - overflow: hidden -} - -.scrolling.dimmable > .dimmer { - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start -} - -.scrolling.dimmable.dimmed > .dimmer { - overflow: auto; - -webkit-overflow-scrolling: touch -} - -.scrolling.dimmable > .dimmer { - position: fixed -} - -.modals.dimmer .ui.scrolling.modal { - margin: 1rem auto -} - -.scrolling.undetached.dimmable.dimmed { - overflow: auto; - -webkit-overflow-scrolling: touch -} - -.scrolling.undetached.dimmable.dimmed > .dimmer { - overflow: hidden -} - -.scrolling.undetached.dimmable .ui.scrolling.modal { - position: absolute; - left: 50%; - margin-top: 1rem !important -} - -.ui.modal .scrolling.content { - max-height: calc(70vh); - overflow: auto -} - -.ui.fullscreen.modal { - width: 95% !important; - left: 0 !important; - margin: 1em auto -} - -.ui.fullscreen.scrolling.modal { - left: 0 !important -} - -.ui.fullscreen.modal > .header { - padding-right: 2.25rem -} - -.ui.fullscreen.modal > .close { - top: 1.0535rem; - right: 1rem; - color: rgba(0, 0, 0, .87) -} - -.ui.modal { - font-size: 1rem -} - -.ui.mini.modal > .header:not(.ui) { - font-size: 1.3em -} - -@media only screen and (max-width: 767px) { - .ui.mini.modal { - width: 95%; - margin: 0 - } -} - -@media only screen and (min-width: 768px) { - .ui.mini.modal { - width: 35.2%; - margin: 0 - } -} - -@media only screen and (min-width: 992px) { - .ui.mini.modal { - width: 340px; - margin: 0 - } -} - -@media only screen and (min-width: 1200px) { - .ui.mini.modal { - width: 360px; - margin: 0 - } -} - -@media only screen and (min-width: 1920px) { - .ui.mini.modal { - width: 380px; - margin: 0 - } -} - -.ui.small.modal > .header:not(.ui) { - font-size: 1.3em -} - -@media only screen and (max-width: 767px) { - .ui.tiny.modal { - width: 95%; - margin: 0 - } -} - -@media only screen and (min-width: 768px) { - .ui.tiny.modal { - width: 52.8%; - margin: 0 - } -} - -@media only screen and (min-width: 992px) { - .ui.tiny.modal { - width: 510px; - margin: 0 - } -} - -@media only screen and (min-width: 1200px) { - .ui.tiny.modal { - width: 540px; - margin: 0 - } -} - -@media only screen and (min-width: 1920px) { - .ui.tiny.modal { - width: 570px; - margin: 0 - } -} - -.ui.small.modal > .header:not(.ui) { - font-size: 1.3em -} - -@media only screen and (max-width: 767px) { - .ui.small.modal { - width: 95%; - margin: 0 - } -} - -@media only screen and (min-width: 768px) { - .ui.small.modal { - width: 70.4%; - margin: 0 - } -} - -@media only screen and (min-width: 992px) { - .ui.small.modal { - width: 680px; - margin: 0 - } -} - -@media only screen and (min-width: 1200px) { - .ui.small.modal { - width: 720px; - margin: 0 - } -} - -@media only screen and (min-width: 1920px) { - .ui.small.modal { - width: 760px; - margin: 0 - } -} - -.ui.large.modal > .header { - font-size: 1.6em -} - -@media only screen and (max-width: 767px) { - .ui.large.modal { - width: 95%; - margin: 0 - } -} - -@media only screen and (min-width: 768px) { - .ui.large.modal { - width: 88%; - margin: 0 - } -} - -@media only screen and (min-width: 992px) { - .ui.large.modal { - width: 1020px; - margin: 0 - } -} - -@media only screen and (min-width: 1200px) { - .ui.large.modal { - width: 1080px; - margin: 0 - } -} - -@media only screen and (min-width: 1920px) { - .ui.large.modal { - width: 1140px; - margin: 0 - } -} - -/*! - * # Semantic UI 2.4.0 - Nag - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.nag { - display: none; - opacity: .95; - position: relative; - top: 0; - left: 0; - z-index: 999; - min-height: 0; - width: 100%; - margin: 0; - padding: .75em 1em; - background: #555; - -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .2); - box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .2); - font-size: 1rem; - text-align: center; - color: rgba(0, 0, 0, .87); - border-radius: 0 0 .28571429rem .28571429rem; - -webkit-transition: .2s background ease; - transition: .2s background ease -} - -a.ui.nag { - cursor: pointer -} - -.ui.nag > .title { - display: inline-block; - margin: 0 .5em; - color: #fff -} - -.ui.nag > .close.icon { - cursor: pointer; - opacity: .4; - position: absolute; - top: 50%; - right: 1em; - font-size: 1em; - margin: -.5em 0 0; - color: #fff; - -webkit-transition: opacity .2s ease; - transition: opacity .2s ease -} - -.ui.nag:hover { - background: #555; - opacity: 1 -} - -.ui.nag .close:hover { - opacity: 1 -} - -.ui.overlay.nag { - position: absolute; - display: block -} - -.ui.fixed.nag { - position: fixed -} - -.ui.bottom.nag, .ui.bottom.nags { - border-radius: .28571429rem .28571429rem 0 0; - top: auto; - bottom: 0 -} - -.ui.inverted.nag, .ui.inverted.nags .nag { - background-color: #f3f4f5; - color: rgba(0, 0, 0, .85) -} - -.ui.inverted.nag .close, .ui.inverted.nag .title, .ui.inverted.nags .nag .close, .ui.inverted.nags .nag .title { - color: rgba(0, 0, 0, .4) -} - -.ui.nags .nag { - border-radius: 0 !important -} - -.ui.nags .nag:last-child { - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.bottom.nags .nag:last-child { - border-radius: .28571429rem .28571429rem 0 0 -} - -/*! - * # Semantic UI 2.4.0 - Popup - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.popup { - display: none; - position: absolute; - top: 0; - right: 0; - min-width: -webkit-min-content; - min-width: -moz-min-content; - min-width: min-content; - z-index: 1900; - border: 1px solid #d4d4d5; - line-height: 1.4285em; - max-width: 250px; - background: #fff; - padding: .833em 1em; - font-weight: 400; - font-style: normal; - color: rgba(0, 0, 0, .87); - border-radius: .28571429rem; - -webkit-box-shadow: 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15); - box-shadow: 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15) -} - -.ui.popup > .header { - padding: 0; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1.14285714em; - line-height: 1.2; - font-weight: 700 -} - -.ui.popup > .header + .content { - padding-top: .5em -} - -.ui.popup:before { - position: absolute; - content: ''; - width: .71428571em; - height: .71428571em; - background: #fff; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - z-index: 2; - -webkit-box-shadow: 1px 1px 0 0 #bababc; - box-shadow: 1px 1px 0 0 #bababc -} - -[data-tooltip] { - position: relative -} - -[data-tooltip]:before { - pointer-events: none; - position: absolute; - content: ''; - font-size: 1rem; - width: .71428571em; - height: .71428571em; - background: #fff; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - z-index: 2; - -webkit-box-shadow: 1px 1px 0 0 #bababc; - box-shadow: 1px 1px 0 0 #bababc -} - -[data-tooltip]:after { - pointer-events: none; - content: attr(data-tooltip); - position: absolute; - text-transform: none; - text-align: left; - white-space: nowrap; - font-size: 1rem; - border: 1px solid #d4d4d5; - line-height: 1.4285em; - max-width: none; - background: #fff; - padding: .833em 1em; - font-weight: 400; - font-style: normal; - color: rgba(0, 0, 0, .87); - border-radius: .28571429rem; - -webkit-box-shadow: 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15); - box-shadow: 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15); - z-index: 1 -} - -[data-tooltip]:not([data-position]):before { - top: auto; - right: auto; - bottom: 100%; - left: 50%; - background: #fff; - margin-left: -.07142857rem; - margin-bottom: .14285714rem -} - -[data-tooltip]:not([data-position]):after { - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - bottom: 100%; - margin-bottom: .5em -} - -[data-tooltip]:after, [data-tooltip]:before { - pointer-events: none; - visibility: hidden -} - -[data-tooltip]:before { - opacity: 0; - -webkit-transform: rotate(45deg) scale(0) !important; - transform: rotate(45deg) scale(0) !important; - -webkit-transform-origin: center top; - transform-origin: center top; - -webkit-transition: all .1s ease; - transition: all .1s ease -} - -[data-tooltip]:after { - opacity: 1; - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-transition: all .1s ease; - transition: all .1s ease -} - -[data-tooltip]:hover:after, [data-tooltip]:hover:before { - visibility: visible; - pointer-events: auto -} - -[data-tooltip]:hover:before { - -webkit-transform: rotate(45deg) scale(1) !important; - transform: rotate(45deg) scale(1) !important; - opacity: 1 -} - -[data-tooltip]:after, [data-tooltip][data-position="bottom center"]:after, [data-tooltip][data-position="top center"]:after { - -webkit-transform: translateX(-50%) scale(0) !important; - transform: translateX(-50%) scale(0) !important -} - -[data-tooltip]:hover:after, [data-tooltip][data-position="bottom center"]:hover:after { - -webkit-transform: translateX(-50%) scale(1) !important; - transform: translateX(-50%) scale(1) !important -} - -[data-tooltip][data-position="left center"]:after, [data-tooltip][data-position="right center"]:after { - -webkit-transform: translateY(-50%) scale(0) !important; - transform: translateY(-50%) scale(0) !important -} - -[data-tooltip][data-position="left center"]:hover:after, [data-tooltip][data-position="right center"]:hover:after { - -webkit-transform: translateY(-50%) scale(1) !important; - transform: translateY(-50%) scale(1) !important -} - -[data-tooltip][data-position="bottom left"]:after, [data-tooltip][data-position="bottom right"]:after, [data-tooltip][data-position="top left"]:after, [data-tooltip][data-position="top right"]:after { - -webkit-transform: scale(0) !important; - transform: scale(0) !important -} - -[data-tooltip][data-position="bottom left"]:hover:after, [data-tooltip][data-position="bottom right"]:hover:after, [data-tooltip][data-position="top left"]:hover:after, [data-tooltip][data-position="top right"]:hover:after { - -webkit-transform: scale(1) !important; - transform: scale(1) !important -} - -[data-tooltip][data-inverted]:before { - -webkit-box-shadow: none !important; - box-shadow: none !important -} - -[data-tooltip][data-inverted]:before { - background: #1b1c1d -} - -[data-tooltip][data-inverted]:after { - background: #1b1c1d; - color: #fff; - border: none; - -webkit-box-shadow: none; - box-shadow: none -} - -[data-tooltip][data-inverted]:after .header { - background-color: none; - color: #fff -} - -[data-position="top center"][data-tooltip]:after { - top: auto; - right: auto; - left: 50%; - bottom: 100%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - margin-bottom: .5em -} - -[data-position="top center"][data-tooltip]:before { - top: auto; - right: auto; - bottom: 100%; - left: 50%; - background: #fff; - margin-left: -.07142857rem; - margin-bottom: .14285714rem -} - -[data-position="top left"][data-tooltip]:after { - top: auto; - right: auto; - left: 0; - bottom: 100%; - margin-bottom: .5em -} - -[data-position="top left"][data-tooltip]:before { - top: auto; - right: auto; - bottom: 100%; - left: 1em; - margin-left: -.07142857rem; - margin-bottom: .14285714rem -} - -[data-position="top right"][data-tooltip]:after { - top: auto; - left: auto; - right: 0; - bottom: 100%; - margin-bottom: .5em -} - -[data-position="top right"][data-tooltip]:before { - top: auto; - left: auto; - bottom: 100%; - right: 1em; - margin-left: -.07142857rem; - margin-bottom: .14285714rem -} - -[data-position="bottom center"][data-tooltip]:after { - bottom: auto; - right: auto; - left: 50%; - top: 100%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - margin-top: .5em -} - -[data-position="bottom center"][data-tooltip]:before { - bottom: auto; - right: auto; - top: 100%; - left: 50%; - margin-left: -.07142857rem; - margin-top: .14285714rem -} - -[data-position="bottom left"][data-tooltip]:after { - left: 0; - top: 100%; - margin-top: .5em -} - -[data-position="bottom left"][data-tooltip]:before { - bottom: auto; - right: auto; - top: 100%; - left: 1em; - margin-left: -.07142857rem; - margin-top: .14285714rem -} - -[data-position="bottom right"][data-tooltip]:after { - right: 0; - top: 100%; - margin-top: .5em -} - -[data-position="bottom right"][data-tooltip]:before { - bottom: auto; - left: auto; - top: 100%; - right: 1em; - margin-left: -.14285714rem; - margin-top: .07142857rem -} - -[data-position="left center"][data-tooltip]:after { - right: 100%; - top: 50%; - margin-right: .5em; - -webkit-transform: translateY(-50%); - transform: translateY(-50%) -} - -[data-position="left center"][data-tooltip]:before { - right: 100%; - top: 50%; - margin-top: -.14285714rem; - margin-right: -.07142857rem -} - -[data-position="right center"][data-tooltip]:after { - left: 100%; - top: 50%; - margin-left: .5em; - -webkit-transform: translateY(-50%); - transform: translateY(-50%) -} - -[data-position="right center"][data-tooltip]:before { - left: 100%; - top: 50%; - margin-top: -.07142857rem; - margin-left: .14285714rem -} - -[data-position~=bottom][data-tooltip]:before { - background: #fff; - -webkit-box-shadow: -1px -1px 0 0 #bababc; - box-shadow: -1px -1px 0 0 #bababc -} - -[data-position="left center"][data-tooltip]:before { - background: #fff; - -webkit-box-shadow: 1px -1px 0 0 #bababc; - box-shadow: 1px -1px 0 0 #bababc -} - -[data-position="right center"][data-tooltip]:before { - background: #fff; - -webkit-box-shadow: -1px 1px 0 0 #bababc; - box-shadow: -1px 1px 0 0 #bababc -} - -[data-position~=top][data-tooltip]:before { - background: #fff -} - -[data-inverted][data-position~=bottom][data-tooltip]:before { - background: #1b1c1d; - -webkit-box-shadow: -1px -1px 0 0 #bababc; - box-shadow: -1px -1px 0 0 #bababc -} - -[data-inverted][data-position="left center"][data-tooltip]:before { - background: #1b1c1d; - -webkit-box-shadow: 1px -1px 0 0 #bababc; - box-shadow: 1px -1px 0 0 #bababc -} - -[data-inverted][data-position="right center"][data-tooltip]:before { - background: #1b1c1d; - -webkit-box-shadow: -1px 1px 0 0 #bababc; - box-shadow: -1px 1px 0 0 #bababc -} - -[data-inverted][data-position~=top][data-tooltip]:before { - background: #1b1c1d -} - -[data-position~=bottom][data-tooltip]:before { - -webkit-transform-origin: center bottom; - transform-origin: center bottom -} - -[data-position~=bottom][data-tooltip]:after { - -webkit-transform-origin: center top; - transform-origin: center top -} - -[data-position="left center"][data-tooltip]:before { - -webkit-transform-origin: top center; - transform-origin: top center -} - -[data-position="left center"][data-tooltip]:after { - -webkit-transform-origin: right center; - transform-origin: right center -} - -[data-position="right center"][data-tooltip]:before { - -webkit-transform-origin: right center; - transform-origin: right center -} - -[data-position="right center"][data-tooltip]:after { - -webkit-transform-origin: left center; - transform-origin: left center -} - -.ui.popup { - margin: 0 -} - -.ui.top.popup { - margin: 0 0 .71428571em -} - -.ui.top.left.popup { - -webkit-transform-origin: left bottom; - transform-origin: left bottom -} - -.ui.top.center.popup { - -webkit-transform-origin: center bottom; - transform-origin: center bottom -} - -.ui.top.right.popup { - -webkit-transform-origin: right bottom; - transform-origin: right bottom -} - -.ui.left.center.popup { - margin: 0 .71428571em 0 0; - -webkit-transform-origin: right 50%; - transform-origin: right 50% -} - -.ui.right.center.popup { - margin: 0 0 0 .71428571em; - -webkit-transform-origin: left 50%; - transform-origin: left 50% -} - -.ui.bottom.popup { - margin: .71428571em 0 0 -} - -.ui.bottom.left.popup { - -webkit-transform-origin: left top; - transform-origin: left top -} - -.ui.bottom.center.popup { - -webkit-transform-origin: center top; - transform-origin: center top -} - -.ui.bottom.right.popup { - -webkit-transform-origin: right top; - transform-origin: right top -} - -.ui.bottom.center.popup:before { - margin-left: -.30714286em; - top: -.30714286em; - left: 50%; - right: auto; - bottom: auto; - -webkit-box-shadow: -1px -1px 0 0 #bababc; - box-shadow: -1px -1px 0 0 #bababc -} - -.ui.bottom.left.popup { - margin-left: 0 -} - -.ui.bottom.left.popup:before { - top: -.30714286em; - left: 1em; - right: auto; - bottom: auto; - margin-left: 0; - -webkit-box-shadow: -1px -1px 0 0 #bababc; - box-shadow: -1px -1px 0 0 #bababc -} - -.ui.bottom.right.popup { - margin-right: 0 -} - -.ui.bottom.right.popup:before { - top: -.30714286em; - right: 1em; - bottom: auto; - left: auto; - margin-left: 0; - -webkit-box-shadow: -1px -1px 0 0 #bababc; - box-shadow: -1px -1px 0 0 #bababc -} - -.ui.top.center.popup:before { - top: auto; - right: auto; - bottom: -.30714286em; - left: 50%; - margin-left: -.30714286em -} - -.ui.top.left.popup { - margin-left: 0 -} - -.ui.top.left.popup:before { - bottom: -.30714286em; - left: 1em; - top: auto; - right: auto; - margin-left: 0 -} - -.ui.top.right.popup { - margin-right: 0 -} - -.ui.top.right.popup:before { - bottom: -.30714286em; - right: 1em; - top: auto; - left: auto; - margin-left: 0 -} - -.ui.left.center.popup:before { - top: 50%; - right: -.30714286em; - bottom: auto; - left: auto; - margin-top: -.30714286em; - -webkit-box-shadow: 1px -1px 0 0 #bababc; - box-shadow: 1px -1px 0 0 #bababc -} - -.ui.right.center.popup:before { - top: 50%; - left: -.30714286em; - bottom: auto; - right: auto; - margin-top: -.30714286em; - -webkit-box-shadow: -1px 1px 0 0 #bababc; - box-shadow: -1px 1px 0 0 #bababc -} - -.ui.bottom.popup:before { - background: #fff -} - -.ui.left.center.popup:before, .ui.right.center.popup:before { - background: #fff -} - -.ui.top.popup:before { - background: #fff -} - -.ui.inverted.bottom.popup:before { - background: #1b1c1d -} - -.ui.inverted.left.center.popup:before, .ui.inverted.right.center.popup:before { - background: #1b1c1d -} - -.ui.inverted.top.popup:before { - background: #1b1c1d -} - -.ui.popup > .ui.grid:not(.padded) { - width: calc(100% + 1.75rem); - margin: -.7rem -.875rem -} - -.ui.loading.popup { - display: block; - visibility: hidden; - z-index: -1 -} - -.ui.animating.popup, .ui.visible.popup { - display: block -} - -.ui.visible.popup { - -webkit-transform: translateZ(0); - transform: translateZ(0); - -webkit-backface-visibility: hidden; - backface-visibility: hidden -} - -.ui.basic.popup:before { - display: none -} - -.ui.wide.popup { - max-width: 350px -} - -.ui[class*="very wide"].popup { - max-width: 550px -} - -@media only screen and (max-width: 767px) { - .ui.wide.popup, .ui[class*="very wide"].popup { - max-width: 250px - } -} - -.ui.fluid.popup { - width: 100%; - max-width: none -} - -.ui.inverted.popup { - background: #1b1c1d; - color: #fff; - border: none; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.inverted.popup .header { - background-color: none; - color: #fff -} - -.ui.inverted.popup:before { - background-color: #1b1c1d; - -webkit-box-shadow: none !important; - box-shadow: none !important -} - -.ui.flowing.popup { - max-width: none -} - -.ui.mini.popup { - font-size: .78571429rem -} - -.ui.tiny.popup { - font-size: .85714286rem -} - -.ui.small.popup { - font-size: .92857143rem -} - -.ui.popup { - font-size: 1rem -} - -.ui.large.popup { - font-size: 1.14285714rem -} - -.ui.huge.popup { - font-size: 1.42857143rem -} - -/*! - * # Semantic UI 2.4.0 - Progress Bar - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.progress { - position: relative; - display: block; - max-width: 100%; - border: none; - margin: 1em 0 2.5em; - -webkit-box-shadow: none; - box-shadow: none; - background: rgba(0, 0, 0, .1); - padding: 0; - border-radius: .28571429rem -} - -.ui.progress:first-child { - margin: 0 0 2.5em -} - -.ui.progress:last-child { - margin: 0 0 1.5em -} - -.ui.progress .bar { - display: block; - line-height: 1; - position: relative; - width: 0%; - min-width: 2em; - background: #888; - border-radius: .28571429rem; - -webkit-transition: width .1s ease, background-color .1s ease; - transition: width .1s ease, background-color .1s ease -} - -.ui.progress .bar > .progress { - white-space: nowrap; - position: absolute; - width: auto; - font-size: .92857143em; - top: 50%; - right: .5em; - left: auto; - bottom: auto; - color: rgba(255, 255, 255, .7); - text-shadow: none; - margin-top: -.5em; - font-weight: 700; - text-align: left -} - -.ui.progress > .label { - position: absolute; - width: 100%; - font-size: 1em; - top: 100%; - right: auto; - left: 0; - bottom: auto; - color: rgba(0, 0, 0, .87); - font-weight: 700; - text-shadow: none; - margin-top: .2em; - text-align: center; - -webkit-transition: color .4s ease; - transition: color .4s ease -} - -.ui.indicating.progress[data-percent^="1"] .bar, .ui.indicating.progress[data-percent^="2"] .bar { - background-color: #d95c5c -} - -.ui.indicating.progress[data-percent^="3"] .bar { - background-color: #efbc72 -} - -.ui.indicating.progress[data-percent^="4"] .bar, .ui.indicating.progress[data-percent^="5"] .bar { - background-color: #e6bb48 -} - -.ui.indicating.progress[data-percent^="6"] .bar { - background-color: #ddc928 -} - -.ui.indicating.progress[data-percent^="7"] .bar, .ui.indicating.progress[data-percent^="8"] .bar { - background-color: #b4d95c -} - -.ui.indicating.progress[data-percent^="100"] .bar, .ui.indicating.progress[data-percent^="9"] .bar { - background-color: #66da81 -} - -.ui.indicating.progress[data-percent^="1"] .label, .ui.indicating.progress[data-percent^="2"] .label { - color: rgba(0, 0, 0, .87) -} - -.ui.indicating.progress[data-percent^="3"] .label { - color: rgba(0, 0, 0, .87) -} - -.ui.indicating.progress[data-percent^="4"] .label, .ui.indicating.progress[data-percent^="5"] .label { - color: rgba(0, 0, 0, .87) -} - -.ui.indicating.progress[data-percent^="6"] .label { - color: rgba(0, 0, 0, .87) -} - -.ui.indicating.progress[data-percent^="7"] .label, .ui.indicating.progress[data-percent^="8"] .label { - color: rgba(0, 0, 0, .87) -} - -.ui.indicating.progress[data-percent^="100"] .label, .ui.indicating.progress[data-percent^="9"] .label { - color: rgba(0, 0, 0, .87) -} - -.ui.indicating.progress[data-percent="1"] .bar, .ui.indicating.progress[data-percent="2"] .bar, .ui.indicating.progress[data-percent="3"] .bar, .ui.indicating.progress[data-percent="4"] .bar, .ui.indicating.progress[data-percent="5"] .bar, .ui.indicating.progress[data-percent="6"] .bar, .ui.indicating.progress[data-percent="7"] .bar, .ui.indicating.progress[data-percent="8"] .bar, .ui.indicating.progress[data-percent="9"] .bar { - background-color: #d95c5c -} - -.ui.indicating.progress[data-percent="1"] .label, .ui.indicating.progress[data-percent="2"] .label, .ui.indicating.progress[data-percent="3"] .label, .ui.indicating.progress[data-percent="4"] .label, .ui.indicating.progress[data-percent="5"] .label, .ui.indicating.progress[data-percent="6"] .label, .ui.indicating.progress[data-percent="7"] .label, .ui.indicating.progress[data-percent="8"] .label, .ui.indicating.progress[data-percent="9"] .label { - color: rgba(0, 0, 0, .87) -} - -.ui.indicating.progress.success .label { - color: #1a531b -} - -.ui.progress.success .bar { - background-color: #21ba45 !important -} - -.ui.progress.success .bar, .ui.progress.success .bar::after { - -webkit-animation: none !important; - animation: none !important -} - -.ui.progress.success > .label { - color: #1a531b -} - -.ui.progress.warning .bar { - background-color: #f2c037 !important -} - -.ui.progress.warning .bar, .ui.progress.warning .bar::after { - -webkit-animation: none !important; - animation: none !important -} - -.ui.progress.warning > .label { - color: #794b02 -} - -.ui.progress.error .bar { - background-color: #db2828 !important -} - -.ui.progress.error .bar, .ui.progress.error .bar::after { - -webkit-animation: none !important; - animation: none !important -} - -.ui.progress.error > .label { - color: #912d2b -} - -.ui.active.progress .bar { - position: relative; - min-width: 2em -} - -.ui.active.progress .bar::after { - content: ''; - opacity: 0; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: #fff; - border-radius: .28571429rem; - -webkit-animation: progress-active 2s ease infinite; - animation: progress-active 2s ease infinite -} - -@-webkit-keyframes progress-active { - 0% { - opacity: .3; - width: 0 - } - 100% { - opacity: 0; - width: 100% - } -} - -@keyframes progress-active { - 0% { - opacity: .3; - width: 0 - } - 100% { - opacity: 0; - width: 100% - } -} - -.ui.disabled.progress { - opacity: .35 -} - -.ui.disabled.progress .bar, .ui.disabled.progress .bar::after { - -webkit-animation: none !important; - animation: none !important -} - -.ui.inverted.progress { - background: rgba(255, 255, 255, .08); - border: none -} - -.ui.inverted.progress .bar { - background: #888 -} - -.ui.inverted.progress .bar > .progress { - color: #f9fafb -} - -.ui.inverted.progress > .label { - color: #fff -} - -.ui.inverted.progress.success > .label { - color: #21ba45 -} - -.ui.inverted.progress.warning > .label { - color: #f2c037 -} - -.ui.inverted.progress.error > .label { - color: #db2828 -} - -.ui.progress.attached { - background: 0 0; - position: relative; - border: none; - margin: 0 -} - -.ui.progress.attached, .ui.progress.attached .bar { - display: block; - height: .2rem; - padding: 0; - overflow: hidden; - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.progress.attached .bar { - border-radius: 0 -} - -.ui.progress.top.attached, .ui.progress.top.attached .bar { - top: 0; - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.progress.top.attached .bar { - border-radius: 0 -} - -.ui.card > .ui.attached.progress, .ui.segment > .ui.attached.progress { - position: absolute; - top: auto; - left: 0; - bottom: 100%; - width: 100% -} - -.ui.card > .ui.bottom.attached.progress, .ui.segment > .ui.bottom.attached.progress { - top: 100%; - bottom: auto -} - -.ui.red.progress .bar { - background-color: #db2828 -} - -.ui.red.inverted.progress .bar { - background-color: #ff695e -} - -.ui.orange.progress .bar { - background-color: #f2711c -} - -.ui.orange.inverted.progress .bar { - background-color: #ff851b -} - -.ui.yellow.progress .bar { - background-color: #fbbd08 -} - -.ui.yellow.inverted.progress .bar { - background-color: #ffe21f -} - -.ui.olive.progress .bar { - background-color: #b5cc18 -} - -.ui.olive.inverted.progress .bar { - background-color: #d9e778 -} - -.ui.green.progress .bar { - background-color: #21ba45 -} - -.ui.green.inverted.progress .bar { - background-color: #2ecc40 -} - -.ui.teal.progress .bar { - background-color: #00b5ad -} - -.ui.teal.inverted.progress .bar { - background-color: #6dffff -} - -.ui.blue.progress .bar { - background-color: #2185d0 -} - -.ui.blue.inverted.progress .bar { - background-color: #54c8ff -} - -.ui.violet.progress .bar { - background-color: #6435c9 -} - -.ui.violet.inverted.progress .bar { - background-color: #a291fb -} - -.ui.purple.progress .bar { - background-color: #a333c8 -} - -.ui.purple.inverted.progress .bar { - background-color: #dc73ff -} - -.ui.pink.progress .bar { - background-color: #e03997 -} - -.ui.pink.inverted.progress .bar { - background-color: #ff8edf -} - -.ui.brown.progress .bar { - background-color: #a5673f -} - -.ui.brown.inverted.progress .bar { - background-color: #d67c1c -} - -.ui.grey.progress .bar { - background-color: #767676 -} - -.ui.grey.inverted.progress .bar { - background-color: #dcddde -} - -.ui.black.progress .bar { - background-color: #1b1c1d -} - -.ui.black.inverted.progress .bar { - background-color: #545454 -} - -.ui.tiny.progress { - font-size: .85714286rem -} - -.ui.tiny.progress .bar { - height: .5em -} - -.ui.small.progress { - font-size: .92857143rem -} - -.ui.small.progress .bar { - height: 1em -} - -.ui.progress { - font-size: 1rem -} - -.ui.progress .bar { - height: 1.75em -} - -.ui.large.progress { - font-size: 1.14285714rem -} - -.ui.large.progress .bar { - height: 2.5em -} - -.ui.big.progress { - font-size: 1.28571429rem -} - -.ui.big.progress .bar { - height: 3.5em -} - -/*! - * # Semantic UI 2.4.0 - Rating - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.rating { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - white-space: nowrap; - vertical-align: baseline -} - -.ui.rating:last-child { - margin-right: 0 -} - -.ui.rating .icon { - padding: 0; - margin: 0; - text-align: center; - font-weight: 400; - font-style: normal; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - cursor: pointer; - width: 1.25em; - height: auto; - -webkit-transition: opacity .1s ease, background .1s ease, text-shadow .1s ease, color .1s ease; - transition: opacity .1s ease, background .1s ease, text-shadow .1s ease, color .1s ease -} - -.ui.rating .icon { - background: 0 0; - color: rgba(0, 0, 0, .15) -} - -.ui.rating .active.icon { - background: 0 0; - color: rgba(0, 0, 0, .85) -} - -.ui.rating .icon.selected, .ui.rating .icon.selected.active { - background: 0 0; - color: rgba(0, 0, 0, .87) -} - -.ui.star.rating .icon { - width: 1.25em; - height: auto; - background: 0 0; - color: rgba(0, 0, 0, .15); - text-shadow: none -} - -.ui.star.rating .active.icon { - background: 0 0 !important; - color: #ffe623 !important; - text-shadow: 0 -1px 0 #ddc507, -1px 0 0 #ddc507, 0 1px 0 #ddc507, 1px 0 0 #ddc507 !important -} - -.ui.star.rating .icon.selected, .ui.star.rating .icon.selected.active { - background: 0 0 !important; - color: #fc0 !important; - text-shadow: 0 -1px 0 #e6a200, -1px 0 0 #e6a200, 0 1px 0 #e6a200, 1px 0 0 #e6a200 !important -} - -.ui.heart.rating .icon { - width: 1.4em; - height: auto; - background: 0 0; - color: rgba(0, 0, 0, .15); - text-shadow: none !important -} - -.ui.heart.rating .active.icon { - background: 0 0 !important; - color: #ff6d75 !important; - text-shadow: 0 -1px 0 #cd0707, -1px 0 0 #cd0707, 0 1px 0 #cd0707, 1px 0 0 #cd0707 !important -} - -.ui.heart.rating .icon.selected, .ui.heart.rating .icon.selected.active { - background: 0 0 !important; - color: #ff3000 !important; - text-shadow: 0 -1px 0 #aa0101, -1px 0 0 #aa0101, 0 1px 0 #aa0101, 1px 0 0 #aa0101 !important -} - -.ui.disabled.rating .icon { - cursor: default -} - -.ui.rating.selected .active.icon { - opacity: 1 -} - -.ui.rating .icon.selected, .ui.rating.selected .icon.selected { - opacity: 1 -} - -.ui.mini.rating { - font-size: .78571429rem -} - -.ui.tiny.rating { - font-size: .85714286rem -} - -.ui.small.rating { - font-size: .92857143rem -} - -.ui.rating { - font-size: 1rem -} - -.ui.large.rating { - font-size: 1.14285714rem -} - -.ui.huge.rating { - font-size: 1.42857143rem -} - -.ui.massive.rating { - font-size: 2rem -} - -@font-face { - font-family: Rating; - src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff'); - font-weight: 400; - font-style: normal -} - -.ui.rating .icon { - font-family: Rating; - line-height: 1; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - font-weight: 400; - font-style: normal; - text-align: center -} - -.ui.rating .icon:before { - content: '\f005' -} - -.ui.rating .active.icon:before { - content: '\f005' -} - -.ui.star.rating .icon:before { - content: '\f005' -} - -.ui.star.rating .active.icon:before { - content: '\f005' -} - -.ui.star.rating .partial.icon:before { - content: '\f006' -} - -.ui.star.rating .partial.icon { - content: '\f005' -} - -.ui.heart.rating .icon:before { - content: '\f004' -} - -.ui.heart.rating .active.icon:before { - content: '\f004' -} - -/*! - * # Semantic UI 2.4.0 - Search - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.search { - position: relative -} - -.ui.search > .prompt { - margin: 0; - outline: 0; - -webkit-appearance: none; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); - text-shadow: none; - font-style: normal; - font-weight: 400; - line-height: 1.21428571em; - padding: .67857143em 1em; - font-size: 1em; - background: #fff; - border: 1px solid rgba(34, 36, 38, .15); - color: rgba(0, 0, 0, .87); - -webkit-box-shadow: 0 0 0 0 transparent inset; - box-shadow: 0 0 0 0 transparent inset; - -webkit-transition: background-color .1s ease, color .1s ease, border-color .1s ease, -webkit-box-shadow .1s ease; - transition: background-color .1s ease, color .1s ease, border-color .1s ease, -webkit-box-shadow .1s ease; - transition: background-color .1s ease, color .1s ease, box-shadow .1s ease, border-color .1s ease; - transition: background-color .1s ease, color .1s ease, box-shadow .1s ease, border-color .1s ease, -webkit-box-shadow .1s ease -} - -.ui.search .prompt { - border-radius: 500rem -} - -.ui.search .prompt ~ .search.icon { - cursor: pointer -} - -.ui.search > .results { - display: none; - position: absolute; - top: 100%; - left: 0; - -webkit-transform-origin: center top; - transform-origin: center top; - white-space: normal; - text-align: left; - text-transform: none; - background: #fff; - margin-top: .5em; - width: 18em; - border-radius: .28571429rem; - -webkit-box-shadow: 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15); - box-shadow: 0 2px 4px 0 rgba(34, 36, 38, .12), 0 2px 10px 0 rgba(34, 36, 38, .15); - border: 1px solid #d4d4d5; - z-index: 998 -} - -.ui.search > .results > :first-child { - border-radius: .28571429rem .28571429rem 0 0 -} - -.ui.search > .results > :last-child { - border-radius: 0 0 .28571429rem .28571429rem -} - -.ui.search > .results .result { - cursor: pointer; - display: block; - overflow: hidden; - font-size: 1em; - padding: .85714286em 1.14285714em; - color: rgba(0, 0, 0, .87); - line-height: 1.33; - border-bottom: 1px solid rgba(34, 36, 38, .1) -} - -.ui.search > .results .result:last-child { - border-bottom: none !important -} - -.ui.search > .results .result .image { - float: right; - overflow: hidden; - background: 0 0; - width: 5em; - height: 3em; - border-radius: .25em -} - -.ui.search > .results .result .image img { - display: block; - width: auto; - height: 100% -} - -.ui.search > .results .result .image + .content { - margin: 0 6em 0 0 -} - -.ui.search > .results .result .title { - margin: -.14285714em 0 0; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-weight: 700; - font-size: 1em; - color: rgba(0, 0, 0, .85) -} - -.ui.search > .results .result .description { - margin-top: 0; - font-size: .92857143em; - color: rgba(0, 0, 0, .4) -} - -.ui.search > .results .result .price { - float: right; - color: #21ba45 -} - -.ui.search > .results > .message { - padding: 1em 1em -} - -.ui.search > .results > .message .header { - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1rem; - font-weight: 700; - color: rgba(0, 0, 0, .87) -} - -.ui.search > .results > .message .description { - margin-top: .25rem; - font-size: 1em; - color: rgba(0, 0, 0, .87) -} - -.ui.search > .results > .action { - display: block; - border-top: none; - background: #f3f4f5; - padding: .92857143em 1em; - color: rgba(0, 0, 0, .87); - font-weight: 700; - text-align: center -} - -.ui.search > .prompt:focus { - border-color: rgba(34, 36, 38, .35); - background: #fff; - color: rgba(0, 0, 0, .95) -} - -.ui.loading.search .input > i.icon:before { - position: absolute; - content: ''; - top: 50%; - left: 50%; - margin: -.64285714em 0 0 -.64285714em; - width: 1.28571429em; - height: 1.28571429em; - border-radius: 500rem; - border: .2em solid rgba(0, 0, 0, .1) -} - -.ui.loading.search .input > i.icon:after { - position: absolute; - content: ''; - top: 50%; - left: 50%; - margin: -.64285714em 0 0 -.64285714em; - width: 1.28571429em; - height: 1.28571429em; - -webkit-animation: button-spin .6s linear; - animation: button-spin .6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - border-radius: 500rem; - border-color: #767676 transparent transparent; - border-style: solid; - border-width: .2em; - -webkit-box-shadow: 0 0 0 1px transparent; - box-shadow: 0 0 0 1px transparent -} - -.ui.category.search > .results .category .result:hover, .ui.search > .results .result:hover { - background: #f9fafb -} - -.ui.search .action:hover { - background: #e0e0e0 -} - -.ui.category.search > .results .category.active { - background: #f3f4f5 -} - -.ui.category.search > .results .category.active > .name { - color: rgba(0, 0, 0, .87) -} - -.ui.category.search > .results .category .result.active, .ui.search > .results .result.active { - position: relative; - border-left-color: rgba(34, 36, 38, .1); - background: #f3f4f5; - -webkit-box-shadow: none; - box-shadow: none -} - -.ui.search > .results .result.active .title { - color: rgba(0, 0, 0, .85) -} - -.ui.search > .results .result.active .description { - color: rgba(0, 0, 0, .85) -} - -.ui.disabled.search { - cursor: default; - pointer-events: none; - opacity: .45 -} - -.ui.search.selection .prompt { - border-radius: .28571429rem -} - -.ui.search.selection > .icon.input > .remove.icon { - pointer-events: none; - position: absolute; - left: auto; - opacity: 0; - color: ''; - top: 0; - right: 0; - -webkit-transition: color .1s ease, opacity .1s ease; - transition: color .1s ease, opacity .1s ease -} - -.ui.search.selection > .icon.input > .active.remove.icon { - cursor: pointer; - opacity: .8; - pointer-events: auto -} - -.ui.search.selection > .icon.input:not([class*="left icon"]) > .icon ~ .remove.icon { - right: 1.85714em -} - -.ui.search.selection > .icon.input > .remove.icon:hover { - opacity: 1; - color: #db2828 -} - -.ui.category.search .results { - width: 28em -} - -.ui.category.search .results.animating, .ui.category.search .results.visible { - display: table -} - -.ui.category.search > .results .category { - display: table-row; - background: #f3f4f5; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transition: background .1s ease, border-color .1s ease; - transition: background .1s ease, border-color .1s ease -} - -.ui.category.search > .results .category:last-child { - border-bottom: none -} - -.ui.category.search > .results .category:first-child .name + .result { - border-radius: 0 .28571429rem 0 0 -} - -.ui.category.search > .results .category:last-child .result:last-child { - border-radius: 0 0 .28571429rem 0 -} - -.ui.category.search > .results .category > .name { - display: table-cell; - text-overflow: ellipsis; - width: 100px; - white-space: nowrap; - background: 0 0; - font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1em; - padding: .4em 1em; - font-weight: 700; - color: rgba(0, 0, 0, .4); - border-bottom: 1px solid rgba(34, 36, 38, .1) -} - -.ui.category.search > .results .category .results { - display: table-cell; - background: #fff; - border-left: 1px solid rgba(34, 36, 38, .15); - border-bottom: 1px solid rgba(34, 36, 38, .1) -} - -.ui.category.search > .results .category .result { - border-bottom: 1px solid rgba(34, 36, 38, .1); - -webkit-transition: background .1s ease, border-color .1s ease; - transition: background .1s ease, border-color .1s ease; - padding: .85714286em 1.14285714em -} - -.ui[class*="left aligned"].search > .results { - right: auto; - left: 0 -} - -.ui[class*="right aligned"].search > .results { - right: 0; - left: auto -} - -.ui.fluid.search .results { - width: 100% -} - -.ui.mini.search { - font-size: .78571429em -} - -.ui.small.search { - font-size: .92857143em -} - -.ui.search { - font-size: 1em -} - -.ui.large.search { - font-size: 1.14285714em -} - -.ui.big.search { - font-size: 1.28571429em -} - -.ui.huge.search { - font-size: 1.42857143em -} - -.ui.massive.search { - font-size: 1.71428571em -} - -@media only screen and (max-width: 767px) { - .ui.search .results { - max-width: calc(100vw - 2rem) - } -} - -/*! - * # Semantic UI 2.4.0 - Shape - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.shape { - position: relative; - vertical-align: top; - display: inline-block; - -webkit-perspective: 2000px; - perspective: 2000px; - -webkit-transition: left .6s ease-in-out, width .6s ease-in-out, height .6s ease-in-out, -webkit-transform .6s ease-in-out; - transition: left .6s ease-in-out, width .6s ease-in-out, height .6s ease-in-out, -webkit-transform .6s ease-in-out; - transition: transform .6s ease-in-out, left .6s ease-in-out, width .6s ease-in-out, height .6s ease-in-out; - transition: transform .6s ease-in-out, left .6s ease-in-out, width .6s ease-in-out, height .6s ease-in-out, -webkit-transform .6s ease-in-out -} - -.ui.shape .sides { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d -} - -.ui.shape .side { - opacity: 1; - width: 100%; - margin: 0 !important; - -webkit-backface-visibility: hidden; - backface-visibility: hidden -} - -.ui.shape .side { - display: none -} - -.ui.shape .side * { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important -} - -.ui.cube.shape .side { - min-width: 15em; - height: 15em; - padding: 2em; - background-color: #e6e6e6; - color: rgba(0, 0, 0, .87); - -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .3); - box-shadow: 0 0 2px rgba(0, 0, 0, .3) -} - -.ui.cube.shape .side > .content { - width: 100%; - height: 100%; - display: table; - text-align: center; - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text -} - -.ui.cube.shape .side > .content > div { - display: table-cell; - vertical-align: middle; - font-size: 2em -} - -.ui.text.shape.animating .sides { - position: static -} - -.ui.text.shape .side { - white-space: nowrap -} - -.ui.text.shape .side > * { - white-space: normal -} - -.ui.loading.shape { - position: absolute; - top: -9999px; - left: -9999px -} - -.ui.shape .animating.side { - position: absolute; - top: 0; - left: 0; - display: block; - z-index: 100 -} - -.ui.shape .hidden.side { - opacity: .6 -} - -.ui.shape.animating .sides { - position: absolute -} - -.ui.shape.animating .sides { - -webkit-transition: left .6s ease-in-out, width .6s ease-in-out, height .6s ease-in-out, -webkit-transform .6s ease-in-out; - transition: left .6s ease-in-out, width .6s ease-in-out, height .6s ease-in-out, -webkit-transform .6s ease-in-out; - transition: transform .6s ease-in-out, left .6s ease-in-out, width .6s ease-in-out, height .6s ease-in-out; - transition: transform .6s ease-in-out, left .6s ease-in-out, width .6s ease-in-out, height .6s ease-in-out, -webkit-transform .6s ease-in-out -} - -.ui.shape.animating .side { - -webkit-transition: opacity .6s ease-in-out; - transition: opacity .6s ease-in-out -} - -.ui.shape .active.side { - display: block -} - -/*! - * # Semantic UI 2.4.0 - Sidebar - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.sidebar { - position: fixed; - top: 0; - left: 0; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition: none; - transition: none; - will-change: transform; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - visibility: hidden; - -webkit-overflow-scrolling: touch; - height: 100% !important; - max-height: 100%; - border-radius: 0 !important; - margin: 0 !important; - overflow-y: auto !important; - z-index: 102 -} - -.ui.sidebar > * { - -webkit-backface-visibility: hidden; - backface-visibility: hidden -} - -.ui.left.sidebar { - right: auto; - left: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) -} - -.ui.right.sidebar { - right: 0 !important; - left: auto !important; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) -} - -.ui.bottom.sidebar, .ui.top.sidebar { - width: 100% !important; - height: auto !important -} - -.ui.top.sidebar { - top: 0 !important; - bottom: auto !important; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0) -} - -.ui.bottom.sidebar { - top: auto !important; - bottom: 0 !important; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) -} - -.pushable { - height: 100%; - overflow-x: hidden; - padding: 0 !important -} - -body.pushable { - background: #545454 !important -} - -.pushable:not(body) { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.pushable:not(body) > .fixed, .pushable:not(body) > .pusher:after, .pushable:not(body) > .ui.sidebar { - position: absolute -} - -.pushable > .fixed { - position: fixed; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition: -webkit-transform .5s ease; - transition: -webkit-transform .5s ease; - transition: transform .5s ease; - transition: transform .5s ease, -webkit-transform .5s ease; - will-change: transform; - z-index: 101 -} - -.pushable > .pusher { - position: relative; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - overflow: hidden; - min-height: 100%; - -webkit-transition: -webkit-transform .5s ease; - transition: -webkit-transform .5s ease; - transition: transform .5s ease; - transition: transform .5s ease, -webkit-transform .5s ease; - z-index: 2 -} - -body.pushable > .pusher { - background: #fff -} - -.pushable > .pusher { - background: inherit -} - -.pushable > .pusher:after { - position: fixed; - top: 0; - right: 0; - content: ''; - background-color: rgba(0, 0, 0, .4); - overflow: hidden; - opacity: 0; - -webkit-transition: opacity .5s; - transition: opacity .5s; - will-change: opacity; - z-index: 1000 -} - -.ui.sidebar.menu .item { - border-radius: 0 !important -} - -.pushable > .pusher.dimmed:after { - width: 100% !important; - height: 100% !important; - opacity: 1 !important -} - -.ui.animating.sidebar { - visibility: visible -} - -.ui.visible.sidebar { - visibility: visible; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.ui.left.visible.sidebar, .ui.right.visible.sidebar { - -webkit-box-shadow: 0 0 20px rgba(34, 36, 38, .15); - box-shadow: 0 0 20px rgba(34, 36, 38, .15) -} - -.ui.bottom.visible.sidebar, .ui.top.visible.sidebar { - -webkit-box-shadow: 0 0 20px rgba(34, 36, 38, .15); - box-shadow: 0 0 20px rgba(34, 36, 38, .15) -} - -.ui.visible.left.sidebar ~ .fixed, .ui.visible.left.sidebar ~ .pusher { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0) -} - -.ui.visible.right.sidebar ~ .fixed, .ui.visible.right.sidebar ~ .pusher { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0) -} - -.ui.visible.top.sidebar ~ .fixed, .ui.visible.top.sidebar ~ .pusher { - -webkit-transform: translate3d(0, 36px, 0); - transform: translate3d(0, 36px, 0) -} - -.ui.visible.bottom.sidebar ~ .fixed, .ui.visible.bottom.sidebar ~ .pusher { - -webkit-transform: translate3d(0, -36px, 0); - transform: translate3d(0, -36px, 0) -} - -.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed, .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher, .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed, .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.ui.thin.left.sidebar, .ui.thin.right.sidebar { - width: 150px -} - -.ui[class*="very thin"].left.sidebar, .ui[class*="very thin"].right.sidebar { - width: 60px -} - -.ui.left.sidebar, .ui.right.sidebar { - width: 260px -} - -.ui.wide.left.sidebar, .ui.wide.right.sidebar { - width: 350px -} - -.ui[class*="very wide"].left.sidebar, .ui[class*="very wide"].right.sidebar { - width: 475px -} - -.ui.visible.thin.left.sidebar ~ .fixed, .ui.visible.thin.left.sidebar ~ .pusher { - -webkit-transform: translate3d(150px, 0, 0); - transform: translate3d(150px, 0, 0) -} - -.ui.visible[class*="very thin"].left.sidebar ~ .fixed, .ui.visible[class*="very thin"].left.sidebar ~ .pusher { - -webkit-transform: translate3d(60px, 0, 0); - transform: translate3d(60px, 0, 0) -} - -.ui.visible.wide.left.sidebar ~ .fixed, .ui.visible.wide.left.sidebar ~ .pusher { - -webkit-transform: translate3d(350px, 0, 0); - transform: translate3d(350px, 0, 0) -} - -.ui.visible[class*="very wide"].left.sidebar ~ .fixed, .ui.visible[class*="very wide"].left.sidebar ~ .pusher { - -webkit-transform: translate3d(475px, 0, 0); - transform: translate3d(475px, 0, 0) -} - -.ui.visible.thin.right.sidebar ~ .fixed, .ui.visible.thin.right.sidebar ~ .pusher { - -webkit-transform: translate3d(-150px, 0, 0); - transform: translate3d(-150px, 0, 0) -} - -.ui.visible[class*="very thin"].right.sidebar ~ .fixed, .ui.visible[class*="very thin"].right.sidebar ~ .pusher { - -webkit-transform: translate3d(-60px, 0, 0); - transform: translate3d(-60px, 0, 0) -} - -.ui.visible.wide.right.sidebar ~ .fixed, .ui.visible.wide.right.sidebar ~ .pusher { - -webkit-transform: translate3d(-350px, 0, 0); - transform: translate3d(-350px, 0, 0) -} - -.ui.visible[class*="very wide"].right.sidebar ~ .fixed, .ui.visible[class*="very wide"].right.sidebar ~ .pusher { - -webkit-transform: translate3d(-475px, 0, 0); - transform: translate3d(-475px, 0, 0) -} - -.ui.overlay.sidebar { - z-index: 102 -} - -.ui.left.overlay.sidebar { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) -} - -.ui.right.overlay.sidebar { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) -} - -.ui.top.overlay.sidebar { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0) -} - -.ui.bottom.overlay.sidebar { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) -} - -.animating.ui.overlay.sidebar, .ui.visible.overlay.sidebar { - -webkit-transition: -webkit-transform .5s ease; - transition: -webkit-transform .5s ease; - transition: transform .5s ease; - transition: transform .5s ease, -webkit-transform .5s ease -} - -.ui.visible.left.overlay.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.ui.visible.right.overlay.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.ui.visible.top.overlay.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.ui.visible.bottom.overlay.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.ui.visible.overlay.sidebar ~ .fixed, .ui.visible.overlay.sidebar ~ .pusher { - -webkit-transform: none !important; - transform: none !important -} - -.ui.push.sidebar { - -webkit-transition: -webkit-transform .5s ease; - transition: -webkit-transform .5s ease; - transition: transform .5s ease; - transition: transform .5s ease, -webkit-transform .5s ease; - z-index: 102 -} - -.ui.left.push.sidebar { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) -} - -.ui.right.push.sidebar { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) -} - -.ui.top.push.sidebar { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0) -} - -.ui.bottom.push.sidebar { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) -} - -.ui.visible.push.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.ui.uncover.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - z-index: 1 -} - -.ui.visible.uncover.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition: -webkit-transform .5s ease; - transition: -webkit-transform .5s ease; - transition: transform .5s ease; - transition: transform .5s ease, -webkit-transform .5s ease -} - -.ui.slide.along.sidebar { - z-index: 1 -} - -.ui.left.slide.along.sidebar { - -webkit-transform: translate3d(-50%, 0, 0); - transform: translate3d(-50%, 0, 0) -} - -.ui.right.slide.along.sidebar { - -webkit-transform: translate3d(50%, 0, 0); - transform: translate3d(50%, 0, 0) -} - -.ui.top.slide.along.sidebar { - -webkit-transform: translate3d(0, -50%, 0); - transform: translate3d(0, -50%, 0) -} - -.ui.bottom.slide.along.sidebar { - -webkit-transform: translate3d(0, 50%, 0); - transform: translate3d(0, 50%, 0) -} - -.ui.animating.slide.along.sidebar { - -webkit-transition: -webkit-transform .5s ease; - transition: -webkit-transform .5s ease; - transition: transform .5s ease; - transition: transform .5s ease, -webkit-transform .5s ease -} - -.ui.visible.slide.along.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.ui.slide.out.sidebar { - z-index: 1 -} - -.ui.left.slide.out.sidebar { - -webkit-transform: translate3d(50%, 0, 0); - transform: translate3d(50%, 0, 0) -} - -.ui.right.slide.out.sidebar { - -webkit-transform: translate3d(-50%, 0, 0); - transform: translate3d(-50%, 0, 0) -} - -.ui.top.slide.out.sidebar { - -webkit-transform: translate3d(0, 50%, 0); - transform: translate3d(0, 50%, 0) -} - -.ui.bottom.slide.out.sidebar { - -webkit-transform: translate3d(0, -50%, 0); - transform: translate3d(0, -50%, 0) -} - -.ui.animating.slide.out.sidebar { - -webkit-transition: -webkit-transform .5s ease; - transition: -webkit-transform .5s ease; - transition: transform .5s ease; - transition: transform .5s ease, -webkit-transform .5s ease -} - -.ui.visible.slide.out.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.ui.scale.down.sidebar { - -webkit-transition: -webkit-transform .5s ease; - transition: -webkit-transform .5s ease; - transition: transform .5s ease; - transition: transform .5s ease, -webkit-transform .5s ease; - z-index: 102 -} - -.ui.left.scale.down.sidebar { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0) -} - -.ui.right.scale.down.sidebar { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0) -} - -.ui.top.scale.down.sidebar { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0) -} - -.ui.bottom.scale.down.sidebar { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0) -} - -.ui.scale.down.left.sidebar ~ .pusher { - -webkit-transform-origin: 75% 50%; - transform-origin: 75% 50% -} - -.ui.scale.down.right.sidebar ~ .pusher { - -webkit-transform-origin: 25% 50%; - transform-origin: 25% 50% -} - -.ui.scale.down.top.sidebar ~ .pusher { - -webkit-transform-origin: 50% 75%; - transform-origin: 50% 75% -} - -.ui.scale.down.bottom.sidebar ~ .pusher { - -webkit-transform-origin: 50% 25%; - transform-origin: 50% 25% -} - -.ui.animating.scale.down > .visible.ui.sidebar { - -webkit-transition: -webkit-transform .5s ease; - transition: -webkit-transform .5s ease; - transition: transform .5s ease; - transition: transform .5s ease, -webkit-transform .5s ease -} - -.ui.animating.scale.down.sidebar ~ .pusher, .ui.visible.scale.down.sidebar ~ .pusher { - display: block !important; - width: 100%; - height: 100%; - overflow: hidden !important -} - -.ui.visible.scale.down.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) -} - -.ui.visible.scale.down.sidebar ~ .pusher { - -webkit-transform: scale(.75); - transform: scale(.75) -} - -/*! - * # Semantic UI 2.4.0 - Sticky - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.sticky { - position: static; - -webkit-transition: none; - transition: none; - z-index: 800 -} - -.ui.sticky.bound { - position: absolute; - left: auto; - right: auto -} - -.ui.sticky.fixed { - position: fixed; - left: auto; - right: auto -} - -.ui.sticky.bound.top, .ui.sticky.fixed.top { - top: 0; - bottom: auto -} - -.ui.sticky.bound.bottom, .ui.sticky.fixed.bottom { - top: auto; - bottom: 0 -} - -.ui.native.sticky { - position: -webkit-sticky; - position: -moz-sticky; - position: -ms-sticky; - position: -o-sticky; - position: sticky -} - -/*! - * # Semantic UI 2.4.0 - Tab - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.ui.tab { - display: none -} - -.ui.tab.active, .ui.tab.open { - display: block -} - -.ui.tab.loading { - position: relative; - overflow: hidden; - display: block; - min-height: 250px -} - -.ui.tab.loading * { - position: relative !important; - left: -10000px !important -} - -.ui.tab.loading.segment:before, .ui.tab.loading:before { - position: absolute; - content: ''; - top: 100px; - left: 50%; - margin: -1.25em 0 0 -1.25em; - width: 2.5em; - height: 2.5em; - border-radius: 500rem; - border: .2em solid rgba(0, 0, 0, .1) -} - -.ui.tab.loading.segment:after, .ui.tab.loading:after { - position: absolute; - content: ''; - top: 100px; - left: 50%; - margin: -1.25em 0 0 -1.25em; - width: 2.5em; - height: 2.5em; - -webkit-animation: button-spin .6s linear; - animation: button-spin .6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - border-radius: 500rem; - border-color: #767676 transparent transparent; - border-style: solid; - border-width: .2em; - -webkit-box-shadow: 0 0 0 1px transparent; - box-shadow: 0 0 0 1px transparent -} - -/*! - * # Semantic UI 2.4.0 - Transition - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ -.transition { - -webkit-animation-iteration-count: 1; - animation-iteration-count: 1; - -webkit-animation-duration: .3s; - animation-duration: .3s; - -webkit-animation-timing-function: ease; - animation-timing-function: ease; - -webkit-animation-fill-mode: both; - animation-fill-mode: both -} - -.animating.transition { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - visibility: visible !important -} - -.loading.transition { - position: absolute; - top: -99999px; - left: -99999px -} - -.hidden.transition { - display: none; - visibility: hidden -} - -.visible.transition { - display: block !important; - visibility: visible !important -} - -.disabled.transition { - -webkit-animation-play-state: paused; - animation-play-state: paused -} - -.looping.transition { - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite -} - -.transition.browse { - -webkit-animation-duration: .5s; - animation-duration: .5s -} - -.transition.browse.in { - -webkit-animation-name: browseIn; - animation-name: browseIn -} - -.transition.browse.left.out, .transition.browse.out { - -webkit-animation-name: browseOutLeft; - animation-name: browseOutLeft -} - -.transition.browse.right.out { - -webkit-animation-name: browseOutRight; - animation-name: browseOutRight -} - -@-webkit-keyframes browseIn { - 0% { - -webkit-transform: scale(.8) translateZ(0); - transform: scale(.8) translateZ(0); - z-index: -1 - } - 10% { - -webkit-transform: scale(.8) translateZ(0); - transform: scale(.8) translateZ(0); - z-index: -1; - opacity: .7 - } - 80% { - -webkit-transform: scale(1.05) translateZ(0); - transform: scale(1.05) translateZ(0); - opacity: 1; - z-index: 999 - } - 100% { - -webkit-transform: scale(1) translateZ(0); - transform: scale(1) translateZ(0); - z-index: 999 - } -} - -@keyframes browseIn { - 0% { - -webkit-transform: scale(.8) translateZ(0); - transform: scale(.8) translateZ(0); - z-index: -1 - } - 10% { - -webkit-transform: scale(.8) translateZ(0); - transform: scale(.8) translateZ(0); - z-index: -1; - opacity: .7 - } - 80% { - -webkit-transform: scale(1.05) translateZ(0); - transform: scale(1.05) translateZ(0); - opacity: 1; - z-index: 999 - } - 100% { - -webkit-transform: scale(1) translateZ(0); - transform: scale(1) translateZ(0); - z-index: 999 - } -} - -@-webkit-keyframes browseOutLeft { - 0% { - z-index: 999; - -webkit-transform: translateX(0) rotateY(0) rotateX(0); - transform: translateX(0) rotateY(0) rotateX(0) - } - 50% { - z-index: -1; - -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px) - } - 80% { - opacity: 1 - } - 100% { - z-index: -1; - -webkit-transform: translateX(0) rotateY(0) rotateX(0) translateZ(-10px); - transform: translateX(0) rotateY(0) rotateX(0) translateZ(-10px); - opacity: 0 - } -} - -@keyframes browseOutLeft { - 0% { - z-index: 999; - -webkit-transform: translateX(0) rotateY(0) rotateX(0); - transform: translateX(0) rotateY(0) rotateX(0) - } - 50% { - z-index: -1; - -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px) - } - 80% { - opacity: 1 - } - 100% { - z-index: -1; - -webkit-transform: translateX(0) rotateY(0) rotateX(0) translateZ(-10px); - transform: translateX(0) rotateY(0) rotateX(0) translateZ(-10px); - opacity: 0 - } -} - -@-webkit-keyframes browseOutRight { - 0% { - z-index: 999; - -webkit-transform: translateX(0) rotateY(0) rotateX(0); - transform: translateX(0) rotateY(0) rotateX(0) - } - 50% { - z-index: 1; - -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px) - } - 80% { - opacity: 1 - } - 100% { - z-index: 1; - -webkit-transform: translateX(0) rotateY(0) rotateX(0) translateZ(-10px); - transform: translateX(0) rotateY(0) rotateX(0) translateZ(-10px); - opacity: 0 - } -} - -@keyframes browseOutRight { - 0% { - z-index: 999; - -webkit-transform: translateX(0) rotateY(0) rotateX(0); - transform: translateX(0) rotateY(0) rotateX(0) - } - 50% { - z-index: 1; - -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px) - } - 80% { - opacity: 1 - } - 100% { - z-index: 1; - -webkit-transform: translateX(0) rotateY(0) rotateX(0) translateZ(-10px); - transform: translateX(0) rotateY(0) rotateX(0) translateZ(-10px); - opacity: 0 - } -} - -.drop.transition { - -webkit-transform-origin: top center; - transform-origin: top center; - -webkit-animation-duration: .4s; - animation-duration: .4s; - -webkit-animation-timing-function: cubic-bezier(.34, 1.61, .7, 1); - animation-timing-function: cubic-bezier(.34, 1.61, .7, 1) -} - -.drop.transition.in { - -webkit-animation-name: dropIn; - animation-name: dropIn -} - -.drop.transition.out { - -webkit-animation-name: dropOut; - animation-name: dropOut -} - -@-webkit-keyframes dropIn { - 0% { - opacity: 0; - -webkit-transform: scale(0); - transform: scale(0) - } - 100% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } -} - -@keyframes dropIn { - 0% { - opacity: 0; - -webkit-transform: scale(0); - transform: scale(0) - } - 100% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } -} - -@-webkit-keyframes dropOut { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } - 100% { - opacity: 0; - -webkit-transform: scale(0); - transform: scale(0) - } -} - -@keyframes dropOut { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } - 100% { - opacity: 0; - -webkit-transform: scale(0); - transform: scale(0) - } -} - -.transition.fade.in { - -webkit-animation-name: fadeIn; - animation-name: fadeIn -} - -.transition[class*="fade up"].in { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp -} - -.transition[class*="fade down"].in { - -webkit-animation-name: fadeInDown; - animation-name: fadeInDown -} - -.transition[class*="fade left"].in { - -webkit-animation-name: fadeInLeft; - animation-name: fadeInLeft -} - -.transition[class*="fade right"].in { - -webkit-animation-name: fadeInRight; - animation-name: fadeInRight -} - -.transition.fade.out { - -webkit-animation-name: fadeOut; - animation-name: fadeOut -} - -.transition[class*="fade up"].out { - -webkit-animation-name: fadeOutUp; - animation-name: fadeOutUp -} - -.transition[class*="fade down"].out { - -webkit-animation-name: fadeOutDown; - animation-name: fadeOutDown -} - -.transition[class*="fade left"].out { - -webkit-animation-name: fadeOutLeft; - animation-name: fadeOutLeft -} - -.transition[class*="fade right"].out { - -webkit-animation-name: fadeOutRight; - animation-name: fadeOutRight -} - -@-webkit-keyframes fadeIn { - 0% { - opacity: 0 - } - 100% { - opacity: 1 - } -} - -@keyframes fadeIn { - 0% { - opacity: 0 - } - 100% { - opacity: 1 - } -} - -@-webkit-keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translateY(10%); - transform: translateY(10%) - } - 100% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0) - } -} - -@keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translateY(10%); - transform: translateY(10%) - } - 100% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0) - } -} - -@-webkit-keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translateY(-10%); - transform: translateY(-10%) - } - 100% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0) - } -} - -@keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translateY(-10%); - transform: translateY(-10%) - } - 100% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0) - } -} - -@-webkit-keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translateX(10%); - transform: translateX(10%) - } - 100% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0) - } -} - -@keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translateX(10%); - transform: translateX(10%) - } - 100% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0) - } -} - -@-webkit-keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translateX(-10%); - transform: translateX(-10%) - } - 100% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0) - } -} - -@keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translateX(-10%); - transform: translateX(-10%) - } - 100% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0) - } -} - -@-webkit-keyframes fadeOut { - 0% { - opacity: 1 - } - 100% { - opacity: 0 - } -} - -@keyframes fadeOut { - 0% { - opacity: 1 - } - 100% { - opacity: 0 - } -} - -@-webkit-keyframes fadeOutUp { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0) - } - 100% { - opacity: 0; - -webkit-transform: translateY(5%); - transform: translateY(5%) - } -} - -@keyframes fadeOutUp { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0) - } - 100% { - opacity: 0; - -webkit-transform: translateY(5%); - transform: translateY(5%) - } -} - -@-webkit-keyframes fadeOutDown { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0) - } - 100% { - opacity: 0; - -webkit-transform: translateY(-5%); - transform: translateY(-5%) - } -} - -@keyframes fadeOutDown { - 0% { - opacity: 1; - -webkit-transform: translateY(0); - transform: translateY(0) - } - 100% { - opacity: 0; - -webkit-transform: translateY(-5%); - transform: translateY(-5%) - } -} - -@-webkit-keyframes fadeOutLeft { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0) - } - 100% { - opacity: 0; - -webkit-transform: translateX(5%); - transform: translateX(5%) - } -} - -@keyframes fadeOutLeft { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0) - } - 100% { - opacity: 0; - -webkit-transform: translateX(5%); - transform: translateX(5%) - } -} - -@-webkit-keyframes fadeOutRight { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0) - } - 100% { - opacity: 0; - -webkit-transform: translateX(-5%); - transform: translateX(-5%) - } -} - -@keyframes fadeOutRight { - 0% { - opacity: 1; - -webkit-transform: translateX(0); - transform: translateX(0) - } - 100% { - opacity: 0; - -webkit-transform: translateX(-5%); - transform: translateX(-5%) - } -} - -.flip.transition.in, .flip.transition.out { - -webkit-animation-duration: .6s; - animation-duration: .6s -} - -.horizontal.flip.transition.in { - -webkit-animation-name: horizontalFlipIn; - animation-name: horizontalFlipIn -} - -.horizontal.flip.transition.out { - -webkit-animation-name: horizontalFlipOut; - animation-name: horizontalFlipOut -} - -.vertical.flip.transition.in { - -webkit-animation-name: verticalFlipIn; - animation-name: verticalFlipIn -} - -.vertical.flip.transition.out { - -webkit-animation-name: verticalFlipOut; - animation-name: verticalFlipOut -} - -@-webkit-keyframes horizontalFlipIn { - 0% { - -webkit-transform: perspective(2000px) rotateY(-90deg); - transform: perspective(2000px) rotateY(-90deg); - opacity: 0 - } - 100% { - -webkit-transform: perspective(2000px) rotateY(0); - transform: perspective(2000px) rotateY(0); - opacity: 1 - } -} - -@keyframes horizontalFlipIn { - 0% { - -webkit-transform: perspective(2000px) rotateY(-90deg); - transform: perspective(2000px) rotateY(-90deg); - opacity: 0 - } - 100% { - -webkit-transform: perspective(2000px) rotateY(0); - transform: perspective(2000px) rotateY(0); - opacity: 1 - } -} - -@-webkit-keyframes verticalFlipIn { - 0% { - -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); - opacity: 0 - } - 100% { - -webkit-transform: perspective(2000px) rotateX(0); - transform: perspective(2000px) rotateX(0); - opacity: 1 - } -} - -@keyframes verticalFlipIn { - 0% { - -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); - opacity: 0 - } - 100% { - -webkit-transform: perspective(2000px) rotateX(0); - transform: perspective(2000px) rotateX(0); - opacity: 1 - } -} - -@-webkit-keyframes horizontalFlipOut { - 0% { - -webkit-transform: perspective(2000px) rotateY(0); - transform: perspective(2000px) rotateY(0); - opacity: 1 - } - 100% { - -webkit-transform: perspective(2000px) rotateY(90deg); - transform: perspective(2000px) rotateY(90deg); - opacity: 0 - } -} - -@keyframes horizontalFlipOut { - 0% { - -webkit-transform: perspective(2000px) rotateY(0); - transform: perspective(2000px) rotateY(0); - opacity: 1 - } - 100% { - -webkit-transform: perspective(2000px) rotateY(90deg); - transform: perspective(2000px) rotateY(90deg); - opacity: 0 - } -} - -@-webkit-keyframes verticalFlipOut { - 0% { - -webkit-transform: perspective(2000px) rotateX(0); - transform: perspective(2000px) rotateX(0); - opacity: 1 - } - 100% { - -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); - opacity: 0 - } -} - -@keyframes verticalFlipOut { - 0% { - -webkit-transform: perspective(2000px) rotateX(0); - transform: perspective(2000px) rotateX(0); - opacity: 1 - } - 100% { - -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); - opacity: 0 - } -} - -.scale.transition.in { - -webkit-animation-name: scaleIn; - animation-name: scaleIn -} - -.scale.transition.out { - -webkit-animation-name: scaleOut; - animation-name: scaleOut -} - -@-webkit-keyframes scaleIn { - 0% { - opacity: 0; - -webkit-transform: scale(.8); - transform: scale(.8) - } - 100% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } -} - -@keyframes scaleIn { - 0% { - opacity: 0; - -webkit-transform: scale(.8); - transform: scale(.8) - } - 100% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } -} - -@-webkit-keyframes scaleOut { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } - 100% { - opacity: 0; - -webkit-transform: scale(.9); - transform: scale(.9) - } -} - -@keyframes scaleOut { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } - 100% { - opacity: 0; - -webkit-transform: scale(.9); - transform: scale(.9) - } -} - -.transition.fly { - -webkit-animation-duration: .6s; - animation-duration: .6s; - -webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1); - transition-timing-function: cubic-bezier(.215, .61, .355, 1) -} - -.transition.fly.in { - -webkit-animation-name: flyIn; - animation-name: flyIn -} - -.transition[class*="fly up"].in { - -webkit-animation-name: flyInUp; - animation-name: flyInUp -} - -.transition[class*="fly down"].in { - -webkit-animation-name: flyInDown; - animation-name: flyInDown -} - -.transition[class*="fly left"].in { - -webkit-animation-name: flyInLeft; - animation-name: flyInLeft -} - -.transition[class*="fly right"].in { - -webkit-animation-name: flyInRight; - animation-name: flyInRight -} - -.transition.fly.out { - -webkit-animation-name: flyOut; - animation-name: flyOut -} - -.transition[class*="fly up"].out { - -webkit-animation-name: flyOutUp; - animation-name: flyOutUp -} - -.transition[class*="fly down"].out { - -webkit-animation-name: flyOutDown; - animation-name: flyOutDown -} - -.transition[class*="fly left"].out { - -webkit-animation-name: flyOutLeft; - animation-name: flyOutLeft -} - -.transition[class*="fly right"].out { - -webkit-animation-name: flyOutRight; - animation-name: flyOutRight -} - -@-webkit-keyframes flyIn { - 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) - } - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1) - } -} - -@keyframes flyIn { - 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) - } - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1) - } -} - -@-webkit-keyframes flyInUp { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 1500px, 0); - transform: translate3d(0, 1500px, 0) - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0) - } - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0) - } - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0) - } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) - } -} - -@keyframes flyInUp { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 1500px, 0); - transform: translate3d(0, 1500px, 0) - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0) - } - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0) - } - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0) - } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0) - } -} - -@-webkit-keyframes flyInDown { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -1500px, 0); - transform: translate3d(0, -1500px, 0) - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0) - } - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0) - } - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0) - } - 100% { - -webkit-transform: none; - transform: none - } -} - -@keyframes flyInDown { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -1500px, 0); - transform: translate3d(0, -1500px, 0) - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0) - } - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0) - } - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0) - } - 100% { - -webkit-transform: none; - transform: none - } -} - -@-webkit-keyframes flyInLeft { - 0% { - opacity: 0; - -webkit-transform: translate3d(1500px, 0, 0); - transform: translate3d(1500px, 0, 0) - } - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0) - } - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0) - } - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0) - } - 100% { - -webkit-transform: none; - transform: none - } -} - -@keyframes flyInLeft { - 0% { - opacity: 0; - -webkit-transform: translate3d(1500px, 0, 0); - transform: translate3d(1500px, 0, 0) - } - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0) - } - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0) - } - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0) - } - 100% { - -webkit-transform: none; - transform: none - } -} - -@-webkit-keyframes flyInRight { - 0% { - opacity: 0; - -webkit-transform: translate3d(-1500px, 0, 0); - transform: translate3d(-1500px, 0, 0) - } - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0) - } - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0) - } - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0) - } - 100% { - -webkit-transform: none; - transform: none - } -} - -@keyframes flyInRight { - 0% { - opacity: 0; - -webkit-transform: translate3d(-1500px, 0, 0); - transform: translate3d(-1500px, 0, 0) - } - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0) - } - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0) - } - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0) - } - 100% { - -webkit-transform: none; - transform: none - } -} - -@-webkit-keyframes flyOut { - 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) - } - 100% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3) - } -} - -@keyframes flyOut { - 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) - } - 100% { - opacity: 0; - -webkit-transform: scale3d(.3, .3, .3); - transform: scale3d(.3, .3, .3) - } -} - -@-webkit-keyframes flyOutUp { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0) - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0) - } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0) - } -} - -@keyframes flyOutUp { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0) - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0) - } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0) - } -} - -@-webkit-keyframes flyOutDown { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0) - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0) - } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0) - } -} - -@keyframes flyOutDown { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0) - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0) - } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0) - } -} - -@-webkit-keyframes flyOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0) - } - 100% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0) - } -} - -@keyframes flyOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0) - } - 100% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0) - } -} - -@-webkit-keyframes flyOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0) - } - 100% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0) - } -} - -@keyframes flyOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0) - } - 100% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0) - } -} - -.transition.slide.in, .transition[class*="slide down"].in { - -webkit-animation-name: slideInY; - animation-name: slideInY; - -webkit-transform-origin: top center; - transform-origin: top center -} - -.transition[class*="slide up"].in { - -webkit-animation-name: slideInY; - animation-name: slideInY; - -webkit-transform-origin: bottom center; - transform-origin: bottom center -} - -.transition[class*="slide left"].in { - -webkit-animation-name: slideInX; - animation-name: slideInX; - -webkit-transform-origin: center right; - transform-origin: center right -} - -.transition[class*="slide right"].in { - -webkit-animation-name: slideInX; - animation-name: slideInX; - -webkit-transform-origin: center left; - transform-origin: center left -} - -.transition.slide.out, .transition[class*="slide down"].out { - -webkit-animation-name: slideOutY; - animation-name: slideOutY; - -webkit-transform-origin: top center; - transform-origin: top center -} - -.transition[class*="slide up"].out { - -webkit-animation-name: slideOutY; - animation-name: slideOutY; - -webkit-transform-origin: bottom center; - transform-origin: bottom center -} - -.transition[class*="slide left"].out { - -webkit-animation-name: slideOutX; - animation-name: slideOutX; - -webkit-transform-origin: center right; - transform-origin: center right -} - -.transition[class*="slide right"].out { - -webkit-animation-name: slideOutX; - animation-name: slideOutX; - -webkit-transform-origin: center left; - transform-origin: center left -} - -@-webkit-keyframes slideInY { - 0% { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0) - } - 100% { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1) - } -} - -@keyframes slideInY { - 0% { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0) - } - 100% { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1) - } -} - -@-webkit-keyframes slideInX { - 0% { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0) - } - 100% { - opacity: 1; - -webkit-transform: scaleX(1); - transform: scaleX(1) - } -} - -@keyframes slideInX { - 0% { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0) - } - 100% { - opacity: 1; - -webkit-transform: scaleX(1); - transform: scaleX(1) - } -} - -@-webkit-keyframes slideOutY { - 0% { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1) - } - 100% { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0) - } -} - -@keyframes slideOutY { - 0% { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1) - } - 100% { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0) - } -} - -@-webkit-keyframes slideOutX { - 0% { - opacity: 1; - -webkit-transform: scaleX(1); - transform: scaleX(1) - } - 100% { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0) - } -} - -@keyframes slideOutX { - 0% { - opacity: 1; - -webkit-transform: scaleX(1); - transform: scaleX(1) - } - 100% { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0) - } -} - -.transition.swing { - -webkit-animation-duration: .8s; - animation-duration: .8s -} - -.transition[class*="swing down"].in { - -webkit-animation-name: swingInX; - animation-name: swingInX; - -webkit-transform-origin: top center; - transform-origin: top center -} - -.transition[class*="swing up"].in { - -webkit-animation-name: swingInX; - animation-name: swingInX; - -webkit-transform-origin: bottom center; - transform-origin: bottom center -} - -.transition[class*="swing left"].in { - -webkit-animation-name: swingInY; - animation-name: swingInY; - -webkit-transform-origin: center right; - transform-origin: center right -} - -.transition[class*="swing right"].in { - -webkit-animation-name: swingInY; - animation-name: swingInY; - -webkit-transform-origin: center left; - transform-origin: center left -} - -.transition.swing.out, .transition[class*="swing down"].out { - -webkit-animation-name: swingOutX; - animation-name: swingOutX; - -webkit-transform-origin: top center; - transform-origin: top center -} - -.transition[class*="swing up"].out { - -webkit-animation-name: swingOutX; - animation-name: swingOutX; - -webkit-transform-origin: bottom center; - transform-origin: bottom center -} - -.transition[class*="swing left"].out { - -webkit-animation-name: swingOutY; - animation-name: swingOutY; - -webkit-transform-origin: center right; - transform-origin: center right -} - -.transition[class*="swing right"].out { - -webkit-animation-name: swingOutY; - animation-name: swingOutY; - -webkit-transform-origin: center left; - transform-origin: center left -} - -@-webkit-keyframes swingInX { - 0% { - -webkit-transform: perspective(1000px) rotateX(90deg); - transform: perspective(1000px) rotateX(90deg); - opacity: 0 - } - 40% { - -webkit-transform: perspective(1000px) rotateX(-30deg); - transform: perspective(1000px) rotateX(-30deg); - opacity: 1 - } - 60% { - -webkit-transform: perspective(1000px) rotateX(15deg); - transform: perspective(1000px) rotateX(15deg) - } - 80% { - -webkit-transform: perspective(1000px) rotateX(-7.5deg); - transform: perspective(1000px) rotateX(-7.5deg) - } - 100% { - -webkit-transform: perspective(1000px) rotateX(0); - transform: perspective(1000px) rotateX(0) - } -} - -@keyframes swingInX { - 0% { - -webkit-transform: perspective(1000px) rotateX(90deg); - transform: perspective(1000px) rotateX(90deg); - opacity: 0 - } - 40% { - -webkit-transform: perspective(1000px) rotateX(-30deg); - transform: perspective(1000px) rotateX(-30deg); - opacity: 1 - } - 60% { - -webkit-transform: perspective(1000px) rotateX(15deg); - transform: perspective(1000px) rotateX(15deg) - } - 80% { - -webkit-transform: perspective(1000px) rotateX(-7.5deg); - transform: perspective(1000px) rotateX(-7.5deg) - } - 100% { - -webkit-transform: perspective(1000px) rotateX(0); - transform: perspective(1000px) rotateX(0) - } -} - -@-webkit-keyframes swingInY { - 0% { - -webkit-transform: perspective(1000px) rotateY(-90deg); - transform: perspective(1000px) rotateY(-90deg); - opacity: 0 - } - 40% { - -webkit-transform: perspective(1000px) rotateY(30deg); - transform: perspective(1000px) rotateY(30deg); - opacity: 1 - } - 60% { - -webkit-transform: perspective(1000px) rotateY(-17.5deg); - transform: perspective(1000px) rotateY(-17.5deg) - } - 80% { - -webkit-transform: perspective(1000px) rotateY(7.5deg); - transform: perspective(1000px) rotateY(7.5deg) - } - 100% { - -webkit-transform: perspective(1000px) rotateY(0); - transform: perspective(1000px) rotateY(0) - } -} - -@keyframes swingInY { - 0% { - -webkit-transform: perspective(1000px) rotateY(-90deg); - transform: perspective(1000px) rotateY(-90deg); - opacity: 0 - } - 40% { - -webkit-transform: perspective(1000px) rotateY(30deg); - transform: perspective(1000px) rotateY(30deg); - opacity: 1 - } - 60% { - -webkit-transform: perspective(1000px) rotateY(-17.5deg); - transform: perspective(1000px) rotateY(-17.5deg) - } - 80% { - -webkit-transform: perspective(1000px) rotateY(7.5deg); - transform: perspective(1000px) rotateY(7.5deg) - } - 100% { - -webkit-transform: perspective(1000px) rotateY(0); - transform: perspective(1000px) rotateY(0) - } -} - -@-webkit-keyframes swingOutX { - 0% { - -webkit-transform: perspective(1000px) rotateX(0); - transform: perspective(1000px) rotateX(0) - } - 40% { - -webkit-transform: perspective(1000px) rotateX(-7.5deg); - transform: perspective(1000px) rotateX(-7.5deg) - } - 60% { - -webkit-transform: perspective(1000px) rotateX(17.5deg); - transform: perspective(1000px) rotateX(17.5deg) - } - 80% { - -webkit-transform: perspective(1000px) rotateX(-30deg); - transform: perspective(1000px) rotateX(-30deg); - opacity: 1 - } - 100% { - -webkit-transform: perspective(1000px) rotateX(90deg); - transform: perspective(1000px) rotateX(90deg); - opacity: 0 - } -} - -@keyframes swingOutX { - 0% { - -webkit-transform: perspective(1000px) rotateX(0); - transform: perspective(1000px) rotateX(0) - } - 40% { - -webkit-transform: perspective(1000px) rotateX(-7.5deg); - transform: perspective(1000px) rotateX(-7.5deg) - } - 60% { - -webkit-transform: perspective(1000px) rotateX(17.5deg); - transform: perspective(1000px) rotateX(17.5deg) - } - 80% { - -webkit-transform: perspective(1000px) rotateX(-30deg); - transform: perspective(1000px) rotateX(-30deg); - opacity: 1 - } - 100% { - -webkit-transform: perspective(1000px) rotateX(90deg); - transform: perspective(1000px) rotateX(90deg); - opacity: 0 - } -} - -@-webkit-keyframes swingOutY { - 0% { - -webkit-transform: perspective(1000px) rotateY(0); - transform: perspective(1000px) rotateY(0) - } - 40% { - -webkit-transform: perspective(1000px) rotateY(7.5deg); - transform: perspective(1000px) rotateY(7.5deg) - } - 60% { - -webkit-transform: perspective(1000px) rotateY(-10deg); - transform: perspective(1000px) rotateY(-10deg) - } - 80% { - -webkit-transform: perspective(1000px) rotateY(30deg); - transform: perspective(1000px) rotateY(30deg); - opacity: 1 - } - 100% { - -webkit-transform: perspective(1000px) rotateY(-90deg); - transform: perspective(1000px) rotateY(-90deg); - opacity: 0 - } -} - -@keyframes swingOutY { - 0% { - -webkit-transform: perspective(1000px) rotateY(0); - transform: perspective(1000px) rotateY(0) - } - 40% { - -webkit-transform: perspective(1000px) rotateY(7.5deg); - transform: perspective(1000px) rotateY(7.5deg) - } - 60% { - -webkit-transform: perspective(1000px) rotateY(-10deg); - transform: perspective(1000px) rotateY(-10deg) - } - 80% { - -webkit-transform: perspective(1000px) rotateY(30deg); - transform: perspective(1000px) rotateY(30deg); - opacity: 1 - } - 100% { - -webkit-transform: perspective(1000px) rotateY(-90deg); - transform: perspective(1000px) rotateY(-90deg); - opacity: 0 - } -} - -.transition.zoom.in { - -webkit-animation-name: zoomIn; - animation-name: zoomIn -} - -.transition.zoom.out { - -webkit-animation-name: zoomOut; - animation-name: zoomOut -} - -@-webkit-keyframes zoomIn { - 0% { - opacity: 1; - -webkit-transform: scale(0); - transform: scale(0) - } - 100% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } -} - -@keyframes zoomIn { - 0% { - opacity: 1; - -webkit-transform: scale(0); - transform: scale(0) - } - 100% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } -} - -@-webkit-keyframes zoomOut { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } - 100% { - opacity: 1; - -webkit-transform: scale(0); - transform: scale(0) - } -} - -@keyframes zoomOut { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1) - } - 100% { - opacity: 1; - -webkit-transform: scale(0); - transform: scale(0) - } -} - -.flash.transition { - -webkit-animation-duration: 750ms; - animation-duration: 750ms; - -webkit-animation-name: flash; - animation-name: flash -} - -.shake.transition { - -webkit-animation-duration: 750ms; - animation-duration: 750ms; - -webkit-animation-name: shake; - animation-name: shake -} - -.bounce.transition { - -webkit-animation-duration: 750ms; - animation-duration: 750ms; - -webkit-animation-name: bounce; - animation-name: bounce -} - -.tada.transition { - -webkit-animation-duration: 750ms; - animation-duration: 750ms; - -webkit-animation-name: tada; - animation-name: tada -} - -.pulse.transition { - -webkit-animation-duration: .5s; - animation-duration: .5s; - -webkit-animation-name: pulse; - animation-name: pulse -} - -.jiggle.transition { - -webkit-animation-duration: 750ms; - animation-duration: 750ms; - -webkit-animation-name: jiggle; - animation-name: jiggle -} - -.transition.glow { - -webkit-animation-duration: 2s; - animation-duration: 2s; - -webkit-animation-timing-function: cubic-bezier(.19, 1, .22, 1); - animation-timing-function: cubic-bezier(.19, 1, .22, 1) -} - -.transition.glow { - -webkit-animation-name: glow; - animation-name: glow -} - -@-webkit-keyframes flash { - 0%, 100%, 50% { - opacity: 1 - } - 25%, 75% { - opacity: 0 - } -} - -@keyframes flash { - 0%, 100%, 50% { - opacity: 1 - } - 25%, 75% { - opacity: 0 - } -} - -@-webkit-keyframes shake { - 0%, 100% { - -webkit-transform: translateX(0); - transform: translateX(0) - } - 10%, 30%, 50%, 70%, 90% { - -webkit-transform: translateX(-10px); - transform: translateX(-10px) - } - 20%, 40%, 60%, 80% { - -webkit-transform: translateX(10px); - transform: translateX(10px) - } -} - -@keyframes shake { - 0%, 100% { - -webkit-transform: translateX(0); - transform: translateX(0) - } - 10%, 30%, 50%, 70%, 90% { - -webkit-transform: translateX(-10px); - transform: translateX(-10px) - } - 20%, 40%, 60%, 80% { - -webkit-transform: translateX(10px); - transform: translateX(10px) - } -} - -@-webkit-keyframes bounce { - 0%, 100%, 20%, 50%, 80% { - -webkit-transform: translateY(0); - transform: translateY(0) - } - 40% { - -webkit-transform: translateY(-30px); - transform: translateY(-30px) - } - 60% { - -webkit-transform: translateY(-15px); - transform: translateY(-15px) - } -} - -@keyframes bounce { - 0%, 100%, 20%, 50%, 80% { - -webkit-transform: translateY(0); - transform: translateY(0) - } - 40% { - -webkit-transform: translateY(-30px); - transform: translateY(-30px) - } - 60% { - -webkit-transform: translateY(-15px); - transform: translateY(-15px) - } -} - -@-webkit-keyframes tada { - 0% { - -webkit-transform: scale(1); - transform: scale(1) - } - 10%, 20% { - -webkit-transform: scale(.9) rotate(-3deg); - transform: scale(.9) rotate(-3deg) - } - 30%, 50%, 70%, 90% { - -webkit-transform: scale(1.1) rotate(3deg); - transform: scale(1.1) rotate(3deg) - } - 40%, 60%, 80% { - -webkit-transform: scale(1.1) rotate(-3deg); - transform: scale(1.1) rotate(-3deg) - } - 100% { - -webkit-transform: scale(1) rotate(0); - transform: scale(1) rotate(0) - } -} - -@keyframes tada { - 0% { - -webkit-transform: scale(1); - transform: scale(1) - } - 10%, 20% { - -webkit-transform: scale(.9) rotate(-3deg); - transform: scale(.9) rotate(-3deg) - } - 30%, 50%, 70%, 90% { - -webkit-transform: scale(1.1) rotate(3deg); - transform: scale(1.1) rotate(3deg) - } - 40%, 60%, 80% { - -webkit-transform: scale(1.1) rotate(-3deg); - transform: scale(1.1) rotate(-3deg) - } - 100% { - -webkit-transform: scale(1) rotate(0); - transform: scale(1) rotate(0) - } -} - -@-webkit-keyframes pulse { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1 - } - 50% { - -webkit-transform: scale(.9); - transform: scale(.9); - opacity: .7 - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1 - } -} - -@keyframes pulse { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1 - } - 50% { - -webkit-transform: scale(.9); - transform: scale(.9); - opacity: .7 - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1 - } -} - -@-webkit-keyframes jiggle { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 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) - } - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1) - } -} - -@keyframes jiggle { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 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) - } - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1) - } -} - -@-webkit-keyframes glow { - 0% { - background-color: #fcfcfd - } - 30% { - background-color: #fff6cd - } - 100% { - background-color: #fcfcfd - } -} - -@keyframes glow { - 0% { - background-color: #fcfcfd - } - 30% { - background-color: #fff6cd - } - 100% { - background-color: #fcfcfd - } -} \ No newline at end of file diff --git a/cmd/client/static/public/js/index.js b/cmd/client/static/public/js/index.js deleted file mode 100644 index dc21d4d..0000000 --- a/cmd/client/static/public/js/index.js +++ /dev/null @@ -1,106 +0,0 @@ -$('.ui.checkbox') - .checkbox() -; - -$('.http.ui.toggle.checkbox').checkbox({ - onChecked: function () { - $(".http.two.fields").attr("style", "display: block;") - config.Http.Enabled = true - setValue(config) - }, - onUnchecked: function () { - $(".http.two.fields").attr("style", "display: none;") - config.Http.Enabled = false - } -}); - -$('.socks.ui.toggle.checkbox').checkbox({ - onChecked: function () { - $(".socks.two.fields").attr("style", "display: block;") - config.Socks5.Enabled = true - setValue(config) - }, - onUnchecked: function () { - $(".socks.two.fields").attr("style", "display: none;") - config.Socks5.Enabled = false - } -}); - -sleep = function (fun, time) { - setTimeout(() => { - fun(); - }, time); -} - -function post() { - const data = { - ProxyAddr: $("#proxyAddr").val().split("\n"), - Control: { - ConfigAddr: $("#controlAddr").val(), - LogPath: $("#controlLog").val(), - TorEnable: $(".tor.ui.toggle.checkbox").hasClass("checked"), - }, - Http: { - Enabled: $(".http.ui.toggle.checkbox").hasClass("checked"), - ListenAddr: $("#httpAddr").val(), - }, - Socks5: { - Enabled: $(".socks.ui.toggle.checkbox").hasClass("checked"), - ListenAddr: $("#socksAddr").val(), - } - }; - $.ajax({ - type: 'POST', - url: "/", - data: JSON.stringify(data), - error: errorMessage, - success: successMessage, - dataType: "json", - contentType: "application/json" - }); - -} - -function setValue(config) { - let proxy = ""; - config.ProxyAddr.forEach((e) => { - proxy += e + "\n" - }) - proxy = proxy.substring(0, proxy.length - 1) - $('#proxyAddr').text(proxy) - console.log(config.Control.ConfigAddr) - $('#controlAddr').attr("value", config.Control.ConfigAddr) - $('#controlLog').attr("value", config.Control.LogPath) - if (config.Control.TorEnable) { - $('.tor.ui.toggle.checkbox').addClass("checked") - $("#torEnable").attr("checked", "checked") - } - if (config.Http.Enabled) { - $('.http.ui.toggle.checkbox').addClass("checked") - $(".http.two.fields").attr("style", "display: block;") - $("#httpEnable").attr("checked", "checked") - $("#httpAddr").attr("value", config.Http.ListenAddr) - } - if (config.Socks5.Enabled) { - $('.socks.ui.toggle.checkbox').addClass("checked", "check") - $(".socks.two.fields").attr("style", "display: block;") - $("#socksEnable").attr("checked", "checked") - $("#socksAddr").attr("value", config.Socks5.ListenAddr) - } -} - -function successMessage(e) { - setValue(e) - $(".ui.success.icon.message").removeClass("hidden"); - setTimeout(() => { - $(".ui.success.icon.message").closest(".message").transition("fade"); - }, 2000); -} - -function errorMessage(e) { - $(".error.message.info").text(e.status + ":" + e.responseText) - $(".ui.error.icon.message").removeClass("hidden"); - setTimeout(() => { - $(".ui.error.icon.message").closest(".message").transition("fade"); - }, 2000); -} \ No newline at end of file diff --git a/cmd/client/static/public/js/jquery-3.1.1.min.js b/cmd/client/static/public/js/jquery-3.1.1.min.js deleted file mode 100644 index 9f78652..0000000 --- a/cmd/client/static/public/js/jquery-3.1.1.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */ -!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R), - a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)), - void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r(" - - - -
-
-
- - -
-

- -
-

SeaMoon - 月海

-

- - stars - downloads - languages - license - -

-
- 🌕 月出于云却隐于海 -
-
-

- - -
- -
- -
- - -
-
-
- - - - \ No newline at end of file diff --git a/cmd/main.go b/cmd/main.go index 706d2de..bb2a8a4 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -12,8 +12,7 @@ import ( ) var ( - debug bool - verbose bool + debug bool // server params addr string @@ -44,7 +43,7 @@ var ( ) func Proxy(cmd *cobra.Command, args []string) { - client.Serve(cmd.Context(), verbose, debug) + client.Serve(cmd.Context(), debug) } func Server(cmd *cobra.Command, args []string) error { @@ -62,7 +61,6 @@ func Server(cmd *cobra.Command, args []string) error { } func init() { - proxyCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, "proxy detail log") proxyCommand.Flags().BoolVarP(&debug, "debug", "d", false, "proxy detail log") serverCommand.Flags().StringVarP(&addr, "addr", "a", "0.0.0.0", "server listen addr") diff --git a/entrypoint.sh b/entrypoint.sh index 34957e2..a2ae105 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,7 +1,7 @@ #!/bin/sh -if [ "$TOR" = "true" ]; then +if [ "$SEAMOON_TOR" = "true" ] || [ "$SEAMOON_TOR" = true ]; then tor fi -/app/seamoon "$@" \ No newline at end of file +/app/seamoon "$@" diff --git a/go.mod b/go.mod index 778b900..348c350 100644 --- a/go.mod +++ b/go.mod @@ -3,44 +3,101 @@ module github.com/DVKunion/SeaMoon go 1.21 require ( - github.com/BurntSushi/toml v1.3.2 + github.com/alibabacloud-go/bssopenapi-20171214/v3 v3.2.2 + github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.5 + github.com/alibabacloud-go/tea v1.2.1 + github.com/alibabacloud-go/tea-utils/v2 v2.0.4 + github.com/aliyun/fc-go-sdk v0.0.0-20230313060359-3a1b2ede1e1e github.com/gin-gonic/gin v1.9.1 + github.com/glebarez/sqlite v1.10.0 + github.com/golang-jwt/jwt v3.2.2+incompatible github.com/gorilla/websocket v1.5.1 github.com/spf13/cobra v1.8.0 github.com/tg123/go-htpasswd v1.2.0 - github.com/xtaci/smux v1.5.24 google.golang.org/grpc v1.37.0 - google.golang.org/protobuf v1.30.0 + google.golang.org/protobuf v1.31.0 + gorm.io/gorm v1.25.5 + k8s.io/api v0.29.2 + k8s.io/apimachinery v0.29.2 + k8s.io/client-go v0.29.2 ) require ( github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962 // indirect + github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4 // indirect + github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68 // indirect + github.com/alibabacloud-go/endpoint-util v1.1.0 // indirect + github.com/alibabacloud-go/openapi-util v0.1.0 // indirect + github.com/alibabacloud-go/tea-utils v1.3.1 // indirect + github.com/alibabacloud-go/tea-xml v1.1.3 // indirect + github.com/aliyun/credentials-go v1.3.1 // indirect github.com/bytedance/sonic v1.9.1 // indirect github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect + github.com/clbanning/mxj/v2 v2.5.5 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/gin-contrib/sse v0.1.0 // indirect + github.com/glebarez/go-sqlite v1.21.2 // indirect + github.com/go-logr/logr v1.3.0 // indirect + github.com/go-openapi/jsonpointer v0.19.6 // indirect + github.com/go-openapi/jsonreference v0.20.2 // indirect + github.com/go-openapi/swag v0.22.3 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect github.com/go-playground/validator/v10 v10.14.0 // indirect github.com/goccy/go-json v0.10.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/google/gnostic-models v0.6.8 // indirect + github.com/google/gofuzz v1.2.0 // indirect + github.com/google/uuid v1.3.1 // indirect + github.com/imdario/mergo v0.3.6 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/cpuid/v2 v2.2.4 // indirect github.com/leodido/go-urn v1.2.4 // indirect + github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pelletier/go-toml/v2 v2.0.8 // indirect + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/spf13/pflag v1.0.5 // indirect + github.com/tjfoc/gmsm v1.3.2 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.11 // indirect golang.org/x/arch v0.3.0 // indirect - golang.org/x/crypto v0.14.0 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/text v0.13.0 // indirect + golang.org/x/crypto v0.18.0 // indirect + golang.org/x/net v0.20.0 // indirect + golang.org/x/oauth2 v0.10.0 // indirect + golang.org/x/sys v0.16.0 // indirect + golang.org/x/term v0.16.0 // indirect + golang.org/x/text v0.14.0 // indirect + golang.org/x/time v0.3.0 // indirect + google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/ini.v1 v1.56.0 // indirect + gopkg.in/resty.v1 v1.11.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect + k8s.io/klog/v2 v2.110.1 // indirect + k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect + k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect + modernc.org/libc v1.22.5 // indirect + modernc.org/mathutil v1.5.0 // indirect + modernc.org/memory v1.5.0 // indirect + modernc.org/sqlite v1.23.1 // indirect + sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect ) + +replace github.com/aliyun/fc-go-sdk => github.com/DVKunion/fc-go-sdk v0.0.0-20240229064818-0899a1e1bf52 diff --git a/go.sum b/go.sum index a2357ef..c03ce8d 100644 --- a/go.sum +++ b/go.sum @@ -1,9 +1,36 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= -github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/DVKunion/fc-go-sdk v0.0.0-20240229064818-0899a1e1bf52 h1:RAsZRNTN5IK7osUzHL/IdgUeGPHwDG9aFTGj/HFcqzI= +github.com/DVKunion/fc-go-sdk v0.0.0-20240229064818-0899a1e1bf52/go.mod h1:rYnxfOnoHRZ2QGKREUOESel1hmRe0frzF2RLpcDVtTU= github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962 h1:KeNholpO2xKjgaaSyd+DyQRrsQjhbSeS7qe4nEw8aQw= github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962/go.mod h1:kC29dT1vFpj7py2OvG1khBdQpo3kInWP+6QipLbdngo= +github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4 h1:iC9YFYKDGEy3n/FtqJnOkZsene9olVspKmkX5A2YBEo= +github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4/go.mod h1:sCavSAvdzOjul4cEqeVtvlSaSScfNsTQ+46HwlTL1hc= +github.com/alibabacloud-go/bssopenapi-20171214/v3 v3.2.2 h1:feF15Y8AJvuBzY/6W5te5NSDDSDbRpPL7dgWKKzer14= +github.com/alibabacloud-go/bssopenapi-20171214/v3 v3.2.2/go.mod h1:EeWDcQwlDDUF5FNKLZnFcMlatI2VVftqpwWgCyb9Oc8= +github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.5 h1:yyolbgHfV2Tp91vMjO/CF5aOxKG+UgdVAeUoloEQI3E= +github.com/alibabacloud-go/darabonba-openapi/v2 v2.0.5/go.mod h1:kUe8JqFmoVU7lfBauaDD5taFaW7mBI+xVsyHutYtabg= +github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68 h1:NqugFkGxx1TXSh/pBcU00Y6bljgDPaFdh5MUSeJ7e50= +github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68/go.mod h1:6pb/Qy8c+lqua8cFpEy7g39NRRqOWc3rOwAy8m5Y2BY= +github.com/alibabacloud-go/endpoint-util v1.1.0 h1:r/4D3VSw888XGaeNpP994zDUaxdgTSHBbVfZlzf6b5Q= +github.com/alibabacloud-go/endpoint-util v1.1.0/go.mod h1:O5FuCALmCKs2Ff7JFJMudHs0I5EBgecXXxZRyswlEjE= +github.com/alibabacloud-go/openapi-util v0.1.0 h1:0z75cIULkDrdEhkLWgi9tnLe+KhAFE/r5Pb3312/eAY= +github.com/alibabacloud-go/openapi-util v0.1.0/go.mod h1:sQuElr4ywwFRlCCberQwKRFhRzIyG4QTP/P4y1CJ6Ws= +github.com/alibabacloud-go/tea v1.1.0/go.mod h1:IkGyUSX4Ba1V+k4pCtJUc6jDpZLFph9QMy2VUPTwukg= +github.com/alibabacloud-go/tea v1.1.7/go.mod h1:/tmnEaQMyb4Ky1/5D+SE1BAsa5zj/KeGOFfwYm3N/p4= +github.com/alibabacloud-go/tea v1.1.8/go.mod h1:/tmnEaQMyb4Ky1/5D+SE1BAsa5zj/KeGOFfwYm3N/p4= +github.com/alibabacloud-go/tea v1.1.17/go.mod h1:nXxjm6CIFkBhwW4FQkNrolwbfon8Svy6cujmKFUq98A= +github.com/alibabacloud-go/tea v1.2.1 h1:rFF1LnrAdhaiPmKwH5xwYOKlMh66CqRwPUTzIK74ask= +github.com/alibabacloud-go/tea v1.2.1/go.mod h1:qbzof29bM/IFhLMtJPrgTGK3eauV5J2wSyEUo4OEmnA= +github.com/alibabacloud-go/tea-utils v1.3.1 h1:iWQeRzRheqCMuiF3+XkfybB3kTgUXkXX+JMrqfLeB2I= +github.com/alibabacloud-go/tea-utils v1.3.1/go.mod h1:EI/o33aBfj3hETm4RLiAxF/ThQdSngxrpF8rKUDJjPE= +github.com/alibabacloud-go/tea-utils/v2 v2.0.4 h1:SoFgjJuO7pze88j9RBJNbKb7AgTS52O+J5ITxc00lCs= +github.com/alibabacloud-go/tea-utils/v2 v2.0.4/go.mod h1:sj1PbjPodAVTqGTA3olprfeeqqmwD0A5OQz94o9EuXQ= +github.com/alibabacloud-go/tea-xml v1.1.3 h1:7LYnm+JbOq2B+T/B0fHC4Ies4/FofC4zHzYtqw7dgt0= +github.com/alibabacloud-go/tea-xml v1.1.3/go.mod h1:Rq08vgCcCAjHyRi/M7xlHKUykZCEtyBy9+DPF6GgEu8= +github.com/aliyun/credentials-go v1.1.2/go.mod h1:ozcZaMR5kLM7pwtCMEpVmQ242suV6qTJya2bDq4X1Tw= +github.com/aliyun/credentials-go v1.3.1 h1:uq/0v7kWrxmoLGpqjx7vtQ/s03f0zR//0br/xWDTE28= +github.com/aliyun/credentials-go v1.3.1/go.mod h1:8jKYhQuDawt8x2+fusqa1Y6mPxemTsBEN04dgcAcYz0= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= @@ -11,12 +38,19 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams= github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= +github.com/clbanning/mxj/v2 v2.5.5 h1:oT81vUeEiQQ/DcHbzSytRngP6Ky9O+L+0Bw0zSJag9E= +github.com/clbanning/mxj/v2 v2.5.5/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= +github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= @@ -27,6 +61,18 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= +github.com/glebarez/go-sqlite v1.21.2 h1:3a6LFC4sKahUunAmynQKLZceZCOzUthkRkEAl9gAXWo= +github.com/glebarez/go-sqlite v1.21.2/go.mod h1:sfxdZyhQjTM2Wry3gVYWaW072Ri1WMdWJi0k6+3382k= +github.com/glebarez/sqlite v1.10.0 h1:u4gt8y7OND/cCei/NMHmfbLxF6xP2wgKcT/BJf2pYkc= +github.com/glebarez/sqlite v1.10.0/go.mod h1:IJ+lfSOmiekhQsFTJRx/lHtGYmCdtAiTaf5wI9u5uHA= +github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= +github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= +github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= +github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= +github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= +github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= @@ -35,11 +81,18 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js= github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= +github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= @@ -49,47 +102,102 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= +github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= +github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 h1:l5lAOZEym3oK3SQ2HBHWsJUfbNBiTXJDeW2QDxw9AQ0= +github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= +github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= +github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4= +github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= +github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= +github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/assertions v1.1.0 h1:MkTeG1DMwsrdH7QtLXy5W+fUxWq+vmb6cLmyJ7aRtF0= +github.com/smartystreets/assertions v1.1.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -99,53 +207,129 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/tg123/go-htpasswd v1.2.0 h1:UKp34m9H467/xklxUxU15wKRru7fwXoTojtxg25ITF0= github.com/tg123/go-htpasswd v1.2.0/go.mod h1:h7IzlfpvIWnVJhNZ0nQ9HaFxHb7pn5uFJYLlEUJa2sM= +github.com/tjfoc/gmsm v1.3.2 h1:7JVkAn5bvUJ7HtU08iW6UiD+UTmJTIToHCfeFzkcCxM= +github.com/tjfoc/gmsm v1.3.2/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= -github.com/xtaci/smux v1.5.24 h1:77emW9dtnOxxOQ5ltR+8BbsX1kzcOxQ5gB+aaV9hXOY= -github.com/xtaci/smux v1.5.24/go.mod h1:OMlQbT5vcgl2gb49mFkYo6SMf+zP3rcjcwQz7ZU7IGY= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.30/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= +golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8= +golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= +golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= +golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA= +golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY= @@ -167,14 +351,53 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.56.0 h1:DPMeDvGTM54DXbPkVIZsp19fp/I2K7zwA/itHYHKo8Y= +gopkg.in/ini.v1 v1.56.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/resty.v1 v1.11.0 h1:z5nqGs/W/h91PLOc+WZefPj8rRZe8Ctlgxg/AtbJ+NE= +gopkg.in/resty.v1 v1.11.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls= +gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +k8s.io/api v0.29.2 h1:hBC7B9+MU+ptchxEqTNW2DkUosJpp1P+Wn6YncZ474A= +k8s.io/api v0.29.2/go.mod h1:sdIaaKuU7P44aoyyLlikSLayT6Vb7bvJNCX105xZXY0= +k8s.io/apimachinery v0.29.2 h1:EWGpfJ856oj11C52NRCHuU7rFDwxev48z+6DSlGNsV8= +k8s.io/apimachinery v0.29.2/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU= +k8s.io/client-go v0.29.2 h1:FEg85el1TeZp+/vYJM7hkDlSTFZ+c5nnK44DJ4FyoRg= +k8s.io/client-go v0.29.2/go.mod h1:knlvFZE58VpqbQpJNbCbctTVXcd35mMyAAwBdpt4jrA= +k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0= +k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo= +k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= +k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= +k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= +k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +modernc.org/libc v1.22.5 h1:91BNch/e5B0uPbJFgqbxXuOnxBQjlS//icfQEGmvyjE= +modernc.org/libc v1.22.5/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY= +modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds= +modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/sqlite v1.23.1 h1:nrSBg4aRQQwq59JpvGEQ15tNxoO5pX/kUjcRNwSAGQM= +modernc.org/sqlite v1.23.1/go.mod h1:OrDj17Mggn6MhE+iPbBNf7RGKODDE9NFT0f3EwDzJqk= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= +sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/pkg/network/transport.go b/pkg/network/transport.go index d07c968..116eeb1 100644 --- a/pkg/network/transport.go +++ b/pkg/network/transport.go @@ -2,32 +2,64 @@ package network import ( "io" + "net" + "sync" ) const bufferSize = 64 * 1024 // Transport rw1 and rw2 -func Transport(rw1, rw2 io.ReadWriter) error { - errC := make(chan error, 1) +func Transport(src, dest net.Conn) (int64, int64, error) { + // 这是第一版本的老代码,是可以满足需求但是很丑陋 + errIn := make(chan error, 1) + errOut := make(chan error, 1) + done := make(chan error, 1<<8) + + var wg sync.WaitGroup + var mu sync.Mutex // 用于保护下面的共享变量 + + var inbound int64 = 0 + var outbound int64 = 0 + + wg.Add(2) go func() { - errC <- CopyBuffer(rw1, rw2, bufferSize) + defer wg.Done() + w, err := CopyBuffer(src, dest, bufferSize) + mu.Lock() + inbound += w + mu.Unlock() + errIn <- err }() go func() { - errC <- CopyBuffer(rw2, rw1, bufferSize) + defer wg.Done() + w, err := CopyBuffer(dest, src, bufferSize) + mu.Lock() + outbound += w + mu.Unlock() + errOut <- err }() - if err := <-errC; err != nil && err != io.EOF { - return err + for { + select { + case e := <-errIn: + src.Close() + dest.Close() + done <- e + case e := <-errOut: + src.Close() + dest.Close() + done <- e + case e := <-done: + wg.Wait() + return inbound, outbound, e + } } - - return nil } -func CopyBuffer(dst io.Writer, src io.Reader, bufSize int) error { +func CopyBuffer(dst io.Writer, src io.Reader, bufSize int) (int64, error) { buf := GetBuffer(bufSize) defer PutBuffer(buf) - _, err := io.CopyBuffer(dst, src, buf) - return err + return io.CopyBuffer(dst, src, buf) } diff --git a/pkg/tools/random.go b/pkg/tools/random.go new file mode 100644 index 0000000..12de279 --- /dev/null +++ b/pkg/tools/random.go @@ -0,0 +1,31 @@ +package tools + +import ( + "math/rand" + "strings" +) + +const randomList = "ASDFGHJKLZXCVBNMQWERTYUIOPasdfghjklzxcvbnmqwertyuiop1234567890" +const randomLetterList = "asdfghjklzxcvbnmqwertyuiop" + +func GenerateRandomString(length int) string { + var sb strings.Builder + sb.Grow(length) // 预分配足够的空间 + + for i := 0; i < length; i++ { + c := randomList[rand.Intn(len(randomList))] // 随机选择一个字符 + sb.WriteByte(c) + } + return sb.String() +} + +func GenerateRandomLetterString(length int) string { + var sb strings.Builder + sb.Grow(length) // 预分配足够的空间 + + for i := 0; i < length; i++ { + c := randomLetterList[rand.Intn(len(randomLetterList))] // 随机选择一个字符 + sb.WriteByte(c) + } + return sb.String() +} diff --git a/pkg/transfer/http.go b/pkg/transfer/http.go index 3610209..7949377 100644 --- a/pkg/transfer/http.go +++ b/pkg/transfer/http.go @@ -59,7 +59,7 @@ func HttpTransport(conn net.Conn) error { } // 同时处理客户端到服务器和服务器到客户端的数据传输 - if err := network.Transport(destConn, conn); err != nil { + if _, _, err := network.Transport(destConn, conn); err != nil { return err } diff --git a/pkg/transfer/socks5.go b/pkg/transfer/socks5.go index fac18bc..887f0ac 100644 --- a/pkg/transfer/socks5.go +++ b/pkg/transfer/socks5.go @@ -6,8 +6,8 @@ import ( "net" "time" - "github.com/DVKunion/SeaMoon/pkg/consts" "github.com/DVKunion/SeaMoon/pkg/network" + "github.com/DVKunion/SeaMoon/pkg/xlog" ) func Socks5Transport(conn net.Conn) error { @@ -15,7 +15,7 @@ func Socks5Transport(conn net.Conn) error { b, err := br.Peek(1) if err != nil || b[0] != network.SOCKS5Version { - slog.Error(consts.CLIENT_PROTOCOL_UNSUPPORT_ERROR, "err", err) + slog.Error(xlog.CLIENT_PROTOCOL_UNSUPPORT_ERROR, "err", err) return err } else { // select method @@ -56,13 +56,13 @@ func Socks5Transport(conn net.Conn) error { } func handleConnect(conn net.Conn, req *network.SOCKS5Request) { - slog.Info(consts.SOCKS5_CONNECT_SERVER, "src", conn.RemoteAddr(), "dest", req.Addr) + slog.Info(xlog.SOCKS5_CONNECT_SERVER, "src", conn.RemoteAddr(), "dest", req.Addr) // default socks timeout : 10 dialer := net.Dialer{Timeout: 10 * time.Second} destConn, err := dialer.Dial("tcp", req.Addr.String()) if err != nil { - slog.Error(consts.SOCKS5_CONNECT_DIAL_ERROR, "err", err) + slog.Error(xlog.SOCKS5_CONNECT_DIAL_ERROR, "err", err) return } @@ -70,17 +70,17 @@ func handleConnect(conn net.Conn, req *network.SOCKS5Request) { defer destConn.Close() if err := network.NewReply(network.SOCKS5RespSucceeded, nil).Write(conn); err != nil { - slog.Error(consts.SOCKS5_CONNECT_WRITE_ERROR, "err", err) + slog.Error(xlog.SOCKS5_CONNECT_WRITE_ERROR, "err", err) return } - slog.Info(consts.SOCKS5_CONNECT_ESTAB, "src", conn.RemoteAddr(), "dest", req.Addr) + slog.Info(xlog.SOCKS5_CONNECT_ESTAB, "src", conn.RemoteAddr(), "dest", req.Addr) - if err := network.Transport(conn, destConn); err != nil { - slog.Error(consts.CONNECT_TRANS_ERROR, "err", err) + if _, _, err := network.Transport(conn, destConn); err != nil { + slog.Error(xlog.CONNECT_TRANS_ERROR, "err", err) } - slog.Info(consts.SOCKS5_CONNECT_DIS, "src", conn.RemoteAddr(), "dest", req.Addr) + slog.Info(xlog.SOCKS5_CONNECT_DIS, "src", conn.RemoteAddr(), "dest", req.Addr) } func handleBind() { diff --git a/pkg/transfer/tor.go b/pkg/transfer/tor.go index 336d9d9..360782b 100644 --- a/pkg/transfer/tor.go +++ b/pkg/transfer/tor.go @@ -5,8 +5,8 @@ import ( "net" "time" - "github.com/DVKunion/SeaMoon/pkg/consts" "github.com/DVKunion/SeaMoon/pkg/network" + "github.com/DVKunion/SeaMoon/pkg/xlog" ) const defaultTorAddr = "127.0.0.1:9050" @@ -22,13 +22,13 @@ func TorTransport(conn net.Conn) error { defer destConn.Close() - slog.Info(consts.SOCKS5_CONNECT_ESTAB, "src", conn.RemoteAddr(), "dest", defaultTorAddr) + slog.Info(xlog.SOCKS5_CONNECT_ESTAB, "src", conn.RemoteAddr(), "dest", defaultTorAddr) - if err := network.Transport(conn, destConn); err != nil { - slog.Error(consts.CONNECT_TRANS_ERROR, "err", err) + if _, _, err := network.Transport(conn, destConn); err != nil { + slog.Error(xlog.CONNECT_TRANS_ERROR, "err", err) } - slog.Info(consts.SOCKS5_CONNECT_DIS, "src", conn.RemoteAddr(), "dest", defaultTorAddr) + slog.Info(xlog.SOCKS5_CONNECT_DIS, "src", conn.RemoteAddr(), "dest", defaultTorAddr) return nil } diff --git a/pkg/transfer/transfer.go b/pkg/transfer/transfer.go index eff9a4d..c3ab75e 100644 --- a/pkg/transfer/transfer.go +++ b/pkg/transfer/transfer.go @@ -5,6 +5,7 @@ import "strings" type Type string const ( + AUTO Type = "auto" HTTP Type = "http" SOCKS5 Type = "socks5" ) diff --git a/pkg/tunnel/tunnel.go b/pkg/tunnel/tunnel.go index bdc38ef..f17d355 100644 --- a/pkg/tunnel/tunnel.go +++ b/pkg/tunnel/tunnel.go @@ -10,6 +10,16 @@ type Tunnel interface { net.Conn } +type Status int8 + +const ( + INITIALIZING Status = iota + 1 // 初始化 + ACTIVE // 可用 + INACTIVE // 停用 + ERROR // 不可用 + WAITING // 异常 +) + type Type string const ( @@ -18,6 +28,12 @@ const ( GRT = "grpc-tunnel" ) +var tpMaps = map[Type]string{ + NULL: "", + WST: "ws", + GRT: "grpc", +} + func TranType(t string) Type { switch t { case "websocket": @@ -28,3 +44,11 @@ func TranType(t string) Type { return NULL } } + +func (t Type) TranAddr(tls bool) string { + proto := tpMaps[t] + if tls { + return proto + "s://" + } + return proto + "://" +} diff --git a/pkg/xlog/logger.go b/pkg/xlog/logger.go new file mode 100644 index 0000000..2a45153 --- /dev/null +++ b/pkg/xlog/logger.go @@ -0,0 +1,28 @@ +package xlog + +import ( + "fmt" + "log/slog" +) + +var defaultLog = slog.Default() + +// Debug logs at LevelDebug. +func Debug(index string, msg string, args ...any) { + defaultLog.Debug(fmt.Sprintf("[%s] %s", index, msg), args...) +} + +// Info logs at LevelInfo. +func Info(index string, msg string, args ...any) { + defaultLog.Info(fmt.Sprintf("[%s] %s", index, msg), args...) +} + +// Warn logs at LevelWarn. +func Warn(index string, msg string, args ...any) { + defaultLog.Info(fmt.Sprintf("[%s] %s", index, msg), args...) +} + +// Error logs at LevelError. +func Error(index string, msg string, args ...any) { + defaultLog.Error(fmt.Sprintf("[%s] %s", index, msg), args...) +} diff --git a/pkg/consts/log.go b/pkg/xlog/types.go similarity index 93% rename from pkg/consts/log.go rename to pkg/xlog/types.go index d6edbc0..62cebe5 100644 --- a/pkg/consts/log.go +++ b/pkg/xlog/types.go @@ -1,4 +1,10 @@ -package consts +package xlog + +// Info Log + +const ( + CONTROLLER_START string = "start control api service at" +) // Error Log const ( @@ -7,6 +13,7 @@ const ( DEFAULT_HTTP string = "SeaMoon Listening For The HTTP/S Request" DEFAULT_SOCKS string = "SeaMoon Listening For The SOCKS5 Request" LISTEN_ERROR string = "Client Start Listen Error" + LISTEN_STOP_ERROR string = "Client Stop Listen Error" HTTP_ACCEPT_ERROR string = "[Http] Server Accept Error" SOCKS5_LISTEN_ERROR string = "[Socks5] Client Start Listen Error" ACCEPT_ERROR string = "Client Accept Error" @@ -55,12 +62,4 @@ const ( SOCKS_UPD2TCP_SERVER string = "[Socks5] Udp-Over-Tcp Associate UDP For" SOCKS5_UPD2TCP_ESTAB string = "[Socks5] Udp-Over-Tcp Tunnel Established" SOCKS5_UPD2TCP_DIS string = "[Socks5] Udp-Over-Tcp Tunnel Disconnected" - - CONTROLLER_START string = "[Control] start control service at" -) - -// debug log -const ( - CONFIG_NOT_FIND string = "[Config] Load Configuration Failed, Use Default" - SOCKS5_UNSUPPORT_UDP string = "[Socks5] Unsupported Command CmdUDP" ) diff --git a/s.yaml b/s.yaml deleted file mode 100644 index 3c18c23..0000000 --- a/s.yaml +++ /dev/null @@ -1,91 +0,0 @@ -# 阿里云函数FC部署 serverless-devs 脚本 -# 如需要部署其他云厂商, 请使用 `s deploy -t s.xxxx.yaml` -edition: 1.0.0 # 命令行YAML规范版本,遵循语义化版本(Semantic Versioning)规范 -name: SeaMoon-Server -access: "default" # 默认使用 `s config add` 添加密钥时,accessID的默认值 - -vars: - region: cn-hongkong # 部署区域,请看docs/DEPLOY.md - service: - name: SeaMoon-Service - description: "SeaMoon Service" - internetAccess: true -# logConfig: auto # 开启日志,注意日志服务是收费的,每月只有500MB的免费额度,如不需要(非debug)可以注释掉。 - -actions: - pre-deploy: - - run: wget https://github.com/DVKunion/SeaMoon/releases/download/1.2.0-beta.2/SeaMoon_1.2.0-beta.2_linux_amd64.tar.gz - path: ./ - - run: tar -zvxf SeaMoon_1.2.0-beta.2_linux_amd64.tar.gz - path: ./ - - run: chmod +x seamoon - path: ./ - -services: - SeaMoon-WST-Node: - component: fc - props: - region: ${vars.region} - service: ${vars.service} - function: - name: ws-node - description: 'websocket-proxy-server' - codeUri: './' - customRuntimeConfig: - command: - - ./seamoon - args: - - "server" - handler: main - instanceConcurrency: 10 - instanceType: e1 - cpu: 0.05 - diskSize: 512 - memorySize: 128 - runtime: custom - timeout: 300 - internetAccess: true - triggers: - - name: httpTrigger - type: http - config: - authType: anonymous - methods: - - GET - - POST - SeaMoon-GRT-Node: - component: fc - props: - region: ${vars.region} - service: ${vars.service} - function: - name: grpc-node - description: 'grpc-proxy-server' - codeUri: './' - caPort: 8089 - customRuntimeConfig: - command: - - ./seamoon - args: - - "server" - - "-p" - - "8089" - - "-t" - - "grpc" - handler: main - instanceConcurrency: 10 - instanceType: e1 - cpu: 0.05 - diskSize: 512 - memorySize: 128 - runtime: custom - timeout: 300 - internetAccess: true - triggers: - - name: httpTrigger - type: http - config: - authType: anonymous - methods: - - GET - - POST \ No newline at end of file diff --git a/web/.editorconfig b/web/.editorconfig new file mode 100644 index 0000000..7e3649a --- /dev/null +++ b/web/.editorconfig @@ -0,0 +1,16 @@ +# http://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/web/.eslintignore b/web/.eslintignore new file mode 100644 index 0000000..8336e93 --- /dev/null +++ b/web/.eslintignore @@ -0,0 +1,8 @@ +/lambda/ +/scripts +/config +.history +public +dist +.umi +mock \ No newline at end of file diff --git a/web/.eslintrc.js b/web/.eslintrc.js new file mode 100644 index 0000000..b882c20 --- /dev/null +++ b/web/.eslintrc.js @@ -0,0 +1,8 @@ +module.exports = { + extends: [require.resolve('@umijs/fabric/dist/eslint')], + globals: { + ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: true, + page: true, + REACT_APP_ENV: true, + }, +}; diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..21ab9fb --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,40 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +**/node_modules +# roadhog-api-doc ignore +/src/utils/request-temp.js +_roadhog-api-doc + +# production +/dist + +# misc +.DS_Store +npm-debug.log* +yarn-error.log + +/coverage +.idea +yarn.lock +package-lock.json +pnpm-lock.yaml +*bak + + +# visual studio code +.history +*.log +functions/* +.temp/** + +# umi +.umi +.umi-production + +# screenshot +screenshot +.firebase +.eslintcache + +build diff --git a/web/.prettierignore b/web/.prettierignore new file mode 100644 index 0000000..d17efb4 --- /dev/null +++ b/web/.prettierignore @@ -0,0 +1,23 @@ +**/*.svg +package.json +.umi +.umi-production +/dist +.dockerignore +.DS_Store +.eslintignore +*.png +*.toml +docker +.editorconfig +Dockerfile* +.gitignore +.prettierignore +LICENSE +.eslintcache +*.lock +yarn-error.log +.history +CNAME +/build +/public \ No newline at end of file diff --git a/web/.prettierrc.js b/web/.prettierrc.js new file mode 100644 index 0000000..7b597d7 --- /dev/null +++ b/web/.prettierrc.js @@ -0,0 +1,5 @@ +const fabric = require('@umijs/fabric'); + +module.exports = { + ...fabric.prettier, +}; diff --git a/web/.stylelintrc.js b/web/.stylelintrc.js new file mode 100644 index 0000000..a1184de --- /dev/null +++ b/web/.stylelintrc.js @@ -0,0 +1,3 @@ +module.exports = { + extends: [require.resolve('@umijs/fabric/dist/stylelint')], +}; diff --git a/web/README.md b/web/README.md new file mode 100644 index 0000000..a7c8143 --- /dev/null +++ b/web/README.md @@ -0,0 +1,3 @@ +# SeaMoon Web Control + +客户端 web 页面, 基于 ant design pro 5.2.0 diff --git a/web/config/config.dev.ts b/web/config/config.dev.ts new file mode 100644 index 0000000..ab0e590 --- /dev/null +++ b/web/config/config.dev.ts @@ -0,0 +1,15 @@ +// https://umijs.org/config/ +import { defineConfig } from 'umi'; + +export default defineConfig({ + plugins: [ + // https://github.com/zthxxx/react-dev-inspector + 'react-dev-inspector/plugins/umi/react-inspector', + ], + // https://github.com/zthxxx/react-dev-inspector#inspector-loader-props + inspectorConfig: { + exclude: [], + babelPlugins: [], + babelOptions: {}, + }, +}); diff --git a/web/config/config.ts b/web/config/config.ts new file mode 100644 index 0000000..d288354 --- /dev/null +++ b/web/config/config.ts @@ -0,0 +1,76 @@ +// https://umijs.org/config/ +import { defineConfig } from 'umi'; +import { join } from 'path'; + +import defaultSettings from './defaultSettings'; +import proxy from './proxy'; +import routes from './routes'; + +const { REACT_APP_ENV } = process.env; + +export default defineConfig({ + hash: true, + antd: {}, + dva: { + hmr: true, + }, + layout: { + // https://umijs.org/zh-CN/plugins/plugin-layout + locale: true, + siderWidth: 208, + ...defaultSettings, + }, + // https://umijs.org/zh-CN/plugins/plugin-locale + locale: { + // default zh-CN + default: 'zh-CN', + antd: true, + // default true, when it is true, will use `navigator.language` overwrite default + baseNavigator: true, + }, + dynamicImport: { + loading: '@ant-design/pro-layout/es/PageLoading', + }, + targets: { + ie: 11, + }, + // umi routes: https://umijs.org/docs/routing + routes, + access: {}, + // Theme for antd: https://ant.design/docs/react/customize-theme-cn + theme: { + // 如果不想要 configProvide 动态设置主题需要把这个设置为 default + // 只有设置为 variable, 才能使用 configProvide 动态设置主色调 + // https://ant.design/docs/react/customize-theme-variable-cn + 'root-entry-name': 'variable', + }, + // esbuild is father build tools + // https://umijs.org/plugins/plugin-esbuild + esbuild: {}, + title: false, + ignoreMomentLocale: true, + proxy: proxy[REACT_APP_ENV || 'dev'], + manifest: { + basePath: '/', + }, + // Fast Refresh 热更新 + fastRefresh: {}, + openAPI: [ + { + requestLibPath: "import { request } from 'umi'", + // 或者使用在线的版本 + // schemaPath: "https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json" + schemaPath: join(__dirname, 'oneapi.json'), + mock: false, + }, + { + requestLibPath: "import { request } from 'umi'", + schemaPath: 'https://gw.alipayobjects.com/os/antfincdn/CA1dOm%2631B/openapi.json', + projectName: 'swagger', + }, + ], + nodeModulesTransform: { type: 'none' }, + mfsu: {}, + webpack5: {}, + exportStatic: {}, +}); diff --git a/web/config/defaultSettings.ts b/web/config/defaultSettings.ts new file mode 100644 index 0000000..476d4d2 --- /dev/null +++ b/web/config/defaultSettings.ts @@ -0,0 +1,21 @@ +import {Settings as LayoutSettings} from '@ant-design/pro-components'; + +const Settings: LayoutSettings & { + pwa?: boolean; + logo?: string; +} = { + navTheme: 'realDark', + // 拂晓蓝 + primaryColor: '#76b39d', + layout: 'mix', + contentWidth: 'Fluid', + fixedHeader: false, + fixSiderbar: true, + colorWeak: false, + title: 'SeaMoon', + pwa: false, + logo: 'icon.svg', + iconfontUrl: '', +}; + +export default Settings; diff --git a/web/config/oneapi.json b/web/config/oneapi.json new file mode 100644 index 0000000..c77d988 --- /dev/null +++ b/web/config/oneapi.json @@ -0,0 +1,593 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Ant Design Pro", + "version": "1.0.0" + }, + "servers": [ + { + "url": "http://localhost:8000/" + }, + { + "url": "https://localhost:8000/" + } + ], + "paths": { + "/api/currentUser": { + "get": { + "tags": ["api"], + "description": "获取当前的用户", + "operationId": "currentUser", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CurrentUser" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/api/login/captcha": { + "post": { + "description": "发送验证码", + "operationId": "getFakeCaptcha", + "tags": ["login"], + "parameters": [ + { + "name": "phone", + "in": "query", + "description": "手机号", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FakeCaptcha" + } + } + } + } + } + } + }, + "/api/login/outLogin": { + "post": { + "description": "登录接口", + "operationId": "outLogin", + "tags": ["login"], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/api/login/account": { + "post": { + "tags": ["login"], + "description": "登录接口", + "operationId": "login", + "requestBody": { + "description": "登录系统", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginParams" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginResult" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "x-codegen-request-body-name": "body" + }, + "x-swagger-router-controller": "api" + }, + "/api/notices": { + "summary": "getNotices", + "description": "NoticeIconItem", + "get": { + "tags": ["api"], + "operationId": "getNotices", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NoticeIconList" + } + } + } + } + } + } + }, + "/api/rule": { + "get": { + "tags": ["rule"], + "description": "获取规则列表", + "operationId": "rule", + "parameters": [ + { + "name": "current", + "in": "query", + "description": "当前的页码", + "schema": { + "type": "number" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "页面的容量", + "schema": { + "type": "number" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleList" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "post": { + "tags": ["rule"], + "description": "新建规则", + "operationId": "addRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleListItem" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "put": { + "tags": ["rule"], + "description": "新建规则", + "operationId": "updateRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleListItem" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "delete": { + "tags": ["rule"], + "description": "删除规则", + "operationId": "removeRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/swagger": { + "x-swagger-pipe": "swagger_raw" + } + }, + "components": { + "schemas": { + "CurrentUser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "userid": { + "type": "string" + }, + "email": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "title": { + "type": "string" + }, + "group": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "label": { + "type": "string" + } + } + } + }, + "notifyCount": { + "type": "integer", + "format": "int32" + }, + "unreadCount": { + "type": "integer", + "format": "int32" + }, + "country": { + "type": "string" + }, + "access": { + "type": "string" + }, + "geographic": { + "type": "object", + "properties": { + "province": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "key": { + "type": "string" + } + } + }, + "city": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "key": { + "type": "string" + } + } + } + } + }, + "address": { + "type": "string" + }, + "phone": { + "type": "string" + } + } + }, + "LoginResult": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "type": { + "type": "string" + }, + "currentAuthority": { + "type": "string" + } + } + }, + "PageParams": { + "type": "object", + "properties": { + "current": { + "type": "number" + }, + "pageSize": { + "type": "number" + } + } + }, + "RuleListItem": { + "type": "object", + "properties": { + "key": { + "type": "integer", + "format": "int32" + }, + "disabled": { + "type": "boolean" + }, + "href": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "name": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "desc": { + "type": "string" + }, + "callNo": { + "type": "integer", + "format": "int32" + }, + "status": { + "type": "integer", + "format": "int32" + }, + "updatedAt": { + "type": "string", + "format": "datetime" + }, + "createdAt": { + "type": "string", + "format": "datetime" + }, + "progress": { + "type": "integer", + "format": "int32" + } + } + }, + "RuleList": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RuleListItem" + } + }, + "total": { + "type": "integer", + "description": "列表的内容总数", + "format": "int32" + }, + "success": { + "type": "boolean" + } + } + }, + "FakeCaptcha": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "status": { + "type": "string" + } + } + }, + "LoginParams": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "autoLogin": { + "type": "boolean" + }, + "type": { + "type": "string" + } + } + }, + "ErrorResponse": { + "required": ["errorCode"], + "type": "object", + "properties": { + "errorCode": { + "type": "string", + "description": "业务约定的错误码" + }, + "errorMessage": { + "type": "string", + "description": "业务上的错误信息" + }, + "success": { + "type": "boolean", + "description": "业务上的请求是否成功" + } + } + }, + "NoticeIconList": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NoticeIconItem" + } + }, + "total": { + "type": "integer", + "description": "列表的内容总数", + "format": "int32" + }, + "success": { + "type": "boolean" + } + } + }, + "NoticeIconItemType": { + "title": "NoticeIconItemType", + "description": "已读未读列表的枚举", + "type": "string", + "properties": {}, + "enum": ["notification", "message", "event"] + }, + "NoticeIconItem": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extra": { + "type": "string", + "format": "any" + }, + "key": { "type": "string" }, + "read": { + "type": "boolean" + }, + "avatar": { + "type": "string" + }, + "title": { + "type": "string" + }, + "status": { + "type": "string" + }, + "datetime": { + "type": "string", + "format": "date" + }, + "description": { + "type": "string" + }, + "type": { + "extensions": { + "x-is-enum": true + }, + "$ref": "#/components/schemas/NoticeIconItemType" + } + } + } + } + } +} diff --git a/web/config/proxy.ts b/web/config/proxy.ts new file mode 100644 index 0000000..a8194b7 --- /dev/null +++ b/web/config/proxy.ts @@ -0,0 +1,34 @@ +/** + * 在生产环境 代理是无法生效的,所以这里没有生产环境的配置 + * ------------------------------- + * The agent cannot take effect in the production environment + * so there is no configuration of the production environment + * For details, please see + * https://pro.ant.design/docs/deploy + */ +export default { + dev: { + // localhost:8000/api/** -> https://preview.pro.ant.design/api/** + '/api/': { + // 要代理的地址 + target: 'https://preview.pro.ant.design', + // 配置了这个可以从 http 代理到 https + // 依赖 origin 的功能可能需要这个,比如 cookie + changeOrigin: true, + }, + }, + test: { + '/api/': { + target: 'https://proapi.azurewebsites.net', + changeOrigin: true, + pathRewrite: { '^': '' }, + }, + }, + pre: { + '/api/': { + target: 'your pre url', + changeOrigin: true, + pathRewrite: { '^': '' }, + }, + }, +}; diff --git a/web/config/routes.ts b/web/config/routes.ts new file mode 100644 index 0000000..1e9a6c4 --- /dev/null +++ b/web/config/routes.ts @@ -0,0 +1,74 @@ +export default [ + { + path: '/user', + layout: false, + routes: [ + { + name: 'login', + path: '/user/login', + component: './user/Login', + }, + { + component: './404', + }, + ], + }, + { + path: '/dashboard', + name: '仪表盘', + icon: 'dashboard', + component: './Dashboard', + }, + { + path: '/network', + name: '网络', + icon: 'cluster', + routes: [ + { + path: 'proxy', + name: '节点', + component: './network/Proxy', + }, + { + component: './404', + }, + ], + }, + { + path: '/application', + name: '应用', + icon: 'AppstoreAdd', + routes: [ + { + component: './404', + }, + ], + }, + { + path: '/setting', + name: '配置', + icon: 'setting', + routes: [ + { + path: 'system', + name: '系统', // 本地代理状态、web相关选项、管理员账户 + component: './setting/System', + }, + { + path: 'server', + name: '服务', // 当前服务运行状态 + component: './setting/Server', + }, + { + component: './404', + }, + ] + }, + { + path: '/', + redirect: '/dashboard', + }, + { + component: './404', + }, +]; diff --git a/web/jest.config.js b/web/jest.config.js new file mode 100644 index 0000000..4729573 --- /dev/null +++ b/web/jest.config.js @@ -0,0 +1,9 @@ +module.exports = { + testURL: 'http://localhost:8000', + verbose: false, + extraSetupFiles: ['./tests/setupTests.js'], + globals: { + ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: false, + localStorage: null, + }, +}; diff --git a/web/jsconfig.json b/web/jsconfig.json new file mode 100644 index 0000000..197bee5 --- /dev/null +++ b/web/jsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "jsx": "react-jsx", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/web/mock/listTableList.ts b/web/mock/listTableList.ts new file mode 100644 index 0000000..08ed86d --- /dev/null +++ b/web/mock/listTableList.ts @@ -0,0 +1,174 @@ +import { Request, Response } from 'express'; +import moment from 'moment'; +import { parse } from 'url'; + +// mock tableListDataSource +const genList = (current: number, pageSize: number) => { + const tableListDataSource: API.RuleListItem[] = []; + + for (let i = 0; i < pageSize; i += 1) { + const index = (current - 1) * 10 + i; + tableListDataSource.push({ + key: index, + disabled: i % 6 === 0, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + name: `TradeCode ${index}`, + owner: '曲丽丽', + desc: '这是一段描述', + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 4, + updatedAt: moment().format('YYYY-MM-DD'), + createdAt: moment().format('YYYY-MM-DD'), + progress: Math.ceil(Math.random() * 100), + }); + } + tableListDataSource.reverse(); + return tableListDataSource; +}; + +let tableListDataSource = genList(1, 100); + +function getRule(req: Request, res: Response, u: string) { + let realUrl = u; + if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') { + realUrl = req.url; + } + const { current = 1, pageSize = 10 } = req.query; + const params = parse(realUrl, true).query as unknown as API.PageParams & + API.RuleListItem & { + sorter: any; + filter: any; + }; + + let dataSource = [...tableListDataSource].slice( + ((current as number) - 1) * (pageSize as number), + (current as number) * (pageSize as number), + ); + if (params.sorter) { + const sorter = JSON.parse(params.sorter); + dataSource = dataSource.sort((prev, next) => { + let sortNumber = 0; + Object.keys(sorter).forEach((key) => { + if (sorter[key] === 'descend') { + if (prev[key] - next[key] > 0) { + sortNumber += -1; + } else { + sortNumber += 1; + } + return; + } + if (prev[key] - next[key] > 0) { + sortNumber += 1; + } else { + sortNumber += -1; + } + }); + return sortNumber; + }); + } + if (params.filter) { + const filter = JSON.parse(params.filter as any) as { + [key: string]: string[]; + }; + if (Object.keys(filter).length > 0) { + dataSource = dataSource.filter((item) => { + return Object.keys(filter).some((key) => { + if (!filter[key]) { + return true; + } + if (filter[key].includes(`${item[key]}`)) { + return true; + } + return false; + }); + }); + } + } + + if (params.name) { + dataSource = dataSource.filter((data) => data?.name?.includes(params.name || '')); + } + const result = { + data: dataSource, + total: tableListDataSource.length, + success: true, + pageSize, + current: parseInt(`${params.current}`, 10) || 1, + }; + + return res.json(result); +} + +function postRule(req: Request, res: Response, u: string, b: Request) { + let realUrl = u; + if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') { + realUrl = req.url; + } + + const body = (b && b.body) || req.body; + const { method, name, desc, key } = body; + + switch (method) { + /* eslint no-case-declarations:0 */ + case 'delete': + tableListDataSource = tableListDataSource.filter((item) => key.indexOf(item.key) === -1); + break; + case 'post': + (() => { + const i = Math.ceil(Math.random() * 10000); + const newRule: API.RuleListItem = { + key: tableListDataSource.length, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + name, + owner: '曲丽丽', + desc, + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 2, + updatedAt: moment().format('YYYY-MM-DD'), + createdAt: moment().format('YYYY-MM-DD'), + progress: Math.ceil(Math.random() * 100), + }; + tableListDataSource.unshift(newRule); + return res.json(newRule); + })(); + return; + + case 'update': + (() => { + let newRule = {}; + tableListDataSource = tableListDataSource.map((item) => { + if (item.key === key) { + newRule = { ...item, desc, name }; + return { ...item, desc, name }; + } + return item; + }); + return res.json(newRule); + })(); + return; + default: + break; + } + + const result = { + list: tableListDataSource, + pagination: { + total: tableListDataSource.length, + }, + }; + + res.json(result); +} + +export default { + 'GET /api/rule': getRule, + 'POST /api/rule': postRule, +}; diff --git a/web/mock/notices.ts b/web/mock/notices.ts new file mode 100644 index 0000000..732dd58 --- /dev/null +++ b/web/mock/notices.ts @@ -0,0 +1,107 @@ +import { Request, Response } from 'express'; + +const getNotices = (req: Request, res: Response) => { + res.json({ + data: [ + { + id: '000000001', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '你收到了 14 份新周报', + datetime: '2017-08-09', + type: 'notification', + }, + { + id: '000000002', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png', + title: '你推荐的 曲妮妮 已通过第三轮面试', + datetime: '2017-08-08', + type: 'notification', + }, + { + id: '000000003', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png', + title: '这种模板可以区分多种通知类型', + datetime: '2017-08-07', + read: true, + type: 'notification', + }, + { + id: '000000004', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png', + title: '左侧图标用于区分不同的类型', + datetime: '2017-08-07', + type: 'notification', + }, + { + id: '000000005', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '内容不要超过两行字,超出时自动截断', + datetime: '2017-08-07', + type: 'notification', + }, + { + id: '000000006', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '曲丽丽 评论了你', + description: '描述信息描述信息描述信息', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000007', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '朱偏右 回复了你', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000008', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '标题', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000009', + title: '任务名称', + description: '任务需要在 2017-01-12 20:00 前启动', + extra: '未开始', + status: 'todo', + type: 'event', + }, + { + id: '000000010', + title: '第三方紧急代码变更', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '马上到期', + status: 'urgent', + type: 'event', + }, + { + id: '000000011', + title: '信息安全考试', + description: '指派竹尔于 2017-01-09 前完成更新并发布', + extra: '已耗时 8 天', + status: 'doing', + type: 'event', + }, + { + id: '000000012', + title: 'ABCD 版本发布', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '进行中', + status: 'processing', + type: 'event', + }, + ], + }); +}; + +export default { + 'GET /api/notices': getNotices, +}; diff --git a/web/mock/route.ts b/web/mock/route.ts new file mode 100644 index 0000000..418d10f --- /dev/null +++ b/web/mock/route.ts @@ -0,0 +1,5 @@ +export default { + '/api/auth_routes': { + '/form/advanced-form': { authority: ['admin', 'user'] }, + }, +}; diff --git a/web/mock/user.ts b/web/mock/user.ts new file mode 100644 index 0000000..75edd34 --- /dev/null +++ b/web/mock/user.ts @@ -0,0 +1,203 @@ +import { Request, Response } from 'express'; + +const waitTime = (time: number = 100) => { + return new Promise((resolve) => { + setTimeout(() => { + resolve(true); + }, time); + }); +}; + +async function getFakeCaptcha(req: Request, res: Response) { + await waitTime(2000); + return res.json('captcha-xxx'); +} + +const { ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION } = process.env; + +/** + * 当前用户的权限,如果为空代表没登录 + * current user access, if is '', user need login + * 如果是 pro 的预览,默认是有权限的 + */ +let access = ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site' ? 'admin' : ''; + +const getAccess = () => { + return access; +}; + +// 代码中会兼容本地 service mock 以及部署站点的静态数据 +export default { + // 支持值为 Object 和 Array + 'GET /api/currentUser': (req: Request, res: Response) => { + if (!getAccess()) { + res.status(401).send({ + data: { + isLogin: false, + }, + errorCode: '401', + errorMessage: '请先登录!', + success: true, + }); + return; + } + res.send({ + success: true, + data: { + name: 'Serati Ma', + avatar: 'https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png', + userid: '00000001', + email: 'antdesign@alipay.com', + signature: '海纳百川,有容乃大', + title: '交互专家', + group: '蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED', + tags: [ + { + key: '0', + label: '很有想法的', + }, + { + key: '1', + label: '专注设计', + }, + { + key: '2', + label: '辣~', + }, + { + key: '3', + label: '大长腿', + }, + { + key: '4', + label: '川妹子', + }, + { + key: '5', + label: '海纳百川', + }, + ], + notifyCount: 12, + unreadCount: 11, + country: 'China', + access: getAccess(), + geographic: { + province: { + label: '浙江省', + key: '330000', + }, + city: { + label: '杭州市', + key: '330100', + }, + }, + address: '西湖区工专路 77 号', + phone: '0752-268888888', + }, + }); + }, + // GET POST 可省略 + 'GET /api/users': [ + { + key: '1', + name: 'John Brown', + age: 32, + address: 'New York No. 1 Lake Park', + }, + { + key: '2', + name: 'Jim Green', + age: 42, + address: 'London No. 1 Lake Park', + }, + { + key: '3', + name: 'Joe Black', + age: 32, + address: 'Sidney No. 1 Lake Park', + }, + ], + 'POST /api/login/account': async (req: Request, res: Response) => { + const { password, username, type } = req.body; + await waitTime(2000); + if (password === 'ant.design' && username === 'admin') { + res.send({ + status: 'ok', + type, + currentAuthority: 'admin', + }); + access = 'admin'; + return; + } + if (password === 'ant.design' && username === 'user') { + res.send({ + status: 'ok', + type, + currentAuthority: 'user', + }); + access = 'user'; + return; + } + if (type === 'mobile') { + res.send({ + status: 'ok', + type, + currentAuthority: 'admin', + }); + access = 'admin'; + return; + } + + res.send({ + status: 'error', + type, + currentAuthority: 'guest', + }); + access = 'guest'; + }, + 'POST /api/login/outLogin': (req: Request, res: Response) => { + access = ''; + res.send({ data: {}, success: true }); + }, + 'POST /api/register': (req: Request, res: Response) => { + res.send({ status: 'ok', currentAuthority: 'user', success: true }); + }, + 'GET /api/500': (req: Request, res: Response) => { + res.status(500).send({ + timestamp: 1513932555104, + status: 500, + error: 'error', + message: 'error', + path: '/base/category/list', + }); + }, + 'GET /api/404': (req: Request, res: Response) => { + res.status(404).send({ + timestamp: 1513932643431, + status: 404, + error: 'Not Found', + message: 'No message available', + path: '/base/category/list/2121212', + }); + }, + 'GET /api/403': (req: Request, res: Response) => { + res.status(403).send({ + timestamp: 1513932555104, + status: 403, + error: 'Forbidden', + message: 'Forbidden', + path: '/base/category/list', + }); + }, + 'GET /api/401': (req: Request, res: Response) => { + res.status(401).send({ + timestamp: 1513932555104, + status: 401, + error: 'Unauthorized', + message: 'Unauthorized', + path: '/base/category/list', + }); + }, + + 'GET /api/login/captcha': getFakeCaptcha, +}; diff --git a/web/package.json b/web/package.json new file mode 100644 index 0000000..7332efd --- /dev/null +++ b/web/package.json @@ -0,0 +1,95 @@ +{ + "name": "ant-design-pro", + "version": "5.2.0", + "private": true, + "description": "An out-of-box UI solution for enterprise applications", + "scripts": { + "analyze": "cross-env ANALYZE=1 umi build", + "build": "umi build", + "deploy": "npm run build && npm run gh-pages", + "dev": "npm run start:dev", + "gh-pages": "gh-pages -d dist", + "i18n-remove": "pro i18n-remove --locale=zh-CN --write", + "postinstall": "umi g tmp", + "lint": "umi g tmp && npm run lint:js && npm run lint:style && npm run lint:prettier && npm run tsc", + "lint-staged": "lint-staged", + "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx ", + "lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src && npm run lint:style", + "lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src", + "lint:prettier": "prettier -c --write \"src/**/*\" --end-of-line auto", + "lint:style": "stylelint --fix \"src/**/*.less\" --syntax less", + "openapi": "umi openapi", + "playwright": "playwright install && playwright test", + "prepare": "husky install", + "prettier": "prettier -c --write \"src/**/*\"", + "serve": "umi-serve", + "start": "cross-env UMI_ENV=dev umi dev", + "start:dev": "cross-env REACT_APP_ENV=dev MOCK=none UMI_ENV=dev umi dev", + "start:no-mock": "cross-env MOCK=none UMI_ENV=dev umi dev", + "start:no-ui": "cross-env UMI_UI=none UMI_ENV=dev umi dev", + "start:pre": "cross-env REACT_APP_ENV=pre UMI_ENV=dev umi dev", + "start:test": "cross-env REACT_APP_ENV=test MOCK=none UMI_ENV=dev umi dev", + "test": "umi test", + "test:component": "umi test ./src/components", + "test:e2e": "node ./tests/run-tests.js", + "tsc": "tsc --noEmit" + }, + "lint-staged": { + "**/*.less": "stylelint --syntax less", + "**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js", + "**/*.{js,jsx,tsx,ts,less,md,json}": ["prettier --write"] + }, + "browserslist": ["> 1%", "last 2 versions", "not ie <= 10"], + "dependencies": { + "@ant-design/icons": "^4.7.0", + "@ant-design/pro-components": "1.1.5", + "@umijs/route-utils": "^2.0.0", + "antd": "^4.20.0", + "classnames": "^2.3.0", + "lodash": "^4.17.0", + "moment": "^2.29.0", + "omit.js": "^2.0.2", + "rc-menu": "^9.1.0", + "rc-util": "^5.16.0", + "react": "^17.0.0", + "react-dev-inspector": "^1.7.0", + "react-dom": "^17.0.0", + "react-helmet-async": "^1.2.0", + "umi": "^3.5.0" + }, + "devDependencies": { + "@ant-design/pro-cli": "^2.1.0", + "@playwright/test": "^1.17.0", + "@types/classnames": "^2.3.1", + "@types/express": "^4.17.0", + "@types/history": "^4.7.0", + "@types/jest": "^26.0.0", + "@types/lodash": "^4.14.0", + "@types/react": "^17.0.0", + "@types/react-dom": "^17.0.0", + "@types/react-helmet": "^6.1.0", + "@umijs/fabric": "^2.11.1", + "@umijs/openapi": "^1.6.0", + "@umijs/plugin-blocks": "^2.2.0", + "@umijs/plugin-esbuild": "^1.4.0", + "@umijs/plugin-openapi": "^1.3.3", + "@umijs/preset-ant-design-pro": "^1.3.0", + "@umijs/preset-dumi": "^1.1.0", + "@umijs/preset-react": "^2.1.0", + "cross-env": "^7.0.0", + "cross-port-killer": "^1.3.0", + "detect-installer": "^1.0.0", + "eslint": "^7.32.0", + "gh-pages": "^3.2.0", + "husky": "^7.0.4", + "jsdom-global": "^3.0.0", + "lint-staged": "^10.0.0", + "mockjs": "^1.1.0", + "prettier": "^2.5.0", + "stylelint": "^13.0.0", + "swagger-ui-dist": "^4.12.0", + "typescript": "^4.5.0", + "umi-serve": "^1.9.10" + }, + "engines": { "node": ">=12.0.0" } +} diff --git a/web/playwright.config.ts b/web/playwright.config.ts new file mode 100644 index 0000000..ec1b31d --- /dev/null +++ b/web/playwright.config.ts @@ -0,0 +1,22 @@ +// playwright.config.ts +import type { PlaywrightTestConfig } from '@playwright/test'; +import { devices } from '@playwright/test'; + +const config: PlaywrightTestConfig = { + forbidOnly: !!process.env.CI, + retries: process.env.CI ? 2 : 0, + use: { + trace: 'on-first-retry', + }, + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + { + name: 'firefox', + use: { ...devices['Desktop Firefox'] }, + }, + ], +}; +export default config; diff --git a/cmd/client/static/public/img/favicon.ico b/web/public/favicon.ico similarity index 100% rename from cmd/client/static/public/img/favicon.ico rename to web/public/favicon.ico diff --git a/web/public/icon.svg b/web/public/icon.svg new file mode 100644 index 0000000..ae7915a --- /dev/null +++ b/web/public/icon.svg @@ -0,0 +1,55 @@ + + Created with Snap + + + + + + + Created with Snap + + + + + + + Created with Snap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/public/icon_black.svg b/web/public/icon_black.svg new file mode 100644 index 0000000..d12f2aa --- /dev/null +++ b/web/public/icon_black.svg @@ -0,0 +1,55 @@ + + Created with Snap + + + + + + + Created with Snap + + + + + + + Created with Snap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/public/icons/icon-128x128.png b/web/public/icons/icon-128x128.png new file mode 100644 index 0000000..48d0e23 Binary files /dev/null and b/web/public/icons/icon-128x128.png differ diff --git a/web/public/icons/icon-192x192.png b/web/public/icons/icon-192x192.png new file mode 100644 index 0000000..938e9b5 Binary files /dev/null and b/web/public/icons/icon-192x192.png differ diff --git a/web/public/icons/icon-512x512.png b/web/public/icons/icon-512x512.png new file mode 100644 index 0000000..21fc108 Binary files /dev/null and b/web/public/icons/icon-512x512.png differ diff --git a/cmd/client/static/public/img/logo.png b/web/public/logo.png similarity index 100% rename from cmd/client/static/public/img/logo.png rename to web/public/logo.png diff --git a/web/src/access.ts b/web/src/access.ts new file mode 100644 index 0000000..e823e24 --- /dev/null +++ b/web/src/access.ts @@ -0,0 +1,9 @@ +/** + * @see https://umijs.org/zh-CN/plugins/plugin-access + * */ +export default function access(initialState: { currentUser?: API.CurrentUser } | undefined) { + const { currentUser } = initialState ?? {}; + return { + canAdmin: currentUser && currentUser.access === 'admin', + }; +} diff --git a/web/src/app.tsx b/web/src/app.tsx new file mode 100644 index 0000000..10f2366 --- /dev/null +++ b/web/src/app.tsx @@ -0,0 +1,101 @@ +import Footer from '@/components/Footer'; +import RightContent from '@/components/RightContent'; +import type {Settings as LayoutSettings} from '@ant-design/pro-components'; +import {PageLoading, SettingDrawer} from '@ant-design/pro-components'; +import type {RunTimeLayoutConfig} from 'umi'; +import {history} from 'umi'; +import {ConfigProvider} from 'antd'; +import defaultSettings from '../config/defaultSettings'; +import {currentUser as queryCurrentUser} from './services/ant-design-pro/api'; + +const loginPath = '/user/login'; + +ConfigProvider.config({ + theme: { + primaryColor: '#76b39d', + } +}); + +/** 获取用户信息比较慢的时候会展示一个 loading */ +export const initialStateConfig = { + loading: , +}; + +/** + * @see https://umijs.org/zh-CN/plugins/plugin-initial-state + * */ +export async function getInitialState(): Promise<{ + settings?: Partial; + currentUser?: API.CurrentUser; + loading?: boolean; + fetchUserInfo?: () => Promise; +}> { + const fetchUserInfo = async () => { + try { + const msg = await queryCurrentUser(); + return msg.data; + } catch (error) { + history.push(loginPath); + } + return undefined; + }; + // 如果不是登录页面,执行 + if (history.location.pathname !== loginPath) { + const currentUser = await fetchUserInfo(); + return { + fetchUserInfo, + currentUser, + settings: defaultSettings, + }; + } + return { + fetchUserInfo, + settings: defaultSettings, + }; +} + +// ProLayout 支持的api https://procomponents.ant.design/components/layout +export const layout: RunTimeLayoutConfig = ({initialState, setInitialState}) => { + return { + rightContentRender: () => , + disableContentMargin: false, + waterMarkProps: false, + // content: initialState?.currentUser?.name, + // }, + footerRender: () =>