@charset "UTF-8";
@import "_config.less";

// +----------------------------------------------------------------------
// | ThinkAdmin
// +----------------------------------------------------------------------
// | 版权所有 2014~2021 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
// +----------------------------------------------------------------------
// | 官方网站: https://thinkadmin.top
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 代码仓库:https://gitee.com/zoujingli/ThinkAdmin
// | github 代码仓库:https://github.com/zoujingli/ThinkAdmin
// +----------------------------------------------------------------------

.flex {
  #flex();

  &-inline {
    display: inline-flex;
  }

  &-wrap {
    #flexWrap(wrap);

    &-no {
      #flexWrap(nowrap);
    }

    &-rev {
      #flexWrap(wrap-reverse);
    }
  }

  // 主轴方向
  &-direction- {
    &row {
      #flexDirection(row);

      &reverse {
        #flexDirection(row-reverse);
      }
    }

    &column {
      #flexDirection(column);

      &-reverse {
        #flexDirection(column-reverse);
      }
    }
  }

  // 垂直方向
  &-align- {
    &start {
      #flexAlign(flex-start);
    }

    &end {
      #flexAlign(flex-end);
    }

    &center {
      #flexAlign(center)
    }
  }

  // 横向布局
  &-justify- {
    &start {
      #flexJustify(flex-start);
    }

    &center {
      #flexJustify(center);
    }

    &end {
      #flexJustify(flex-end);
    }

    &space- {
      &between {
        #flexJustify(space-between);
      }

      &around {
        #flexJustify(space-around);
      }

      &evenly {
        #flexJustify(space-evenly);
      }
    }
  }

  &-1 {
    flex: 1;
  }

  &-2 {
    flex: 2;
  }

  &-3 {
    flex: 3;
  }

  &-4 {
    flex: 4;
  }

  &-5 {
    flex: 5;
  }
}

.fixed {
  position: fixed !important;
}

.absolute {
  position: absolute !important
}

.relative {
  position: relative !important
}

.headimg {
  width: 32px;
  height: 32px;
  display: inline-block;
  margin-right: 5px;
  border-radius: 50%;
  #imageBgCover();

  &-no {
    border: none;
    box-shadow: none;
    border-radius: 2px;
  }

  &-ss {
    width: 20px;
    height: 20px;
  }

  &-xs {
    width: 26px;
    height: 26px;
  }

  &-sm {
    width: 36px;
    height: 36px;
  }

  &-md {
    width: 52px;
    height: 52px;
  }

  &-lg {
    width: 82px;
    height: 82px;
  }

  > img {
    width: 110%;
    height: 110%;
    max-width: 110%;
    max-height: 110%;
    margin: -5% 0 0 -5%;
  }

  & + * {
    vertical-align: middle;
  }
}

.notdata {
  padding: 15px;
  display: block;
  font-size: 13px;
  text-align: center;
  line-height: 22px;
  border-radius: @BoxBorderRadius;
  letter-spacing: 1px;
  background-color: #f2f2f2;
  border: 1px solid @InputBorderNormalColor;
}

.notselect {
  #NotSelect();
}

.transition {
  #defaTransition();
}

.overhide {
  overflow: hidden !important;
}

.overauto {
  overflow: auto !important;
}

.pointer {
  cursor: pointer !important
}

.nowrap {
  white-space: nowrap !important
}

.shadow {
  box-shadow: @ShadowOuterMax;
}

.shadow-none {
  box-shadow: none !important;
}

.shadow-mini {
  box-shadow: @ShadowOuterMax;
}

.shadow-inset {
  box-shadow: @ShadowInset;
}

.block {
  display: block !important
}

.inline-block {
  display: inline-block !important
}

.help-block {
  color: #999;
  font-size: 12px
}

.help-label {
  color: #999 !important;

  b {
    color: #090 !important;
    margin-right: 5px !important;
  }
}

.help-checks:not(td) {
  padding: 10px 0 10px 10px;
  min-height: unset;
  line-height: 34px;
  border-radius: @BoxBorderRadius;
  #flex();
  #flexWrap(wrap);

  &.layui-input {
    padding: 1px 0 1px 5px;
  }
}

.help-images:not(td) {
  padding: 10px 0 0 10px !important;
  min-height: unset;
  border-radius: @BoxBorderRadius;
  #flex();
  #flexWrap(wrap);

  .uploadimage {
    margin: 0 10px 10px 0;
  }
}

/*! 搜索表单样式 */
.form-search {
  .layui-btn {
    height: 32px;
    padding: 0 10px;
    font-size: 13px;
    line-height: 32px;

    .layui-icon {
      font-size: 15px
    }
  }

  .layui-form-item {
    &:last-child {
      border: none
    }

    white-space: nowrap;
    margin-right: 8px;
    margin-bottom: 10px;
    border: 1px solid @InputBorderNormalColor;

    .layui-form-label {
      width: auto !important;
      border: none;
      height: 30px;
      padding: 0 8px;
      line-height: 32px;
      border-right: 1px solid @InputBorderNormalColor;
    }

    .layui-input-inline {
      width: 150px;
      margin: 0 !important;
      display: inline-block !important;

      input, select {
        width: 100%;
        height: 30px;
        padding: 0 8px;
        line-height: 32px;
        border-width: 0;
      }
    }

    .layui-form-select {
      dl {
        top: 31px;
        padding: 0;
        border-width: 0;
        box-shadow: @ShadowOuterMax;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
      }
    }
  }

  & + .layui-table {
    margin-top: 0 !important;
  }
}

/* 自定义表格行高 */
table[data-line] + div tbody {
  .layui-table-cell {
    padding-top: 10px;
    line-height: 20px;

    .headimg.pull-left {
      margin-top: 4px;
    }

    &.laytable-cell-checkbox {
      line-height: 44px;
    }

    .layui-btn {
      margin-top: 8px;
    }
  }
}

table[data-line='2'] + div tbody .layui-table-cell {
  height: 60px;

  &.laytable-cell-checkbox {
    line-height: 40px;
  }
}

table[data-line='3'] + div tbody .layui-table-cell {
  height: 80px;

  &.laytable-cell-checkbox {
    line-height: 60px;
  }
}

.layui-table-tips .layui-table-tips-main {
  font-size: 12px;
  padding-top: 10px;
  line-height: 20px;

  .headimg.pull-left {
    margin-top: 4px;
  }
}

/* 表单验证异常提示 */
.label-required {
  &-prev:before {
    color: red;
    width: 0.5em;
    content: '*';
    margin: -2px 0 0 -0.55em;
    display: inline-block;
    position: absolute;
    font-size: 14px;
    text-align: left;
    font-weight: bold;
    line-height: 1.6em;
  }

  &:after, &-next:after {
    top: 6px;
    right: 5px;
    color: red;
    content: '*';
    position: absolute;
    margin-left: 4px;
    font-weight: 700;
    line-height: 1.8em
  }

  &-null:before {
    content: none !important
  }
}

/** 手机盒子及微信菜单 */
.mobile-preview {
  width: 317px;
  height: 580px;
  position: relative;
  background: url(../img/wechat/mobile_head.png) no-repeat 0 0;
  border-radius: @BoxBorderRadius;

  .mobile-header {
    color: #fff;
    width: auto;
    margin: 0 30px;
    overflow: hidden;
    font-size: 15px;
    padding-top: 30px;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-wrap: normal;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    pointer-events: none;
    -webkit-pointer-events: none;
  }

  .mobile-body {
    top: 60px;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    background: #F5F5F5;
    border: 1px solid #666;
    border-radius: 0 0 @BoxBorderRadius @BoxBorderRadius;

    iframe {
      width: 100%;
      height: 100%;
      border: none;
    }
  }

  .mobile-footer {
    left: 1px;
    right: 1px;
    bottom: 1px;
    position: absolute;
    padding-left: 44px;
    border-top: 1px solid rgb(208, 208, 208);
    background: url(../img/wechat/mobile_foot.png) no-repeat 0 0;
    border-radius: 0 0 @BoxBorderRadius @BoxBorderRadius;

    li {
      float: left;
      width: 33.33%;
      position: relative;
      text-align: center;
      line-height: 50px;

      a {
        width: auto;
        color: #616161;
        display: block;
        overflow: hidden;
        word-wrap: normal;
        white-space: nowrap;
        text-overflow: ellipsis;
        text-decoration: none;

        &:after {
          top: -1px;
          left: 0;
          right: 0;
          bottom: 0;
          border: 1px solid rgb(208, 208, 208);
          margin: 0 0 0 -1px;
          z-index: 10;
          content: '';
          display: block;
          position: absolute;
        }

        &.active:after {
          border: 1px solid #44b549;
          box-shadow: 0 0 3px #44b549;
          z-index: 11;
        }

        &:hover {
          background: rgba(0, 0, 0, .02)
        }
      }

      > .close {
        top: 1px;
        right: 1px;
        width: 18px;
        height: 18px;
        display: none;
        cursor: pointer;
        position: absolute;
        z-index: 13;
        text-align: center;
        line-height: 18px;
      }

      &:hover > .close {
        display: inline-block;
        background: none !important;

        &:hover {
          color: #C33 !important;
        }
      }
    }

    .icon {
      &-add, &-sub {
        display: inline-block;
        vertical-align: middle;

        &::before {
          content: none;
        }
      }

      &-add {
        width: 14px;
        height: 14px;
        background: url(../img/wechat/index.png) 0 0 no-repeat
      }

      &-sub {
        width: 7px;
        height: 7px;
        margin-right: 2px;
        background: url(../img/wechat/index.png) 0 -3pc no-repeat
      }
    }

    .sub-menu {
      width: 100%;
      bottom: 60px;
      display: block;
      position: absolute;
      margin-bottom: -1px;
      background-color: #fafafa;

      ul li {
        width: 100%;
        padding: 0;

        > .close {
          top: 0;
        }

        a:after {
          margin: -1px 0 1px 0;
        }
      }
    }

    .arrow {
      left: 50%;
      position: absolute;
      margin-left: -6px;
    }

    .arrow_in,
    .arrow_out {
      width: 0;
      height: 0;
      z-index: 10;
      border: 6px dashed transparent;
      display: inline-block;
      border-top-style: solid;
      border-bottom-width: 0;
    }

    .arrow_in {
      bottom: -4px;
      z-index: 11;
      border-top-color: #fafafa
    }

    .arrow_out {
      bottom: -5px;
      z-index: 10;
      border-top-color: #d0d0d0
    }
  }
}

/*! 重置 Iframe 页面样式 */
.iframe-pagination {
  padding: 20px;

  &:not(.not-footer):after {
    content: '';
    height: 30px;
    display: block;
  }

  .pagination-container {
    left: 0;
    right: 0;
    bottom: 0;
    padding: 5px 20px;
    position: fixed;
    background: #fff;
    border-top: 1px solid #ddd;
  }
}

@think-elips: {
  display: -webkit-box;
  overflow: hidden;
  line-height: 1.4em;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
}

.think-elips {
  &-1 {
    @think-elips();
    line-clamp: 1;
    -webkit-line-clamp: 1;
  }

  &-2 {
    @think-elips();
    line-clamp: 2;
    -webkit-line-clamp: 2;
  }

  &-3 {
    @think-elips();
    line-clamp: 3;
    -webkit-line-clamp: 3;
  }

  &-4 {
    @think-elips();
    line-clamp: 4;
    -webkit-line-clamp: 4;
  }

  &-5 {
    @think-elips();
    line-clamp: 5;
    -webkit-line-clamp: 5;
  }
}

.think-box-shadow {
  padding: 20px !important;
  background: #fff !important;
  box-shadow: @ShadowOuterMax;
  border-radius: @BoxBorderRadius;

  > .layui-card {
    box-shadow: none;
  }
}

.think-box-notify {
  display: block;
  padding: 18px 20px;
  font-size: 14px;
  background: #FFF;
  line-height: 1em;
  margin-bottom: 10px;
  box-shadow: @ShadowOuterMax;
  border-radius: @BoxBorderRadius;

  > b {
    font-size: 15px;
  }

  > .layui-card {
    box-shadow: none;
  }
}

.think-page-loader {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1999;
  position: fixed;
  text-align: center;
  background-color: @LoadBackColor;

  .loader {
    top: 50%;
    width: 50px;
    height: 50px;
    margin: -35px 0 0 -35px;
    z-index: 999999;
    display: inline-block;
    position: fixed;
    background-color: @LoadBackColor;
  }

  .loader:before {
    top: 59px;
    left: 0;
    width: 50px;
    height: 7px;
    opacity: 0.1;
    content: "";
    position: absolute;
    border-radius: 50%;
    background-color: #000;
    animation: shadow .5s linear infinite;
  }

  .loader:after {
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    content: "";
    position: absolute;
    border-radius: 3px;
    background-color: #5FB878;
    animation: loading .5s linear infinite;
  }
}

.input-right-icon {
  top: 1px;
  right: 1px;
  color: #098;
  width: 36px;
  height: 36px;
  display: inline-block;
  position: absolute;
  background: #E9E9E9;
  text-align: center;
  line-height: 38px;

  &:hover {
    color: #009080;
    background: #E0E0E0;
  }
}

[data-tips-image] {
  cursor: zoom-in !important
}

[data-lazy-src] {
  #imageBgCover();
}

.pace-inactive {
  display: none
}

.pace-progress {
  top: 0;
  right: 100%;
  width: 100%;
  height: 2px;
  z-index: 2000;
  position: fixed;
  background: #22df80
}

input:not(.layui-hide,[type=hidden]) {
  &, & + span {
    + .uploadimage {
      margin-top: 5px;
    }
  }
}

.uploadimage {
  width: 76px;
  height: 76px;
  cursor: pointer;
  display: inline-block;
  border-radius: 3px;
  #imageBgCover();
  #defaTransition();
  background-image: url('../img/upimg.png');
  box-shadow: @ShadowOuterMin;

  &.uploadvideo {
    background-image: url('../img/upvideo.png');
  }

  > span:first-child {
    right: 0;
    height: 20px;
    z-index: 3;
    display: none;
    position: absolute;
    box-shadow: @ShadowOuterMin;

    .layui-icon {
      color: #fff;
      width: 22px;
      height: 20px;
      text-align: center;
      line-height: 22px;
      display: inline-block;
      background: rgba(0, 0, 0, .8);
    }

    .layui-icon:first-child {
      border-top-left-radius: 3px;
      border-bottom-left-radius: 3px;
    }

    .layui-icon:last-child {
      border-top-right-radius: 3px;
      border-bottom-right-radius: 3px;
    }
  }


  > span:last-child {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    z-index: 2;
  }

  &:hover > span:first-child {
    display: block;
  }
}

.uploadimagemtl {
  margin-right: 10px;

  > div {
    right: 0;
    display: none;
    position: absolute;
    text-align: right;

    a {
      color: #EEE;
      width: 22px;
      height: 20px;
      display: inline-block;
      box-shadow: @ShadowOuterMin;
      text-align: center;
      line-height: 20px;
      background: rgba(0, 0, 0, 0.8);

      &:first-child {
        border-top-left-radius: 3px;
        border-bottom-left-radius: 3px;
      }

      &:last-child {
        border-top-right-radius: 3px;
        border-bottom-right-radius: 3px;
      }
    }
  }

  &:hover > div {
    cursor: pointer;
    display: inline-block;

    a:hover {
      color: #FFF;
      text-decoration: none
    }
  }
}

.upload-image-smbox,
.upload-image-mdbox,
.upload-image-lgbox {
  .uploadimage {
    margin-bottom: 10px;

    a {
      width: 30px;
      height: 30px;
      line-height: 30px;
    }
  }
}

.upload-image-smbox .uploadimage {
  width: 120px;
  height: 120px;
}

.upload-image-mdbox .uploadimage {
  width: 180px;
  height: 180px;
}

.upload-image-lgbox .uploadimage {
  width: 240px;
  height: 240px;
}

.submit-button-loading {
  cursor: default;
  position: relative;
  transform: scale(1);
  text-align: center;

  &::after {
    left: 50%;
    position: absolute;
    margin-left: -8px;

    #iconLayout(15px);
    content: "\e63d";

    animation-name: layui-rotate;
    -webkit-animation-name: layui-rotate;
    -webkit-animation-duration: 1s;

    animation-duration: 1s;
    animation-timing-function: linear;
    -webkit-animation-timing-function: linear;

    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
  }
}

/* 图片选择器样式 */
.image-dialog {
  &-head {
    clear: both;
    height: 30px;
    padding: 10px 12px;
  }

  &-body {
    height: 470px;
    display: flex;
    flex-wrap: wrap;
    background: #EFEFEF;
    padding-top: 12px;
    padding-left: 12px;
    align-content: flex-start;
  }

  &-item {
    z-index: 1;
    overflow: hidden;
    position: relative;
    margin-right: 12px;
    margin-bottom: 12px;
    border-radius: @BoxBorderRadius;

    .uploadimage {
      width: 145px;
      height: 145px;
      margin: 0;
    }

    &-type, &-size {
      top: 2px;
      color: #FFF;
      padding: 0 6px;
      position: absolute;
      font-size: 12px;
      transform: scale(0.9);
      background: rgba(0, 0, 0, 0.6);
      line-height: 20px;
      border-radius: 20px;
    }

    &-type {
      left: 1px;
    }

    &-size {
      right: 1px;
    }

    &-name {
      left: 0;
      right: 0;
      bottom: 0;
      color: #fff;
      padding: 3px 10px;
      position: absolute;
      text-align: center;
      line-height: 1.5em;
      white-space: nowrap;
      background: rgba(0, 0, 0, 0.6);
    }
  }

  &-foot {
    padding: 0 12px;
  }

  &-page {
    height: 50px;
    text-align: center;

    .layui-laypage {
      a, span {
        margin-bottom: 0;
      }
    }
  }

  &-button {
    color: #fff;
    right: 10px;
    bottom: 4px;
    width: 42px;
    height: 42px;
    z-index: 2;
    cursor: pointer;
    display: inline-block;
    position: absolute;
    text-align: center;
    background: #1E9FFF;
    font-size: 16px;
    font-weight: 700;
    line-height: 42px;
    border-radius: 50%;
    #NotSelect();
    #defaTransition();
  }

  &-checked {
    &:after, &:before {
      z-index: 2;
      cursor: pointer;
      content: '';
      display: block;
      position: absolute;
    }

    &:after {
      top: -25px;
      right: -25px;
      width: 50px;
      height: 50px;
      transform: rotate(135deg);
      -moz-transform: rotate(135deg);
      -webkit-transform: rotate(135deg);
      background-color: rgba(56, 169, 225, 0.8);
    }

    &:before {
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      border: 4px solid rgba(56, 169, 225, 0.8);
    }
  }
}

.portal-block-container {
  font-size: 14px;
  margin-bottom: 10px;
  letter-spacing: 1px;

  .portal-block {
    &-icon {
      top: 45%;
      right: 8%;
      font-size: 65px;
      position: absolute;
      color: rgba(255, 255, 255, 0.4);
    }

    &-item {
      color: #fff;
      padding: 15px 25px;
      position: relative;
      line-height: 3em;
      box-shadow: @ShadowOuterMax;
      border-radius: @BoxBorderRadius;

      > div:nth-child(2) {
        font-size: 46px;
        line-height: 46px;
      }
    }
  }
}

label.think-radio,
label.think-checkbox {
  cursor: pointer;
  display: inline-block;
  margin: 8px 10px 8px 6px;
}

.think-radio,
.think-checkbox {
  .notselect();
  margin-top: 10px;
  font-weight: 400;
  line-height: 16px;

  input[type=radio],
  input[type=checkbox] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    border: 1px solid @RadioBorderNormalColor;
    position: relative;
    background: #fff;
    margin-right: 5px;
    vertical-align: bottom;
    display: inline-block !important;
    box-sizing: border-box !important;
    appearance: none;
    -webkit-appearance: none;

    &:checked {
      border-color: #009688;

      &:after {
        display: block;
        position: relative;
        animation-duration: .3s;
        animation-fill-mode: both;
        animation-name: layui-fadein;
        -webkit-animation-duration: .3s;
        -webkit-animation-fill-mode: both;
        -webkit-animation-name: layui-fadein;
      }
    }
  }

  input[type=radio] {
    border-radius: 1em;

    &:checked:after {
      top: 4px;
      left: 4px;
      width: 8px;
      height: 8px;
      cursor: pointer;
      content: '';
      background: #009688;
      border-radius: 1em;
    }
  }

  input[type=checkbox] {
    border-radius: 1px;

    &:checked:after {
      color: #009688;
      cursor: pointer;
      padding: 2px;
      content: "\e605";
      #iconLayout(12px);
      font-weight: 700;
    }
  }
}

.pagination-container {
  margin-top: 20px;
  line-height: 30px;
  padding-top: 5px;
  padding-bottom: 5px;

  span {
    color: #666;
    font-size: 9pt
  }

  select {
    border: 1px solid #DDD;
  }

  ul {
    float: right;
    height: 30px;
    margin: 0;
    padding: 0;
    display: inline-block;

    li {
      z-index: 1;
      height: 30px;
      line-height: 30px;
      display: inline-block;

      a, span {
        color: #333;
        width: 30px;
        height: 30px;
        border: 1px solid @BoxBorderColor;
        overflow: hidden;
        font-size: 12px;
        text-align: center;
        line-height: 30px;
        margin-right: 3px;
        display: inline-block;
        box-sizing: border-box;
      }

      span {
        cursor: default;
        background: #DCDCDC;
      }

      a:hover {
        border-color: #009688;
      }

      &.active {
        z-index: 2;

        span {
          color: #fff;
          border-color: #009688;
          background: #009688 !important
        }
      }

      &.disabled {
        span {
          font-size: 16px;
          font-weight: 700;
          line-height: 22px;
        }
      }

      &:last-child, &:first-child {
        a, span {
          font-size: 16px;
          font-weight: 700;
          line-height: 28px;
        }
      }
    }
  }
}

.hr-line- {
  &dashed {
    color: #fff;
    height: 1px;
    margin: 15px 0;
    background-color: #fff;
    border-top: 1px dashed #e7eaec;
  }

  &solid {
    margin-top: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #e7eaec;
    background-color: rgba(0, 0, 0, 0);
  }
}

.pull- {
  &left {
    float: left !important
  }

  &right {
    float: right !important
  }
}

.full- {
  &width {
    width: 100% !important
  }

  &height {
    height: 100% !important
  }
}

.color- {
  &red {
    color: #e44 !important
  }

  &blue {
    color: #29f !important
  }

  &desc {
    color: #999 !important
  }

  &text {
    color: #333 !important
  }

  &green {
    color: #090 !important
  }
}

.sub-span- {
  &red span {
    color: #e44 !important
  }

  &blue span {
    color: #29f !important
  }

  &desc span {
    color: #999 !important
  }

  &text span {
    color: #333 !important
  }

  &green span {
    color: #090 !important
  }
}

.sub-strong- {
  &s10 b {
    font-size: 10px;
  }

  &s12 b {
    font-size: 12px;
  }

  &s14 b {
    font-size: 14px;
  }

  &red b {
    color: #ec494e !important
  }

  &blue b {
    color: #2494f2 !important
  }

  &desc b {
    color: #999 !important
  }

  &text b {
    color: #333 !important
  }

  &green b {
    color: #090 !important
  }
}

.think-bg- {

  &red {
    color: #FFF;
    background: linear-gradient(-125deg, #ff7d7d, #fb2c95) !important
  }

  &none {
    background: none !important;
  }

  &gray {
    color: #333;
    background: linear-gradient(-113deg, #EEEEEE, #EEEEEE) !important
  }

  &blue {
    color: #FFF;
    background: linear-gradient(-125deg, #57bdbf, #2f9de2) !important
  }

  &orig {
    color: #FFF;
    background: linear-gradient(-141deg, #ecca1b, #f39526) !important
  }

  &violet {
    color: #FFF;
    background: linear-gradient(-113deg, #c543d8, #925cc3) !important
  }

  &white {
    color: #333;
    background: white !important
  }
}

.text- {
  &top {
    vertical-align: top !important
  }

  &left {
    text-align: left !important
  }

  &right {
    text-align: right !important
  }

  &center {
    text-align: center !important
  }

  &middle {
    vertical-align: middle !important
  }

  &bottom {
    vertical-align: bottom !important
  }
}

.font- {
  &s10 {
    font-size: 10px !important
  }

  &s11 {
    font-size: 11px !important
  }

  &s12 {
    font-size: 12px !important
  }

  &s13 {
    font-size: 13px !important
  }

  &s14 {
    font-size: 14px !important
  }

  &s15 {
    font-size: 15px !important
  }

  &s16 {
    font-size: 16px !important
  }

  &s18 {
    font-size: 18px !important
  }

  &s20 {
    font-size: 20px !important
  }

  &s30 {
    font-size: 30px !important
  }

  &s40 {
    font-size: 40px !important
  }

  &w1 {
    font-weight: 100 !important;
  }

  &w2 {
    font-weight: 200 !important;
  }

  &w3 {
    font-weight: 300 !important;
  }

  &w4 {
    font-weight: 400 !important;
  }

  &w5 {
    font-weight: 500 !important;
  }

  &w6 {
    font-weight: 600 !important;
  }

  &w7 {
    font-weight: 700 !important;
  }

  &w8 {
    font-weight: 800 !important;
  }

  &w9 {
    font-weight: 900 !important;
  }
}

.border {
  &-0 {
    border: 0 !important
  }

  &-line {
    border: 1px solid @BoxBorderColor;
  }

  &-bottom-line {
    border-bottom: 1px solid @BoxBorderColor;
  }

  &-top-0 {
    border-top: 0 !important;
  }

  &-left-0 {
    border-left: 0 !important;
  }

  &-right-0 {
    border-right: 0 !important;
  }

  &-bottom-0 {
    border-bottom: 0 !important;
  }

  &-radius {
    border-radius: 50% !important;

    &-0 {
      border-radius: 0 !important
    }

    &-5 {
      border-radius: 5px !important;
    }

    &-6 {
      border-radius: 6px !important;
    }

    &-left-0 {
      border-top-left-radius: 0 !important;
      border-bottom-left-radius: 0 !important
    }

    &-right-0 {
      border-top-right-radius: 0 !important;
      border-bottom-right-radius: 0 !important
    }
  }
}

.margin {
  &-0 {
    margin: 0 !important
  }

  &-5 {
    margin: 5px !important
  }

  &-10 {
    margin: 10px !important
  }

  &-15 {
    margin: 15px !important
  }

  &-20 {
    margin: 20px !important
  }

  &-25 {
    margin: 25px !important
  }

  &-30 {
    margin: 30px !important
  }

  &-40 {
    margin: 40px !important
  }

  &-row {
    &-0 {
      margin-left: 0 !important;
      margin-right: 0 !important;
    }

    &-5 {
      margin-left: 5px !important;
      margin-right: 5px !important;
    }

    &-10 {
      margin-left: 10px !important;
      margin-right: 10px !important;
    }

    &-15 {
      margin-left: 15px !important;
      margin-right: 15px !important;
    }

    &-20 {
      margin-left: 20px !important;
      margin-right: 20px !important;
    }

    &-25 {
      margin-left: 25px !important;
      margin-right: 25px !important;
    }

    &-30 {
      margin-left: 30px !important;
      margin-right: 30px !important;
    }

    &-40 {
      margin-left: 40px !important;
      margin-right: 40px !important;
    }
  }

  &-top {
    &-0 {
      margin-top: 0 !important
    }

    &-5 {
      margin-top: 5px !important
    }

    &-10 {
      margin-top: 10px !important
    }

    &-15 {
      margin-top: 15px !important
    }

    &-20 {
      margin-top: 20px !important
    }

    &-25 {
      margin-top: 25px !important
    }

    &-30 {
      margin-top: 30px !important
    }

    &-40 {
      margin-top: 40px !important;
    }
  }

  &-left {
    &-0 {
      margin-left: 0 !important
    }

    &-5 {
      margin-left: 5px !important
    }

    &-10 {
      margin-left: 10px !important
    }

    &-15 {
      margin-left: 15px !important
    }

    &-20 {
      margin-left: 20px !important
    }

    &-25 {
      margin-left: 25px !important
    }

    &-30 {
      margin-left: 30px !important
    }

    &-40 {
      margin-left: 40px !important
    }
  }

  &-right {
    &-0 {
      margin-right: 0 !important
    }

    &-5 {
      margin-right: 5px !important
    }

    &-10 {
      margin-right: 10px !important
    }

    &-15 {
      margin-right: 15px !important
    }

    &-20 {
      margin-right: 20px !important
    }

    &-25 {
      margin-right: 25px !important
    }

    &-30 {
      margin-right: 30px !important
    }

    &-40 {
      margin-right: 40px !important
    }
  }

  &-bottom {
    &-0 {
      margin-bottom: 0 !important
    }

    &-5 {
      margin-bottom: 5px !important
    }

    &-10 {
      margin-bottom: 10px !important
    }

    &-15 {
      margin-bottom: 15px !important
    }

    &-20 {
      margin-bottom: 20px !important
    }

    &-25 {
      margin-bottom: 25px !important
    }

    &-30 {
      margin-bottom: 30px !important
    }

    &-40 {
      margin-bottom: 40px !important
    }
  }
}

.padding {
  &-0 {
    padding: 0 !important
  }

  &-5 {
    padding: 5px !important
  }

  &-10 {
    padding: 10px !important
  }

  &-15 {
    padding: 15px !important
  }

  &-20 {
    padding: 20px !important
  }

  &-25 {
    padding: 25px !important
  }

  &-30 {
    padding: 30px !important
  }

  &-40 {
    padding: 40px !important
  }

  &-row {
    &-0 {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }

    &-5 {
      padding-left: 5px !important;
      padding-right: 5px !important;
    }

    &-10 {
      padding-left: 10px !important;
      padding-right: 10px !important;
    }

    &-15 {
      padding-left: 15px !important;
      padding-right: 15px !important;
    }

    &-20 {
      padding-left: 20px !important;
      padding-right: 20px !important;
    }

    &-25 {
      padding-left: 25px !important;
      padding-right: 25px !important;
    }

    &-30 {
      padding-left: 30px !important;
      padding-right: 30px !important;
    }

    &-40 {
      padding-left: 40px !important;
      padding-right: 40px !important;
    }
  }

  &-top {
    &-0 {
      padding-top: 0 !important
    }

    &-5 {
      padding-top: 5px !important
    }

    &-10 {
      padding-top: 10px !important
    }

    &-15 {
      padding-top: 15px !important
    }

    &-20 {
      padding-top: 20px !important
    }

    &-30 {
      padding-top: 30px !important
    }

    &-40 {
      padding-top: 40px !important
    }
  }

  &-left {
    &-0 {
      padding-left: 0 !important
    }

    &-5 {
      padding-left: 5px !important
    }

    &-10 {
      padding-left: 10px !important
    }

    &-15 {
      padding-left: 15px !important
    }

    &-20 {
      padding-left: 20px !important
    }

    &-30 {
      padding-left: 30px !important
    }

    &-40 {
      padding-left: 40px !important
    }
  }

  &-right {
    &-0 {
      padding-right: 0 !important
    }

    &-5 {
      padding-right: 5px !important
    }

    &-10 {
      padding-right: 10px !important
    }

    &-15 {
      padding-right: 15px !important
    }

    &-20 {
      padding-right: 20px !important
    }

    &-30 {
      padding-right: 30px !important
    }

    &-40 {
      padding-right: 40px !important
    }
  }

  &-bottom {
    &-0 {
      padding-bottom: 0 !important
    }

    &-5 {
      padding-bottom: 5px !important
    }

    &-10 {
      padding-bottom: 10px !important
    }

    &-15 {
      padding-bottom: 15px !important
    }

    &-20 {
      padding-bottom: 20px !important
    }

    &-30 {
      padding-bottom: 30px !important
    }

    &-40 {
      padding-bottom: 40px !important
    }
  }
}

@keyframes loading {
  17% {
    border-bottom-right-radius: 3px;
  }
  25% {
    transform: translateY(9px) rotate(22.5deg);
  }
  50% {
    border-bottom-right-radius: 40px;
    transform: translateY(18px) scale(1, 0.9) rotate(45deg);
  }
  75% {
    transform: translateY(9px) rotate(67.5deg);
  }
  100% {
    transform: translateY(0) rotate(90deg);
  }
}

@-webkit-keyframes loading {
  17% {
    border-bottom-right-radius: 3px;
  }
  25% {
    transform: translateY(9px) rotate(22.5deg);
  }
  50% {
    transform: translateY(18px) scale(1, 0.9) rotate(45deg);
    border-bottom-right-radius: 40px;
  }
  75% {
    transform: translateY(9px) rotate(67.5deg);
  }
  100% {
    transform: translateY(0) rotate(90deg);
  }
}

@keyframes shadow {
  0%,
  100% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.2, 1);
  }
}

@-webkit-keyframes shadow {
  0%,
  100% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.2, 1);
  }
}