/* v3版 : 调整了类名与距离,仿照tailwind*/
/*
1600 3xl 高清显示屏
1400 2xl 台式电脑
1280 xl  笔记本
1024 lg  平板横屏
768  md  平板竖屏
480  sm  普通手机
375  xs  小屏手机
*/

/*
font-size: clamp(1rem, 2vw + 1rem, 2.5rem); 可以设置最小最大值
aspect-ratio: 16 / 9;  比例

提高渲染
content-visibility: auto;  预留高度
will-change: transform;

/*
  弹出层layer 手机弹出层layer-mobile 轮播swiper 选项卡superslide 手机菜单 入场动画wow 图标fontawesome 选择ui-choose 手机下拉mobileSelect 日期laydate 下拉多选directorist-select jquery.min.js(注意里面包含slimScroll和jquery ui)
*/
/*
  部分关键词不单独设置如 title date content share page tags reltit relcon relpro relnews next prev
*/

/*
rem注意 正则 (\d+\.\d+rem|\d+rem)
为什么不设置font-size为1px : 有些浏览器默认最少font-size是12px,如果设置为1px,border/padding等这些属性会有问题

[我这里375设置限制一半,uniapp没有]
uniapp只需把所有rem属性转换为rpx并*100  例如 0.16rem = 0.16*100rpx = 16rpx
1920基准 1:1
750开始缩放 375基准 2:1  <- 手机版开始需要字体像素放大2倍

"rpxCalcMaxDeviceWidth": 1280, // rpx 计算所支持的最大设备宽度，单位 px，默认值为 960
"rpxCalcBaseDeviceWidth": 750, // rpx 计算使用的基准设备宽度，设备实际宽度超出 rpx 计算所支持的最大设备宽度时将按基准宽度计算，单位 px，默认值为 375
"rpxCalcIncludeWidth": 750, // rpx 计算特殊处理的值，始终按实际的设备宽度计算，单位 rpx，默认值为 750
*/

/*-------------------------------------------------   工具类样式  ------------------------------------------*/

:root{
    /* 网站主色 */
    --color1:#3B82F6;
    --color1-hover:#1d4ed8;
    --color2:#EAB308;
    --color2-hover:#854d0e;

    /*默认样式*/
    --bs-html-font-size:100px;
    --bs-def-font-size:max(12px,0.16rem);     /* 最小12px */
    --bs-def-font-family:"Microsoft YaHei";
    --bs-def-line-height: 1.5;
    /* HOVER */
    /* 背景颜色 */
    --bs-hover-bg-color: #177ae0;
    --bs-hover-def-bg-color: #2086EE;

    /*网格边距*/
    --bs-gutter-x: 15px;  /*row和row-auto横边距*/
    --bs-gutter-y: 0;     /*row和row-auto纵边距*/

    /* 颜色 */    
    --bs-light-title: #2A2A2A;                 /* 默认文字颜色 */
    --bs-light-content: #666666;
    --bs-light-tip: #999999;
    --bs-light-bg-white: #FFFFFF;              /* 默认背景颜色 */
    --bs-light-bg-gray: #FAFAFA;
    --bs-light-border: #EBEBEB;
    --bs-light-block: #EFEFEF;
    --bs-light-input: #F5F5F5;

    --bs-dark-title: #D5D5D5;
    --bs-dark-content: #A8A8A8;
    --bs-dark-tip: #7A7A7A;
    --bs-dark-bg-white: #191919;
    --bs-dark-bg-gray: #141414;
    --bs-dark-border: #383838;
    --bs-dark-block: #1F1F1F;
    --bs-dark-input: #202020;




    /* 其他一些颜色参考 */
    /* 主色 */
    --bs-Red: #EF4444;
    --bs-Orange: #F97316;
    --bs-Amber: #F59E0B;
    --bs-Yellow: #EAB308;
    --bs-Lime: #84CC16;
    --bs-Green: #22C55E;
    --bs-Emerald: #10B981;
    --bs-Teal: #14B8A6;
    --bs-Cyan: #06B6D4;
    --bs-Sky: #0EA5E9;
    --bs-Blue: #3B82F6;
    --bs-Indigo: #6366F1;
    --bs-Violet: #8B5CF6;
    --bs-Fuchsia: #D946EF;
    --bs-Pink: #EC4899;
    --bs-Rose: #F43F5E;
    --bs-Slate: #64748B;
    --bs-Gray: #6B7280;
    --bs-Zinc: #71717A;
    --bs-Neutral: #737373;
    --bs-Stone: #78716C;
    /* 十大著名颜色 */
    --bs-KleinBlue: #002FA7;
    --bs-ChineseRed: #FF0000;
    --bs-TiffanyBlue: #00A0B0;
    --bs-Burgundy: #990033;
    --bs-PrussianBlue: #0F3053;
    --bs-BordeauxRed: #8C1515;
    --bs-MarsGreen: #2E8B57;
    --bs-VanDyckBrown: #4C2B18;
    --bs-TitianRed: #FF6347;
    --bs-SchonbrunnYellow: #F9DC24;



    /*透明渐变*/
    --bs-gradient: -webkit-linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-gradient: -o-linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-gradient: linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
}
/* 手机字号基准调整 */
@media only screen and (max-width: 768px) {
  :root{
    --bs-def-font-size:max(12px,0.32rem);
  }
}


/* 比例调整(适应三个点就够了) */
@media only screen and (min-width: 1920px) {
  /* 超大屏幕比例 */
  :root{
    --bs-html-font-size:calc(100vw / 19.2);
  }
}
@media only screen and (max-width: 1600px) {
  /* 台式比例 */
  :root{
    /*--bs-html-font-size:calc(100vw / 16);*/
  }
}
@media only screen and (max-width: 1400px) {
  :root{
    /*--bs-html-font-size:calc(100vw / 14);*/
  }
}
@media only screen and (max-width: 1280px) {
  /* 平板比例 */
  :root{
    --bs-html-font-size:calc(100vw / 12.8);
  }
}
@media only screen and (max-width: 1024px) {
  :root{
    /*--bs-html-font-size:calc(100vw / 10.24);*/
  }
}
@media only screen and (max-width: 768px) {
  /* 手机比例 */
  :root{
    --bs-html-font-size:calc(100vw / 7.5);
  }
}
@media only screen and (max-width: 480px) {
  :root{
    /* --bs-html-font-size:calc(100vw / 4.8); */
  }
}
@media only screen and (max-width: 375px) {
  /* 手机[最少50px] */
  :root{
    /*--bs-html-font-size:calc(100vw / 3.75);*/
    --bs-html-font-size:50px;
  }
}






/*公共样式start*/
*,
*::before,
*::after {
  padding:0;
  margin:0;
  box-sizing:border-box;
}
html{
    font-size:var(--bs-html-font-size);
}
body{
  font-family:var(--bs-def-font-family);
  font-size:var(--bs-def-font-size);
  line-height:var(--bs-def-line-height);
  color:var(--bs-light-title);
  background-color:var(--bs-light-bg-white);
  /*去除左右滚动*/
  overflow: scroll;
  overflow-x: hidden;
  /*全屏*/
  width:100%;
}
/* 黑暗模式 */
body.dark-mode{
  color:var(--bs-dark-title);
  background-color:var(--bs-dark-bg-white);
}
body.gray-mode{
    filter: grayscale(100%);
}
.body{
  width:100%;
}
a{
  display: inline-block;
  color: unset;
  text-decoration: none;
}
a:hover {
  color: unset;
}
button:focus:not(:focus-visible) {
  outline: 0;
}
button,
select {
  text-transform: none;
}
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}
li{
    list-style: none;
}
b,
strong {
  font-weight: bolder;
}
table {
  caption-side: bottom;
  border-collapse: collapse;
}
thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}
label {
  display: inline-block;
}
hr {
  margin: 0.1rem 0;
  color: inherit;
  border: 0;
  border-top: 1px solid;
  opacity: 0.25;
}
img{
  /*display:block;*/
  max-width:100%;
  height:auto;
}
/*公共样式end*/




/* 网格  英文兼容尺寸  数字固定尺寸 */
.container,
.container-full,
.container-big,
.container-3xl,
.container-2xl,
.container-xl,
.container-lg,
.container-md,
.container-sm,
.container-xs,
.container-1600,
.container-1400,
.container-1280,
.container-1024,
.container-768,
.container-480,
.container-375
{
  width: 100%;
  padding-right: var(--bs-gutter-x);
  padding-left: var(--bs-gutter-x);
  margin-right: auto;
  margin-left: auto;
}

/* 响应式容器 */
/*
默认尺寸(向上兼容)
     375px  480px  768px  992px  1200px  1400px  1600px
xs   375px  576px  768px  992px  1200px  1400px  1600px
sm   100%   576px  768px  992px  1200px  1400px  1600px
md   100%   100%   768px  992px  1200px  1400px  1600px
lg   100%   100%   100%   992px  1200px  1400px  1600px
xl   100%   100%   100%   100%   1200px  1400px  1600px
2xl  100%   100%   100%   100%   100%    1400px  1600px
3xl  100%   100%   100%   100%   100%    100%    1600px
*/

/* 这个附加形式使用例如 container-1024 container-1600 */
@media (min-width: 375px) {
  .container-xs,.container-375{
    max-width: 375px;
  }
}
@media (min-width: 480px) {
  .container-sm,.container-480{
    max-width: 480px;
  }
}
@media (min-width: 768px) {
  .container-md,.container-768{
    max-width: 768px;
  }
}
@media (min-width: 1024px) {
  .container-lg,.container-1024{
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {
  .container-xl,.container-1280{
    max-width: 12.8rem;
  }
}
/* 这个默认 */
@media (min-width: 1400px) {
  .container-2xl,.container-1400,.container{
    max-width: 14rem;
  }
}
@media (min-width: 1600px) {
  .container-3xl,.container-1600{
    max-width: 16rem;
  }
}

/* 超大屏幕兼容 */
@media (min-width: 1921px) {
  /* .container-big {
    max-width: 75%;
  } */
}



/* 内容宽度100% */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-1 * var(--bs-gutter-x));
  margin-left: calc(-1 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
}

/* 内容宽度自动的 */
.row-auto {
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-1 * var(--bs-gutter-x));
  margin-left: calc(-1 * var(--bs-gutter-x));
}
.row-atuo > * {
  flex-shrink: 0;
  width: auto;
  max-width: 100%;
}

















/*display*/
.grid {
  display: grid;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.block {
  display: block;
}
.inline {
  display: inline;
}
.inline-block {
  display: inline-block;
}
.table {
  display: table;
}
.table-row {
  display: table-row;
}
.table-cell {
  display: table-cell;
}
.hidden {
  display: none;
}
@media (min-width: 375px) {
  .xs-grid {
    display: grid;
  }
  .xs-flex {
    display: flex;
  }
  .xs-inline-flex {
    display: inline-flex;
  }
  .xs-block {
    display: block;
  }
  .xs-inline {
    display: inline;
  }
  .xs-inline-block {
    display: inline-block;
  }
  .xs-table {
    display: table;
  }
  .xs-table-row {
    display: table-row;
  }
  .xs-table-cell {
    display: table-cell;
  }
  .xs-hidden {
    display: none;
  }
}
@media (min-width: 480px) {
  .sm-grid {
    display: grid;
  }
  .sm-flex {
    display: flex;
  }
  .sm-inline-flex {
    display: inline-flex;
  }
  .sm-block {
    display: block;
  }
  .sm-inline {
    display: inline;
  }
  .sm-inline-block {
    display: inline-block;
  }
  .sm-table {
    display: table;
  }
  .sm-table-row {
    display: table-row;
  }
  .sm-table-cell {
    display: table-cell;
  }
  .sm-hidden {
    display: none;
  }
}
@media (min-width: 768px) {
  .md-grid {
    display: grid;
  }
  .md-flex {
    display: flex;
  }
  .md-inline-flex {
    display: inline-flex;
  }
  .md-block {
    display: block;
  }
  .md-inline {
    display: inline;
  }
  .md-inline-block {
    display: inline-block;
  }
  .md-table {
    display: table;
  }
  .md-table-row {
    display: table-row;
  }
  .md-table-cell {
    display: table-cell;
  }
  .md-hidden {
    display: none;
  }
}
@media (min-width: 1280px) {
  .xl-grid {
    display: grid;
  }
  .xl-flex {
    display: flex;
  }
  .xl-inline-flex {
    display: inline-flex;
  }
  .xl-block {
    display: block;
  }
  .xl-inline {
    display: inline;
  }
  .xl-inline-block {
    display: inline-block;
  }
  .xl-table {
    display: table;
  }
  .xl-table-row {
    display: table-row;
  }
  .xl-table-cell {
    display: table-cell;
  }
  .xl-hidden {
    display: none;
  }
}
@media (min-width: 1400px) {
  .2xl-grid {
    display: grid;
  }
  .2xl-flex {
    display: flex;
  }
  .2xl-inline-flex {
    display: inline-flex;
  }
  .2xl-block {
    display: block;
  }
  .2xl-inline {
    display: inline;
  }
  .2xl-inline-block {
    display: inline-block;
  }
  .2xl-table {
    display: table;
  }
  .2xl-table-row {
    display: table-row;
  }
  .2xl-table-cell {
    display: table-cell;
  }
  .2xl-hidden {
    display: none;
  }
}
@media (min-width: 1600px) {
  .3xl-grid {
    display: grid;
  }
  .3xl-flex {
    display: flex;
  }
  .3xl-inline-flex {
    display: inline-flex;
  }
  .3xl-block {
    display: block;
  }
  .3xl-inline {
    display: inline;
  }
  .3xl-inline-block {
    display: inline-block;
  }
  .3xl-table {
    display: table;
  }
  .3xl-table-row {
    display: table-row;
  }
  .3xl-table-cell {
    display: table-cell;
  }
  .3xl-hidden {
    display: none;
  }
}










/*
  grid布局
  使用:
  grid grid-cols-4
    - grid-col-span-2 grid-col-start-2

  将(剩余空间 - 空轨道) 平均分配[每个最少100px]
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  将剩余空间 平均分配[每个最少100px]
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));

  注意start是从第几个开始
*/
/*几行*/
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}
.grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}
.grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr));
}
.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-cols-13 {
  grid-template-columns: repeat(13, minmax(0, 1fr));
}
.grid-cols-14 {
  grid-template-columns: repeat(14, minmax(0, 1fr));
}
.grid-cols-15 {
  grid-template-columns: repeat(15, minmax(0, 1fr));
}
.grid-cols-16 {
  grid-template-columns: repeat(16, minmax(0, 1fr));
}
.grid-cols-17 {
  grid-template-columns: repeat(17, minmax(0, 1fr));
}
.grid-cols-18 {
  grid-template-columns: repeat(18, minmax(0, 1fr));
}
.grid-cols-19 {
  grid-template-columns: repeat(19, minmax(0, 1fr));
}
.grid-cols-20 {
  grid-template-columns: repeat(20, minmax(0, 1fr));
}
.grid-cols-21 {
  grid-template-columns: repeat(21, minmax(0, 1fr));
}
.grid-cols-22 {
  grid-template-columns: repeat(22, minmax(0, 1fr));
}
.grid-cols-23 {
  grid-template-columns: repeat(23, minmax(0, 1fr));
}
.grid-cols-24 {
  grid-template-columns: repeat(24, minmax(0, 1fr));
}
/*占用几个 列*/
.grid-col-span-1 {
  grid-column: span 1 / span 1;
}
.grid-col-span-2 {
  grid-column: span 2 / span 2;
}
.grid-col-span-3 {
  grid-column: span 3 / span 3;
}
.grid-col-span-4 {
  grid-column: span 4 / span 4;
}
.grid-col-span-5 {
  grid-column: span 5 / span 5;
}
.grid-col-span-6 {
  grid-column: span 6 / span 6;
}
.grid-col-span-7 {
  grid-column: span 7 / span 7;
}
.grid-col-span-8 {
  grid-column: span 8 / span 8;
}
.grid-col-span-9 {
  grid-column: span 9 / span 9;
}
.grid-col-span-10 {
  grid-column: span 10 / span 10;
}
.grid-col-span-11 {
  grid-column: span 11 / span 11;
}
.grid-col-span-12 {
  grid-column: span 12 / span 12;
}
.grid-col-span-13 {
  grid-column: span 13 / span 13;
}
.grid-col-span-14 {
  grid-column: span 14 / span 14;
}
.grid-col-span-15 {
  grid-column: span 15 / span 15;
}
.grid-col-span-16 {
  grid-column: span 16 / span 16;
}
.grid-col-span-17 {
  grid-column: span 17 / span 17;
}
.grid-col-span-18 {
  grid-column: span 18 / span 18;
}
.grid-col-span-19 {
  grid-column: span 19 / span 19;
}
.grid-col-span-20 {
  grid-column: span 20 / span 20;
}
.grid-col-span-21 {
  grid-column: span 21 / span 21;
}
.grid-col-span-22 {
  grid-column: span 22 / span 22;
}
.grid-col-span-23 {
  grid-column: span 23 / span 23;
}
.grid-col-span-24 {
  grid-column: span 24 / span 24;
}
/* 从第几列开始 列*/
.grid-col-start-1 {
  grid-column-start: 1;
}
.grid-col-start-2 {
  grid-column-start: 2;
}
.grid-col-start-3 {
  grid-column-start: 3;
}
.grid-col-start-4 {
  grid-column-start: 4;
}
.grid-col-start-5 {
  grid-column-start: 5;
}
.grid-col-start-6 {
  grid-column-start: 6;
}
.grid-col-start-7 {
  grid-column-start: 7;
}
.grid-col-start-8 {
  grid-column-start: 8;
}
.grid-col-start-9 {
  grid-column-start: 9;
}
.grid-col-start-10 {
  grid-column-start: 10;
}
.grid-col-start-11 {
  grid-column-start: 11;
}
.grid-col-start-12 {
  grid-column-start: 12;
}
.grid-col-start-13 {
  grid-column-start: 13;
}
.grid-col-start-14 {
  grid-column-start: 14;
}
.grid-col-start-15 {
  grid-column-start: 15;
}
.grid-col-start-16 {
  grid-column-start: 16;
}
.grid-col-start-17 {
  grid-column-start: 17;
}
.grid-col-start-18 {
  grid-column-start: 18;
}
.grid-col-start-19 {
  grid-column-start: 19;
}
.grid-col-start-20 {
  grid-column-start: 20;
}
.grid-col-start-21 {
  grid-column-start: 21;
}
.grid-col-start-22 {
  grid-column-start: 22;
}
.grid-col-start-23 {
  grid-column-start: 23;
}
.grid-col-start-24 {
  grid-column-start: 24;
}
@media (min-width: 375px) {
  /*几行*/
  .xs-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .xs-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .xs-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .xs-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .xs-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .xs-grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .xs-grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .xs-grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .xs-grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .xs-grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .xs-grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .xs-grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .xs-grid-cols-13 {
    grid-template-columns: repeat(13, minmax(0, 1fr));
  }
  .xs-grid-cols-14 {
    grid-template-columns: repeat(14, minmax(0, 1fr));
  }
  .xs-grid-cols-15 {
    grid-template-columns: repeat(15, minmax(0, 1fr));
  }
  .xs-grid-cols-16 {
    grid-template-columns: repeat(16, minmax(0, 1fr));
  }
  .xs-grid-cols-17 {
    grid-template-columns: repeat(17, minmax(0, 1fr));
  }
  .xs-grid-cols-18 {
    grid-template-columns: repeat(18, minmax(0, 1fr));
  }
  .xs-grid-cols-19 {
    grid-template-columns: repeat(19, minmax(0, 1fr));
  }
  .xs-grid-cols-20 {
    grid-template-columns: repeat(20, minmax(0, 1fr));
  }
  .xs-grid-cols-21 {
    grid-template-columns: repeat(21, minmax(0, 1fr));
  }
  .xs-grid-cols-22 {
    grid-template-columns: repeat(22, minmax(0, 1fr));
  }
  .xs-grid-cols-23 {
    grid-template-columns: repeat(23, minmax(0, 1fr));
  }
  .xs-grid-cols-24 {
    grid-template-columns: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 列*/
  .xs-grid-col-span-1 {
    grid-column: span 1 / span 1;
  }
  .xs-grid-col-span-2 {
    grid-column: span 2 / span 2;
  }
  .xs-grid-col-span-3 {
    grid-column: span 3 / span 3;
  }
  .xs-grid-col-span-4 {
    grid-column: span 4 / span 4;
  }
  .xs-grid-col-span-5 {
    grid-column: span 5 / span 5;
  }
  .xs-grid-col-span-6 {
    grid-column: span 6 / span 6;
  }
  .xs-grid-col-span-7 {
    grid-column: span 7 / span 7;
  }
  .xs-grid-col-span-8 {
    grid-column: span 8 / span 8;
  }
  .xs-grid-col-span-9 {
    grid-column: span 9 / span 9;
  }
  .xs-grid-col-span-10 {
    grid-column: span 10 / span 10;
  }
  .xs-grid-col-span-11 {
    grid-column: span 11 / span 11;
  }
  .xs-grid-col-span-12 {
    grid-column: span 12 / span 12;
  }
  .xs-grid-col-span-13 {
    grid-column: span 13 / span 13;
  }
  .xs-grid-col-span-14 {
    grid-column: span 14 / span 14;
  }
  .xs-grid-col-span-15 {
    grid-column: span 15 / span 15;
  }
  .xs-grid-col-span-16 {
    grid-column: span 16 / span 16;
  }
  .xs-grid-col-span-17 {
    grid-column: span 17 / span 17;
  }
  .xs-grid-col-span-18 {
    grid-column: span 18 / span 18;
  }
  .xs-grid-col-span-19 {
    grid-column: span 19 / span 19;
  }
  .xs-grid-col-span-20 {
    grid-column: span 20 / span 20;
  }
  .xs-grid-col-span-21 {
    grid-column: span 21 / span 21;
  }
  .xs-grid-col-span-22 {
    grid-column: span 22 / span 22;
  }
  .xs-grid-col-span-23 {
    grid-column: span 23 / span 23;
  }
  .xs-grid-col-span-24 {
    grid-column: span 24 / span 24;
  }
  /* 从第几列开始 列*/
  .xs-grid-col-start-1 {
    grid-column-start: 1;
  }
  .xs-grid-col-start-2 {
    grid-column-start: 2;
  }
  .xs-grid-col-start-3 {
    grid-column-start: 3;
  }
  .xs-grid-col-start-4 {
    grid-column-start: 4;
  }
  .xs-grid-col-start-5 {
    grid-column-start: 5;
  }
  .xs-grid-col-start-6 {
    grid-column-start: 6;
  }
  .xs-grid-col-start-7 {
    grid-column-start: 7;
  }
  .xs-grid-col-start-8 {
    grid-column-start: 8;
  }
  .xs-grid-col-start-9 {
    grid-column-start: 9;
  }
  .xs-grid-col-start-10 {
    grid-column-start: 10;
  }
  .xs-grid-col-start-11 {
    grid-column-start: 11;
  }
  .xs-grid-col-start-12 {
    grid-column-start: 12;
  }
  .xs-grid-col-start-13 {
    grid-column-start: 13;
  }
  .xs-grid-col-start-14 {
    grid-column-start: 14;
  }
  .xs-grid-col-start-15 {
    grid-column-start: 15;
  }
  .xs-grid-col-start-16 {
    grid-column-start: 16;
  }
  .xs-grid-col-start-17 {
    grid-column-start: 17;
  }
  .xs-grid-col-start-18 {
    grid-column-start: 18;
  }
  .xs-grid-col-start-19 {
    grid-column-start: 19;
  }
  .xs-grid-col-start-20 {
    grid-column-start: 20;
  }
  .xs-grid-col-start-21 {
    grid-column-start: 21;
  }
  .xs-grid-col-start-22 {
    grid-column-start: 22;
  }
  .xs-grid-col-start-23 {
    grid-column-start: 23;
  }
  .xs-grid-col-start-24 {
    grid-column-start: 24;
  }
}
@media (min-width: 480px) {
  /*几行*/
  .sm-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .sm-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .sm-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .sm-grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .sm-grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .sm-grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .sm-grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .sm-grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .sm-grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .sm-grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .sm-grid-cols-13 {
    grid-template-columns: repeat(13, minmax(0, 1fr));
  }
  .sm-grid-cols-14 {
    grid-template-columns: repeat(14, minmax(0, 1fr));
  }
  .sm-grid-cols-15 {
    grid-template-columns: repeat(15, minmax(0, 1fr));
  }
  .sm-grid-cols-16 {
    grid-template-columns: repeat(16, minmax(0, 1fr));
  }
  .sm-grid-cols-17 {
    grid-template-columns: repeat(17, minmax(0, 1fr));
  }
  .sm-grid-cols-18 {
    grid-template-columns: repeat(18, minmax(0, 1fr));
  }
  .sm-grid-cols-19 {
    grid-template-columns: repeat(19, minmax(0, 1fr));
  }
  .sm-grid-cols-20 {
    grid-template-columns: repeat(20, minmax(0, 1fr));
  }
  .sm-grid-cols-21 {
    grid-template-columns: repeat(21, minmax(0, 1fr));
  }
  .sm-grid-cols-22 {
    grid-template-columns: repeat(22, minmax(0, 1fr));
  }
  .sm-grid-cols-23 {
    grid-template-columns: repeat(23, minmax(0, 1fr));
  }
  .sm-grid-cols-24 {
    grid-template-columns: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 列*/
  .sm-grid-col-span-1 {
    grid-column: span 1 / span 1;
  }
  .sm-grid-col-span-2 {
    grid-column: span 2 / span 2;
  }
  .sm-grid-col-span-3 {
    grid-column: span 3 / span 3;
  }
  .sm-grid-col-span-4 {
    grid-column: span 4 / span 4;
  }
  .sm-grid-col-span-5 {
    grid-column: span 5 / span 5;
  }
  .sm-grid-col-span-6 {
    grid-column: span 6 / span 6;
  }
  .sm-grid-col-span-7 {
    grid-column: span 7 / span 7;
  }
  .sm-grid-col-span-8 {
    grid-column: span 8 / span 8;
  }
  .sm-grid-col-span-9 {
    grid-column: span 9 / span 9;
  }
  .sm-grid-col-span-10 {
    grid-column: span 10 / span 10;
  }
  .sm-grid-col-span-11 {
    grid-column: span 11 / span 11;
  }
  .sm-grid-col-span-12 {
    grid-column: span 12 / span 12;
  }
  .sm-grid-col-span-13 {
    grid-column: span 13 / span 13;
  }
  .sm-grid-col-span-14 {
    grid-column: span 14 / span 14;
  }
  .sm-grid-col-span-15 {
    grid-column: span 15 / span 15;
  }
  .sm-grid-col-span-16 {
    grid-column: span 16 / span 16;
  }
  .sm-grid-col-span-17 {
    grid-column: span 17 / span 17;
  }
  .sm-grid-col-span-18 {
    grid-column: span 18 / span 18;
  }
  .sm-grid-col-span-19 {
    grid-column: span 19 / span 19;
  }
  .sm-grid-col-span-20 {
    grid-column: span 20 / span 20;
  }
  .sm-grid-col-span-21 {
    grid-column: span 21 / span 21;
  }
  .sm-grid-col-span-22 {
    grid-column: span 22 / span 22;
  }
  .sm-grid-col-span-23 {
    grid-column: span 23 / span 23;
  }
  .sm-grid-col-span-24 {
    grid-column: span 24 / span 24;
  }
  /* 从第几列开始 列*/
  .sm-grid-col-start-1 {
    grid-column-start: 1;
  }
  .sm-grid-col-start-2 {
    grid-column-start: 2;
  }
  .sm-grid-col-start-3 {
    grid-column-start: 3;
  }
  .sm-grid-col-start-4 {
    grid-column-start: 4;
  }
  .sm-grid-col-start-5 {
    grid-column-start: 5;
  }
  .sm-grid-col-start-6 {
    grid-column-start: 6;
  }
  .sm-grid-col-start-7 {
    grid-column-start: 7;
  }
  .sm-grid-col-start-8 {
    grid-column-start: 8;
  }
  .sm-grid-col-start-9 {
    grid-column-start: 9;
  }
  .sm-grid-col-start-10 {
    grid-column-start: 10;
  }
  .sm-grid-col-start-11 {
    grid-column-start: 11;
  }
  .sm-grid-col-start-12 {
    grid-column-start: 12;
  }
  .sm-grid-col-start-13 {
    grid-column-start: 13;
  }
  .sm-grid-col-start-14 {
    grid-column-start: 14;
  }
  .sm-grid-col-start-15 {
    grid-column-start: 15;
  }
  .sm-grid-col-start-16 {
    grid-column-start: 16;
  }
  .sm-grid-col-start-17 {
    grid-column-start: 17;
  }
  .sm-grid-col-start-18 {
    grid-column-start: 18;
  }
  .sm-grid-col-start-19 {
    grid-column-start: 19;
  }
  .sm-grid-col-start-20 {
    grid-column-start: 20;
  }
  .sm-grid-col-start-21 {
    grid-column-start: 21;
  }
  .sm-grid-col-start-22 {
    grid-column-start: 22;
  }
  .sm-grid-col-start-23 {
    grid-column-start: 23;
  }
  .sm-grid-col-start-24 {
    grid-column-start: 24;
  }
}
@media (min-width: 768px) {
  /*几行*/
  .md-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .md-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .md-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .md-grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .md-grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .md-grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .md-grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .md-grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .md-grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .md-grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .md-grid-cols-13 {
    grid-template-columns: repeat(13, minmax(0, 1fr));
  }
  .md-grid-cols-14 {
    grid-template-columns: repeat(14, minmax(0, 1fr));
  }
  .md-grid-cols-15 {
    grid-template-columns: repeat(15, minmax(0, 1fr));
  }
  .md-grid-cols-16 {
    grid-template-columns: repeat(16, minmax(0, 1fr));
  }
  .md-grid-cols-17 {
    grid-template-columns: repeat(17, minmax(0, 1fr));
  }
  .md-grid-cols-18 {
    grid-template-columns: repeat(18, minmax(0, 1fr));
  }
  .md-grid-cols-19 {
    grid-template-columns: repeat(19, minmax(0, 1fr));
  }
  .md-grid-cols-20 {
    grid-template-columns: repeat(20, minmax(0, 1fr));
  }
  .md-grid-cols-21 {
    grid-template-columns: repeat(21, minmax(0, 1fr));
  }
  .md-grid-cols-22 {
    grid-template-columns: repeat(22, minmax(0, 1fr));
  }
  .md-grid-cols-23 {
    grid-template-columns: repeat(23, minmax(0, 1fr));
  }
  .md-grid-cols-24 {
    grid-template-columns: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 列*/
  .md-grid-col-span-1 {
    grid-column: span 1 / span 1;
  }
  .md-grid-col-span-2 {
    grid-column: span 2 / span 2;
  }
  .md-grid-col-span-3 {
    grid-column: span 3 / span 3;
  }
  .md-grid-col-span-4 {
    grid-column: span 4 / span 4;
  }
  .md-grid-col-span-5 {
    grid-column: span 5 / span 5;
  }
  .md-grid-col-span-6 {
    grid-column: span 6 / span 6;
  }
  .md-grid-col-span-7 {
    grid-column: span 7 / span 7;
  }
  .md-grid-col-span-8 {
    grid-column: span 8 / span 8;
  }
  .md-grid-col-span-9 {
    grid-column: span 9 / span 9;
  }
  .md-grid-col-span-10 {
    grid-column: span 10 / span 10;
  }
  .md-grid-col-span-11 {
    grid-column: span 11 / span 11;
  }
  .md-grid-col-span-12 {
    grid-column: span 12 / span 12;
  }
  .md-grid-col-span-13 {
    grid-column: span 13 / span 13;
  }
  .md-grid-col-span-14 {
    grid-column: span 14 / span 14;
  }
  .md-grid-col-span-15 {
    grid-column: span 15 / span 15;
  }
  .md-grid-col-span-16 {
    grid-column: span 16 / span 16;
  }
  .md-grid-col-span-17 {
    grid-column: span 17 / span 17;
  }
  .md-grid-col-span-18 {
    grid-column: span 18 / span 18;
  }
  .md-grid-col-span-19 {
    grid-column: span 19 / span 19;
  }
  .md-grid-col-span-20 {
    grid-column: span 20 / span 20;
  }
  .md-grid-col-span-21 {
    grid-column: span 21 / span 21;
  }
  .md-grid-col-span-22 {
    grid-column: span 22 / span 22;
  }
  .md-grid-col-span-23 {
    grid-column: span 23 / span 23;
  }
  .md-grid-col-span-24 {
    grid-column: span 24 / span 24;
  }
  /* 从第几列开始 列*/
  .md-grid-col-start-1 {
    grid-column-start: 1;
  }
  .md-grid-col-start-2 {
    grid-column-start: 2;
  }
  .md-grid-col-start-3 {
    grid-column-start: 3;
  }
  .md-grid-col-start-4 {
    grid-column-start: 4;
  }
  .md-grid-col-start-5 {
    grid-column-start: 5;
  }
  .md-grid-col-start-6 {
    grid-column-start: 6;
  }
  .md-grid-col-start-7 {
    grid-column-start: 7;
  }
  .md-grid-col-start-8 {
    grid-column-start: 8;
  }
  .md-grid-col-start-9 {
    grid-column-start: 9;
  }
  .md-grid-col-start-10 {
    grid-column-start: 10;
  }
  .md-grid-col-start-11 {
    grid-column-start: 11;
  }
  .md-grid-col-start-12 {
    grid-column-start: 12;
  }
  .md-grid-col-start-13 {
    grid-column-start: 13;
  }
  .md-grid-col-start-14 {
    grid-column-start: 14;
  }
  .md-grid-col-start-15 {
    grid-column-start: 15;
  }
  .md-grid-col-start-16 {
    grid-column-start: 16;
  }
  .md-grid-col-start-17 {
    grid-column-start: 17;
  }
  .md-grid-col-start-18 { 
    grid-column-start: 18;
  }
  .md-grid-col-start-19 {
    grid-column-start: 19;
  }
  .md-grid-col-start-20 {
    grid-column-start: 20;
  }
  .md-grid-col-start-21 {
    grid-column-start: 21;
  }
  .md-grid-col-start-22 {
    grid-column-start: 22;
  }
  .md-grid-col-start-23 {
    grid-column-start: 23;
  }
  .md-grid-col-start-24 {
    grid-column-start: 24;
  }
}
@media (min-width: 1024px) {
  .lg-grid {
    display: grid;
  }
  /*几行*/
  .lg-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .lg-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .lg-grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .lg-grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .lg-grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .lg-grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .lg-grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .lg-grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .lg-grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .lg-grid-cols-13 {
    grid-template-columns: repeat(13, minmax(0, 1fr));
  }
  .lg-grid-cols-14 {
    grid-template-columns: repeat(14, minmax(0, 1fr));
  }
  .lg-grid-cols-15 {
    grid-template-columns: repeat(15, minmax(0, 1fr));
  }
  .lg-grid-cols-16 {
    grid-template-columns: repeat(16, minmax(0, 1fr));
  }
  .lg-grid-cols-17 {
    grid-template-columns: repeat(17, minmax(0, 1fr));
  }
  .lg-grid-cols-18 {
    grid-template-columns: repeat(18, minmax(0, 1fr));
  }
  .lg-grid-cols-19 {
    grid-template-columns: repeat(19, minmax(0, 1fr));
  }
  .lg-grid-cols-20 {
    grid-template-columns: repeat(20, minmax(0, 1fr));
  }
  .lg-grid-cols-21 {
    grid-template-columns: repeat(21, minmax(0, 1fr));
  }
  .lg-grid-cols-22 {
    grid-template-columns: repeat(22, minmax(0, 1fr));
  }
  .lg-grid-cols-23 {
    grid-template-columns: repeat(23, minmax(0, 1fr));
  }
  .lg-grid-cols-24 {
    grid-template-columns: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 列*/
  .lg-grid-col-span-1 {
    grid-column: span 1 / span 1;
  }
  .lg-grid-col-span-2 {
    grid-column: span 2 / span 2;
  }
  .lg-grid-col-span-3 {
    grid-column: span 3 / span 3;
  }
  .lg-grid-col-span-4 {
    grid-column: span 4 / span 4;
  }
  .lg-grid-col-span-5 {
    grid-column: span 5 / span 5;
  }
  .lg-grid-col-span-6 {
    grid-column: span 6 / span 6;
  }
  .lg-grid-col-span-7 {
    grid-column: span 7 / span 7;
  }
  .lg-grid-col-span-8 {
    grid-column: span 8 / span 8;
  }
  .lg-grid-col-span-9 {
    grid-column: span 9 / span 9;
  }
  .lg-grid-col-span-10 {
    grid-column: span 10 / span 10;
  }
  .lg-grid-col-span-11 {
    grid-column: span 11 / span 11;
  }
  .lg-grid-col-span-12 {
    grid-column: span 12 / span 12;
  }
  .lg-grid-col-span-13 {
    grid-column: span 13 / span 13;
  }
  .lg-grid-col-span-14 {
    grid-column: span 14 / span 14;
  }
  .lg-grid-col-span-15 {
    grid-column: span 15 / span 15;
  }
  .lg-grid-col-span-16 {
    grid-column: span 16 / span 16;
  }
  .lg-grid-col-span-17 {
    grid-column: span 17 / span 17;
  }
  .lg-grid-col-span-18 {
    grid-column: span 18 / span 18;
  }
  .lg-grid-col-span-19 {
    grid-column: span 19 / span 19;
  }
  .lg-grid-col-span-20 {
    grid-column: span 20 / span 20;
  }
  .lg-grid-col-span-21 {
    grid-column: span 21 / span 21;
  }
  .lg-grid-col-span-22 {
    grid-column: span 22 / span 22;
  }
  .lg-grid-col-span-23 {
    grid-column: span 23 / span 23;
  }
  .lg-grid-col-span-24 {
    grid-column: span 24 / span 24;
  }
  /* 从第几列开始 列*/
  .lg-grid-col-start-1 {
    grid-column-start: 1;
  }
  .lg-grid-col-start-2 {
    grid-column-start: 2;
  }
  .lg-grid-col-start-3 {
    grid-column-start: 3;
  }
  .lg-grid-col-start-4 {
    grid-column-start: 4;
  }
  .lg-grid-col-start-5 {
    grid-column-start: 5;
  }
  .lg-grid-col-start-6 {
    grid-column-start: 6;
  }
  .lg-grid-col-start-7 {
    grid-column-start: 7;
  }
  .lg-grid-col-start-8 {
    grid-column-start: 8;
  }
  .lg-grid-col-start-9 {
    grid-column-start: 9;
  }
  .lg-grid-col-start-10 {
    grid-column-start: 10;
  }
  .lg-grid-col-start-11 {
    grid-column-start: 11;
  }
  .lg-grid-col-start-12 {
    grid-column-start: 12;
  }
  .lg-grid-col-start-13 {
    grid-column-start: 13;
  }
  .lg-grid-col-start-14 {
    grid-column-start: 14;
  }
  .lg-grid-col-start-15 {
    grid-column-start: 15;
  }
  .lg-grid-col-start-16 {
    grid-column-start: 16;
  }
  .lg-grid-col-start-17 {
    grid-column-start: 17;
  }
  .lg-grid-col-start-18 { 
    grid-column-start: 18;
  }
  .lg-grid-col-start-19 {
    grid-column-start: 19;
  }
  .lg-grid-col-start-20 {
    grid-column-start: 20;
  }
  .lg-grid-col-start-21 {
    grid-column-start: 21;
  }
  .lg-grid-col-start-22 {
    grid-column-start: 22;
  }
  .lg-grid-col-start-23 {
    grid-column-start: 23;
  }
  .lg-grid-col-start-24 {
    grid-column-start: 24;
  }
}
@media (min-width: 1280px) {
  /*几行*/
  .xl-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .xl-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .xl-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .xl-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .xl-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .xl-grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .xl-grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .xl-grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .xl-grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .xl-grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .xl-grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .xl-grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .xl-grid-cols-13 {
    grid-template-columns: repeat(13, minmax(0, 1fr));
  }
  .xl-grid-cols-14 {
    grid-template-columns: repeat(14, minmax(0, 1fr));
  }
  .xl-grid-cols-15 {
    grid-template-columns: repeat(15, minmax(0, 1fr));
  }
  .xl-grid-cols-16 {
    grid-template-columns: repeat(16, minmax(0, 1fr));
  }
  .xl-grid-cols-17 {
    grid-template-columns: repeat(17, minmax(0, 1fr));
  }
  .xl-grid-cols-18 {
    grid-template-columns: repeat(18, minmax(0, 1fr));
  }
  .xl-grid-cols-19 {
    grid-template-columns: repeat(19, minmax(0, 1fr));
  }
  .xl-grid-cols-20 {
    grid-template-columns: repeat(20, minmax(0, 1fr));
  }
  .xl-grid-cols-21 {
    grid-template-columns: repeat(21, minmax(0, 1fr));
  }
  .xl-grid-cols-22 {
    grid-template-columns: repeat(22, minmax(0, 1fr));
  }
  .xl-grid-cols-23 {
    grid-template-columns: repeat(23, minmax(0, 1fr));
  }
  .xl-grid-cols-24 {
    grid-template-columns: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 列*/
  .xl-grid-col-span-1 {
    grid-column: span 1 / span 1;
  }
  .xl-grid-col-span-2 {
    grid-column: span 2 / span 2;
  }
  .xl-grid-col-span-3 {
    grid-column: span 3 / span 3;
  }
  .xl-grid-col-span-4 {
    grid-column: span 4 / span 4;
  }
  .xl-grid-col-span-5 {
    grid-column: span 5 / span 5;
  }
  .xl-grid-col-span-6 {
    grid-column: span 6 / span 6;
  }
  .xl-grid-col-span-7 {
    grid-column: span 7 / span 7;
  }
  .xl-grid-col-span-8 {
    grid-column: span 8 / span 8;
  }
  .xl-grid-col-span-9 {
    grid-column: span 9 / span 9;
  }
  .xl-grid-col-span-10 {
    grid-column: span 10 / span 10;
  }
  .xl-grid-col-span-11 {
    grid-column: span 11 / span 11;
  }
  .xl-grid-col-span-12 {
    grid-column: span 12 / span 12;
  }
  .xl-grid-col-span-13 {
    grid-column: span 13 / span 13;
  }
  .xl-grid-col-span-14 {
    grid-column: span 14 / span 14;
  }
  .xl-grid-col-span-15 {
    grid-column: span 15 / span 15;
  }
  .xl-grid-col-span-16 {
    grid-column: span 16 / span 16;
  }
  .xl-grid-col-span-17 {
    grid-column: span 17 / span 17;
  }
  .xl-grid-col-span-18 {
    grid-column: span 18 / span 18;
  }
  .xl-grid-col-span-19 {
    grid-column: span 19 / span 19;
  }
  .xl-grid-col-span-20 {
    grid-column: span 20 / span 20;
  }
  .xl-grid-col-span-21 {
    grid-column: span 21 / span 21;
  }
  .xl-grid-col-span-22 {
    grid-column: span 22 / span 22;
  }
  .xl-grid-col-span-23 {
    grid-column: span 23 / span 23;
  }
  .xl-grid-col-span-24 {
    grid-column: span 24 / span 24;
  }
  /* 从第几列开始 列*/
  .xl-grid-col-start-1 {
    grid-column-start: 1;
  }
  .xl-grid-col-start-2 {
    grid-column-start: 2;
  }
  .xl-grid-col-start-3 {
    grid-column-start: 3;
  }
  .xl-grid-col-start-4 {
    grid-column-start: 4;
  }
  .xl-grid-col-start-5 {
    grid-column-start: 5;
  }
  .xl-grid-col-start-6 {
    grid-column-start: 6;
  }
  .xl-grid-col-start-7 {
    grid-column-start: 7;
  }
  .xl-grid-col-start-8 {
    grid-column-start: 8;
  }
  .xl-grid-col-start-9 {
    grid-column-start: 9;
  }
  .xl-grid-col-start-10 {
    grid-column-start: 10;
  }
  .xl-grid-col-start-11 {
    grid-column-start: 11;
  }
  .xl-grid-col-start-12 {
    grid-column-start: 12;
  }
  .xl-grid-col-start-13 {
    grid-column-start: 13;
  }
  .xl-grid-col-start-14 {
    grid-column-start: 14;
  }
  .xl-grid-col-start-15 {
    grid-column-start: 15;
  }
  .xl-grid-col-start-16 {
    grid-column-start: 16;
  }
  .xl-grid-col-start-17 {
    grid-column-start: 17;
  }
  .xl-grid-col-start-18 { 
    grid-column-start: 18;
  }
  .xl-grid-col-start-19 {
    grid-column-start: 19;
  }
  .xl-grid-col-start-20 {
    grid-column-start: 20;
  }
  .xl-grid-col-start-21 {
    grid-column-start: 21;
  }
  .xl-grid-col-start-22 {
    grid-column-start: 22;
  }
  .xl-grid-col-start-23 {
    grid-column-start: 23;
  }
  .xl-grid-col-start-24 {
    grid-column-start: 24;
  }
}
@media (min-width: 1400px) {
  /*几行*/
  .2xl-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .2xl-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .2xl-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .2xl-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .2xl-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .2xl-grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .2xl-grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .2xl-grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .2xl-grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .2xl-grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .2xl-grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .2xl-grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .2xl-grid-cols-13 {
    grid-template-columns: repeat(13, minmax(0, 1fr));
  }
  .2xl-grid-cols-14 {
    grid-template-columns: repeat(14, minmax(0, 1fr));
  }
  .2xl-grid-cols-15 {
    grid-template-columns: repeat(15, minmax(0, 1fr));
  }
  .2xl-grid-cols-16 {
    grid-template-columns: repeat(16, minmax(0, 1fr));
  }
  .2xl-grid-cols-17 {
    grid-template-columns: repeat(17, minmax(0, 1fr));
  }
  .2xl-grid-cols-18 {
    grid-template-columns: repeat(18, minmax(0, 1fr));
  }
  .2xl-grid-cols-19 {
    grid-template-columns: repeat(19, minmax(0, 1fr));
  }
  .2xl-grid-cols-20 {
    grid-template-columns: repeat(20, minmax(0, 1fr));
  }
  .2xl-grid-cols-21 {
    grid-template-columns: repeat(21, minmax(0, 1fr));
  }
  .2xl-grid-cols-22 {
    grid-template-columns: repeat(22, minmax(0, 1fr));
  }
  .2xl-grid-cols-23 {
    grid-template-columns: repeat(23, minmax(0, 1fr));
  }
  .2xl-grid-cols-24 {
    grid-template-columns: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 列*/
  .2xl-grid-col-span-1 {
    grid-column: span 1 / span 1;
  }
  .2xl-grid-col-span-2 {
    grid-column: span 2 / span 2;
  }
  .2xl-grid-col-span-3 {
    grid-column: span 3 / span 3;
  }
  .2xl-grid-col-span-4 {
    grid-column: span 4 / span 4;
  }
  .2xl-grid-col-span-5 {
    grid-column: span 5 / span 5;
  }
  .2xl-grid-col-span-6 {
    grid-column: span 6 / span 6;
  }
  .2xl-grid-col-span-7 {
    grid-column: span 7 / span 7;
  }
  .2xl-grid-col-span-8 {
    grid-column: span 8 / span 8;
  }
  .2xl-grid-col-span-9 {
    grid-column: span 9 / span 9;
  }
  .2xl-grid-col-span-10 {
    grid-column: span 10 / span 10;
  }
  .2xl-grid-col-span-11 {
    grid-column: span 11 / span 11;
  }
  .2xl-grid-col-span-12 {
    grid-column: span 12 / span 12;
  }
  .2xl-grid-col-span-13 {
    grid-column: span 13 / span 13;
  }
  .2xl-grid-col-span-14 {
    grid-column: span 14 / span 14;
  }
  .2xl-grid-col-span-15 {
    grid-column: span 15 / span 15;
  }
  .2xl-grid-col-span-16 {
    grid-column: span 16 / span 16;
  }
  .2xl-grid-col-span-17 {
    grid-column: span 17 / span 17;
  }
  .2xl-grid-col-span-18 {
    grid-column: span 18 / span 18;
  }
  .2xl-grid-col-span-19 {
    grid-column: span 19 / span 19;
  }
  .2xl-grid-col-span-20 {
    grid-column: span 20 / span 20;
  }
  .2xl-grid-col-span-21 {
    grid-column: span 21 / span 21;
  }
  .2xl-grid-col-span-22 {
    grid-column: span 22 / span 22;
  }
  .2xl-grid-col-span-23 {
    grid-column: span 23 / span 23;
  }
  .2xl-grid-col-span-24 {
    grid-column: span 24 / span 24;
  }
  /* 从第几列开始 列*/
  .2xl-grid-col-start-1 {
    grid-column-start: 1;
  }
  .2xl-grid-col-start-2 {
    grid-column-start: 2;
  }
  .2xl-grid-col-start-3 {
    grid-column-start: 3;
  }
  .2xl-grid-col-start-4 {
    grid-column-start: 4;
  }
  .2xl-grid-col-start-5 {
    grid-column-start: 5;
  }
  .2xl-grid-col-start-6 {
    grid-column-start: 6;
  }
  .2xl-grid-col-start-7 {
    grid-column-start: 7;
  }
  .2xl-grid-col-start-8 {
    grid-column-start: 8;
  }
  .2xl-grid-col-start-9 {
    grid-column-start: 9;
  }
  .2xl-grid-col-start-10 {
    grid-column-start: 10;
  }
  .2xl-grid-col-start-11 {
    grid-column-start: 11;
  }
  .2xl-grid-col-start-12 {
    grid-column-start: 12;
  }
  .2xl-grid-col-start-13 {
    grid-column-start: 13;
  }
  .2xl-grid-col-start-14 {
    grid-column-start: 14;
  }
  .2xl-grid-col-start-15 {
    grid-column-start: 15;
  }
  .2xl-grid-col-start-16 {
    grid-column-start: 16;
  }
  .2xl-grid-col-start-17 {
    grid-column-start: 17;
  }
  .2xl-grid-col-start-18 { 
    grid-column-start: 18;
  }
  .2xl-grid-col-start-19 {
    grid-column-start: 19;
  }
  .2xl-grid-col-start-20 {
    grid-column-start: 20;
  }
  .2xl-grid-col-start-21 {
    grid-column-start: 21;
  }
  .2xl-grid-col-start-22 {
    grid-column-start: 22;
  }
  .2xl-grid-col-start-23 {
    grid-column-start: 23;
  }
  .2xl-grid-col-start-24 {
    grid-column-start: 24;
  }
}
@media (min-width: 1600px) {
  /*几行*/
  .3xl-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .3xl-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .3xl-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .3xl-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .3xl-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .3xl-grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .3xl-grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .3xl-grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .3xl-grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .3xl-grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .3xl-grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .3xl-grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .3xl-grid-cols-13 {
    grid-template-columns: repeat(13, minmax(0, 1fr));
  }
  .3xl-grid-cols-14 {
    grid-template-columns: repeat(14, minmax(0, 1fr));
  }
  .3xl-grid-cols-15 {
    grid-template-columns: repeat(15, minmax(0, 1fr));
  }
  .3xl-grid-cols-16 {
    grid-template-columns: repeat(16, minmax(0, 1fr));
  }
  .3xl-grid-cols-17 {
    grid-template-columns: repeat(17, minmax(0, 1fr));
  }
  .3xl-grid-cols-18 {
    grid-template-columns: repeat(18, minmax(0, 1fr));
  }
  .3xl-grid-cols-19 {
    grid-template-columns: repeat(19, minmax(0, 1fr));
  }
  .3xl-grid-cols-20 {
    grid-template-columns: repeat(20, minmax(0, 1fr));
  }
  .3xl-grid-cols-21 {
    grid-template-columns: repeat(21, minmax(0, 1fr));
  }
  .3xl-grid-cols-22 {
    grid-template-columns: repeat(22, minmax(0, 1fr));
  }
  .3xl-grid-cols-23 {
    grid-template-columns: repeat(23, minmax(0, 1fr));
  }
  .3xl-grid-cols-24 {
    grid-template-columns: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 列*/
  .3xl-grid-col-span-1 {
    grid-column: span 1 / span 1;
  }
  .3xl-grid-col-span-2 {
    grid-column: span 2 / span 2;
  }
  .3xl-grid-col-span-3 {
    grid-column: span 3 / span 3;
  }
  .3xl-grid-col-span-4 {
    grid-column: span 4 / span 4;
  }
  .3xl-grid-col-span-5 {
    grid-column: span 5 / span 5;
  }
  .3xl-grid-col-span-6 {
    grid-column: span 6 / span 6;
  }
  .3xl-grid-col-span-7 {
    grid-column: span 7 / span 7;
  }
  .3xl-grid-col-span-8 {
    grid-column: span 8 / span 8;
  }
  .3xl-grid-col-span-9 {
    grid-column: span 9 / span 9;
  }
  .3xl-grid-col-span-10 {
    grid-column: span 10 / span 10;
  }
  .3xl-grid-col-span-11 {
    grid-column: span 11 / span 11;
  }
  .3xl-grid-col-span-12 {
    grid-column: span 12 / span 12;
  }
  .3xl-grid-col-span-13 {
    grid-column: span 13 / span 13;
  }
  .3xl-grid-col-span-14 {
    grid-column: span 14 / span 14;
  }
  .3xl-grid-col-span-15 {
    grid-column: span 15 / span 15;
  }
  .3xl-grid-col-span-16 {
    grid-column: span 16 / span 16;
  }
  .3xl-grid-col-span-17 {
    grid-column: span 17 / span 17;
  }
  .3xl-grid-col-span-18 {
    grid-column: span 18 / span 18;
  }
  .3xl-grid-col-span-19 {
    grid-column: span 19 / span 19;
  }
  .3xl-grid-col-span-20 {
    grid-column: span 20 / span 20;
  }
  .3xl-grid-col-span-21 {
    grid-column: span 21 / span 21;
  }
  .3xl-grid-col-span-22 {
    grid-column: span 22 / span 22;
  }
  .3xl-grid-col-span-23 {
    grid-column: span 23 / span 23;
  }
  .3xl-grid-col-span-24 {
    grid-column: span 24 / span 24;
  }
  /* 从第几列开始 列*/
  .3xl-grid-col-start-1 {
    grid-column-start: 1;
  }
  .3xl-grid-col-start-2 {
    grid-column-start: 2;
  }
  .3xl-grid-col-start-3 {
    grid-column-start: 3;
  }
  .3xl-grid-col-start-4 {
    grid-column-start: 4;
  }
  .3xl-grid-col-start-5 {
    grid-column-start: 5;
  }
  .3xl-grid-col-start-6 {
    grid-column-start: 6;
  }
  .3xl-grid-col-start-7 {
    grid-column-start: 7;
  }
  .3xl-grid-col-start-8 {
    grid-column-start: 8;
  }
  .3xl-grid-col-start-9 {
    grid-column-start: 9;
  }
  .3xl-grid-col-start-10 {
    grid-column-start: 10;
  }
  .3xl-grid-col-start-11 {
    grid-column-start: 11;
  }
  .3xl-grid-col-start-12 {
    grid-column-start: 12;
  }
  .3xl-grid-col-start-13 {
    grid-column-start: 13;
  }
  .3xl-grid-col-start-14 {
    grid-column-start: 14;
  }
  .3xl-grid-col-start-15 {
    grid-column-start: 15;
  }
  .3xl-grid-col-start-16 {
    grid-column-start: 16;
  }
  .3xl-grid-col-start-17 {
    grid-column-start: 17;
  }
  .3xl-grid-col-start-18 { 
    grid-column-start: 18;
  }
  .3xl-grid-col-start-19 {
    grid-column-start: 19;
  }
  .3xl-grid-col-start-20 {
    grid-column-start: 20;
  }
  .3xl-grid-col-start-21 {
    grid-column-start: 21;
  }
  .3xl-grid-col-start-22 {
    grid-column-start: 22;
  }
  .3xl-grid-col-start-23 {
    grid-column-start: 23;
  }
  .3xl-grid-col-start-24 {
    grid-column-start: 24;
  }
}








/*几行*/
.grid-rows-1 {
  grid-template-rows: repeat(1, minmax(0, 1fr));
}
.grid-rows-2 {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}
.grid-rows-3 {
  grid-template-rows: repeat(3, minmax(0, 1fr));
}
.grid-rows-4 {
  grid-template-rows: repeat(4, minmax(0, 1fr));
}
.grid-rows-5 {
  grid-template-rows: repeat(5, minmax(0, 1fr));
}
.grid-rows-6 {
  grid-template-rows: repeat(6, minmax(0, 1fr));
}
.grid-rows-7 {
  grid-template-rows: repeat(7, minmax(0, 1fr));
}
.grid-rows-8 {
  grid-template-rows: repeat(8, minmax(0, 1fr));
}
.grid-rows-9 {
  grid-template-rows: repeat(9, minmax(0, 1fr));
}
.grid-rows-10 {
  grid-template-rows: repeat(10, minmax(0, 1fr));
}
.grid-rows-11 {
  grid-template-rows: repeat(11, minmax(0, 1fr));
}
.grid-rows-12 {
  grid-template-rows: repeat(12, minmax(0, 1fr));
}
.grid-rows-13 {
  grid-template-rows: repeat(13, minmax(0, 1fr));
}
.grid-rows-14 {
  grid-template-rows: repeat(14, minmax(0, 1fr));
}
.grid-rows-15 {
  grid-template-rows: repeat(15, minmax(0, 1fr));
}
.grid-rows-16 {
  grid-template-rows: repeat(16, minmax(0, 1fr));
}
.grid-rows-17 {
  grid-template-rows: repeat(17, minmax(0, 1fr));
}
.grid-rows-18 {
  grid-template-rows: repeat(18, minmax(0, 1fr));
}
.grid-rows-19 {
  grid-template-rows: repeat(19, minmax(0, 1fr));
}
.grid-rows-20 {
  grid-template-rows: repeat(20, minmax(0, 1fr));
}
.grid-rows-21 {
  grid-template-rows: repeat(21, minmax(0, 1fr));
}
.grid-rows-22 {
  grid-template-rows: repeat(22, minmax(0, 1fr));
}
.grid-rows-23 {
  grid-template-rows: repeat(23, minmax(0, 1fr));
}
.grid-rows-24 {
  grid-template-rows: repeat(24, minmax(0, 1fr));
}
/*占用几个 行*/
.grid-row-span-1 {
  grid-row: span 1 / span 1;
}
.grid-row-span-2 {
  grid-row: span 2 / span 2;
}
.grid-row-span-3 {
  grid-row: span 3 / span 3;
}
.grid-row-span-4 {
  grid-row: span 4 / span 4;
}
.grid-row-span-5 {
  grid-row: span 5 / span 5;
}
.grid-row-span-6 {
  grid-row: span 6 / span 6;
}
.grid-row-span-7 {
  grid-row: span 7 / span 7;
}
.grid-row-span-8 {
  grid-row: span 8 / span 8;
}
.grid-row-span-9 {
  grid-row: span 9 / span 9;
}
.grid-row-span-10 {
  grid-row: span 10 / span 10;
}
.grid-row-span-11 {
  grid-row: span 11 / span 11;
}
.grid-row-span-12 {
  grid-row: span 12 / span 12;
}
.grid-row-span-13 {
  grid-row: span 13 / span 13;
}
.grid-row-span-14 {
  grid-row: span 14 / span 14;
}
.grid-row-span-15 {
  grid-row: span 15 / span 15;
}
.grid-row-span-16 {
  grid-row: span 16 / span 16;
}
.grid-row-span-17 {
  grid-row: span 17 / span 17;
}
.grid-row-span-18 {
  grid-row: span 18 / span 18;
}
.grid-row-span-19 {
  grid-row: span 19 / span 19;
}
.grid-row-span-20 {
  grid-row: span 20 / span 20;
}
.grid-row-span-21 {
  grid-row: span 21 / span 21;
}
.grid-row-span-22 {
  grid-row: span 22 / span 22;
}
.grid-row-span-23 {
  grid-row: span 23 / span 23;
}
.grid-row-span-24 {
  grid-row: span 24 / span 24;
}
/* 从第几行开始 行*/
.grid-row-start-1 {
  grid-row-start: 1;
}
.grid-row-start-2 {
  grid-row-start: 2;
}
.grid-row-start-3 {
  grid-row-start: 3;
}
.grid-row-start-4 {
  grid-row-start: 4;
}
.grid-row-start-5 {
  grid-row-start: 5;
}
.grid-row-start-6 {
  grid-row-start: 6;
}
.grid-row-start-7 {
  grid-row-start: 7;
}
.grid-row-start-8 {
  grid-row-start: 8;
}
.grid-row-start-9 {
  grid-row-start: 9;
}
.grid-row-start-10 {
  grid-row-start: 10;
}
.grid-row-start-11 {
  grid-row-start: 11;
}
.grid-row-start-12 {
  grid-row-start: 12;
}
.grid-row-start-13 {
  grid-row-start: 13;
}
.grid-row-start-14 {
  grid-row-start: 14;
}
.grid-row-start-15 {
  grid-row-start: 15;
}
.grid-row-start-16 {
  grid-row-start: 16;
}
.grid-row-start-17 {
  grid-row-start: 17;
}
.grid-row-start-18 {
  grid-row-start: 18;
}
.grid-row-start-19 {
  grid-row-start: 19;
}
.grid-row-start-20 {
  grid-row-start: 20;
}
.grid-row-start-21 {
  grid-row-start: 21;
}
.grid-row-start-22 {
  grid-row-start: 22;
}
.grid-row-start-23 {
  grid-row-start: 23;
}
.grid-row-start-24 {
  grid-row-start: 24;
}
@media (min-width: 375px) {
  /*几行*/
  .xs-grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .xs-grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .xs-grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .xs-grid-rows-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .xs-grid-rows-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .xs-grid-rows-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
  .xs-grid-rows-7 {
    grid-template-rows: repeat(7, minmax(0, 1fr));
  }
  .xs-grid-rows-8 {
    grid-template-rows: repeat(8, minmax(0, 1fr));
  }
  .xs-grid-rows-9 {
    grid-template-rows: repeat(9, minmax(0, 1fr));
  }
  .xs-grid-rows-10 {
    grid-template-rows: repeat(10, minmax(0, 1fr));
  }
  .xs-grid-rows-11 {
    grid-template-rows: repeat(11, minmax(0, 1fr));
  }
  .xs-grid-rows-12 {
    grid-template-rows: repeat(12, minmax(0, 1fr));
  }
  .xs-grid-rows-13 {
    grid-template-rows: repeat(13, minmax(0, 1fr));
  }
  .xs-grid-rows-14 {
    grid-template-rows: repeat(14, minmax(0, 1fr));
  }
  .xs-grid-rows-15 {
    grid-template-rows: repeat(15, minmax(0, 1fr));
  }
  .xs-grid-rows-16 {
    grid-template-rows: repeat(16, minmax(0, 1fr));
  }
  .xs-grid-rows-17 {
    grid-template-rows: repeat(17, minmax(0, 1fr));
  }
  .xs-grid-rows-18 {
    grid-template-rows: repeat(18, minmax(0, 1fr));
  }
  .xs-grid-rows-19 {
    grid-template-rows: repeat(19, minmax(0, 1fr));
  }
  .xs-grid-rows-20 {
    grid-template-rows: repeat(20, minmax(0, 1fr));
  }
  .xs-grid-rows-21 {
    grid-template-rows: repeat(21, minmax(0, 1fr));
  }
  .xs-grid-rows-22 {
    grid-template-rows: repeat(22, minmax(0, 1fr));
  }
  .xs-grid-rows-23 {
    grid-template-rows: repeat(23, minmax(0, 1fr));
  }
  .xs-grid-rows-24 {
    grid-template-rows: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 行*/
  .xs-grid-row-span-1 {
    grid-row: span 1 / span 1;
  }
  .xs-grid-row-span-2 {
    grid-row: span 2 / span 2;
  }
  .xs-grid-row-span-3 {
    grid-row: span 3 / span 3;
  }
  .xs-grid-row-span-4 {
    grid-row: span 4 / span 4;
  }
  .xs-grid-row-span-5 {
    grid-row: span 5 / span 5;
  }
  .xs-grid-row-span-6 {
    grid-row: span 6 / span 6;
  }
  .xs-grid-row-span-7 {
    grid-row: span 7 / span 7;
  }
  .xs-grid-row-span-8 {
    grid-row: span 8 / span 8;
  }
  .xs-grid-row-span-9 {
    grid-row: span 9 / span 9;
  }
  .xs-grid-row-span-10 {
    grid-row: span 10 / span 10;
  }
  .xs-grid-row-span-11 {
    grid-row: span 11 / span 11;
  }
  .xs-grid-row-span-12 {
    grid-row: span 12 / span 12;
  }
  .xs-grid-row-span-13 {
    grid-row: span 13 / span 13;
  }
  .xs-grid-row-span-14 {
    grid-row: span 14 / span 14;
  }
  .xs-grid-row-span-15 {
    grid-row: span 15 / span 15;
  }
  .xs-grid-row-span-16 {
    grid-row: span 16 / span 16;
  }
  .xs-grid-row-span-17 {
    grid-row: span 17 / span 17;
  }
  .xs-grid-row-span-18 {
    grid-row: span 18 / span 18;
  }
  .xs-grid-row-span-19 {
    grid-row: span 19 / span 19;
  }
  .xs-grid-row-span-20 {
    grid-row: span 20 / span 20;
  }
  .xs-grid-row-span-21 {
    grid-row: span 21 / span 21;
  }
  .xs-grid-row-span-22 {
    grid-row: span 22 / span 22;
  }
  .xs-grid-row-span-23 {
    grid-row: span 23 / span 23;
  }
  .xs-grid-row-span-24 {
    grid-row: span 24 / span 24;
  }
  /* 从第几行开始 行*/
  .xs-grid-row-start-1 {
    grid-row-start: 1;
  }
  .xs-grid-row-start-2 {
    grid-row-start: 2;
  }
  .xs-grid-row-start-3 {
    grid-row-start: 3;
  }
  .xs-grid-row-start-4 {
    grid-row-start: 4;
  }
  .xs-grid-row-start-5 {
    grid-row-start: 5;
  }
  .xs-grid-row-start-6 {
    grid-row-start: 6;
  }
  .xs-grid-row-start-7 {
    grid-row-start: 7;
  }
  .xs-grid-row-start-8 {
    grid-row-start: 8;
  }
  .xs-grid-row-start-9 {
    grid-row-start: 9;
  }
  .xs-grid-row-start-10 {
    grid-row-start: 10;
  }
  .xs-grid-row-start-11 {
    grid-row-start: 11;
  }
  .xs-grid-row-start-12 {
    grid-row-start: 12;
  }
  .xs-grid-row-start-13 {
    grid-row-start: 13;
  }
  .xs-grid-row-start-14 {
    grid-row-start: 14;
  }
  .xs-grid-row-start-15 {
    grid-row-start: 15;
  }
  .xs-grid-row-start-16 {
    grid-row-start: 16;
  }
  .xs-grid-row-start-17 {
    grid-row-start: 17;
  }
  .xs-grid-row-start-18 {
    grid-row-start: 18;
  }
  .xs-grid-row-start-19 {
    grid-row-start: 19;
  }
  .xs-grid-row-start-20 {
    grid-row-start: 20;
  }
  .xs-grid-row-start-21 {
    grid-row-start: 21;
  }
  .xs-grid-row-start-22 {
    grid-row-start: 22;
  }
  .xs-grid-row-start-23 {
    grid-row-start: 23;
  }
  .xs-grid-row-start-24 {
    grid-row-start: 24;
  }
}
@media (min-width: 480px) {
  /*几行*/
  .sm-grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .sm-grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .sm-grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .sm-grid-rows-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .sm-grid-rows-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .sm-grid-rows-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
  .sm-grid-rows-7 {
    grid-template-rows: repeat(7, minmax(0, 1fr));
  }
  .sm-grid-rows-8 {
    grid-template-rows: repeat(8, minmax(0, 1fr));
  }
  .sm-grid-rows-9 {
    grid-template-rows: repeat(9, minmax(0, 1fr));
  }
  .sm-grid-rows-10 {
    grid-template-rows: repeat(10, minmax(0, 1fr));
  }
  .sm-grid-rows-11 {
    grid-template-rows: repeat(11, minmax(0, 1fr));
  }
  .sm-grid-rows-12 {
    grid-template-rows: repeat(12, minmax(0, 1fr));
  }
  .sm-grid-rows-13 {
    grid-template-rows: repeat(13, minmax(0, 1fr));
  }
  .sm-grid-rows-14 {
    grid-template-rows: repeat(14, minmax(0, 1fr));
  }
  .sm-grid-rows-15 {
    grid-template-rows: repeat(15, minmax(0, 1fr));
  }
  .sm-grid-rows-16 {
    grid-template-rows: repeat(16, minmax(0, 1fr));
  }
  .sm-grid-rows-17 {
    grid-template-rows: repeat(17, minmax(0, 1fr));
  }
  .sm-grid-rows-18 {
    grid-template-rows: repeat(18, minmax(0, 1fr));
  }
  .sm-grid-rows-19 {
    grid-template-rows: repeat(19, minmax(0, 1fr));
  }
  .sm-grid-rows-20 {
    grid-template-rows: repeat(20, minmax(0, 1fr));
  }
  .sm-grid-rows-21 {
    grid-template-rows: repeat(21, minmax(0, 1fr));
  }
  .sm-grid-rows-22 {
    grid-template-rows: repeat(22, minmax(0, 1fr));
  }
  .sm-grid-rows-23 {
    grid-template-rows: repeat(23, minmax(0, 1fr));
  }
  .sm-grid-rows-24 {
    grid-template-rows: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 行*/
  .sm-grid-row-span-1 {
    grid-row: span 1 / span 1;
  }
  .sm-grid-row-span-2 {
    grid-row: span 2 / span 2;
  }
  .sm-grid-row-span-3 {
    grid-row: span 3 / span 3;
  }
  .sm-grid-row-span-4 {
    grid-row: span 4 / span 4;
  }
  .sm-grid-row-span-5 {
    grid-row: span 5 / span 5;
  }
  .sm-grid-row-span-6 {
    grid-row: span 6 / span 6;
  }
  .sm-grid-row-span-7 {
    grid-row: span 7 / span 7;
  }
  .sm-grid-row-span-8 {
    grid-row: span 8 / span 8;
  }
  .sm-grid-row-span-9 {
    grid-row: span 9 / span 9;
  }
  .sm-grid-row-span-10 {
    grid-row: span 10 / span 10;
  }
  .sm-grid-row-span-11 {
    grid-row: span 11 / span 11;
  }
  .sm-grid-row-span-12 {
    grid-row: span 12 / span 12;
  }
  .sm-grid-row-span-13 {
    grid-row: span 13 / span 13;
  }
  .sm-grid-row-span-14 {
    grid-row: span 14 / span 14;
  }
  .sm-grid-row-span-15 {
    grid-row: span 15 / span 15;
  }
  .sm-grid-row-span-16 {
    grid-row: span 16 / span 16;
  }
  .sm-grid-row-span-17 {
    grid-row: span 17 / span 17;
  }
  .sm-grid-row-span-18 {
    grid-row: span 18 / span 18;
  }
  .sm-grid-row-span-19 {
    grid-row: span 19 / span 19;
  }
  .sm-grid-row-span-20 {
    grid-row: span 20 / span 20;
  }
  .sm-grid-row-span-21 {
    grid-row: span 21 / span 21;
  }
  .sm-grid-row-span-22 {
    grid-row: span 22 / span 22;
  }
  .sm-grid-row-span-23 {
    grid-row: span 23 / span 23;
  }
  .sm-grid-row-span-24 {
    grid-row: span 24 / span 24;
  }
  /* 从第几行开始 行*/
  .sm-grid-row-start-1 {
    grid-row-start: 1;
  }
  .sm-grid-row-start-2 {
    grid-row-start: 2;
  }
  .sm-grid-row-start-3 {
    grid-row-start: 3;
  }
  .sm-grid-row-start-4 {
    grid-row-start: 4;
  }
  .sm-grid-row-start-5 {
    grid-row-start: 5;
  }
  .sm-grid-row-start-6 {
    grid-row-start: 6;
  }
  .sm-grid-row-start-7 {
    grid-row-start: 7;
  }
  .sm-grid-row-start-8 {
    grid-row-start: 8;
  }
  .sm-grid-row-start-9 {
    grid-row-start: 9;
  }
  .sm-grid-row-start-10 {
    grid-row-start: 10;
  }
  .sm-grid-row-start-11 {
    grid-row-start: 11;
  }
  .sm-grid-row-start-12 {
    grid-row-start: 12;
  }
  .sm-grid-row-start-13 {
    grid-row-start: 13;
  }
  .sm-grid-row-start-14 {
    grid-row-start: 14;
  }
  .sm-grid-row-start-15 {
    grid-row-start: 15;
  }
  .sm-grid-row-start-16 {
    grid-row-start: 16;
  }
  .sm-grid-row-start-17 {
    grid-row-start: 17;
  }
  .sm-grid-row-start-18 {
    grid-row-start: 18;
  }
  .sm-grid-row-start-19 {
    grid-row-start: 19;
  }
  .sm-grid-row-start-20 {
    grid-row-start: 20;
  }
  .sm-grid-row-start-21 {
    grid-row-start: 21;
  }
  .sm-grid-row-start-22 {
    grid-row-start: 22;
  }
  .sm-grid-row-start-23 {
    grid-row-start: 23;
  }
  .sm-grid-row-start-24 {
    grid-row-start: 24;
  }
}
@media (min-width: 768px) {
  /*几行*/
  .md-grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .md-grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .md-grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .md-grid-rows-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .md-grid-rows-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .md-grid-rows-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
  .md-grid-rows-7 {
    grid-template-rows: repeat(7, minmax(0, 1fr));
  }
  .md-grid-rows-8 {
    grid-template-rows: repeat(8, minmax(0, 1fr));
  }
  .md-grid-rows-9 {
    grid-template-rows: repeat(9, minmax(0, 1fr));
  }
  .md-grid-rows-10 {
    grid-template-rows: repeat(10, minmax(0, 1fr));
  }
  .md-grid-rows-11 {
    grid-template-rows: repeat(11, minmax(0, 1fr));
  }
  .md-grid-rows-12 {
    grid-template-rows: repeat(12, minmax(0, 1fr));
  }
  .md-grid-rows-13 {
    grid-template-rows: repeat(13, minmax(0, 1fr));
  }
  .md-grid-rows-14 {
    grid-template-rows: repeat(14, minmax(0, 1fr));
  }
  .md-grid-rows-15 {
    grid-template-rows: repeat(15, minmax(0, 1fr));
  }
  .md-grid-rows-16 {
    grid-template-rows: repeat(16, minmax(0, 1fr));
  }
  .md-grid-rows-17 {
    grid-template-rows: repeat(17, minmax(0, 1fr));
  }
  .md-grid-rows-18 {
    grid-template-rows: repeat(18, minmax(0, 1fr));
  }
  .md-grid-rows-19 {
    grid-template-rows: repeat(19, minmax(0, 1fr));
  }
  .md-grid-rows-20 {
    grid-template-rows: repeat(20, minmax(0, 1fr));
  }
  .md-grid-rows-21 {
    grid-template-rows: repeat(21, minmax(0, 1fr));
  }
  .md-grid-rows-22 {
    grid-template-rows: repeat(22, minmax(0, 1fr));
  }
  .md-grid-rows-23 {
    grid-template-rows: repeat(23, minmax(0, 1fr));
  }
  .md-grid-rows-24 {
    grid-template-rows: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 行*/
  .md-grid-row-span-1 {
    grid-row: span 1 / span 1;
  }
  .md-grid-row-span-2 {
    grid-row: span 2 / span 2;
  }
  .md-grid-row-span-3 {
    grid-row: span 3 / span 3;
  }
  .md-grid-row-span-4 {
    grid-row: span 4 / span 4;
  }
  .md-grid-row-span-5 {
    grid-row: span 5 / span 5;
  }
  .md-grid-row-span-6 {
    grid-row: span 6 / span 6;
  }
  .md-grid-row-span-7 {
    grid-row: span 7 / span 7;
  }
  .md-grid-row-span-8 {
    grid-row: span 8 / span 8;
  }
  .md-grid-row-span-9 {
    grid-row: span 9 / span 9;
  }
  .md-grid-row-span-10 {
    grid-row: span 10 / span 10;
  }
  .md-grid-row-span-11 {
    grid-row: span 11 / span 11;
  }
  .md-grid-row-span-12 {
    grid-row: span 12 / span 12;
  }
  .md-grid-row-span-13 {
    grid-row: span 13 / span 13;
  }
  .md-grid-row-span-14 {
    grid-row: span 14 / span 14;
  }
  .md-grid-row-span-15 {
    grid-row: span 15 / span 15;
  }
  .md-grid-row-span-16 {
    grid-row: span 16 / span 16;
  }
  .md-grid-row-span-17 {
    grid-row: span 17 / span 17;
  }
  .md-grid-row-span-18 {
    grid-row: span 18 / span 18;
  }
  .md-grid-row-span-19 {
    grid-row: span 19 / span 19;
  }
  .md-grid-row-span-20 {
    grid-row: span 20 / span 20;
  }
  .md-grid-row-span-21 {
    grid-row: span 21 / span 21;
  }
  .md-grid-row-span-22 {
    grid-row: span 22 / span 22;
  }
  .md-grid-row-span-23 {
    grid-row: span 23 / span 23;
  }
  .md-grid-row-span-24 {
    grid-row: span 24 / span 24;
  }
  /* 从第几行开始 行*/
  .md-grid-row-start-1 {
    grid-row-start: 1;
  }
  .md-grid-row-start-2 {
    grid-row-start: 2;
  }
  .md-grid-row-start-3 {
    grid-row-start: 3;
  }
  .md-grid-row-start-4 {
    grid-row-start: 4;
  }
  .md-grid-row-start-5 {
    grid-row-start: 5;
  }
  .md-grid-row-start-6 {
    grid-row-start: 6;
  }
  .md-grid-row-start-7 {
    grid-row-start: 7;
  }
  .md-grid-row-start-8 {
    grid-row-start: 8;
  }
  .md-grid-row-start-9 {
    grid-row-start: 9;
  }
  .md-grid-row-start-10 {
    grid-row-start: 10;
  }
  .md-grid-row-start-11 {
    grid-row-start: 11;
  }
  .md-grid-row-start-12 {
    grid-row-start: 12;
  }
  .md-grid-row-start-13 {
    grid-row-start: 13;
  }
  .md-grid-row-start-14 {
    grid-row-start: 14;
  }
  .md-grid-row-start-15 {
    grid-row-start: 15;
  }
  .md-grid-row-start-16 {
    grid-row-start: 16;
  }
  .md-grid-row-start-17 {
    grid-row-start: 17;
  }
  .md-grid-row-start-18 {
    grid-row-start: 18;
  }
  .md-grid-row-start-19 {
    grid-row-start: 19;
  }
  .md-grid-row-start-20 {
    grid-row-start: 20;
  }
  .md-grid-row-start-21 {
    grid-row-start: 21;
  }
  .md-grid-row-start-22 {
    grid-row-start: 22;
  }
  .md-grid-row-start-23 {
    grid-row-start: 23;
  }
  .md-grid-row-start-24 {
    grid-row-start: 24;
  }
}
@media (min-width: 1024px) {
  /*几行*/
  .lg-grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .lg-grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .lg-grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .lg-grid-rows-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .lg-grid-rows-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .lg-grid-rows-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
  .lg-grid-rows-7 {
    grid-template-rows: repeat(7, minmax(0, 1fr));
  }
  .lg-grid-rows-8 {
    grid-template-rows: repeat(8, minmax(0, 1fr));
  }
  .lg-grid-rows-9 {
    grid-template-rows: repeat(9, minmax(0, 1fr));
  }
  .lg-grid-rows-10 {
    grid-template-rows: repeat(10, minmax(0, 1fr));
  }
  .lg-grid-rows-11 {
    grid-template-rows: repeat(11, minmax(0, 1fr));
  }
  .lg-grid-rows-12 {
    grid-template-rows: repeat(12, minmax(0, 1fr));
  }
  .lg-grid-rows-13 {
    grid-template-rows: repeat(13, minmax(0, 1fr));
  }
  .lg-grid-rows-14 {
    grid-template-rows: repeat(14, minmax(0, 1fr));
  }
  .lg-grid-rows-15 {
    grid-template-rows: repeat(15, minmax(0, 1fr));
  }
  .lg-grid-rows-16 {
    grid-template-rows: repeat(16, minmax(0, 1fr));
  }
  .lg-grid-rows-17 {
    grid-template-rows: repeat(17, minmax(0, 1fr));
  }
  .lg-grid-rows-18 {
    grid-template-rows: repeat(18, minmax(0, 1fr));
  }
  .lg-grid-rows-19 {
    grid-template-rows: repeat(19, minmax(0, 1fr));
  }
  .lg-grid-rows-20 {
    grid-template-rows: repeat(20, minmax(0, 1fr));
  }
  .lg-grid-rows-21 {
    grid-template-rows: repeat(21, minmax(0, 1fr));
  }
  .lg-grid-rows-22 {
    grid-template-rows: repeat(22, minmax(0, 1fr));
  }
  .lg-grid-rows-23 {
    grid-template-rows: repeat(23, minmax(0, 1fr));
  }
  .lg-grid-rows-24 {
    grid-template-rows: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 行*/
  .lg-grid-row-span-1 {
    grid-row: span 1 / span 1;
  }
  .lg-grid-row-span-2 {
    grid-row: span 2 / span 2;
  }
  .lg-grid-row-span-3 {
    grid-row: span 3 / span 3;
  }
  .lg-grid-row-span-4 {
    grid-row: span 4 / span 4;
  }
  .lg-grid-row-span-5 {
    grid-row: span 5 / span 5;
  }
  .lg-grid-row-span-6 {
    grid-row: span 6 / span 6;
  }
  .lg-grid-row-span-7 {
    grid-row: span 7 / span 7;
  }
  .lg-grid-row-span-8 {
    grid-row: span 8 / span 8;
  }
  .lg-grid-row-span-9 {
    grid-row: span 9 / span 9;
  }
  .lg-grid-row-span-10 {
    grid-row: span 10 / span 10;
  }
  .lg-grid-row-span-11 {
    grid-row: span 11 / span 11;
  }
  .lg-grid-row-span-12 {
    grid-row: span 12 / span 12;
  }
  .lg-grid-row-span-13 {
    grid-row: span 13 / span 13;
  }
  .lg-grid-row-span-14 {
    grid-row: span 14 / span 14;
  }
  .lg-grid-row-span-15 {
    grid-row: span 15 / span 15;
  }
  .lg-grid-row-span-16 {
    grid-row: span 16 / span 16;
  }
  .lg-grid-row-span-17 {
    grid-row: span 17 / span 17;
  }
  .lg-grid-row-span-18 {
    grid-row: span 18 / span 18;
  }
  .lg-grid-row-span-19 {
    grid-row: span 19 / span 19;
  }
  .lg-grid-row-span-20 {
    grid-row: span 20 / span 20;
  }
  .lg-grid-row-span-21 {
    grid-row: span 21 / span 21;
  }
  .lg-grid-row-span-22 {
    grid-row: span 22 / span 22;
  }
  .lg-grid-row-span-23 {
    grid-row: span 23 / span 23;
  }
  .lg-grid-row-span-24 {
    grid-row: span 24 / span 24;
  }
  /* 从第几行开始 行*/
  .lg-grid-row-start-1 {
    grid-row-start: 1;
  }
  .lg-grid-row-start-2 {
    grid-row-start: 2;
  }
  .lg-grid-row-start-3 {
    grid-row-start: 3;
  }
  .lg-grid-row-start-4 {
    grid-row-start: 4;
  }
  .lg-grid-row-start-5 {
    grid-row-start: 5;
  }
  .lg-grid-row-start-6 {
    grid-row-start: 6;
  }
  .lg-grid-row-start-7 {
    grid-row-start: 7;
  }
  .lg-grid-row-start-8 {
    grid-row-start: 8;
  }
  .lg-grid-row-start-9 {
    grid-row-start: 9;
  }
  .lg-grid-row-start-10 {
    grid-row-start: 10;
  }
  .lg-grid-row-start-11 {
    grid-row-start: 11;
  }
  .lg-grid-row-start-12 {
    grid-row-start: 12;
  }
  .lg-grid-row-start-13 {
    grid-row-start: 13;
  }
  .lg-grid-row-start-14 {
    grid-row-start: 14;
  }
  .lg-grid-row-start-15 {
    grid-row-start: 15;
  }
  .lg-grid-row-start-16 {
    grid-row-start: 16;
  }
  .lg-grid-row-start-17 {
    grid-row-start: 17;
  }
  .lg-grid-row-start-18 {
    grid-row-start: 18;
  }
  .lg-grid-row-start-19 {
    grid-row-start: 19;
  }
  .lg-grid-row-start-20 {
    grid-row-start: 20;
  }
  .lg-grid-row-start-21 {
    grid-row-start: 21;
  }
  .lg-grid-row-start-22 {
    grid-row-start: 22;
  }
  .lg-grid-row-start-23 {
    grid-row-start: 23;
  }
  .lg-grid-row-start-24 {
    grid-row-start: 24;
  }
}
@media (min-width: 1280px) {
  /*几行*/
  .xl-grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .xl-grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .xl-grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .xl-grid-rows-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .xl-grid-rows-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .xl-grid-rows-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
  .xl-grid-rows-7 {
    grid-template-rows: repeat(7, minmax(0, 1fr));
  }
  .xl-grid-rows-8 {
    grid-template-rows: repeat(8, minmax(0, 1fr));
  }
  .xl-grid-rows-9 {
    grid-template-rows: repeat(9, minmax(0, 1fr));
  }
  .xl-grid-rows-10 {
    grid-template-rows: repeat(10, minmax(0, 1fr));
  }
  .xl-grid-rows-11 {
    grid-template-rows: repeat(11, minmax(0, 1fr));
  }
  .xl-grid-rows-12 {
    grid-template-rows: repeat(12, minmax(0, 1fr));
  }
  .xl-grid-rows-13 {
    grid-template-rows: repeat(13, minmax(0, 1fr));
  }
  .xl-grid-rows-14 {
    grid-template-rows: repeat(14, minmax(0, 1fr));
  }
  .xl-grid-rows-15 {
    grid-template-rows: repeat(15, minmax(0, 1fr));
  }
  .xl-grid-rows-16 {
    grid-template-rows: repeat(16, minmax(0, 1fr));
  }
  .xl-grid-rows-17 {
    grid-template-rows: repeat(17, minmax(0, 1fr));
  }
  .xl-grid-rows-18 {
    grid-template-rows: repeat(18, minmax(0, 1fr));
  }
  .xl-grid-rows-19 {
    grid-template-rows: repeat(19, minmax(0, 1fr));
  }
  .xl-grid-rows-20 {
    grid-template-rows: repeat(20, minmax(0, 1fr));
  }
  .xl-grid-rows-21 {
    grid-template-rows: repeat(21, minmax(0, 1fr));
  }
  .xl-grid-rows-22 {
    grid-template-rows: repeat(22, minmax(0, 1fr));
  }
  .xl-grid-rows-23 {
    grid-template-rows: repeat(23, minmax(0, 1fr));
  }
  .xl-grid-rows-24 {
    grid-template-rows: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 行*/
  .xl-grid-row-span-1 {
    grid-row: span 1 / span 1;
  }
  .xl-grid-row-span-2 {
    grid-row: span 2 / span 2;
  }
  .xl-grid-row-span-3 {
    grid-row: span 3 / span 3;
  }
  .xl-grid-row-span-4 {
    grid-row: span 4 / span 4;
  }
  .xl-grid-row-span-5 {
    grid-row: span 5 / span 5;
  }
  .xl-grid-row-span-6 {
    grid-row: span 6 / span 6;
  }
  .xl-grid-row-span-7 {
    grid-row: span 7 / span 7;
  }
  .xl-grid-row-span-8 {
    grid-row: span 8 / span 8;
  }
  .xl-grid-row-span-9 {
    grid-row: span 9 / span 9;
  }
  .xl-grid-row-span-10 {
    grid-row: span 10 / span 10;
  }
  .xl-grid-row-span-11 {
    grid-row: span 11 / span 11;
  }
  .xl-grid-row-span-12 {
    grid-row: span 12 / span 12;
  }
  .xl-grid-row-span-13 {
    grid-row: span 13 / span 13;
  }
  .xl-grid-row-span-14 {
    grid-row: span 14 / span 14;
  }
  .xl-grid-row-span-15 {
    grid-row: span 15 / span 15;
  }
  .xl-grid-row-span-16 {
    grid-row: span 16 / span 16;
  }
  .xl-grid-row-span-17 {
    grid-row: span 17 / span 17;
  }
  .xl-grid-row-span-18 {
    grid-row: span 18 / span 18;
  }
  .xl-grid-row-span-19 {
    grid-row: span 19 / span 19;
  }
  .xl-grid-row-span-20 {
    grid-row: span 20 / span 20;
  }
  .xl-grid-row-span-21 {
    grid-row: span 21 / span 21;
  }
  .xl-grid-row-span-22 {
    grid-row: span 22 / span 22;
  }
  .xl-grid-row-span-23 {
    grid-row: span 23 / span 23;
  }
  .xl-grid-row-span-24 {
    grid-row: span 24 / span 24;
  }
  /* 从第几行开始 行*/
  .xl-grid-row-start-1 {
    grid-row-start: 1;
  }
  .xl-grid-row-start-2 {
    grid-row-start: 2;
  }
  .xl-grid-row-start-3 {
    grid-row-start: 3;
  }
  .xl-grid-row-start-4 {
    grid-row-start: 4;
  }
  .xl-grid-row-start-5 {
    grid-row-start: 5;
  }
  .xl-grid-row-start-6 {
    grid-row-start: 6;
  }
  .xl-grid-row-start-7 {
    grid-row-start: 7;
  }
  .xl-grid-row-start-8 {
    grid-row-start: 8;
  }
  .xl-grid-row-start-9 {
    grid-row-start: 9;
  }
  .xl-grid-row-start-10 {
    grid-row-start: 10;
  }
  .xl-grid-row-start-11 {
    grid-row-start: 11;
  }
  .xl-grid-row-start-12 {
    grid-row-start: 12;
  }
  .xl-grid-row-start-13 {
    grid-row-start: 13;
  }
  .xl-grid-row-start-14 {
    grid-row-start: 14;
  }
  .xl-grid-row-start-15 {
    grid-row-start: 15;
  }
  .xl-grid-row-start-16 {
    grid-row-start: 16;
  }
  .xl-grid-row-start-17 {
    grid-row-start: 17;
  }
  .xl-grid-row-start-18 {
    grid-row-start: 18;
  }
  .xl-grid-row-start-19 {
    grid-row-start: 19;
  }
  .xl-grid-row-start-20 {
    grid-row-start: 20;
  }
  .xl-grid-row-start-21 {
    grid-row-start: 21;
  }
  .xl-grid-row-start-22 {
    grid-row-start: 22;
  }
  .xl-grid-row-start-23 {
    grid-row-start: 23;
  }
  .xl-grid-row-start-24 {
    grid-row-start: 24;
  }
}
@media (min-width: 1400px) {
  /*几行*/
  .2xl-grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .2xl-grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .2xl-grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .2xl-grid-rows-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .2xl-grid-rows-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .2xl-grid-rows-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
  .2xl-grid-rows-7 {
    grid-template-rows: repeat(7, minmax(0, 1fr));
  }
  .2xl-grid-rows-8 {
    grid-template-rows: repeat(8, minmax(0, 1fr));
  }
  .2xl-grid-rows-9 {
    grid-template-rows: repeat(9, minmax(0, 1fr));
  }
  .2xl-grid-rows-10 {
    grid-template-rows: repeat(10, minmax(0, 1fr));
  }
  .2xl-grid-rows-11 {
    grid-template-rows: repeat(11, minmax(0, 1fr));
  }
  .2xl-grid-rows-12 {
    grid-template-rows: repeat(12, minmax(0, 1fr));
  }
  .2xl-grid-rows-13 {
    grid-template-rows: repeat(13, minmax(0, 1fr));
  }
  .2xl-grid-rows-14 {
    grid-template-rows: repeat(14, minmax(0, 1fr));
  }
  .2xl-grid-rows-15 {
    grid-template-rows: repeat(15, minmax(0, 1fr));
  }
  .2xl-grid-rows-16 {
    grid-template-rows: repeat(16, minmax(0, 1fr));
  }
  .2xl-grid-rows-17 {
    grid-template-rows: repeat(17, minmax(0, 1fr));
  }
  .2xl-grid-rows-18 {
    grid-template-rows: repeat(18, minmax(0, 1fr));
  }
  .2xl-grid-rows-19 {
    grid-template-rows: repeat(19, minmax(0, 1fr));
  }
  .2xl-grid-rows-20 {
    grid-template-rows: repeat(20, minmax(0, 1fr));
  }
  .2xl-grid-rows-21 {
    grid-template-rows: repeat(21, minmax(0, 1fr));
  }
  .2xl-grid-rows-22 {
    grid-template-rows: repeat(22, minmax(0, 1fr));
  }
  .2xl-grid-rows-23 {
    grid-template-rows: repeat(23, minmax(0, 1fr));
  }
  .2xl-grid-rows-24 {
    grid-template-rows: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 行*/
  .2xl-grid-row-span-1 {
    grid-row: span 1 / span 1;
  }
  .2xl-grid-row-span-2 {
    grid-row: span 2 / span 2;
  }
  .2xl-grid-row-span-3 {
    grid-row: span 3 / span 3;
  }
  .2xl-grid-row-span-4 {
    grid-row: span 4 / span 4;
  }
  .2xl-grid-row-span-5 {
    grid-row: span 5 / span 5;
  }
  .2xl-grid-row-span-6 {
    grid-row: span 6 / span 6;
  }
  .2xl-grid-row-span-7 {
    grid-row: span 7 / span 7;
  }
  .2xl-grid-row-span-8 {
    grid-row: span 8 / span 8;
  }
  .2xl-grid-row-span-9 {
    grid-row: span 9 / span 9;
  }
  .2xl-grid-row-span-10 {
    grid-row: span 10 / span 10;
  }
  .2xl-grid-row-span-11 {
    grid-row: span 11 / span 11;
  }
  .2xl-grid-row-span-12 {
    grid-row: span 12 / span 12;
  }
  .2xl-grid-row-span-13 {
    grid-row: span 13 / span 13;
  }
  .2xl-grid-row-span-14 {
    grid-row: span 14 / span 14;
  }
  .2xl-grid-row-span-15 {
    grid-row: span 15 / span 15;
  }
  .2xl-grid-row-span-16 {
    grid-row: span 16 / span 16;
  }
  .2xl-grid-row-span-17 {
    grid-row: span 17 / span 17;
  }
  .2xl-grid-row-span-18 {
    grid-row: span 18 / span 18;
  }
  .2xl-grid-row-span-19 {
    grid-row: span 19 / span 19;
  }
  .2xl-grid-row-span-20 {
    grid-row: span 20 / span 20;
  }
  .2xl-grid-row-span-21 {
    grid-row: span 21 / span 21;
  }
  .2xl-grid-row-span-22 {
    grid-row: span 22 / span 22;
  }
  .2xl-grid-row-span-23 {
    grid-row: span 23 / span 23;
  }
  .2xl-grid-row-span-24 {
    grid-row: span 24 / span 24;
  }
  /* 从第几行开始 行*/
  .2xl-grid-row-start-1 {
    grid-row-start: 1;
  }
  .2xl-grid-row-start-2 {
    grid-row-start: 2;
  }
  .2xl-grid-row-start-3 {
    grid-row-start: 3;
  }
  .2xl-grid-row-start-4 {
    grid-row-start: 4;
  }
  .2xl-grid-row-start-5 {
    grid-row-start: 5;
  }
  .2xl-grid-row-start-6 {
    grid-row-start: 6;
  }
  .2xl-grid-row-start-7 {
    grid-row-start: 7;
  }
  .2xl-grid-row-start-8 {
    grid-row-start: 8;
  }
  .2xl-grid-row-start-9 {
    grid-row-start: 9;
  }
  .2xl-grid-row-start-10 {
    grid-row-start: 10;
  }
  .2xl-grid-row-start-11 {
    grid-row-start: 11;
  }
  .2xl-grid-row-start-12 {
    grid-row-start: 12;
  }
  .2xl-grid-row-start-13 {
    grid-row-start: 13;
  }
  .2xl-grid-row-start-14 {
    grid-row-start: 14;
  }
  .2xl-grid-row-start-15 {
    grid-row-start: 15;
  }
  .2xl-grid-row-start-16 {
    grid-row-start: 16;
  }
  .2xl-grid-row-start-17 {
    grid-row-start: 17;
  }
  .2xl-grid-row-start-18 {
    grid-row-start: 18;
  }
  .2xl-grid-row-start-19 {
    grid-row-start: 19;
  }
  .2xl-grid-row-start-20 {
    grid-row-start: 20;
  }
  .2xl-grid-row-start-21 {
    grid-row-start: 21;
  }
  .2xl-grid-row-start-22 {
    grid-row-start: 22;
  }
  .2xl-grid-row-start-23 {
    grid-row-start: 23;
  }
  .2xl-grid-row-start-24 {
    grid-row-start: 24;
  }
}
@media (min-width: 1600px) {
  /*几行*/
  .3xl-grid-rows-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .3xl-grid-rows-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .3xl-grid-rows-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .3xl-grid-rows-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .3xl-grid-rows-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .3xl-grid-rows-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
  .3xl-grid-rows-7 {
    grid-template-rows: repeat(7, minmax(0, 1fr));
  }
  .3xl-grid-rows-8 {
    grid-template-rows: repeat(8, minmax(0, 1fr));
  }
  .3xl-grid-rows-9 {
    grid-template-rows: repeat(9, minmax(0, 1fr));
  }
  .3xl-grid-rows-10 {
    grid-template-rows: repeat(10, minmax(0, 1fr));
  }
  .3xl-grid-rows-11 {
    grid-template-rows: repeat(11, minmax(0, 1fr));
  }
  .3xl-grid-rows-12 {
    grid-template-rows: repeat(12, minmax(0, 1fr));
  }
  .3xl-grid-rows-13 {
    grid-template-rows: repeat(13, minmax(0, 1fr));
  }
  .3xl-grid-rows-14 {
    grid-template-rows: repeat(14, minmax(0, 1fr));
  }
  .3xl-grid-rows-15 {
    grid-template-rows: repeat(15, minmax(0, 1fr));
  }
  .3xl-grid-rows-16 {
    grid-template-rows: repeat(16, minmax(0, 1fr));
  }
  .3xl-grid-rows-17 {
    grid-template-rows: repeat(17, minmax(0, 1fr));
  }
  .3xl-grid-rows-18 {
    grid-template-rows: repeat(18, minmax(0, 1fr));
  }
  .3xl-grid-rows-19 {
    grid-template-rows: repeat(19, minmax(0, 1fr));
  }
  .3xl-grid-rows-20 {
    grid-template-rows: repeat(20, minmax(0, 1fr));
  }
  .3xl-grid-rows-21 {
    grid-template-rows: repeat(21, minmax(0, 1fr));
  }
  .3xl-grid-rows-22 {
    grid-template-rows: repeat(22, minmax(0, 1fr));
  }
  .3xl-grid-rows-23 {
    grid-template-rows: repeat(23, minmax(0, 1fr));
  }
  .3xl-grid-rows-24 {
    grid-template-rows: repeat(24, minmax(0, 1fr));
  }
  /*占用几个 行*/
  .3xl-grid-row-span-1 {
    grid-row: span 1 / span 1;
  }
  .3xl-grid-row-span-2 {
    grid-row: span 2 / span 2;
  }
  .3xl-grid-row-span-3 {
    grid-row: span 3 / span 3;
  }
  .3xl-grid-row-span-4 {
    grid-row: span 4 / span 4;
  }
  .3xl-grid-row-span-5 {
    grid-row: span 5 / span 5;
  }
  .3xl-grid-row-span-6 {
    grid-row: span 6 / span 6;
  }
  .3xl-grid-row-span-7 {
    grid-row: span 7 / span 7;
  }
  .3xl-grid-row-span-8 {
    grid-row: span 8 / span 8;
  }
  .3xl-grid-row-span-9 {
    grid-row: span 9 / span 9;
  }
  .3xl-grid-row-span-10 {
    grid-row: span 10 / span 10;
  }
  .3xl-grid-row-span-11 {
    grid-row: span 11 / span 11;
  }
  .3xl-grid-row-span-12 {
    grid-row: span 12 / span 12;
  }
  .3xl-grid-row-span-13 {
    grid-row: span 13 / span 13;
  }
  .3xl-grid-row-span-14 {
    grid-row: span 14 / span 14;
  }
  .3xl-grid-row-span-15 {
    grid-row: span 15 / span 15;
  }
  .3xl-grid-row-span-16 {
    grid-row: span 16 / span 16;
  }
  .3xl-grid-row-span-17 {
    grid-row: span 17 / span 17;
  }
  .3xl-grid-row-span-18 {
    grid-row: span 18 / span 18;
  }
  .3xl-grid-row-span-19 {
    grid-row: span 19 / span 19;
  }
  .3xl-grid-row-span-20 {
    grid-row: span 20 / span 20;
  }
  .3xl-grid-row-span-21 {
    grid-row: span 21 / span 21;
  }
  .3xl-grid-row-span-22 {
    grid-row: span 22 / span 22;
  }
  .3xl-grid-row-span-23 {
    grid-row: span 23 / span 23;
  }
  .3xl-grid-row-span-24 {
    grid-row: span 24 / span 24;
  }
  /* 从第几行开始 行*/
  .3xl-grid-row-start-1 {
    grid-row-start: 1;
  }
  .3xl-grid-row-start-2 {
    grid-row-start: 2;
  }
  .3xl-grid-row-start-3 {
    grid-row-start: 3;
  }
  .3xl-grid-row-start-4 {
    grid-row-start: 4;
  }
  .3xl-grid-row-start-5 {
    grid-row-start: 5;
  }
  .3xl-grid-row-start-6 {
    grid-row-start: 6;
  }
  .3xl-grid-row-start-7 {
    grid-row-start: 7;
  }
  .3xl-grid-row-start-8 {
    grid-row-start: 8;
  }
  .3xl-grid-row-start-9 {
    grid-row-start: 9;
  }
  .3xl-grid-row-start-10 {
    grid-row-start: 10;
  }
  .3xl-grid-row-start-11 {
    grid-row-start: 11;
  }
  .3xl-grid-row-start-12 {
    grid-row-start: 12;
  }
  .3xl-grid-row-start-13 {
    grid-row-start: 13;
  }
  .3xl-grid-row-start-14 {
    grid-row-start: 14;
  }
  .3xl-grid-row-start-15 {
    grid-row-start: 15;
  }
  .3xl-grid-row-start-16 {
    grid-row-start: 16;
  }
  .3xl-grid-row-start-17 {
    grid-row-start: 17;
  }
  .3xl-grid-row-start-18 {
    grid-row-start: 18;
  }
  .3xl-grid-row-start-19 {
    grid-row-start: 19;
  }
  .3xl-grid-row-start-20 {
    grid-row-start: 20;
  }
  .3xl-grid-row-start-21 {
    grid-row-start: 21;
  }
  .3xl-grid-row-start-22 {
    grid-row-start: 22;
  }
  .3xl-grid-row-start-23 {
    grid-row-start: 23;
  }
  .3xl-grid-row-start-24 {
    grid-row-start: 24;
  }
}
/*grid布局end*/






















































/* 
  flex百分比布局  flex参数 扩展0 收缩0 长度auto
  使用:
  flex flex-cols-4
  或者
  子集 flex-col-2
*/
.flex-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}
.flex-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}
.flex-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}
.flex-cols-3 > * {
  flex: 0 0 auto;
  width: 33.3333333333%;
}
.flex-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}
.flex-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}
.flex-cols-6 > * {
  flex: 0 0 auto;
  width: 16.6666666667%;
}
.flex-cols-7 > * {
  flex: 0 0 auto;
  width: 14.2857142857%;
}
.flex-cols-8 > * {
  flex: 0 0 auto;
  width: 12.5%;
}
.flex-cols-9 > * {
  flex: 0 0 auto;
  width: 11.1111111111%;
}
.flex-cols-10 > * {
  flex: 0 0 auto;
  width: 10%;
}
.flex-cols-11 > * {
  flex: 0 0 auto;
  width: 9.0909090909%;
}
.flex-cols-12 > * {
  flex: 0 0 auto;
  width: 8.3333333333%;
}
/*固定24列中比例 中 占用X列*/
.flex-col-auto {
  flex: 0 0 auto;
  width: auto;
}
.flex-col-1 {
  flex: 0 0 auto;
  width: 4.16666667%;
}
.flex-col-2 {
  flex: 0 0 auto;
  width: 8.33333333%;
}
.flex-col-3 {
  flex: 0 0 auto;
  width: 12.5%;
}
.flex-col-4 {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.flex-col-5 {
  flex: 0 0 auto;
  width: 20.83333333%;
}
.flex-col-6 {
  flex: 0 0 auto;
  width: 25%;
}
.flex-col-7 {
  flex: 0 0 auto;
  width: 29.16666667%;
}
.flex-col-8 {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.flex-col-9 {
  flex: 0 0 auto;
  width: 37.5%;
}
.flex-col-10 {
  flex: 0 0 auto;
  width: 41.66666667%;
}
.flex-col-11 {
  flex: 0 0 auto;
  width: 45.83333333%;
}
.flex-col-12 {
  flex: 0 0 auto;
  width: 50%;
}
.flex-col-13 {
  flex: 0 0 auto;
  width: 54.16666667%;
}
.flex-col-14 {
  flex: 0 0 auto;
  width: 58.33333333%;
}
.flex-col-15 {
  flex: 0 0 auto;
  width: 62.5%;
}
.flex-col-16 {
  flex: 0 0 auto;
  width: 66.66666667%;
}
.flex-col-17 {
  flex: 0 0 auto;
  width: 70.83333333%;
}
.flex-col-18 {
  flex: 0 0 auto;
  width: 75%;
}
.flex-col-19 {
  flex: 0 0 auto;
  width: 79.16666667%;
}
.flex-col-20 {
  flex: 0 0 auto;
  width: 83.33333333%;
}
.flex-col-21 {
  flex: 0 0 auto;
  width: 87.5%;
}
.flex-col-22 {
  flex: 0 0 auto;
  width: 91.66666667%;
}
.flex-col-23 {
  flex: 0 0 auto;
  width: 95.83333333%;
}
.flex-col-24 {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 375px) {
  .xs-flex-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .xs-flex-cols-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .xs-flex-cols-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .xs-flex-cols-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .xs-flex-cols-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .xs-flex-cols-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .xs-flex-cols-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .xs-flex-cols-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .xs-flex-cols-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .xs-flex-cols-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .xs-flex-cols-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .xs-flex-cols-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .xs-flex-cols-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }

  /* 固定24列中比例 中 占用X列 */
  .xs-flex-col-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .xs-flex-col-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .xs-flex-col-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .xs-flex-col-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .xs-flex-col-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .xs-flex-col-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .xs-flex-col-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .xs-flex-col-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .xs-flex-col-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .xs-flex-col-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .xs-flex-col-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .xs-flex-col-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .xs-flex-col-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .xs-flex-col-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .xs-flex-col-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .xs-flex-col-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .xs-flex-col-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .xs-flex-col-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .xs-flex-col-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .xs-flex-col-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .xs-flex-col-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .xs-flex-col-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .xs-flex-col-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .xs-flex-col-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .xs-flex-col-24 {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 480px) {
  .sm-flex-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .sm-flex-cols-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .sm-flex-cols-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .sm-flex-cols-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .sm-flex-cols-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .sm-flex-cols-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .sm-flex-cols-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .sm-flex-cols-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .sm-flex-cols-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .sm-flex-cols-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .sm-flex-cols-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .sm-flex-cols-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .sm-flex-cols-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }

  /* 固定24列中比例 中 占用X列 */
  .sm-flex-col-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .sm-flex-col-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .sm-flex-col-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .sm-flex-col-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .sm-flex-col-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .sm-flex-col-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .sm-flex-col-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .sm-flex-col-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .sm-flex-col-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .sm-flex-col-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .sm-flex-col-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .sm-flex-col-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .sm-flex-col-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .sm-flex-col-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .sm-flex-col-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .sm-flex-col-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .sm-flex-col-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .sm-flex-col-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .sm-flex-col-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .sm-flex-col-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .sm-flex-col-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .sm-flex-col-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .sm-flex-col-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .sm-flex-col-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .sm-flex-col-24 {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 768px) {
  .md-flex-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .md-flex-cols-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .md-flex-cols-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .md-flex-cols-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .md-flex-cols-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .md-flex-cols-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .md-flex-cols-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .md-flex-cols-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .md-flex-cols-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .md-flex-cols-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .md-flex-cols-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .md-flex-cols-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .md-flex-cols-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }

  /* 固定24列中比例 中 占用X列 */
  .md-flex-col-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .md-flex-col-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .md-flex-col-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .md-flex-col-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .md-flex-col-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .md-flex-col-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .md-flex-col-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .md-flex-col-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .md-flex-col-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .md-flex-col-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .md-flex-col-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .md-flex-col-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .md-flex-col-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .md-flex-col-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .md-flex-col-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .md-flex-col-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .md-flex-col-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .md-flex-col-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .md-flex-col-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .md-flex-col-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .md-flex-col-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .md-flex-col-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .md-flex-col-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .md-flex-col-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .md-flex-col-24 {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 1024px) {
  .lg-flex-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .lg-flex-cols-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .lg-flex-cols-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .lg-flex-cols-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .lg-flex-cols-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .lg-flex-cols-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .lg-flex-cols-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .lg-flex-cols-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .lg-flex-cols-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .lg-flex-cols-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .lg-flex-cols-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .lg-flex-cols-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .lg-flex-cols-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }

  /* 固定24列中比例 中 占用X列 */
  .lg-flex-col-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .lg-flex-col-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .lg-flex-col-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .lg-flex-col-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .lg-flex-col-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .lg-flex-col-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .lg-flex-col-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .lg-flex-col-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .lg-flex-col-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .lg-flex-col-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .lg-flex-col-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .lg-flex-col-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .lg-flex-col-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .lg-flex-col-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .lg-flex-col-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .lg-flex-col-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .lg-flex-col-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .lg-flex-col-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .lg-flex-col-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .lg-flex-col-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .lg-flex-col-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .lg-flex-col-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .lg-flex-col-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .lg-flex-col-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .lg-flex-col-24 {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 1280px) {
  .xl-flex-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .xl-flex-cols-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .xl-flex-cols-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .xl-flex-cols-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .xl-flex-cols-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .xl-flex-cols-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .xl-flex-cols-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .xl-flex-cols-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .xl-flex-cols-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .xl-flex-cols-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .xl-flex-cols-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .xl-flex-cols-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .xl-flex-cols-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }

  /* 固定24列中比例 中 占用X列 */
  .xl-flex-col-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .xl-flex-col-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .xl-flex-col-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .xl-flex-col-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .xl-flex-col-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .xl-flex-col-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .xl-flex-col-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .xl-flex-col-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .xl-flex-col-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .xl-flex-col-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .xl-flex-col-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .xl-flex-col-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .xl-flex-col-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .xl-flex-col-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .xl-flex-col-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .xl-flex-col-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .xl-flex-col-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .xl-flex-col-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .xl-flex-col-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .xl-flex-col-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .xl-flex-col-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .xl-flex-col-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .xl-flex-col-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .xl-flex-col-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .xl-flex-col-24 {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 1400px) {
  .2xl-flex-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .2xl-flex-cols-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .2xl-flex-cols-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .2xl-flex-cols-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .2xl-flex-cols-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .2xl-flex-cols-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .2xl-flex-cols-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .2xl-flex-cols-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .2xl-flex-cols-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .2xl-flex-cols-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .2xl-flex-cols-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .2xl-flex-cols-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .2xl-flex-cols-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }

  /* 固定24列中比例 中 占用X列 */
  .2xl-flex-col-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .2xl-flex-col-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .2xl-flex-col-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .2xl-flex-col-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .2xl-flex-col-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .2xl-flex-col-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .2xl-flex-col-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .2xl-flex-col-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .2xl-flex-col-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .2xl-flex-col-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .2xl-flex-col-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .2xl-flex-col-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .2xl-flex-col-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .2xl-flex-col-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .2xl-flex-col-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .2xl-flex-col-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .2xl-flex-col-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .2xl-flex-col-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .2xl-flex-col-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .2xl-flex-col-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .2xl-flex-col-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .2xl-flex-col-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .2xl-flex-col-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .2xl-flex-col-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .2xl-flex-col-24 {
    flex: 0 0 auto;
    width: 100%;
  }
}
@media (min-width: 1600px) {
  .3xl-flex-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .3xl-flex-cols-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .3xl-flex-cols-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .3xl-flex-cols-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .3xl-flex-cols-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .3xl-flex-cols-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .3xl-flex-cols-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .3xl-flex-cols-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
  .3xl-flex-cols-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .3xl-flex-cols-9 > * {
    flex: 0 0 auto;
    width: 11.1111111111%;
  }
  .3xl-flex-cols-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
  .3xl-flex-cols-11 > * {
    flex: 0 0 auto;
    width: 9.0909090909%;
  }
  .3xl-flex-cols-12 > * {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }

  /* 固定24列中比例 中 占用X列 */
  .3xl-flex-col-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .3xl-flex-col-1 {
    flex: 0 0 auto;
    width: 4.16666667%;
  }
  .3xl-flex-col-2 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .3xl-flex-col-3 {
    flex: 0 0 auto;
    width: 12.5%;
  }
  .3xl-flex-col-4 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .3xl-flex-col-5 {
    flex: 0 0 auto;
    width: 20.83333333%;
  }
  .3xl-flex-col-6 {
    flex: 0 0 auto;
    width: 25%;
  }
  .3xl-flex-col-7 {
    flex: 0 0 auto;
    width: 29.16666667%;
  }
  .3xl-flex-col-8 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .3xl-flex-col-9 {
    flex: 0 0 auto;
    width: 37.5%;
  }
  .3xl-flex-col-10 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .3xl-flex-col-11 {
    flex: 0 0 auto;
    width: 45.83333333%;
  }
  .3xl-flex-col-12 {
    flex: 0 0 auto;
    width: 50%;
  }
  .3xl-flex-col-13 {
    flex: 0 0 auto;
    width: 54.16666667%;
  }
  .3xl-flex-col-14 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .3xl-flex-col-15 {
    flex: 0 0 auto;
    width: 62.5%;
  }
  .3xl-flex-col-16 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .3xl-flex-col-17 {
    flex: 0 0 auto;
    width: 70.83333333%;
  }
  .3xl-flex-col-18 {
    flex: 0 0 auto;
    width: 75%;
  }
  .3xl-flex-col-19 {
    flex: 0 0 auto;
    width: 79.16666667%;
  }
  .3xl-flex-col-20 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .3xl-flex-col-21 {
    flex: 0 0 auto;
    width: 87.5%;
  }
  .3xl-flex-col-22 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .3xl-flex-col-23 {
    flex: 0 0 auto;
    width: 95.83333333%;
  }
  .3xl-flex-col-24 {
    flex: 0 0 auto;
    width: 100%;
  }
}
/*flex百分比布局end*/





























/* 常用 */
/* 栅格排序 */
.order-first {
  order: -9999;
}
.order-0 {
  order: 0;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-3 {
  order: 3;
}
.order-4 {
  order: 4;
}
.order-5 {
  order: 5;
}
.order-last {
  order: 9999;
}
/* 栅格间距 */
.gap-0 {
  gap: 0;
}
.gap-5 {
  gap: 0.05rem;
}
.gap-10 {
  gap: 0.1rem;
}
.gap-15 {
  gap: 0.15rem;
}
.gap-20 {
  gap: 0.2rem;
}
.gap-25 {
  gap: 0.25rem;
}
/* 行间距 */
.gap-x-0 {
  row-gap: 0;
}
.gap-x-5 {
  row-gap: 0.05rem;
}
.gap-x-10 {
  row-gap: 0.1rem;
}
.gap-x-15 {
  row-gap: 0.15rem;
}
.gap-x-20 {
  row-gap: 0.2rem;
}
.gap-x-25 {
  row-gap: 0.25rem;
}
/* 列间距 */
.gap-y-0 {
  column-gap: 0;
}
.gap-y-5 {
  column-gap: 0.05rem;
}
.gap-y-10 {
  column-gap: 0.1rem;
}
.gap-y-15 {
  column-gap: 0.15rem;
}
.gap-y-20 {
  column-gap: 0.2rem;
}
.gap-y-25 {
  column-gap: 0.25rem;
}
@media (min-width: 375px) {
  /* 栅格排序 */
  .xs-order-first {
    order: -9999;
  }
  .xs-order-0 {
    order: 0;
  }
  .xs-order-1 {
    order: 1;
  }
  .xs-order-2 {
    order: 2;
  }
  .xs-order-3 {
    order: 3;
  }
  .xs-order-4 {
    order: 4;
  }
  .xs-order-5 {
    order: 5;
  }
  .xs-order-last {
    order: 9999;
  }
  /* 栅格间距 */
  .xs-gap-0 {
    gap: 0;
  }
  .xs-gap-25 {
    gap: 0.05rem;
  }
  .xs-gap-50 {
    gap: 0.1rem;
  }
  .xs-gap-15 {
    gap: 0.15rem;
  }
  .xs-gap-500 {
    gap: 0.2rem;
  }
  .xs-gap-25 {
    gap: 0.25rem;
  }
  /* 行间距 */
  .xs-gap-x-0 {
    row-gap: 0;
  }
  .xs-gap-x-5 {
    row-gap: 0.05rem;
  }
  .xs-gap-x-10 {
    row-gap: 0.1rem;
  }
  .xs-gap-x-15 {
    row-gap: 0.15rem;
  }
  .xs-gap-x-20 {
    row-gap: 0.2rem;
  }
  .xs-gap-x-25 {
    row-gap: 0.25rem;
  }
  /* 列间距 */
  .xs-gap-y-0 {
    column-gap: 0;
  }
  .xs-gap-y-5 {
    column-gap: 0.05rem;
  }
  .xs-gap-y-10 {
    column-gap: 0.1rem;
  }
  .xs-gap-y-15 {
    column-gap: 0.15rem;
  }
  .xs-gap-y-20 {
    column-gap: 0.2rem;
  }
  .xs-gap-y-25 {
    column-gap: 0.25rem;
  }
}
@media (min-width: 480px) {
  /* 栅格排序 */
  .sm-order-first {
    order: -9999;
  }
  .sm-order-0 {
    order: 0;
  }
  .sm-order-1 {
    order: 1;
  }
  .sm-order-2 {
    order: 2;
  }
  .sm-order-3 {
    order: 3;
  }
  .sm-order-4 {
    order: 4;
  }
  .sm-order-5 {
    order: 5;
  }
  .sm-order-last {
    order: 9999;
  }
  /* 栅格间距 */
  .sm-gap-0 {
    gap: 0;
  }
  .sm-gap-25 {
    gap: 0.05rem;
  }
  .sm-gap-50 {
    gap: 0.1rem;
  }
  .sm-gap-15 {
    gap: 0.15rem;
  }
  .sm-gap-500 {
    gap: 0.2rem;
  }
  .sm-gap-25 {
    gap: 0.25rem;
  }
  /* 行间距 */
  .sm-gap-x-0 {
    row-gap: 0;
  }
  .sm-gap-x-5 {
    row-gap: 0.05rem;
  }
  .sm-gap-x-10 {
    row-gap: 0.1rem;
  }
  .sm-gap-x-15 {
    row-gap: 0.15rem;
  }
  .sm-gap-x-20 {
    row-gap: 0.2rem;
  }
  .sm-gap-x-25 {
    row-gap: 0.25rem;
  }
  /* 列间距 */
  .sm-gap-y-0 {
    column-gap: 0;
  }
  .sm-gap-y-5 {
    column-gap: 0.05rem;
  }
  .sm-gap-y-10 {
    column-gap: 0.1rem;
  }
  .sm-gap-y-15 {
    column-gap: 0.15rem;
  }
  .sm-gap-y-20 {
    column-gap: 0.2rem;
  }
  .sm-gap-y-25 {
    column-gap: 0.25rem;
  }
}
@media (min-width: 768px) {
  /* 栅格排序 */
  .md-order-first {
    order: -9999;
  }
  .md-order-0 {
    order: 0;
  }
  .md-order-1 {
    order: 1;
  }
  .md-order-2 {
    order: 2;
  }
  .md-order-3 {
    order: 3;
  }
  .md-order-4 {
    order: 4;
  }
  .md-order-5 {
    order: 5;
  }
  .md-order-last {
    order: 9999;
  }
  /* 栅格间距 */
  .md-gap-0 {
    gap: 0;
  }
  .md-gap-25 {
    gap: 0.05rem;
  }
  .md-gap-50 {
    gap: 0.1rem;
  }
  .md-gap-15 {
    gap: 0.15rem;
  }
  .md-gap-500 {
    gap: 0.2rem;
  }
  .md-gap-25 {
    gap: 0.25rem;
  }
  /* 行间距 */
  .md-gap-x-0 {
    row-gap: 0;
  }
  .md-gap-x-5 {
    row-gap: 0.05rem;
  }
  .md-gap-x-10 {
    row-gap: 0.1rem;
  }
  .md-gap-x-15 {
    row-gap: 0.15rem;
  }
  .md-gap-x-20 {
    row-gap: 0.2rem;
  }
  .md-gap-x-25 {
    row-gap: 0.25rem;
  }
  /* 列间距 */
  .md-gap-y-0 {
    column-gap: 0;
  }
  .md-gap-y-5 {
    column-gap: 0.05rem;
  }
  .md-gap-y-10 {
    column-gap: 0.1rem;
  }
  .md-gap-y-15 {
    column-gap: 0.15rem;
  }
  .md-gap-y-20 {
    column-gap: 0.2rem;
  }
  .md-gap-y-25 {
    column-gap: 0.25rem;
  }
}
@media (min-width: 1024px) {
  /* 栅格排序 */
  .lg-order-first {
    order: -9999;
  }
  .lg-order-0 {
    order: 0;
  }
  .lg-order-1 {
    order: 1;
  }
  .lg-order-2 {
    order: 2;
  }
  .lg-order-3 {
    order: 3;
  }
  .lg-order-4 {
    order: 4;
  }
  .lg-order-5 {
    order: 5;
  }
  .lg-order-last {
    order: 9999;
  }
  /* 栅格间距 */
  .lg-gap-0 {
    gap: 0;
  }
  .lg-gap-25 {
    gap: 0.05rem;
  }
  .lg-gap-50 {
    gap: 0.1rem;
  }
  .lg-gap-15 {
    gap: 0.15rem;
  }
  .lg-gap-500 {
    gap: 0.2rem;
  }
  .lg-gap-25 {
    gap: 0.25rem;
  }
  /* 行间距 */
  .lg-gap-x-0 {
    row-gap: 0;
  }
  .lg-gap-x-5 {
    row-gap: 0.05rem;
  }
  .lg-gap-x-10 {
    row-gap: 0.1rem;
  }
  .lg-gap-x-15 {
    row-gap: 0.15rem;
  }
  .lg-gap-x-20 {
    row-gap: 0.2rem;
  }
  .lg-gap-x-25 {
    row-gap: 0.25rem;
  }
  /* 列间距 */
  .lg-gap-y-0 {
    column-gap: 0;
  }
  .lg-gap-y-5 {
    column-gap: 0.05rem;
  }
  .lg-gap-y-10 {
    column-gap: 0.1rem;
  }
  .lg-gap-y-15 {
    column-gap: 0.15rem;
  }
  .lg-gap-y-20 {
    column-gap: 0.2rem;
  }
  .lg-gap-y-25 {
    column-gap: 0.25rem;
  }
}
@media (min-width: 1280px) {
  /* 栅格排序 */
  .xl-order-first {
    order: -9999;
  }
  .xl-order-0 {
    order: 0;
  }
  .xl-order-1 {
    order: 1;
  }
  .xl-order-2 {
    order: 2;
  }
  .xl-order-3 {
    order: 3;
  }
  .xl-order-4 {
    order: 4;
  }
  .xl-order-5 {
    order: 5;
  }
  .xl-order-last {
    order: 9999;
  }
  /* 栅格间距 */
  .xl-gap-0 {
    gap: 0;
  }
  .xl-gap-25 {
    gap: 0.05rem;
  }
  .xl-gap-50 {
    gap: 0.1rem;
  }
  .xl-gap-15 {
    gap: 0.15rem;
  }
  .xl-gap-500 {
    gap: 0.2rem;
  }
  .xl-gap-25 {
    gap: 0.25rem;
  }
  /* 行间距 */
  .xl-gap-x-0 {
    row-gap: 0;
  }
  .xl-gap-x-5 {
    row-gap: 0.05rem;
  }
  .xl-gap-x-10 {
    row-gap: 0.1rem;
  }
  .xl-gap-x-15 {
    row-gap: 0.15rem;
  }
  .xl-gap-x-20 {
    row-gap: 0.2rem;
  }
  .xl-gap-x-25 {
    row-gap: 0.25rem;
  }
  /* 列间距 */
  .xl-gap-y-0 {
    column-gap: 0;
  }
  .xl-gap-y-5 {
    column-gap: 0.05rem;
  }
  .xl-gap-y-10 {
    column-gap: 0.1rem;
  }
  .xl-gap-y-15 {
    column-gap: 0.15rem;
  }
  .xl-gap-y-20 {
    column-gap: 0.2rem;
  }
  .xl-gap-y-25 {
    column-gap: 0.25rem;
  }
}
@media (min-width: 1400px) {
  /* 栅格排序 */
  .2xl-order-first {
    order: -9999;
  }
  .2xl-order-0 {
    order: 0;
  }
  .2xl-order-1 {
    order: 1;
  }
  .2xl-order-2 {
    order: 2;
  }
  .2xl-order-3 {
    order: 3;
  }
  .2xl-order-4 {
    order: 4;
  }
  .2xl-order-5 {
    order: 5;
  }
  .2xl-order-last {
    order: 9999;
  }
  /* 栅格间距 */
  .2xl-gap-0 {
    gap: 0;
  }
  .2xl-gap-25 {
    gap: 0.05rem;
  }
  .2xl-gap-50 {
    gap: 0.1rem;
  }
  .2xl-gap-15 {
    gap: 0.15rem;
  }
  .2xl-gap-500 {
    gap: 0.2rem;
  }
  .2xl-gap-25 {
    gap: 0.25rem;
  }
  /* 行间距 */
  .2xl-gap-x-0 {
    row-gap: 0;
  }
  .2xl-gap-x-5 {
    row-gap: 0.05rem;
  }
  .2xl-gap-x-10 {
    row-gap: 0.1rem;
  }
  .2xl-gap-x-15 {
    row-gap: 0.15rem;
  }
  .2xl-gap-x-20 {
    row-gap: 0.2rem;
  }
  .2xl-gap-x-25 {
    row-gap: 0.25rem;
  }
  /* 列间距 */
  .2xl-gap-y-0 {
    column-gap: 0;
  }
  .2xl-gap-y-5 {
    column-gap: 0.05rem;
  }
  .2xl-gap-y-10 {
    column-gap: 0.1rem;
  }
  .2xl-gap-y-15 {
    column-gap: 0.15rem;
  }
  .2xl-gap-y-20 {
    column-gap: 0.2rem;
  }
  .2xl-gap-y-25 {
    column-gap: 0.25rem;
  }
}
@media (min-width: 1600px) {
  /* 栅格排序 */
  .3xl-order-first {
    order: -9999;
  }
  .3xl-order-0 {
    order: 0;
  }
  .3xl-order-1 {
    order: 1;
  }
  .3xl-order-2 {
    order: 2;
  }
  .3xl-order-3 {
    order: 3;
  }
  .3xl-order-4 {
    order: 4;
  }
  .3xl-order-5 {
    order: 5;
  }
  .3xl-order-last {
    order: 9999;
  }
  /* 栅格间距 */
  .3xl-gap-0 {
    gap: 0;
  }
  .3xl-gap-25 {
    gap: 0.05rem;
  }
  .3xl-gap-50 {
    gap: 0.1rem;
  }
  .3xl-gap-15 {
    gap: 0.15rem;
  }
  .3xl-gap-500 {
    gap: 0.2rem;
  }
  .3xl-gap-25 {
    gap: 0.25rem;
  }
  /* 行间距 */
  .3xl-gap-x-0 {
    row-gap: 0;
  }
  .3xl-gap-x-5 {
    row-gap: 0.05rem;
  }
  .3xl-gap-x-10 {
    row-gap: 0.1rem;
  }
  .3xl-gap-x-15 {
    row-gap: 0.15rem;
  }
  .3xl-gap-x-20 {
    row-gap: 0.2rem;
  }
  .3xl-gap-x-25 {
    row-gap: 0.25rem;
  }
  /* 列间距 */
  .3xl-gap-y-0 {
    column-gap: 0;
  }
  .3xl-gap-y-5 {
    column-gap: 0.05rem;
  }
  .3xl-gap-y-10 {
    column-gap: 0.1rem;
  }
  .3xl-gap-y-15 {
    column-gap: 0.15rem;
  }
  .3xl-gap-y-20 {
    column-gap: 0.2rem;
  }
  .3xl-gap-y-25 {
    column-gap: 0.25rem;
  }
}

/* 文字溢出 */
/* 单行(这个注意可能会导致flex布局和grid布局整页面宽度错误) */
.text-spill{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* 多行 */
.text-spill-1{
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1; 
  -webkit-box-orient: vertical;
}
.text-spill-2{
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2; 
  -webkit-box-orient: vertical;
}
.text-spill-3{
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3; 
  -webkit-box-orient: vertical;
}
.text-spill-4{
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-line-clamp: 4; 
  -webkit-box-orient: vertical;
}
.text-spill-5{
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-line-clamp: 5; 
  -webkit-box-orient: vertical;
}
@media (min-width: 375px) {
  .xs-text-spill-1{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1; 
    -webkit-box-orient: vertical;
  }
  .xs-text-spill-2{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
  }
  .xs-text-spill-3{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
  }
  .xs-text-spill-4{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical;
  }
  .xs-text-spill-5{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 5; 
    -webkit-box-orient: vertical;
  }
}
@media (min-width: 480px) {
  .sm-text-spill-1{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1; 
    -webkit-box-orient: vertical;
  }
  .sm-text-spill-2{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
  }
  .sm-text-spill-3{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
  }
  .sm-text-spill-4{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical;
  }
  .sm-text-spill-5{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 5; 
    -webkit-box-orient: vertical;
  }
}
@media (min-width: 768px) {
  .md-text-spill-1{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1; 
    -webkit-box-orient: vertical;
  }
  .md-text-spill-2{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
  }
  .md-text-spill-3{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
  }
  .md-text-spill-4{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical;
  }
  .md-text-spill-5{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 5; 
    -webkit-box-orient: vertical;
  }
}
@media (min-width: 1024px) {
  .lg-text-spill-1{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1; 
    -webkit-box-orient: vertical;
  }
  .lg-text-spill-2{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
  }
  .lg-text-spill-3{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
  }
  .lg-text-spill-4{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical;
  }
  .lg-text-spill-5{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 5; 
    -webkit-box-orient: vertical;
  }
}
@media (min-width: 1280px) {
  .xl-text-spill-1{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1; 
    -webkit-box-orient: vertical;
  }
  .xl-text-spill-2{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
  }
  .xl-text-spill-3{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
  }
  .xl-text-spill-4{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical;
  }
  .xl-text-spill-5{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 5; 
    -webkit-box-orient: vertical;
  }
}
@media (min-width: 1400px) {
  .2xl-text-spill-1{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1; 
    -webkit-box-orient: vertical;
  }
  .2xl-text-spill-2{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
  }
  .2xl-text-spill-3{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
  }
  .2xl-text-spill-4{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical;
  }
  .2xl-text-spill-5{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 5; 
    -webkit-box-orient: vertical;
  }
}
@media (min-width: 1600px) {
  .3xl-text-spill-1{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1; 
    -webkit-box-orient: vertical;
  }
  .3xl-text-spill-2{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
  }
  .3xl-text-spill-3{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
  }
  .3xl-text-spill-4{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical;
  }
  .3xl-text-spill-5{
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-line-clamp: 5; 
    -webkit-box-orient: vertical;
  }
}

/*width and height*/
.w-auto {
  width: auto;
}
.w-25\% {
  width: 25%;
}
.w-50\% {
  width: 50%;
}
.w-100\% {
  width: 100%;
}
.w-100vw{
  width: 100vw;
}
.max-w-100\% {
  max-width: 100%;
}
.max-w-100vw {
  max-width: 100vw;
}
.min-w-100\% {
  min-width: 100%;
}
.min-w-100vw {
  min-width: 100vw;
}
.h-auto {
  height: auto;
}
.h-25\% {
  height: 25%;
}
.h-50\% {
  height: 50%;
}
.h-100\% {
  height: 100%;
}
.h-100vw{
  height: 100vh;
}
.max-h-100\% {
  max-height: 100%;
}
.max-h-100vw {
  max-height: 100vh;
}
.min-h-100\% {
  min-height: 100%;
}
.min-h-100vw {
  min-height: 100vh;
}
@media (min-width: 375px) {
  .xs-w-auto {
    width: auto;
  }
  .xs-w-25\% {
    width: 25%;
  }
  .xs-w-50\% {
    width: 50%;
  }
  .xs-w-100\% {
    width: 100%;
  }
  .xs-w-100vw{
    width: 100vw;
  }
  .xs-max-w-100\% {
    max-width: 100%;
  }
  .xs-max-w-100vw {
    max-width: 100vw;
  }
  .xs-min-w-100\% {
    min-width: 100%;
  }
  .xs-min-w-100vw {
    min-width: 100vw;
  }
  .xs-h-auto {
    height: auto;
  }
  .xs-h-25\% {
    height: 25%;
  }
  .xs-h-50\% {
    height: 50%;
  }
  .xs-h-100\% {
    height: 100%;
  }
  .xs-h-100vw{
    height: 100vh;
  }
  .xs-max-h-100\% {
    max-height: 100%;
  }
  .xs-max-h-100vw {
    max-height: 100vh;
  }
  .xs-min-h-100\% {
    min-height: 100%;
  }
  .xs-min-h-100vw {
    min-height: 100vh;
  }
}
@media (min-width: 480px) {
  .sm-w-auto {
    width: auto;
  }
  .sm-w-25\% {
    width: 25%;
  }
  .sm-w-50\% {
    width: 50%;
  }
  .sm-w-100\% {
    width: 100%;
  }
  .sm-w-100vw{
    width: 100vw;
  }
  .sm-max-w-100\% {
    max-width: 100%;
  }
  .sm-max-w-100vw {
    max-width: 100vw;
  }
  .sm-min-w-100\% {
    min-width: 100%;
  }
  .sm-min-w-100vw {
    min-width: 100vw;
  }
  .sm-h-auto {
    height: auto;
  }
  .sm-h-25\% {
    height: 25%;
  }
  .sm-h-50\% {
    height: 50%;
  }
  .sm-h-100\% {
    height: 100%;
  }
  .sm-h-100vw{
    height: 100vh;
  }
  .sm-max-h-100\% {
    max-height: 100%;
  }
  .sm-max-h-100vw {
    max-height: 100vh;
  }
  .sm-min-h-100\% {
    min-height: 100%;
  }
  .sm-min-h-100vw {
    min-height: 100vh;
  }
}
@media (min-width: 768px) {
  .md-w-auto {
    width: auto;
  }
  .md-w-25\% {
    width: 25%;
  }
  .md-w-50\% {
    width: 50%;
  }
  .md-w-100\% {
    width: 100%;
  }
  .md-w-100vw{
    width: 100vw;
  }
  .md-max-w-100\% {
    max-width: 100%;
  }
  .md-max-w-100vw {
    max-width: 100vw;
  }
  .md-min-w-100\% {
    min-width: 100%;
  }
  .md-min-w-100vw {
    min-width: 100vw;
  }
  .md-h-auto {
    height: auto;
  }
  .md-h-25\% {
    height: 25%;
  }
  .md-h-50\% {
    height: 50%;
  }
  .md-h-100\% {
    height: 100%;
  }
  .md-h-100vw{
    height: 100vh;
  }
  .md-max-h-100\% {
    max-height: 100%;
  }
  .md-max-h-100vw {
    max-height: 100vh;
  }
  .md-min-h-100\% {
    min-height: 100%;
  }
  .md-min-h-100vw {
    min-height: 100vh;
  }
}
@media (min-width: 1024px) {
  .lg-w-auto {
    width: auto;
  }
  .lg-w-25\% {
    width: 25%;
  }
  .lg-w-50\% {
    width: 50%;
  }
  .lg-w-100\% {
    width: 100%;
  }
  .lg-w-100vw{
    width: 100vw;
  }
  .lg-max-w-100\% {
    max-width: 100%;
  }
  .lg-max-w-100vw {
    max-width: 100vw;
  }
  .lg-min-w-100\% {
    min-width: 100%;
  }
  .lg-min-w-100vw {
    min-width: 100vw;
  }
  .lg-h-auto {
    height: auto;
  }
  .lg-h-25\% {
    height: 25%;
  }
  .lg-h-50\% {
    height: 50%;
  }
  .lg-h-100\% {
    height: 100%;
  }
  .lg-h-100vw{
    height: 100vh;
  }
  .lg-max-h-100\% {
    max-height: 100%;
  }
  .lg-max-h-100vw {
    max-height: 100vh;
  }
  .lg-min-h-100\% {
    min-height: 100%;
  }
  .lg-min-h-100vw {
    min-height: 100vh;
  }
}
@media (min-width: 1280px) {
  .xl-w-auto {
    width: auto;
  }
  .xl-w-25\% {
    width: 25%;
  }
  .xl-w-50\% {
    width: 50%;
  }
  .xl-w-100\% {
    width: 100%;
  }
  .xl-w-100vw{
    width: 100vw;
  }
  .xl-max-w-100\% {
    max-width: 100%;
  }
  .xl-max-w-100vw {
    max-width: 100vw;
  }
  .xl-min-w-100\% {
    min-width: 100%;
  }
  .xl-min-w-100vw {
    min-width: 100vw;
  }
  .xl-h-auto {
    height: auto;
  }
  .xl-h-25\% {
    height: 25%;
  }
  .xl-h-50\% {
    height: 50%;
  }
  .xl-h-100\% {
    height: 100%;
  }
  .xl-h-100vw{
    height: 100vh;
  }
  .xl-max-h-100\% {
    max-height: 100%;
  }
  .xl-max-h-100vw {
    max-height: 100vh;
  }
  .xl-min-h-100\% {
    min-height: 100%;
  }
  .xl-min-h-100vw {
    min-height: 100vh;
  }
}
@media (min-width: 1400px) {
  .2xl-w-auto {
    width: auto;
  }
  .2xl-w-25\% {
    width: 25%;
  }
  .2xl-w-50\% {
    width: 50%;
  }
  .2xl-w-100\% {
    width: 100%;
  }
  .2xl-w-100vw{
    width: 100vw;
  }
  .2xl-max-w-100\% {
    max-width: 100%;
  }
  .2xl-max-w-100vw {
    max-width: 100vw;
  }
  .2xl-min-w-100\% {
    min-width: 100%;
  }
  .2xl-min-w-100vw {
    min-width: 100vw;
  }
  .2xl-h-auto {
    height: auto;
  }
  .2xl-h-25\% {
    height: 25%;
  }
  .2xl-h-50\% {
    height: 50%;
  }
  .2xl-h-100\% {
    height: 100%;
  }
  .2xl-h-100vw{
    height: 100vh;
  }
  .2xl-max-h-100\% {
    max-height: 100%;
  }
  .2xl-max-h-100vw {
    max-height: 100vh;
  }
  .2xl-min-h-100\% {
    min-height: 100%;
  }
  .2xl-min-h-100vw {
    min-height: 100vh;
  }
}
@media (min-width: 1600px) {
  .3xl-w-auto {
    width: auto;
  }
  .3xl-w-25\% {
    width: 25%;
  }
  .3xl-w-50\% {
    width: 50%;
  }
  .3xl-w-100\% {
    width: 100%;
  }
  .3xl-w-100vw{
    width: 100vw;
  }
  .3xl-max-w-100\% {
    max-width: 100%;
  }
  .3xl-max-w-100vw {
    max-width: 100vw;
  }
  .3xl-min-w-100\% {
    min-width: 100%;
  }
  .3xl-min-w-100vw {
    min-width: 100vw;
  }
  .3xl-h-auto {
    height: auto;
  }
  .3xl-h-25\% {
    height: 25%;
  }
  .3xl-h-50\% {
    height: 50%;
  }
  .3xl-h-100\% {
    height: 100%;
  }
  .3xl-h-100vw{
    height: 100vh;
  }
  .3xl-max-h-100\% {
    max-height: 100%;
  }
  .3xl-max-h-100vw {
    max-height: 100vh;
  }
  .3xl-min-h-100\% {
    min-height: 100%;
  }
  .3xl-min-h-100vw {
    min-height: 100vh;
  }
}


/*margin and padding*/
.m-auto {
  margin: auto;
}
.m-0 {
  margin: 0;
}
.m-5 {
  margin: 0.05rem;
}
.m-10 {
  margin: 0.1rem;
}
.m-15 {
  margin: 0.15rem;
}
.m-20 {
  margin: 0.2rem;
}
.m-25 {
  margin: 0.25rem;
}

.mx-auto {
  margin-right: auto;
  margin-left: auto;
}
.mx-0 {
  margin-right: 0;
  margin-left: 0;
}
.mx-5 {
  margin-right: 0.05rem;
  margin-left: 0.05rem;
}
.mx-10 {
  margin-right: 0.1rem;
  margin-left: 0.1rem;
}
.mx-15 {
  margin-right: 0.15rem;
  margin-left: 0.15rem;
}
.mx-20 {
  margin-right: 0.2rem;
  margin-left: 0.2rem;
}
.mx-25 {
  margin-right: 0.25rem;
  margin-left: 0.25rem;
}

.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}
.my-0 {
  margin-top: 0;
  margin-bottom: 0;
}
.my-5 {
  margin-top: 0.05rem;
  margin-bottom: 0.05rem;
}
.my-10 {
  margin-top: 0.1rem;
  margin-bottom: 0.1rem;
}
.my-15 {
  margin-top: 0.15rem;
  margin-bottom: 0.15rem;
}
.my-20 {
  margin-top: 0.2rem;
  margin-bottom: 0.2rem;
}
.my-25 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.mt-auto {
  margin-top: auto;
}
.mt-0 {
  margin-top: 0;
}
.mt-5 {
  margin-top: 0.05rem;
}
.mt-10 {
  margin-top: 0.1rem;
}
.mt-15 {
  margin-top: 0.15rem;
}
.mt-20 {
  margin-top: 0.2rem;
}
.mt-25 {
  margin-top: 0.25rem;
}

.mb-auto {
  margin-bottom: auto;
}
.mb-0 {
  margin-bottom: 0;
}
.mb-5 {
  margin-bottom: 0.05rem;
}
.mb-10 {
  margin-bottom: 0.1rem;
}
.mb-15 {
  margin-bottom: 0.15rem;
}
.mb-20 {
  margin-bottom: 0.2rem;
}
.mb-25 {
  margin-bottom: 0.25rem;
}

.mr-auto {
  margin-right: auto;
}
.mr-0 {
  margin-right: 0;
}
.mr-5 {
  margin-right: 0.05rem;
}
.mr-10 {
  margin-right: 0.1rem;
}
.mr-15 {
  margin-right: 0.15rem;
}
.mr-20 {
  margin-right: 0.2rem;
}
.mr-25 {
  margin-right: 0.25rem;
}

.ml-auto {
  margin-left: auto;
}
.ml-0 {
  margin-left: 0;
}
.ml-5 {
  margin-left: 0.05rem;
}
.ml-10 {
  margin-left: 0.1rem;
}
.ml-15 {
  margin-left: 0.15rem;
}
.ml-20 {
  margin-left: 0.2rem;
}
.ml-25 {
  margin-left: 0.25rem;
}




.p-0 {
  padding: 0;
}
.p-5 {
  padding: 0.05rem;
}
.p-10 {
  padding: 0.1rem;
}
.p-15 {
  padding: 0.15rem;
}
.p-20 {
  padding: 0.2rem;
}
.p-25 {
  padding: 0.25rem;
}

.px-0 {
  padding-right: 0;
  padding-left: 0;
}
.px-5 {
  padding-right: 0.05rem;
  padding-left: 0.05rem;
}
.px-10 {
  padding-right: 0.1rem;
  padding-left: 0.1rem;
}
.px-15 {
  padding-right: 0.15rem;
  padding-left: 0.15rem;
}
.px-20 {
  padding-right: 0.2rem;
  padding-left: 0.2rem;
}
.px-25 {
  padding-right: 0.25rem;
  padding-left: 0.25rem;
}

.py-0 {
  padding-top: 0;
  padding-bottom: 0;
}
.py-5 {
  padding-top: 0.05rem;
  padding-bottom: 0.05rem;
}
.py-10 {
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
}
.py-15 {
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
}
.py-20 {
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}
.py-25 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.pt-0 {
  padding-top: 0;
}
.pt-5 {
  padding-top: 0.05rem;
}
.pt-10 {
  padding-top: 0.1rem;
}
.pt-15 {
  padding-top: 0.15rem;
}
.pt-20 {
  padding-top: 0.2rem;
}
.pt-25 {
  padding-top: 0.25rem;
}

.pb-0 {
  padding-bottom: 0;
}
.pb-5 {
  padding-bottom: 0.05rem;
}
.pb-10 {
  padding-bottom: 0.1rem;
}
.pb-15 {
  padding-bottom: 0.15rem;
}
.pb-20 {
  padding-bottom: 0.2rem;
}
.pb-25 {
  padding-bottom: 0.25rem;
}

.pr-0 {
  padding-right: 0;
}
.pr-5 {
  padding-right: 0.05rem;
}
.pr-10 {
  padding-right: 0.1rem;
}
.pr-15 {
  padding-right: 0.15rem;
}
.pr-20 {
  padding-right: 0.2rem;
}
.pr-25 {
  padding-right: 0.25rem;
}

.pl-0 {
  padding-left: 0;
}
.pl-5 {
  padding-left: 0.05rem;
}
.pl-10 {
  padding-left: 0.1rem;
}
.pl-15 {
  padding-left: 0.15rem;
}
.pl-20 {
  padding-left: 0.2rem;
}
.pl-25 {
  padding-left: 0.25rem;
}
@media (min-width: 375px) {
  .xs-m-auto {
    margin: auto;
  }
  .xs-m-0 {
    margin: 0;
  }
  .xs-m-5 {
    margin: 0.05rem;
  }
  .xs-m-10 {
    margin: 0.1rem;
  }
  .xs-m-15 {
    margin: 0.15rem;
  }
  .xs-m-20 {
    margin: 0.2rem;
  }
  .xs-m-25 {
    margin: 0.25rem;
  }

  .xs-mx-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .xs-mx-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .xs-mx-5 {
    margin-right: 0.05rem;
    margin-left: 0.05rem;
  }
  .xs-mx-10 {
    margin-right: 0.1rem;
    margin-left: 0.1rem;
  }
  .xs-mx-15 {
    margin-right: 0.15rem;
    margin-left: 0.15rem;
  }
  .xs-mx-20 {
    margin-right: 0.2rem;
    margin-left: 0.2rem;
  }
  .xs-mx-25 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }

  .xs-my-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .xs-my-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .xs-my-5 {
    margin-top: 0.05rem;
    margin-bottom: 0.05rem;
  }
  .xs-my-10 {
    margin-top: 0.1rem;
    margin-bottom: 0.1rem;
  }
  .xs-my-15 {
    margin-top: 0.15rem;
    margin-bottom: 0.15rem;
  }
  .xs-my-20 {
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
  }
  .xs-my-25 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  .xs-mt-auto {
    margin-top: auto;
  }
  .xs-mt-0 {
    margin-top: 0;
  }
  .xs-mt-5 {
    margin-top: 0.05rem;
  }
  .xs-mt-10 {
    margin-top: 0.1rem;
  }
  .xs-mt-15 {
    margin-top: 0.15rem;
  }
  .xs-mt-20 {
    margin-top: 0.2rem;
  }
  .xs-mt-25 {
    margin-top: 0.25rem;
  }

  .xs-mb-auto {
    margin-bottom: auto;
  }
  .xs-mb-0 {
    margin-bottom: 0;
  }
  .xs-mb-5 {
    margin-bottom: 0.05rem;
  }
  .xs-mb-10 {
    margin-bottom: 0.1rem;
  }
  .xs-mb-15 {
    margin-bottom: 0.15rem;
  }
  .xs-mb-20 {
    margin-bottom: 0.2rem;
  }
  .xs-mb-25 {
    margin-bottom: 0.25rem;
  }

  .xs-mr-auto {
    margin-right: auto;
  }
  .xs-mr-0 {
    margin-right: 0;
  }
  .xs-mr-5 {
    margin-right: 0.05rem;
  }
  .xs-mr-10 {
    margin-right: 0.1rem;
  }
  .xs-mr-15 {
    margin-right: 0.15rem;
  }
  .xs-mr-20 {
    margin-right: 0.2rem;
  }
  .xs-mr-25 {
    margin-right: 0.25rem;
  }

  .xs-ml-auto {
    margin-left: auto;
  }
  .xs-ml-0 {
    margin-left: 0;
  }
  .xs-ml-5 {
    margin-left: 0.05rem;
  }
  .xs-ml-10 {
    margin-left: 0.1rem;
  }
  .xs-ml-15 {
    margin-left: 0.15rem;
  }
  .xs-ml-20 {
    margin-left: 0.2rem;
  }
  .xs-ml-25 {
    margin-left: 0.25rem;
  }

  .xs-p-0 {
    padding: 0;
  }
  .xs-p-5 {
    padding: 0.05rem;
  }
  .xs-p-10 {
    padding: 0.1rem;
  }
  .xs-p-15 {
    padding: 0.15rem;
  }
  .xs-p-20 {
    padding: 0.2rem;
  }
  .xs-p-25 {
    padding: 0.25rem;
  }

  .xs-px-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .xs-px-5 {
    padding-right: 0.05rem;
    padding-left: 0.05rem;
  }
  .xs-px-10 {
    padding-right: 0.1rem;
    padding-left: 0.1rem;
  }
  .xs-px-15 {
    padding-right: 0.15rem;
    padding-left: 0.15rem;
  }
  .xs-px-20 {
    padding-right: 0.2rem;
    padding-left: 0.2rem;
  }
  .xs-px-25 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }

  .xs-py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .xs-py-5 {
    padding-top: 0.05rem;
    padding-bottom: 0.05rem;
  }
  .xs-py-10 {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }
  .xs-py-15 {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
  }
  .xs-py-20 {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }
  .xs-py-25 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .xs-pt-0 {
    padding-top: 0;
  }
  .xs-pt-5 {
    padding-top: 0.05rem;
  }
  .xs-pt-10 {
    padding-top: 0.1rem;
  }
  .xs-pt-15 {
    padding-top: 0.15rem;
  }
  .xs-pt-20 {
    padding-top: 0.2rem;
  }
  .xs-pt-25 {
    padding-top: 0.25rem;
  }

  .xs-pb-0 {
    padding-bottom: 0;
  }
  .xs-pb-5 {
    padding-bottom: 0.05rem;
  }
  .xs-pb-10 {
    padding-bottom: 0.1rem;
  }
  .xs-pb-15 {
    padding-bottom: 0.15rem;
  }
  .xs-pb-20 {
    padding-bottom: 0.2rem;
  }
  .xs-pb-25 {
    padding-bottom: 0.25rem;
  }

  .xs-pr-0 {
    padding-right: 0;
  }
  .xs-pr-5 {
    padding-right: 0.05rem;
  }
  .xs-pr-10 {
    padding-right: 0.1rem;
  }
  .xs-pr-15 {
    padding-right: 0.15rem;
  }
  .xs-pr-20 {
    padding-right: 0.2rem;
  }
  .xs-pr-25 {
    padding-right: 0.25rem;
  }

  .xs-pl-0 {
    padding-left: 0;
  }
  .xs-pl-5 {
    padding-left: 0.05rem;
  }
  .xs-pl-10 {
    padding-left: 0.1rem;
  }
  .xs-pl-15 {
    padding-left: 0.15rem;
  }
  .xs-pl-20 {
    padding-left: 0.2rem;
  }
  .xs-pl-25 {
    padding-left: 0.25rem;
  }
}
@media (min-width: 480px) {
  .sm-m-auto {
    margin: auto;
  }
  .sm-m-0 {
    margin: 0;
  }
  .sm-m-5 {
    margin: 0.05rem;
  }
  .sm-m-10 {
    margin: 0.1rem;
  }
  .sm-m-15 {
    margin: 0.15rem;
  }
  .sm-m-20 {
    margin: 0.2rem;
  }
  .sm-m-25 {
    margin: 0.25rem;
  }

  .sm-mx-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .sm-mx-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .sm-mx-5 {
    margin-right: 0.05rem;
    margin-left: 0.05rem;
  }
  .sm-mx-10 {
    margin-right: 0.1rem;
    margin-left: 0.1rem;
  }
  .sm-mx-15 {
    margin-right: 0.15rem;
    margin-left: 0.15rem;
  }
  .sm-mx-20 {
    margin-right: 0.2rem;
    margin-left: 0.2rem;
  }
  .sm-mx-25 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }

  .sm-my-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .sm-my-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .sm-my-5 {
    margin-top: 0.05rem;
    margin-bottom: 0.05rem;
  }
  .sm-my-10 {
    margin-top: 0.1rem;
    margin-bottom: 0.1rem;
  }
  .sm-my-15 {
    margin-top: 0.15rem;
    margin-bottom: 0.15rem;
  }
  .sm-my-20 {
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
  }
  .sm-my-25 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  .sm-mt-auto {
    margin-top: auto;
  }
  .sm-mt-0 {
    margin-top: 0;
  }
  .sm-mt-5 {
    margin-top: 0.05rem;
  }
  .sm-mt-10 {
    margin-top: 0.1rem;
  }
  .sm-mt-15 {
    margin-top: 0.15rem;
  }
  .sm-mt-20 {
    margin-top: 0.2rem;
  }
  .sm-mt-25 {
    margin-top: 0.25rem;
  }

  .sm-mb-auto {
    margin-bottom: auto;
  }
  .sm-mb-0 {
    margin-bottom: 0;
  }
  .sm-mb-5 {
    margin-bottom: 0.05rem;
  }
  .sm-mb-10 {
    margin-bottom: 0.1rem;
  }
  .sm-mb-15 {
    margin-bottom: 0.15rem;
  }
  .sm-mb-20 {
    margin-bottom: 0.2rem;
  }
  .sm-mb-25 {
    margin-bottom: 0.25rem;
  }

  .sm-mr-auto {
    margin-right: auto;
  }
  .sm-mr-0 {
    margin-right: 0;
  }
  .sm-mr-5 {
    margin-right: 0.05rem;
  }
  .sm-mr-10 {
    margin-right: 0.1rem;
  }
  .sm-mr-15 {
    margin-right: 0.15rem;
  }
  .sm-mr-20 {
    margin-right: 0.2rem;
  }
  .sm-mr-25 {
    margin-right: 0.25rem;
  }

  .sm-ml-auto {
    margin-left: auto;
  }
  .sm-ml-0 {
    margin-left: 0;
  }
  .sm-ml-5 {
    margin-left: 0.05rem;
  }
  .sm-ml-10 {
    margin-left: 0.1rem;
  }
  .sm-ml-15 {
    margin-left: 0.15rem;
  }
  .sm-ml-20 {
    margin-left: 0.2rem;
  }
  .sm-ml-25 {
    margin-left: 0.25rem;
  }

  .sm-p-0 {
    padding: 0;
  }
  .sm-p-5 {
    padding: 0.05rem;
  }
  .sm-p-10 {
    padding: 0.1rem;
  }
  .sm-p-15 {
    padding: 0.15rem;
  }
  .sm-p-20 {
    padding: 0.2rem;
  }
  .sm-p-25 {
    padding: 0.25rem;
  }

  .sm-px-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .sm-px-5 {
    padding-right: 0.05rem;
    padding-left: 0.05rem;
  }
  .sm-px-10 {
    padding-right: 0.1rem;
    padding-left: 0.1rem;
  }
  .sm-px-15 {
    padding-right: 0.15rem;
    padding-left: 0.15rem;
  }
  .sm-px-20 {
    padding-right: 0.2rem;
    padding-left: 0.2rem;
  }
  .sm-px-25 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }

  .sm-py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .sm-py-5 {
    padding-top: 0.05rem;
    padding-bottom: 0.05rem;
  }
  .sm-py-10 {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }
  .sm-py-15 {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
  }
  .sm-py-20 {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }
  .sm-py-25 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .sm-pt-0 {
    padding-top: 0;
  }
  .sm-pt-5 {
    padding-top: 0.05rem;
  }
  .sm-pt-10 {
    padding-top: 0.1rem;
  }
  .sm-pt-15 {
    padding-top: 0.15rem;
  }
  .sm-pt-20 {
    padding-top: 0.2rem;
  }
  .sm-pt-25 {
    padding-top: 0.25rem;
  }

  .sm-pb-0 {
    padding-bottom: 0;
  }
  .sm-pb-5 {
    padding-bottom: 0.05rem;
  }
  .sm-pb-10 {
    padding-bottom: 0.1rem;
  }
  .sm-pb-15 {
    padding-bottom: 0.15rem;
  }
  .sm-pb-20 {
    padding-bottom: 0.2rem;
  }
  .sm-pb-25 {
    padding-bottom: 0.25rem;
  }

  .sm-pr-0 {
    padding-right: 0;
  }
  .sm-pr-5 {
    padding-right: 0.05rem;
  }
  .sm-pr-10 {
    padding-right: 0.1rem;
  }
  .sm-pr-15 {
    padding-right: 0.15rem;
  }
  .sm-pr-20 {
    padding-right: 0.2rem;
  }
  .sm-pr-25 {
    padding-right: 0.25rem;
  }

  .sm-pl-0 {
    padding-left: 0;
  }
  .sm-pl-5 {
    padding-left: 0.05rem;
  }
  .sm-pl-10 {
    padding-left: 0.1rem;
  }
  .sm-pl-15 {
    padding-left: 0.15rem;
  }
  .sm-pl-20 {
    padding-left: 0.2rem;
  }
  .sm-pl-25 {
    padding-left: 0.25rem;
  }
}
@media (min-width: 768px) {
  .md-m-auto {
    margin: auto;
  }
  .md-m-0 {
    margin: 0;
  }
  .md-m-5 {
    margin: 0.05rem;
  }
  .md-m-10 {
    margin: 0.1rem;
  }
  .md-m-15 {
    margin: 0.15rem;
  }
  .md-m-20 {
    margin: 0.2rem;
  }
  .md-m-25 {
    margin: 0.25rem;
  }

  .md-mx-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .md-mx-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .md-mx-5 {
    margin-right: 0.05rem;
    margin-left: 0.05rem;
  }
  .md-mx-10 {
    margin-right: 0.1rem;
    margin-left: 0.1rem;
  }
  .md-mx-15 {
    margin-right: 0.15rem;
    margin-left: 0.15rem;
  }
  .md-mx-20 {
    margin-right: 0.2rem;
    margin-left: 0.2rem;
  }
  .md-mx-25 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }

  .md-my-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .md-my-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .md-my-5 {
    margin-top: 0.05rem;
    margin-bottom: 0.05rem;
  }
  .md-my-10 {
    margin-top: 0.1rem;
    margin-bottom: 0.1rem;
  }
  .md-my-15 {
    margin-top: 0.15rem;
    margin-bottom: 0.15rem;
  }
  .md-my-20 {
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
  }
  .md-my-25 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  .md-mt-auto {
    margin-top: auto;
  }
  .md-mt-0 {
    margin-top: 0;
  }
  .md-mt-5 {
    margin-top: 0.05rem;
  }
  .md-mt-10 {
    margin-top: 0.1rem;
  }
  .md-mt-15 {
    margin-top: 0.15rem;
  }
  .md-mt-20 {
    margin-top: 0.2rem;
  }
  .md-mt-25 {
    margin-top: 0.25rem;
  }

  .md-mb-auto {
    margin-bottom: auto;
  }
  .md-mb-0 {
    margin-bottom: 0;
  }
  .md-mb-5 {
    margin-bottom: 0.05rem;
  }
  .md-mb-10 {
    margin-bottom: 0.1rem;
  }
  .md-mb-15 {
    margin-bottom: 0.15rem;
  }
  .md-mb-20 {
    margin-bottom: 0.2rem;
  }
  .md-mb-25 {
    margin-bottom: 0.25rem;
  }

  .md-mr-auto {
    margin-right: auto;
  }
  .md-mr-0 {
    margin-right: 0;
  }
  .md-mr-5 {
    margin-right: 0.05rem;
  }
  .md-mr-10 {
    margin-right: 0.1rem;
  }
  .md-mr-15 {
    margin-right: 0.15rem;
  }
  .md-mr-20 {
    margin-right: 0.2rem;
  }
  .md-mr-25 {
    margin-right: 0.25rem;
  }

  .md-ml-auto {
    margin-left: auto;
  }
  .md-ml-0 {
    margin-left: 0;
  }
  .md-ml-5 {
    margin-left: 0.05rem;
  }
  .md-ml-10 {
    margin-left: 0.1rem;
  }
  .md-ml-15 {
    margin-left: 0.15rem;
  }
  .md-ml-20 {
    margin-left: 0.2rem;
  }
  .md-ml-25 {
    margin-left: 0.25rem;
  }

  .md-p-0 {
    padding: 0;
  }
  .md-p-5 {
    padding: 0.05rem;
  }
  .md-p-10 {
    padding: 0.1rem;
  }
  .md-p-15 {
    padding: 0.15rem;
  }
  .md-p-20 {
    padding: 0.2rem;
  }
  .md-p-25 {
    padding: 0.25rem;
  }

  .md-px-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .md-px-5 {
    padding-right: 0.05rem;
    padding-left: 0.05rem;
  }
  .md-px-10 {
    padding-right: 0.1rem;
    padding-left: 0.1rem;
  }
  .md-px-15 {
    padding-right: 0.15rem;
    padding-left: 0.15rem;
  }
  .md-px-20 {
    padding-right: 0.2rem;
    padding-left: 0.2rem;
  }
  .md-px-25 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }

  .md-py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .md-py-5 {
    padding-top: 0.05rem;
    padding-bottom: 0.05rem;
  }
  .md-py-10 {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }
  .md-py-15 {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
  }
  .md-py-20 {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }
  .md-py-25 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .md-pt-0 {
    padding-top: 0;
  }
  .md-pt-5 {
    padding-top: 0.05rem;
  }
  .md-pt-10 {
    padding-top: 0.1rem;
  }
  .md-pt-15 {
    padding-top: 0.15rem;
  }
  .md-pt-20 {
    padding-top: 0.2rem;
  }
  .md-pt-25 {
    padding-top: 0.25rem;
  }

  .md-pb-0 {
    padding-bottom: 0;
  }
  .md-pb-5 {
    padding-bottom: 0.05rem;
  }
  .md-pb-10 {
    padding-bottom: 0.1rem;
  }
  .md-pb-15 {
    padding-bottom: 0.15rem;
  }
  .md-pb-20 {
    padding-bottom: 0.2rem;
  }
  .md-pb-25 {
    padding-bottom: 0.25rem;
  }

  .md-pr-0 {
    padding-right: 0;
  }
  .md-pr-5 {
    padding-right: 0.05rem;
  }
  .md-pr-10 {
    padding-right: 0.1rem;
  }
  .md-pr-15 {
    padding-right: 0.15rem;
  }
  .md-pr-20 {
    padding-right: 0.2rem;
  }
  .md-pr-25 {
    padding-right: 0.25rem;
  }

  .md-pl-0 {
    padding-left: 0;
  }
  .md-pl-5 {
    padding-left: 0.05rem;
  }
  .md-pl-10 {
    padding-left: 0.1rem;
  }
  .md-pl-15 {
    padding-left: 0.15rem;
  }
  .md-pl-20 {
    padding-left: 0.2rem;
  }
  .md-pl-25 {
    padding-left: 0.25rem;
  }
}
@media (min-width: 1024px) {
  .lg-m-auto {
    margin: auto;
  }
  .lg-m-0 {
    margin: 0;
  }
  .lg-m-5 {
    margin: 0.05rem;
  }
  .lg-m-10 {
    margin: 0.1rem;
  }
  .lg-m-15 {
    margin: 0.15rem;
  }
  .lg-m-20 {
    margin: 0.2rem;
  }
  .lg-m-25 {
    margin: 0.25rem;
  }

  .lg-mx-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .lg-mx-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .lg-mx-5 {
    margin-right: 0.05rem;
    margin-left: 0.05rem;
  }
  .lg-mx-10 {
    margin-right: 0.1rem;
    margin-left: 0.1rem;
  }
  .lg-mx-15 {
    margin-right: 0.15rem;
    margin-left: 0.15rem;
  }
  .lg-mx-20 {
    margin-right: 0.2rem;
    margin-left: 0.2rem;
  }
  .lg-mx-25 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }

  .lg-my-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .lg-my-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .lg-my-5 {
    margin-top: 0.05rem;
    margin-bottom: 0.05rem;
  }
  .lg-my-10 {
    margin-top: 0.1rem;
    margin-bottom: 0.1rem;
  }
  .lg-my-15 {
    margin-top: 0.15rem;
    margin-bottom: 0.15rem;
  }
  .lg-my-20 {
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
  }
  .lg-my-25 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  .lg-mt-auto {
    margin-top: auto;
  }
  .lg-mt-0 {
    margin-top: 0;
  }
  .lg-mt-5 {
    margin-top: 0.05rem;
  }
  .lg-mt-10 {
    margin-top: 0.1rem;
  }
  .lg-mt-15 {
    margin-top: 0.15rem;
  }
  .lg-mt-20 {
    margin-top: 0.2rem;
  }
  .lg-mt-25 {
    margin-top: 0.25rem;
  }

  .lg-mb-auto {
    margin-bottom: auto;
  }
  .lg-mb-0 {
    margin-bottom: 0;
  }
  .lg-mb-5 {
    margin-bottom: 0.05rem;
  }
  .lg-mb-10 {
    margin-bottom: 0.1rem;
  }
  .lg-mb-15 {
    margin-bottom: 0.15rem;
  }
  .lg-mb-20 {
    margin-bottom: 0.2rem;
  }
  .lg-mb-25 {
    margin-bottom: 0.25rem;
  }

  .lg-mr-auto {
    margin-right: auto;
  }
  .lg-mr-0 {
    margin-right: 0;
  }
  .lg-mr-5 {
    margin-right: 0.05rem;
  }
  .lg-mr-10 {
    margin-right: 0.1rem;
  }
  .lg-mr-15 {
    margin-right: 0.15rem;
  }
  .lg-mr-20 {
    margin-right: 0.2rem;
  }
  .lg-mr-25 {
    margin-right: 0.25rem;
  }

  .lg-ml-auto {
    margin-left: auto;
  }
  .lg-ml-0 {
    margin-left: 0;
  }
  .lg-ml-5 {
    margin-left: 0.05rem;
  }
  .lg-ml-10 {
    margin-left: 0.1rem;
  }
  .lg-ml-15 {
    margin-left: 0.15rem;
  }
  .lg-ml-20 {
    margin-left: 0.2rem;
  }
  .lg-ml-25 {
    margin-left: 0.25rem;
  }

  .lg-p-0 {
    padding: 0;
  }
  .lg-p-5 {
    padding: 0.05rem;
  }
  .lg-p-10 {
    padding: 0.1rem;
  }
  .lg-p-15 {
    padding: 0.15rem;
  }
  .lg-p-20 {
    padding: 0.2rem;
  }
  .lg-p-25 {
    padding: 0.25rem;
  }

  .lg-px-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .lg-px-5 {
    padding-right: 0.05rem;
    padding-left: 0.05rem;
  }
  .lg-px-10 {
    padding-right: 0.1rem;
    padding-left: 0.1rem;
  }
  .lg-px-15 {
    padding-right: 0.15rem;
    padding-left: 0.15rem;
  }
  .lg-px-20 {
    padding-right: 0.2rem;
    padding-left: 0.2rem;
  }
  .lg-px-25 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }

  .lg-py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .lg-py-5 {
    padding-top: 0.05rem;
    padding-bottom: 0.05rem;
  }
  .lg-py-10 {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }
  .lg-py-15 {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
  }
  .lg-py-20 {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }
  .lg-py-25 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .lg-pt-0 {
    padding-top: 0;
  }
  .lg-pt-5 {
    padding-top: 0.05rem;
  }
  .lg-pt-10 {
    padding-top: 0.1rem;
  }
  .lg-pt-15 {
    padding-top: 0.15rem;
  }
  .lg-pt-20 {
    padding-top: 0.2rem;
  }
  .lg-pt-25 {
    padding-top: 0.25rem;
  }

  .lg-pb-0 {
    padding-bottom: 0;
  }
  .lg-pb-5 {
    padding-bottom: 0.05rem;
  }
  .lg-pb-10 {
    padding-bottom: 0.1rem;
  }
  .lg-pb-15 {
    padding-bottom: 0.15rem;
  }
  .lg-pb-20 {
    padding-bottom: 0.2rem;
  }
  .lg-pb-25 {
    padding-bottom: 0.25rem;
  }

  .lg-pr-0 {
    padding-right: 0;
  }
  .lg-pr-5 {
    padding-right: 0.05rem;
  }
  .lg-pr-10 {
    padding-right: 0.1rem;
  }
  .lg-pr-15 {
    padding-right: 0.15rem;
  }
  .lg-pr-20 {
    padding-right: 0.2rem;
  }
  .lg-pr-25 {
    padding-right: 0.25rem;
  }

  .lg-pl-0 {
    padding-left: 0;
  }
  .lg-pl-5 {
    padding-left: 0.05rem;
  }
  .lg-pl-10 {
    padding-left: 0.1rem;
  }
  .lg-pl-15 {
    padding-left: 0.15rem;
  }
  .lg-pl-20 {
    padding-left: 0.2rem;
  }
  .lg-pl-25 {
    padding-left: 0.25rem;
  }
}
@media (min-width: 1280px) {
  .xl-m-auto {
    margin: auto;
  }
  .xl-m-0 {
    margin: 0;
  }
  .xl-m-5 {
    margin: 0.05rem;
  }
  .xl-m-10 {
    margin: 0.1rem;
  }
  .xl-m-15 {
    margin: 0.15rem;
  }
  .xl-m-20 {
    margin: 0.2rem;
  }
  .xl-m-25 {
    margin: 0.25rem;
  }

  .xl-mx-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .xl-mx-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .xl-mx-5 {
    margin-right: 0.05rem;
    margin-left: 0.05rem;
  }
  .xl-mx-10 {
    margin-right: 0.1rem;
    margin-left: 0.1rem;
  }
  .xl-mx-15 {
    margin-right: 0.15rem;
    margin-left: 0.15rem;
  }
  .xl-mx-20 {
    margin-right: 0.2rem;
    margin-left: 0.2rem;
  }
  .xl-mx-25 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }

  .xl-my-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .xl-my-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .xl-my-5 {
    margin-top: 0.05rem;
    margin-bottom: 0.05rem;
  }
  .xl-my-10 {
    margin-top: 0.1rem;
    margin-bottom: 0.1rem;
  }
  .xl-my-15 {
    margin-top: 0.15rem;
    margin-bottom: 0.15rem;
  }
  .xl-my-20 {
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
  }
  .xl-my-25 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  .xl-mt-auto {
    margin-top: auto;
  }
  .xl-mt-0 {
    margin-top: 0;
  }
  .xl-mt-5 {
    margin-top: 0.05rem;
  }
  .xl-mt-10 {
    margin-top: 0.1rem;
  }
  .xl-mt-15 {
    margin-top: 0.15rem;
  }
  .xl-mt-20 {
    margin-top: 0.2rem;
  }
  .xl-mt-25 {
    margin-top: 0.25rem;
  }

  .xl-mb-auto {
    margin-bottom: auto;
  }
  .xl-mb-0 {
    margin-bottom: 0;
  }
  .xl-mb-5 {
    margin-bottom: 0.05rem;
  }
  .xl-mb-10 {
    margin-bottom: 0.1rem;
  }
  .xl-mb-15 {
    margin-bottom: 0.15rem;
  }
  .xl-mb-20 {
    margin-bottom: 0.2rem;
  }
  .xl-mb-25 {
    margin-bottom: 0.25rem;
  }

  .xl-mr-auto {
    margin-right: auto;
  }
  .xl-mr-0 {
    margin-right: 0;
  }
  .xl-mr-5 {
    margin-right: 0.05rem;
  }
  .xl-mr-10 {
    margin-right: 0.1rem;
  }
  .xl-mr-15 {
    margin-right: 0.15rem;
  }
  .xl-mr-20 {
    margin-right: 0.2rem;
  }
  .xl-mr-25 {
    margin-right: 0.25rem;
  }

  .xl-ml-auto {
    margin-left: auto;
  }
  .xl-ml-0 {
    margin-left: 0;
  }
  .xl-ml-5 {
    margin-left: 0.05rem;
  }
  .xl-ml-10 {
    margin-left: 0.1rem;
  }
  .xl-ml-15 {
    margin-left: 0.15rem;
  }
  .xl-ml-20 {
    margin-left: 0.2rem;
  }
  .xl-ml-25 {
    margin-left: 0.25rem;
  }

  .xl-p-0 {
    padding: 0;
  }
  .xl-p-5 {
    padding: 0.05rem;
  }
  .xl-p-10 {
    padding: 0.1rem;
  }
  .xl-p-15 {
    padding: 0.15rem;
  }
  .xl-p-20 {
    padding: 0.2rem;
  }
  .xl-p-25 {
    padding: 0.25rem;
  }

  .xl-px-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .xl-px-5 {
    padding-right: 0.05rem;
    padding-left: 0.05rem;
  }
  .xl-px-10 {
    padding-right: 0.1rem;
    padding-left: 0.1rem;
  }
  .xl-px-15 {
    padding-right: 0.15rem;
    padding-left: 0.15rem;
  }
  .xl-px-20 {
    padding-right: 0.2rem;
    padding-left: 0.2rem;
  }
  .xl-px-25 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }

  .xl-py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .xl-py-5 {
    padding-top: 0.05rem;
    padding-bottom: 0.05rem;
  }
  .xl-py-10 {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }
  .xl-py-15 {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
  }
  .xl-py-20 {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }
  .xl-py-25 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .xl-pt-0 {
    padding-top: 0;
  }
  .xl-pt-5 {
    padding-top: 0.05rem;
  }
  .xl-pt-10 {
    padding-top: 0.1rem;
  }
  .xl-pt-15 {
    padding-top: 0.15rem;
  }
  .xl-pt-20 {
    padding-top: 0.2rem;
  }
  .xl-pt-25 {
    padding-top: 0.25rem;
  }

  .xl-pb-0 {
    padding-bottom: 0;
  }
  .xl-pb-5 {
    padding-bottom: 0.05rem;
  }
  .xl-pb-10 {
    padding-bottom: 0.1rem;
  }
  .xl-pb-15 {
    padding-bottom: 0.15rem;
  }
  .xl-pb-20 {
    padding-bottom: 0.2rem;
  }
  .xl-pb-25 {
    padding-bottom: 0.25rem;
  }

  .xl-pr-0 {
    padding-right: 0;
  }
  .xl-pr-5 {
    padding-right: 0.05rem;
  }
  .xl-pr-10 {
    padding-right: 0.1rem;
  }
  .xl-pr-15 {
    padding-right: 0.15rem;
  }
  .xl-pr-20 {
    padding-right: 0.2rem;
  }
  .xl-pr-25 {
    padding-right: 0.25rem;
  }

  .xl-pl-0 {
    padding-left: 0;
  }
  .xl-pl-5 {
    padding-left: 0.05rem;
  }
  .xl-pl-10 {
    padding-left: 0.1rem;
  }
  .xl-pl-15 {
    padding-left: 0.15rem;
  }
  .xl-pl-20 {
    padding-left: 0.2rem;
  }
  .xl-pl-25 {
    padding-left: 0.25rem;
  }
}
@media (min-width: 1400px) {
  .2xl-m-auto {
    margin: auto;
  }
  .2xl-m-0 {
    margin: 0;
  }
  .2xl-m-5 {
    margin: 0.05rem;
  }
  .2xl-m-10 {
    margin: 0.1rem;
  }
  .2xl-m-15 {
    margin: 0.15rem;
  }
  .2xl-m-20 {
    margin: 0.2rem;
  }
  .2xl-m-25 {
    margin: 0.25rem;
  }

  .2xl-mx-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .2xl-mx-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .2xl-mx-5 {
    margin-right: 0.05rem;
    margin-left: 0.05rem;
  }
  .2xl-mx-10 {
    margin-right: 0.1rem;
    margin-left: 0.1rem;
  }
  .2xl-mx-15 {
    margin-right: 0.15rem;
    margin-left: 0.15rem;
  }
  .2xl-mx-20 {
    margin-right: 0.2rem;
    margin-left: 0.2rem;
  }
  .2xl-mx-25 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }

  .2xl-my-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .2xl-my-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .2xl-my-5 {
    margin-top: 0.05rem;
    margin-bottom: 0.05rem;
  }
  .2xl-my-10 {
    margin-top: 0.1rem;
    margin-bottom: 0.1rem;
  }
  .2xl-my-15 {
    margin-top: 0.15rem;
    margin-bottom: 0.15rem;
  }
  .2xl-my-20 {
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
  }
  .2xl-my-25 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  .2xl-mt-auto {
    margin-top: auto;
  }
  .2xl-mt-0 {
    margin-top: 0;
  }
  .2xl-mt-5 {
    margin-top: 0.05rem;
  }
  .2xl-mt-10 {
    margin-top: 0.1rem;
  }
  .2xl-mt-15 {
    margin-top: 0.15rem;
  }
  .2xl-mt-20 {
    margin-top: 0.2rem;
  }
  .2xl-mt-25 {
    margin-top: 0.25rem;
  }

  .2xl-mb-auto {
    margin-bottom: auto;
  }
  .2xl-mb-0 {
    margin-bottom: 0;
  }
  .2xl-mb-5 {
    margin-bottom: 0.05rem;
  }
  .2xl-mb-10 {
    margin-bottom: 0.1rem;
  }
  .2xl-mb-15 {
    margin-bottom: 0.15rem;
  }
  .2xl-mb-20 {
    margin-bottom: 0.2rem;
  }
  .2xl-mb-25 {
    margin-bottom: 0.25rem;
  }

  .2xl-mr-auto {
    margin-right: auto;
  }
  .2xl-mr-0 {
    margin-right: 0;
  }
  .2xl-mr-5 {
    margin-right: 0.05rem;
  }
  .2xl-mr-10 {
    margin-right: 0.1rem;
  }
  .2xl-mr-15 {
    margin-right: 0.15rem;
  }
  .2xl-mr-20 {
    margin-right: 0.2rem;
  }
  .2xl-mr-25 {
    margin-right: 0.25rem;
  }

  .2xl-ml-auto {
    margin-left: auto;
  }
  .2xl-ml-0 {
    margin-left: 0;
  }
  .2xl-ml-5 {
    margin-left: 0.05rem;
  }
  .2xl-ml-10 {
    margin-left: 0.1rem;
  }
  .2xl-ml-15 {
    margin-left: 0.15rem;
  }
  .2xl-ml-20 {
    margin-left: 0.2rem;
  }
  .2xl-ml-25 {
    margin-left: 0.25rem;
  }

  .2xl-p-0 {
    padding: 0;
  }
  .2xl-p-5 {
    padding: 0.05rem;
  }
  .2xl-p-10 {
    padding: 0.1rem;
  }
  .2xl-p-15 {
    padding: 0.15rem;
  }
  .2xl-p-20 {
    padding: 0.2rem;
  }
  .2xl-p-25 {
    padding: 0.25rem;
  }

  .2xl-px-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .2xl-px-5 {
    padding-right: 0.05rem;
    padding-left: 0.05rem;
  }
  .2xl-px-10 {
    padding-right: 0.1rem;
    padding-left: 0.1rem;
  }
  .2xl-px-15 {
    padding-right: 0.15rem;
    padding-left: 0.15rem;
  }
  .2xl-px-20 {
    padding-right: 0.2rem;
    padding-left: 0.2rem;
  }
  .2xl-px-25 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }

  .2xl-py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .2xl-py-5 {
    padding-top: 0.05rem;
    padding-bottom: 0.05rem;
  }
  .2xl-py-10 {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }
  .2xl-py-15 {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
  }
  .2xl-py-20 {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }
  .2xl-py-25 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .2xl-pt-0 {
    padding-top: 0;
  }
  .2xl-pt-5 {
    padding-top: 0.05rem;
  }
  .2xl-pt-10 {
    padding-top: 0.1rem;
  }
  .2xl-pt-15 {
    padding-top: 0.15rem;
  }
  .2xl-pt-20 {
    padding-top: 0.2rem;
  }
  .2xl-pt-25 {
    padding-top: 0.25rem;
  }

  .2xl-pb-0 {
    padding-bottom: 0;
  }
  .2xl-pb-5 {
    padding-bottom: 0.05rem;
  }
  .2xl-pb-10 {
    padding-bottom: 0.1rem;
  }
  .2xl-pb-15 {
    padding-bottom: 0.15rem;
  }
  .2xl-pb-20 {
    padding-bottom: 0.2rem;
  }
  .2xl-pb-25 {
    padding-bottom: 0.25rem;
  }

  .2xl-pr-0 {
    padding-right: 0;
  }
  .2xl-pr-5 {
    padding-right: 0.05rem;
  }
  .2xl-pr-10 {
    padding-right: 0.1rem;
  }
  .2xl-pr-15 {
    padding-right: 0.15rem;
  }
  .2xl-pr-20 {
    padding-right: 0.2rem;
  }
  .2xl-pr-25 {
    padding-right: 0.25rem;
  }

  .2xl-pl-0 {
    padding-left: 0;
  }
  .2xl-pl-5 {
    padding-left: 0.05rem;
  }
  .2xl-pl-10 {
    padding-left: 0.1rem;
  }
  .2xl-pl-15 {
    padding-left: 0.15rem;
  }
  .2xl-pl-20 {
    padding-left: 0.2rem;
  }
  .2xl-pl-25 {
    padding-left: 0.25rem;
  }
}
@media (min-width: 1600px) {
  .3xl-m-auto {
    margin: auto;
  }
  .3xl-m-0 {
    margin: 0;
  }
  .3xl-m-5 {
    margin: 0.05rem;
  }
  .3xl-m-10 {
    margin: 0.1rem;
  }
  .3xl-m-15 {
    margin: 0.15rem;
  }
  .3xl-m-20 {
    margin: 0.2rem;
  }
  .3xl-m-25 {
    margin: 0.25rem;
  }

  .3xl-mx-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .3xl-mx-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .3xl-mx-5 {
    margin-right: 0.05rem;
    margin-left: 0.05rem;
  }
  .3xl-mx-10 {
    margin-right: 0.1rem;
    margin-left: 0.1rem;
  }
  .3xl-mx-15 {
    margin-right: 0.15rem;
    margin-left: 0.15rem;
  }
  .3xl-mx-20 {
    margin-right: 0.2rem;
    margin-left: 0.2rem;
  }
  .3xl-mx-25 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }

  .3xl-my-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .3xl-my-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .3xl-my-5 {
    margin-top: 0.05rem;
    margin-bottom: 0.05rem;
  }
  .3xl-my-10 {
    margin-top: 0.1rem;
    margin-bottom: 0.1rem;
  }
  .3xl-my-15 {
    margin-top: 0.15rem;
    margin-bottom: 0.15rem;
  }
  .3xl-my-20 {
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
  }
  .3xl-my-25 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }

  .3xl-mt-auto {
    margin-top: auto;
  }
  .3xl-mt-0 {
    margin-top: 0;
  }
  .3xl-mt-5 {
    margin-top: 0.05rem;
  }
  .3xl-mt-10 {
    margin-top: 0.1rem;
  }
  .3xl-mt-15 {
    margin-top: 0.15rem;
  }
  .3xl-mt-20 {
    margin-top: 0.2rem;
  }
  .3xl-mt-25 {
    margin-top: 0.25rem;
  }

  .3xl-mb-auto {
    margin-bottom: auto;
  }
  .3xl-mb-0 {
    margin-bottom: 0;
  }
  .3xl-mb-5 {
    margin-bottom: 0.05rem;
  }
  .3xl-mb-10 {
    margin-bottom: 0.1rem;
  }
  .3xl-mb-15 {
    margin-bottom: 0.15rem;
  }
  .3xl-mb-20 {
    margin-bottom: 0.2rem;
  }
  .3xl-mb-25 {
    margin-bottom: 0.25rem;
  }

  .3xl-mr-auto {
    margin-right: auto;
  }
  .3xl-mr-0 {
    margin-right: 0;
  }
  .3xl-mr-5 {
    margin-right: 0.05rem;
  }
  .3xl-mr-10 {
    margin-right: 0.1rem;
  }
  .3xl-mr-15 {
    margin-right: 0.15rem;
  }
  .3xl-mr-20 {
    margin-right: 0.2rem;
  }
  .3xl-mr-25 {
    margin-right: 0.25rem;
  }

  .3xl-ml-auto {
    margin-left: auto;
  }
  .3xl-ml-0 {
    margin-left: 0;
  }
  .3xl-ml-5 {
    margin-left: 0.05rem;
  }
  .3xl-ml-10 {
    margin-left: 0.1rem;
  }
  .3xl-ml-15 {
    margin-left: 0.15rem;
  }
  .3xl-ml-20 {
    margin-left: 0.2rem;
  }
  .3xl-ml-25 {
    margin-left: 0.25rem;
  }

  .3xl-p-0 {
    padding: 0;
  }
  .3xl-p-5 {
    padding: 0.05rem;
  }
  .3xl-p-10 {
    padding: 0.1rem;
  }
  .3xl-p-15 {
    padding: 0.15rem;
  }
  .3xl-p-20 {
    padding: 0.2rem;
  }
  .3xl-p-25 {
    padding: 0.25rem;
  }

  .3xl-px-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .3xl-px-5 {
    padding-right: 0.05rem;
    padding-left: 0.05rem;
  }
  .3xl-px-10 {
    padding-right: 0.1rem;
    padding-left: 0.1rem;
  }
  .3xl-px-15 {
    padding-right: 0.15rem;
    padding-left: 0.15rem;
  }
  .3xl-px-20 {
    padding-right: 0.2rem;
    padding-left: 0.2rem;
  }
  .3xl-px-25 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }

  .3xl-py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .3xl-py-5 {
    padding-top: 0.05rem;
    padding-bottom: 0.05rem;
  }
  .3xl-py-10 {
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
  }
  .3xl-py-15 {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
  }
  .3xl-py-20 {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }
  .3xl-py-25 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .3xl-pt-0 {
    padding-top: 0;
  }
  .3xl-pt-5 {
    padding-top: 0.05rem;
  }
  .3xl-pt-10 {
    padding-top: 0.1rem;
  }
  .3xl-pt-15 {
    padding-top: 0.15rem;
  }
  .3xl-pt-20 {
    padding-top: 0.2rem;
  }
  .3xl-pt-25 {
    padding-top: 0.25rem;
  }

  .3xl-pb-0 {
    padding-bottom: 0;
  }
  .3xl-pb-5 {
    padding-bottom: 0.05rem;
  }
  .3xl-pb-10 {
    padding-bottom: 0.1rem;
  }
  .3xl-pb-15 {
    padding-bottom: 0.15rem;
  }
  .3xl-pb-20 {
    padding-bottom: 0.2rem;
  }
  .3xl-pb-25 {
    padding-bottom: 0.25rem;
  }

  .3xl-pr-0 {
    padding-right: 0;
  }
  .3xl-pr-5 {
    padding-right: 0.05rem;
  }
  .3xl-pr-10 {
    padding-right: 0.1rem;
  }
  .3xl-pr-15 {
    padding-right: 0.15rem;
  }
  .3xl-pr-20 {
    padding-right: 0.2rem;
  }
  .3xl-pr-25 {
    padding-right: 0.25rem;
  }

  .3xl-pl-0 {
    padding-left: 0;
  }
  .3xl-pl-5 {
    padding-left: 0.05rem;
  }
  .3xl-pl-10 {
    padding-left: 0.1rem;
  }
  .3xl-pl-15 {
    padding-left: 0.15rem;
  }
  .3xl-pl-20 {
    padding-left: 0.2rem;
  }
  .3xl-pl-25 {
    padding-left: 0.25rem;
  }
}


/*flex*/
.flex-1 {
  flex: 1 1 auto;
}
.flex-0 {
  flex: 0 0 auto;
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}

/* 整个容器横向对齐 */
.justify-content-start {
  justify-content: flex-start;
}
.justify-content-end {
  justify-content: flex-end;
}
.justify-content-center {
  justify-content: center;
}
.justify-content-between {
  justify-content: space-between;
}
.justify-content-around {
  justify-content: space-around;
}
.justify-content-evenly {
  justify-content: space-evenly;
}

/* 容器中所有项目纵向对齐 */
.justify-items-start {
  justify-items: flex-start;
}
.justify-items-end {
  justify-items: flex-end;
}
.justify-items-center {
  justify-items: center;
}
.justify-items-stretch {
  justify-items: stretch;
}

/*单个项目自己对齐*/
.justify-self-start {
  justify-self: flex-start;
}
.justify-self-end {
  justify-self: flex-end;
}
.justify-self-center {
  justify-self: center;
}
.justify-self-stretch {
  justify-self: stretch;
}

/*整个容器纵向对齐*/
.align-content-start {
  align-content: flex-start;
}
.align-content-end {
  align-content: flex-end;
}
.align-content-center {
  align-content: center;
}
.align-content-between {
  align-content: space-between;
}
.align-content-around {
  align-content: space-around;
}
.align-content-stretch {
  align-content: stretch;
}

/* 容器中所有项目纵向对齐 */
.align-items-start {
  align-items: flex-start;
}
.align-items-end {
  align-items: flex-end;
}
.align-items-center {
  align-items: center;
}
.align-items-baseline {
  align-items: baseline;
}
.align-items-stretch {
  align-items: stretch;
}

/*单个项目自己对齐*/
.align-self-auto {
  align-self: auto;
}
.align-self-start {
  align-self: flex-start;
}
.align-self-end {
  align-self: flex-end;
}
.align-self-center {
  align-self: center;
}
.align-self-baseline {
  align-self: baseline;
}
.align-self-stretch {
  align-self: stretch;
}

/*place-content:align-content-property-value justify-content-property-value*/
.place-content-start {
  place-content: flex-start;
}
.place-content-end {
  place-content: flex-end;
}
.place-content-center {
  place-content: center;
}

/*place-items:align-items-property-value justify-items-property-value*/
.place-items-start {
  place-items: flex-start;
}
.place-items-end {
  place-items: flex-end;
}
.place-items-center {
  place-items: center;
}

/*place-self:align-self-property-value justify-self-property-value*/
.place-self-start {
  place-self: flex-start;
}
.place-self-end {
  place-self: flex-end;
}
.place-self-center {
  place-self: center;
}
@media (min-width: 375px) {
  .xs-flex-1 {
    flex: 1 1 auto;
  }
  .xs-flex-0 {
    flex: 0 0 auto;
  }
  .xs-flex-row {
    flex-direction: row;
  }
  .xs-flex-col {
    flex-direction: column;
  }
  .xs-flex-row-reverse {
    flex-direction: row-reverse;
  }
  .xs-flex-col-reverse {
    flex-direction: column-reverse;
  }
  .xs-flex-wrap {
    flex-wrap: wrap;
  }
  .xs-flex-nowrap {
    flex-wrap: nowrap;
  }

  .xs-justify-content-start {
    justify-content: flex-start;
  }
  .xs-justify-content-end {
    justify-content: flex-end;
  }
  .xs-justify-content-center {
    justify-content: center;
  }
  .xs-justify-content-between {
    justify-content: space-between;
  }
  .xs-justify-content-around {
    justify-content: space-around;
  }
  .xs-justify-content-evenly {
    justify-content: space-evenly;
  }

  .xs-justify-items-start {
    justify-items: flex-start;
  }
  .xs-justify-items-end {
    justify-items: flex-end;
  }
  .xs-justify-items-center {
    justify-items: center;
  }
  .xs-justify-items-stretch {
    justify-items: stretch;
  }

  .xs-justify-self-start {
    justify-self: flex-start;
  }
  .xs-justify-self-end {
    justify-self: flex-end;
  }
  .xs-justify-self-center {
    justify-self: center;
  }
  .xs-justify-self-stretch {
    justify-self: stretch;
  }

  .xs-align-content-start {
    align-content: flex-start;
  }
  .xs-align-content-end {
    align-content: flex-end;
  }
  .xs-align-content-center {
    align-content: center;
  }
  .xs-align-content-between {
    align-content: space-between;
  }
  .xs-align-content-around {
    align-content: space-around;
  }
  .xs-align-content-stretch {
    align-content: stretch;
  }

  .xs-align-items-start {
    align-items: flex-start;
  }
  .xs-align-items-end {
    align-items: flex-end;
  }
  .xs-align-items-center {
    align-items: center;
  }
  .xs-align-items-baseline {
    align-items: baseline;
  }
  .xs-align-items-stretch {
    align-items: stretch;
  }

  .xs-align-self-auto {
    align-self: auto;
  }
  .xs-align-self-start {
    align-self: flex-start;
  }
  .xs-align-self-end {
    align-self: flex-end;
  }
  .xs-align-self-center {
    align-self: center;
  }
  .xs-align-self-baseline {
    align-self: baseline;
  }
  .xs-align-self-stretch {
    align-self: stretch;
  }

  .xs-place-content-start {
    place-content: flex-start;
  }
  .xs-place-content-end {
    place-content: flex-end;
  }
  .xs-place-content-center {
    place-content: center;
  }

  .xs-place-items-start {
    place-items: flex-start;
  }
  .xs-place-items-end {
    place-items: flex-end;
  }
  .xs-place-items-center {
    place-items: center;
  }

  .xs-place-self-start {
    place-self: flex-start;
  }
  .xs-place-self-end {
    place-self: flex-end;
  }
  .xs-place-self-center {
    place-self: center;
  }
}
@media (min-width: 480px) {
  .sm-flex-1 {
    flex: 1 1 auto;
  }
  .sm-flex-0 {
    flex: 0 0 auto;
  }
  .sm-flex-row {
    flex-direction: row;
  }
  .sm-flex-col {
    flex-direction: column;
  }
  .sm-flex-row-reverse {
    flex-direction: row-reverse;
  }
  .sm-flex-col-reverse {
    flex-direction: column-reverse;
  }
  .sm-flex-wrap {
    flex-wrap: wrap;
  }
  .sm-flex-nowrap {
    flex-wrap: nowrap;
  }

  .sm-justify-content-start {
    justify-content: flex-start;
  }
  .sm-justify-content-end {
    justify-content: flex-end;
  }
  .sm-justify-content-center {
    justify-content: center;
  }
  .sm-justify-content-between {
    justify-content: space-between;
  }
  .sm-justify-content-around {
    justify-content: space-around;
  }
  .sm-justify-content-evenly {
    justify-content: space-evenly;
  }

  .sm-justify-items-start {
    justify-items: flex-start;
  }
  .sm-justify-items-end {
    justify-items: flex-end;
  }
  .sm-justify-items-center {
    justify-items: center;
  }
  .sm-justify-items-stretch {
    justify-items: stretch;
  }

  .sm-justify-self-start {
    justify-self: flex-start;
  }
  .sm-justify-self-end {
    justify-self: flex-end;
  }
  .sm-justify-self-center {
    justify-self: center;
  }
  .sm-justify-self-stretch {
    justify-self: stretch;
  }

  .sm-align-content-start {
    align-content: flex-start;
  }
  .sm-align-content-end {
    align-content: flex-end;
  }
  .sm-align-content-center {
    align-content: center;
  }
  .sm-align-content-between {
    align-content: space-between;
  }
  .sm-align-content-around {
    align-content: space-around;
  }
  .sm-align-content-stretch {
    align-content: stretch;
  }

  .sm-align-items-start {
    align-items: flex-start;
  }
  .sm-align-items-end {
    align-items: flex-end;
  }
  .sm-align-items-center {
    align-items: center;
  }
  .sm-align-items-baseline {
    align-items: baseline;
  }
  .sm-align-items-stretch {
    align-items: stretch;
  }

  .sm-align-self-auto {
    align-self: auto;
  }
  .sm-align-self-start {
    align-self: flex-start;
  }
  .sm-align-self-end {
    align-self: flex-end;
  }
  .sm-align-self-center {
    align-self: center;
  }
  .sm-align-self-baseline {
    align-self: baseline;
  }
  .sm-align-self-stretch {
    align-self: stretch;
  }

  .sm-place-content-start {
    place-content: flex-start;
  }
  .sm-place-content-end {
    place-content: flex-end;
  }
  .sm-place-content-center {
    place-content: center;
  }

  .sm-place-items-start {
    place-items: flex-start;
  }
  .sm-place-items-end {
    place-items: flex-end;
  }
  .sm-place-items-center {
    place-items: center;
  }

  .sm-place-self-start {
    place-self: flex-start;
  }
  .sm-place-self-end {
    place-self: flex-end;
  }
  .sm-place-self-center {
    place-self: center;
  }
}
@media (min-width: 768px) {
  .md-flex-1 {
    flex: 1 1 auto;
  }
  .md-flex-0 {
    flex: 0 0 auto;
  }
  .md-flex-row {
    flex-direction: row;
  }
  .md-flex-col {
    flex-direction: column;
  }
  .md-flex-row-reverse {
    flex-direction: row-reverse;
  }
  .md-flex-col-reverse {
    flex-direction: column-reverse;
  }
  .md-flex-wrap {
    flex-wrap: wrap;
  }
  .md-flex-nowrap {
    flex-wrap: nowrap;
  }

  .md-justify-content-start {
    justify-content: flex-start;
  }
  .md-justify-content-end {
    justify-content: flex-end;
  }
  .md-justify-content-center {
    justify-content: center;
  }
  .md-justify-content-between {
    justify-content: space-between;
  }
  .md-justify-content-around {
    justify-content: space-around;
  }
  .md-justify-content-evenly {
    justify-content: space-evenly;
  }

  .md-justify-items-start {
    justify-items: flex-start;
  }
  .md-justify-items-end {
    justify-items: flex-end;
  }
  .md-justify-items-center {
    justify-items: center;
  }
  .md-justify-items-stretch {
    justify-items: stretch;
  }

  .md-justify-self-start {
    justify-self: flex-start;
  }
  .md-justify-self-end {
    justify-self: flex-end;
  }
  .md-justify-self-center {
    justify-self: center;
  }
  .md-justify-self-stretch {
    justify-self: stretch;
  }

  .md-align-content-start {
    align-content: flex-start;
  }
  .md-align-content-end {
    align-content: flex-end;
  }
  .md-align-content-center {
    align-content: center;
  }
  .md-align-content-between {
    align-content: space-between;
  }
  .md-align-content-around {
    align-content: space-around;
  }
  .md-align-content-stretch {
    align-content: stretch;
  }

  .md-align-items-start {
    align-items: flex-start;
  }
  .md-align-items-end {
    align-items: flex-end;
  }
  .md-align-items-center {
    align-items: center;
  }
  .md-align-items-baseline {
    align-items: baseline;
  }
  .md-align-items-stretch {
    align-items: stretch;
  }

  .md-align-self-auto {
    align-self: auto;
  }
  .md-align-self-start {
    align-self: flex-start;
  }
  .md-align-self-end {
    align-self: flex-end;
  }
  .md-align-self-center {
    align-self: center;
  }
  .md-align-self-baseline {
    align-self: baseline;
  }
  .md-align-self-stretch {
    align-self: stretch;
  }

  .md-place-content-start {
    place-content: flex-start;
  }
  .md-place-content-end {
    place-content: flex-end;
  }
  .md-place-content-center {
    place-content: center;
  }

  .md-place-items-start {
    place-items: flex-start;
  }
  .md-place-items-end {
    place-items: flex-end;
  }
  .md-place-items-center {
    place-items: center;
  }

  .md-place-self-start {
    place-self: flex-start;
  }
  .md-place-self-end {
    place-self: flex-end;
  }
  .md-place-self-center {
    place-self: center;
  }
}
@media (min-width: 1024px) {
  .lg-flex-1 {
    flex: 1 1 auto;
  }
  .lg-flex-0 {
    flex: 0 0 auto;
  }
  .lg-flex-row {
    flex-direction: row;
  }
  .lg-flex-col {
    flex-direction: column;
  }
  .lg-flex-row-reverse {
    flex-direction: row-reverse;
  }
  .lg-flex-col-reverse {
    flex-direction: column-reverse;
  }
  .lg-flex-wrap {
    flex-wrap: wrap;
  }
  .lg-flex-nowrap {
    flex-wrap: nowrap;
  }

  .lg-justify-content-start {
    justify-content: flex-start;
  }
  .lg-justify-content-end {
    justify-content: flex-end;
  }
  .lg-justify-content-center {
    justify-content: center;
  }
  .lg-justify-content-between {
    justify-content: space-between;
  }
  .lg-justify-content-around {
    justify-content: space-around;
  }
  .lg-justify-content-evenly {
    justify-content: space-evenly;
  }

  .lg-justify-items-start {
    justify-items: flex-start;
  }
  .lg-justify-items-end {
    justify-items: flex-end;
  }
  .lg-justify-items-center {
    justify-items: center;
  }
  .lg-justify-items-stretch {
    justify-items: stretch;
  }

  .lg-justify-self-start {
    justify-self: flex-start;
  }
  .lg-justify-self-end {
    justify-self: flex-end;
  }
  .lg-justify-self-center {
    justify-self: center;
  }
  .lg-justify-self-stretch {
    justify-self: stretch;
  }

  .lg-align-content-start {
    align-content: flex-start;
  }
  .lg-align-content-end {
    align-content: flex-end;
  }
  .lg-align-content-center {
    align-content: center;
  }
  .lg-align-content-between {
    align-content: space-between;
  }
  .lg-align-content-around {
    align-content: space-around;
  }
  .lg-align-content-stretch {
    align-content: stretch;
  }

  .lg-align-items-start {
    align-items: flex-start;
  }
  .lg-align-items-end {
    align-items: flex-end;
  }
  .lg-align-items-center {
    align-items: center;
  }
  .lg-align-items-baseline {
    align-items: baseline;
  }
  .lg-align-items-stretch {
    align-items: stretch;
  }

  .lg-align-self-auto {
    align-self: auto;
  }
  .lg-align-self-start {
    align-self: flex-start;
  }
  .lg-align-self-end {
    align-self: flex-end;
  }
  .lg-align-self-center {
    align-self: center;
  }
  .lg-align-self-baseline {
    align-self: baseline;
  }
  .lg-align-self-stretch {
    align-self: stretch;
  }

  .lg-place-content-start {
    place-content: flex-start;
  }
  .lg-place-content-end {
    place-content: flex-end;
  }
  .lg-place-content-center {
    place-content: center;
  }

  .lg-place-items-start {
    place-items: flex-start;
  }
  .lg-place-items-end {
    place-items: flex-end;
  }
  .lg-place-items-center {
    place-items: center;
  }

  .lg-place-self-start {
    place-self: flex-start;
  }
  .lg-place-self-end {
    place-self: flex-end;
  }
  .lg-place-self-center {
    place-self: center;
  }
}
@media (min-width: 1280px) {
  .xl-flex-1 {
    flex: 1 1 auto;
  }
  .xl-flex-0 {
    flex: 0 0 auto;
  }
  .xl-flex-row {
    flex-direction: row;
  }
  .xl-flex-col {
    flex-direction: column;
  }
  .xl-flex-row-reverse {
    flex-direction: row-reverse;
  }
  .xl-flex-col-reverse {
    flex-direction: column-reverse;
  }
  .xl-flex-wrap {
    flex-wrap: wrap;
  }
  .xl-flex-nowrap {
    flex-wrap: nowrap;
  }

  .xl-justify-content-start {
    justify-content: flex-start;
  }
  .xl-justify-content-end {
    justify-content: flex-end;
  }
  .xl-justify-content-center {
    justify-content: center;
  }
  .xl-justify-content-between {
    justify-content: space-between;
  }
  .xl-justify-content-around {
    justify-content: space-around;
  }
  .xl-justify-content-evenly {
    justify-content: space-evenly;
  }

  .xl-justify-items-start {
    justify-items: flex-start;
  }
  .xl-justify-items-end {
    justify-items: flex-end;
  }
  .xl-justify-items-center {
    justify-items: center;
  }
  .xl-justify-items-stretch {
    justify-items: stretch;
  }

  .xl-justify-self-start {
    justify-self: flex-start;
  }
  .xl-justify-self-end {
    justify-self: flex-end;
  }
  .xl-justify-self-center {
    justify-self: center;
  }
  .xl-justify-self-stretch {
    justify-self: stretch;
  }

  .xl-align-content-start {
    align-content: flex-start;
  }
  .xl-align-content-end {
    align-content: flex-end;
  }
  .xl-align-content-center {
    align-content: center;
  }
  .xl-align-content-between {
    align-content: space-between;
  }
  .xl-align-content-around {
    align-content: space-around;
  }
  .xl-align-content-stretch {
    align-content: stretch;
  }

  .xl-align-items-start {
    align-items: flex-start;
  }
  .xl-align-items-end {
    align-items: flex-end;
  }
  .xl-align-items-center {
    align-items: center;
  }
  .xl-align-items-baseline {
    align-items: baseline;
  }
  .xl-align-items-stretch {
    align-items: stretch;
  }

  .xl-align-self-auto {
    align-self: auto;
  }
  .xl-align-self-start {
    align-self: flex-start;
  }
  .xl-align-self-end {
    align-self: flex-end;
  }
  .xl-align-self-center {
    align-self: center;
  }
  .xl-align-self-baseline {
    align-self: baseline;
  }
  .xl-align-self-stretch {
    align-self: stretch;
  }

  .xl-place-content-start {
    place-content: flex-start;
  }
  .xl-place-content-end {
    place-content: flex-end;
  }
  .xl-place-content-center {
    place-content: center;
  }

  .xl-place-items-start {
    place-items: flex-start;
  }
  .xl-place-items-end {
    place-items: flex-end;
  }
  .xl-place-items-center {
    place-items: center;
  }

  .xl-place-self-start {
    place-self: flex-start;
  }
  .xl-place-self-end {
    place-self: flex-end;
  }
  .xl-place-self-center {
    place-self: center;
  }
}
@media (min-width: 1400px) {
  .2xl-flex-1 {
    flex: 1 1 auto;
  }
  .2xl-flex-0 {
    flex: 0 0 auto;
  }
  .2xl-flex-row {
    flex-direction: row;
  }
  .2xl-flex-col {
    flex-direction: column;
  }
  .2xl-flex-row-reverse {
    flex-direction: row-reverse;
  }
  .2xl-flex-col-reverse {
    flex-direction: column-reverse;
  }
  .2xl-flex-wrap {
    flex-wrap: wrap;
  }
  .2xl-flex-nowrap {
    flex-wrap: nowrap;
  }

  .2xl-justify-content-start {
    justify-content: flex-start;
  }
  .2xl-justify-content-end {
    justify-content: flex-end;
  }
  .2xl-justify-content-center {
    justify-content: center;
  }
  .2xl-justify-content-between {
    justify-content: space-between;
  }
  .2xl-justify-content-around {
    justify-content: space-around;
  }
  .2xl-justify-content-evenly {
    justify-content: space-evenly;
  }

  .2xl-justify-items-start {
    justify-items: flex-start;
  }
  .2xl-justify-items-end {
    justify-items: flex-end;
  }
  .2xl-justify-items-center {
    justify-items: center;
  }
  .2xl-justify-items-stretch {
    justify-items: stretch;
  }

  .2xl-justify-self-start {
    justify-self: flex-start;
  }
  .2xl-justify-self-end {
    justify-self: flex-end;
  }
  .2xl-justify-self-center {
    justify-self: center;
  }
  .2xl-justify-self-stretch {
    justify-self: stretch;
  }

  .2xl-align-content-start {
    align-content: flex-start;
  }
  .2xl-align-content-end {
    align-content: flex-end;
  }
  .2xl-align-content-center {
    align-content: center;
  }
  .2xl-align-content-between {
    align-content: space-between;
  }
  .2xl-align-content-around {
    align-content: space-around;
  }
  .2xl-align-content-stretch {
    align-content: stretch;
  }

  .2xl-align-items-start {
    align-items: flex-start;
  }
  .2xl-align-items-end {
    align-items: flex-end;
  }
  .2xl-align-items-center {
    align-items: center;
  }
  .2xl-align-items-baseline {
    align-items: baseline;
  }
  .2xl-align-items-stretch {
    align-items: stretch;
  }

  .2xl-align-self-auto {
    align-self: auto;
  }
  .2xl-align-self-start {
    align-self: flex-start;
  }
  .2xl-align-self-end {
    align-self: flex-end;
  }
  .2xl-align-self-center {
    align-self: center;
  }
  .2xl-align-self-baseline {
    align-self: baseline;
  }
  .2xl-align-self-stretch {
    align-self: stretch;
  }

  .2xl-place-content-start {
    place-content: flex-start;
  }
  .2xl-place-content-end {
    place-content: flex-end;
  }
  .2xl-place-content-center {
    place-content: center;
  }

  .2xl-place-items-start {
    place-items: flex-start;
  }
  .2xl-place-items-end {
    place-items: flex-end;
  }
  .2xl-place-items-center {
    place-items: center;
  }

  .2xl-place-self-start {
    place-self: flex-start;
  }
  .2xl-place-self-end {
    place-self: flex-end;
  }
  .2xl-place-self-center {
    place-self: center;
  }
}
@media (min-width: 1600px) {
  .3xl-flex-1 {
    flex: 1 1 auto;
  }
  .3xl-flex-0 {
    flex: 0 0 auto;
  }
  .3xl-flex-row {
    flex-direction: row;
  }
  .3xl-flex-col {
    flex-direction: column;
  }
  .3xl-flex-row-reverse {
    flex-direction: row-reverse;
  }
  .3xl-flex-col-reverse {
    flex-direction: column-reverse;
  }
  .3xl-flex-wrap {
    flex-wrap: wrap;
  }
  .3xl-flex-nowrap {
    flex-wrap: nowrap;
  }

  .3xl-justify-content-start {
    justify-content: flex-start;
  }
  .3xl-justify-content-end {
    justify-content: flex-end;
  }
  .3xl-justify-content-center {
    justify-content: center;
  }
  .3xl-justify-content-between {
    justify-content: space-between;
  }
  .3xl-justify-content-around {
    justify-content: space-around;
  }
  .3xl-justify-content-evenly {
    justify-content: space-evenly;
  }

  .3xl-justify-items-start {
    justify-items: flex-start;
  }
  .3xl-justify-items-end {
    justify-items: flex-end;
  }
  .3xl-justify-items-center {
    justify-items: center;
  }
  .3xl-justify-items-stretch {
    justify-items: stretch;
  }

  .3xl-justify-self-start {
    justify-self: flex-start;
  }
  .3xl-justify-self-end {
    justify-self: flex-end;
  }
  .3xl-justify-self-center {
    justify-self: center;
  }
  .3xl-justify-self-stretch {
    justify-self: stretch;
  }

  .3xl-align-content-start {
    align-content: flex-start;
  }
  .3xl-align-content-end {
    align-content: flex-end;
  }
  .3xl-align-content-center {
    align-content: center;
  }
  .3xl-align-content-between {
    align-content: space-between;
  }
  .3xl-align-content-around {
    align-content: space-around;
  }
  .3xl-align-content-stretch {
    align-content: stretch;
  }

  .3xl-align-items-start {
    align-items: flex-start;
  }
  .3xl-align-items-end {
    align-items: flex-end;
  }
  .3xl-align-items-center {
    align-items: center;
  }
  .3xl-align-items-baseline {
    align-items: baseline;
  }
  .3xl-align-items-stretch {
    align-items: stretch;
  }

  .3xl-align-self-auto {
    align-self: auto;
  }
  .3xl-align-self-start {
    align-self: flex-start;
  }
  .3xl-align-self-end {
    align-self: flex-end;
  }
  .3xl-align-self-center {
    align-self: center;
  }
  .3xl-align-self-baseline {
    align-self: baseline;
  }
  .3xl-align-self-stretch {
    align-self: stretch;
  }

  .3xl-place-content-start {
    place-content: flex-start;
  }
  .3xl-place-content-end {
    place-content: flex-end;
  }
  .3xl-place-content-center {
    place-content: center;
  }

  .3xl-place-items-start {
    place-items: flex-start;
  }
  .3xl-place-items-end {
    place-items: flex-end;
  }
  .3xl-place-items-center {
    place-items: center;
  }

  .3xl-place-self-start {
    place-self: flex-start;
  }
  .3xl-place-self-end {
    place-self: flex-end;
  }
  .3xl-place-self-center {
    place-self: center;
  }
}



/*position*/
.position-unset {
  position: unset;
}
.position-relative {
  position: relative;
}
.position-absolute {
  position: absolute;
}
.position-fixed {
  position: fixed;
}
@media (min-width: 375px) {
  .xs-position-unset {
    position: unset;
  }
  .xs-position-relative {
    position: relative;
  }
  .xs-position-absolute {
    position: absolute;
  }
  .xs-position-fixed {
    position: fixed;
  }
}
@media (min-width: 480px) {
  .sm-position-unset {
    position: unset;
  }
  .sm-position-relative {
    position: relative;
  }
  .sm-position-absolute {
    position: absolute;
  }
  .sm-position-fixed {
    position: fixed;
  }
}
@media (min-width: 768px) {
  .md-position-unset {
    position: unset;
  }
  .md-position-relative {
    position: relative;
  }
  .md-position-absolute {
    position: absolute;
  }
  .md-position-fixed {
    position: fixed;
  }
}
@media (min-width: 1024px) {
  .lg-position-unset {
    position: unset;
  }
  .lg-position-relative {
    position: relative;
  }
  .lg-position-absolute {
    position: absolute;
  }
  .lg-position-fixed {
    position: fixed;
  }
}
@media (min-width: 1280px) {
  .xl-position-unset {
    position: unset;
  }
  .xl-position-relative {
    position: relative;
  }
  .xl-position-absolute {
    position: absolute;
  }
  .xl-position-fixed {
    position: fixed;
  }
}
@media (min-width: 1400px) {
  .2xl-position-unset {
    position: unset;
  }
  .2xl-position-relative {
    position: relative;
  }
  .2xl-position-absolute {
    position: absolute;
  }
  .2xl-position-fixed {
    position: fixed;
  }
}
@media (min-width: 1600px) {
  .3xl-position-unset {
    position: unset;
  }
  .3xl-position-relative {
    position: relative;
  }
  .3xl-position-absolute {
    position: absolute;
  }
  .3xl-position-fixed {
    position: fixed;
  }
}
/*
sticky[app开发中下滑粘住上面] 使用条件
1.父元素不能overflow:hidden或者overflow:auto属性。
2.必须指定top、bottom、left、right4个值之一，否则只会处于相对定位
3.父元素的高度不能低于sticky元素的高度
4、sticky元素仅在其父元素内生效
*/
.position-sticky {
  position: -webkit-sticky;
  position: sticky;
}
.position-fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}
.position-fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}
.position-sticky-top {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1020;
}
.position-sticky-bottom {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

.top-0 {
  top: 0;
}

.top-50 {
  top: 50%;
}

.top-100 {
  top: 100%;
}

.bottom-0 {
  bottom: 0;
}

.bottom-50 {
  bottom: 50%;
}

.bottom-100 {
  bottom: 100%;
}

.left-0 {
  left: 0;
}

.left-50 {
  left: 50%;
}

.left-100 {
  left: 100%;
}

.right-0 {
  right: 0;
}

.right-50 {
  right: 50%;
}

.right-100 {
  right: 100%;
}

.z-0{
  z-index: 0;
}
.z-1{
  z-index: 1;
}
.z-2{
  z-index: 2;
}
.z-3{
  z-index: 3;
}
.z-4{
  z-index: 4;
}
.z-5{
  z-index: 5;
}
.z-10{
  z-index: 10;
}
.z-50{
  z-index: 50;
}
.z-100{
  z-index: 100;
}



/* 字体 */
/*
  pc基准/mobile基准
  40/26  超大标题/金额/时间
  32/22  大标题
  26/22  大标题
  24/18  列表标题
  22/18  列表标题
  20/16  分组标题
  18/16  分组标题
  16/14  正文/描述
  14/14  正文/描述
  12/12  说明/不需要关注/辅助/链接/小按钮
*/
.fs-48 {
  font-size: 0.58rem;
}
.fs-42 {
  font-size: 0.56rem;
}
.fs-40 {
  font-size: 0.52rem;
}
.fs-36 {
  font-size: 0.48rem;
}
.fs-32 {
  font-size: 0.44rem;
}
.fs-28 {
  font-size: 0.44rem;
}
.fs-26 {
  font-size: 0.44rem;
}
.fs-24 {
  font-size: 0.48rem;
}
.fs-22 {
  font-size: 0.36rem;
}
.fs-20 {
  font-size: 0.32rem;
}
.fs-18 {
  font-size: 0.32rem;
}
.fs-16 {
  font-size: 0.28rem;
}
.fs-14 {
  font-size: 0.28rem;
}
.fs-12 {
  font-size: 0.24rem;
}
@media (min-width: 375px) {
    
}
@media (min-width: 480px) {
    
}
@media (min-width: 768px) {
  /* 超大标题/金额/时间 */
  .fs-48 {
    font-size: 0.48rem;
  }
  .fs-42 {
    font-size: 0.42rem;
  }
  .fs-40 {
    font-size: 0.40rem;
  }
  /* 大标题 */
  .fs-36 {
    font-size: 0.36rem;
  }
  .fs-32 {
    font-size: 0.32rem;
  }
  .fs-28 {
    font-size: 0.28rem;
  }
  .fs-26 {
    font-size: 0.26rem;
  }
  /* 列表标题 */
  .fs-24 {
    font-size: 0.24rem;
  }
  .fs-22 {
    font-size: 0.22rem;
  }
  /* 分组标题 */
  .fs-20 {
    font-size: 0.20rem;
  }
  .fs-18 {
    font-size: 0.18rem;
  }
  .fs-16 {
    font-size: 16px;
  }
  .fs-14 {
    font-size: 14px;
  }
  .fs-12 {
    font-size: 12px;
  }
  /* 正文/描述 */
  /*.fs-16 {
    font-size: 0.16rem;
  }
  .fs-14 {
    font-size: 0.14rem;
  }*/
  /* 说明/不需要关注/辅助/链接/小按钮 */
  /*.fs-12 {
    font-size: 0.12rem;
  }*/
}
@media (min-width: 1024px) {
    
}
@media (min-width: 1280px) {
    
}
@media (min-width: 1400px) {
    
}
@media (min-width: 1600px) {
    
}

.text-color-white{
  color:#ffffff;
}
.text-color-title{
  color:var(--bs-light-title);
}
.text-color-content{
  color:var(--bs-light-content);
}
.text-color-tip{
  color:var(--bs-light-tip);
}
.text-color-color1{
  color:var(--color1);
}
.text-color-color2{
  color:var(--color2);
}
.text-color-dark-title{
  color:var(--bs-dark-title);
}
.text-color-dark-content{
  color:var(--bs-dark-content);
}
.text-color-dark-tip{
  color:var(--bs-dark-tip);
}

/* 这个数字用的 */
.fa-fantasy{
  font-family: fantasy;
}

/* 字符样式 */
.font-style-italic {
  font-style: italic;
}

.font-style-normal {
  font-style: normal;
}

/* 字体粗细 */
.fw-lighter {
  font-weight: lighter;
}
.fw-normal {
  font-weight: normal;
}
.fw-bold {
  font-weight: bold;
}
.fw-bolder {
  font-weight: bolder;
}

/* 字体下划线或者中间线 */
.decoration-none {
  text-decoration: none;
}
/*下划线*/
.underline {
  text-decoration: underline;
}
/*中间线*/
.line-through {
  text-decoration: line-through;
}

/* 字母大小写 */
/*全小写*/
.lowercase {
  text-transform: lowercase;
}
/*全大写*/
.uppercase {
  text-transform: uppercase;
}
/*首字母*/
.ucfirst {
  text-transform: capitalize;
}

/* 字符换行 */
.text-wrap {
  white-space: normal;
}

.text-nowrap {
  white-space: nowrap;
}

/* 单词允许换行 */
.text-break {
  word-wrap: break-word;
  word-break: break-word;
}

/* 字体对齐 */
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
@media (min-width: 375px) {
  .xs-text-left {
    text-align: left;
  }
  .xs-text-right {
    text-align: right;
  }
  .xs-text-center {
    text-align: center;
  }
}
@media (min-width: 480px) {
  .sm-text-left {
    text-align: left;
  }
  .sm-text-right {
    text-align: right;
  }
  .sm-text-center {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .md-text-left {
    text-align: left;
  }
  .md-text-right {
    text-align: right;
  }
  .md-text-center {
    text-align: center;
  }
}
@media (min-width: 1024px) {
  .lg-text-left {
    text-align: left;
  }
  .lg-text-right {
    text-align: right;
  }
  .lg-text-center {
    text-align: center;
  }
}
@media (min-width: 1280px) {
  .xl-text-left {
    text-align: left;
  }
  .xl-text-right {
    text-align: right;
  }
  .xl-text-center {
    text-align: center;
  }
}
@media (min-width: 1400px) {
  .2xl-text-left {
    text-align: left;
  }
  .2xl-text-right {
    text-align: right;
  }
  .2xl-text-center {
    text-align: center;
  }
}
@media (min-width: 1600px) {
  .3xl-text-left {
    text-align: left;
  }
  .3xl-text-right {
    text-align: right;
  }
  .3xl-text-center {
    text-align: center;
  }
}


/* 行高 */
.lh-1 {
  line-height: 1;
}
.lh-1\.5 {
  line-height: 1.5;
}
.lh-2 {
  line-height: 2;
}
.lh-2\.5 {
  line-height: 2.5;
}
.lh-3 {
  line-height: 3;
}
.lh-3\.5 {
  line-height: 3.5;
}

/*清除浮动*/
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

/*opacity*/
.opacity-0 {
  opacity: 0;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-100 {
  opacity: 1;
}

/*overflow*/
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-scroll {
  overflow: scroll;
}

/* 图片大小与位置 object-fit/object-position */
/* 裁剪等比缩放 */
.object-cover{
  object-fit:cover;
}
/* 展示所有等比缩放 */
.object-contain{
  object-fit:contain;
}
/* 原有尺寸不进行缩放也不进行拉伸 */
.object-none{
  object-fit: none;
}





























/* 下面这些用的少 */

/*shadow*/
.shadow {
  box-shadow: 0 1px 3px 0 rgba(var(--bs-shadow-color,0,0,0) , 0.075), 0 1px 2px -1px rgba(var(--bs-shadow-color,0,0,0) , 0.075);
}
.shadow-sm {
  box-shadow: 0 1px 2px 0 rgba(var(--bs-shadow-color,0,0,0) , 0.05);
}
.shadow-md{
  box-shadow: 0 4px 6px -1px rgba(var(--bs-shadow-color,0,0,0) , 0.075), 0 2px 4px -2px rgba(var(--bs-shadow-color,0,0,0) , 0.075);
}
.shadow-lg {
  box-shadow: 0 10px 15px -3px rgba(var(--bs-shadow-color,0,0,0) , 0.075), 0 4px 6px -4px rgba(var(--bs-shadow-color,0,0,0) , 0.075);
}
.shadow-xl{
  box-shadow: 0 20px 25px -5px rgba(var(--bs-shadow-color,0,0,0) , 0.075), 0 8px 10px -6px rgba(var(--bs-shadow-color,0,0,0) , 0.075);
}
.shadow-2xl{
  box-shadow: 0 25px 50px -12px rgba(var(--bs-shadow-color,0,0,0) , 0.25);
}
.shadow-inner{
  box-shadow: inset 0 2px 4px 0 rgba(var(--bs-shadow-color,0,0,0) , 0.05);
}
.shadow-none {
  box-shadow: 0 0 #0000;
}

.shadow-white{
  --bs-shadow-color:255,255,255;
}
.shadow-black{
  --bs-shadow-color:0,0,0;
}

/*align*/
.align-baseline {
  vertical-align: baseline;
}
.align-top {
  vertical-align: top;
}
.align-middle {
  vertical-align: middle;
}
.align-bottom {
  vertical-align: bottom;
}
.align-text-bottom {
  vertical-align: text-bottom;
}
.align-text-top {
  vertical-align: text-top;
}



/* border */
.border {
  border: 1px solid var(--bs-light-border);
}
.border-0 {
  border-width: 0px;
}
.border-1 {
  border-width: 1px;
}
.border-2 {
  border-width: 2px;
}
.border-3 {
  border-width: 3px;
}
.border-4 {
  border-width: 4px;
}
.border-5 {
  border-width: 5px;
}

.border-style-solid {
  border-style: solid;
}
.border-style-dashed {
  border-style: dashed;
}
.border-style-dotted {
  border-style: dotted;
}

.border-top {
  border-top: 1px solid var(--bs-light-border);
}
.border-top-0 {
  border-top: 0;
}
.border-right {
  border-right: 1px solid var(--bs-light-border);
}
.border-right-0 {
  border-right: 0;
}
.border-bottom {
  border-bottom: 1px solid var(--bs-light-border);
}
.border-bottom-0 {
  border-bottom: 0;
}
.border-left {
  border-left: 1px solid var(--bs-light-border);
}
.border-left-0 {
  border-left: 0;
}

.border-rd-5 {
  border-radius: 5px;
}
.border-rd-10 {
  border-radius: 10px;
}
.border-rd-15 {
  border-radius: 15px;
}
.border-rd-full {
  border-radius: calc(infinity * 1px);
}

.border-rd-t {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}
.border-rd-r {
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
}
.border-rd-b {
  border-bottom-right-radius: 15px;
  border-bottom-left-radius: 15px;
}
.border-rd-l {
  border-bottom-left-radius: 15px;
  border-top-left-radius: 15px;
}


/* background */
/* 背景颜色 */
.bg-color1{
  background-color: var(--color1);
}
.bg-color2{
  background-color: var(--color2);
}
.bg-white {
  background-color: var(--bs-light-bg-white);
}
.bg-gray {
  background-color: var(--bs-light-bg-gray);
}
.bg-dark-white {
  background-color: var(--bs-dark-bg-white);
}
.bg-dark-gray {
  background-color: var(--bs-dark-bg-gray);
}
.bg-transparent {
  background-color: transparent;
}
.bg-gradient {
  background-image: var(--bs-gradient);
}

/* 背景裁剪 */
.bg-clip-border{
  background-clip:border-box;
}
.bg-clip-padding{
  background-clip:padding-box;
}
.bg-clip-content{
  background-clip:content-box;
}

/* 背景重复 */
.bg-repeat{
  background-repeat: repeat;
}
.bg-no-repeat{
  background-repeat: no-repeat;
}
.bg-repeat-x{
  background-repeat: repeat-x;
}
.bg-repeat-y{
  background-repeat: repeat-y;
}

/* 背景尺寸 */
.bg-full{
  background-size: 100% 100%;
}
.bg-auto{
  background-size: auto;
}
.bg-contain{
  background-size: contain;
}
.bg-cover{
  background-size: cover;
}

/* 定位相对位置 */
.bg-origin-padding{
  background-origin: padding-box !important;
}
.bg-origin-border{
  background-origin: border-box !important;
}
.bg-origin-content{
  background-origin: content-box !important;
}

/* 固定背景图 */
.bg-attachment-fixed{
  background-attachment: fixed !important;
}

/* 定位 */
.bg-bottom {
  background-position: bottom;
}
.bg-center {
  background-position: center;
}
.bg-left {
  background-position: left;
}
.bg-left-bottom {
  background-position: left bottom;
}
.bg-left-top {
  background-position: left top;
}
.bg-right {
  background-position: right;
}
.bg-right-bottom {
  background-position: right bottom;
}
.bg-right-top {
  background-position: right top;
}
.bg-top {
  background-position: top;
}
@media (min-width: 375px) {
  .xs-bg-bottom {
    background-position: bottom;
  }

  .xs-bg-center {
    background-position: center;
  }

  .xs-bg-left {
    background-position: left;
  }

  .xs-bg-left-bottom {
    background-position: left bottom;
  }

  .xs-bg-left-top {
    background-position: left top;
  }

  .xs-bg-right {
    background-position: right;
  }

  .xs-bg-right-bottom {
    background-position: right bottom;
  }

  .xs-bg-right-top {
    background-position: right top;
  }

  .xs-bg-top {
    background-position: top;
  }
}
@media (min-width: 480px) {
  .sm-bg-bottom {
    background-position: bottom;
  }

  .sm-bg-center {
    background-position: center;
  }

  .sm-bg-left {
    background-position: left;
  }

  .sm-bg-left-bottom {
    background-position: left bottom;
  }

  .sm-bg-left-top {
    background-position: left top;
  }

  .sm-bg-right {
    background-position: right;
  }

  .sm-bg-right-bottom {
    background-position: right bottom;
  }

  .sm-bg-right-top {
    background-position: right top;
  }

  .sm-bg-top {
    background-position: top;
  }
}
@media (min-width: 768px) {
  .md-bg-bottom {
    background-position: bottom;
  }

  .md-bg-center {
    background-position: center;
  }

  .md-bg-left {
    background-position: left;
  }

  .md-bg-left-bottom {
    background-position: left bottom;
  }

  .md-bg-left-top {
    background-position: left top;
  }

  .md-bg-right {
    background-position: right;
  }

  .md-bg-right-bottom {
    background-position: right bottom;
  }

  .md-bg-right-top {
    background-position: right top;
  }

  .md-bg-top {
    background-position: top;
  }
}
@media (min-width: 1024px) {
  .lg-bg-bottom {
    background-position: bottom;
  }

  .lg-bg-center {
    background-position: center;
  }

  .lg-bg-left {
    background-position: left;
  }

  .lg-bg-left-bottom {
    background-position: left bottom;
  }

  .lg-bg-left-top {
    background-position: left top;
  }

  .lg-bg-right {
    background-position: right;
  }

  .lg-bg-right-bottom {
    background-position: right bottom;
  }

  .lg-bg-right-top {
    background-position: right top;
  }

  .lg-bg-top {
    background-position: top;
  }
}
@media (min-width: 1280px) {
  .xl-bg-bottom {
    background-position: bottom;
  }

  .xl-bg-center {
    background-position: center;
  }

  .xl-bg-left {
    background-position: left;
  }

  .xl-bg-left-bottom {
    background-position: left bottom;
  }

  .xl-bg-left-top {
    background-position: left top;
  }

  .xl-bg-right {
    background-position: right;
  }

  .xl-bg-right-bottom {
    background-position: right bottom;
  }

  .xl-bg-right-top {
    background-position: right top;
  }

  .xl-bg-top {
    background-position: top;
  }
}
@media (min-width: 1400px) {
  .2xl-bg-bottom {
    background-position: bottom;
  }

  .2xl-bg-center {
    background-position: center;
  }

  .2xl-bg-left {
    background-position: left;
  }

  .2xl-bg-left-bottom {
    background-position: left bottom;
  }

  .2xl-bg-left-top {
    background-position: left top;
  }

  .2xl-bg-right {
    background-position: right;
  }

  .2xl-bg-right-bottom {
    background-position: right bottom;
  }

  .2xl-bg-right-top {
    background-position: right top;
  }

  .2xl-bg-top {
    background-position: top;
  }
}
@media (min-width: 1600px) {
  .3xl-bg-bottom {
    background-position: bottom;
  }

  .3xl-bg-center {
    background-position: center;
  }

  .3xl-bg-left {
    background-position: left;
  }

  .3xl-bg-left-bottom {
    background-position: left bottom;
  }

  .3xl-bg-left-top {
    background-position: left top;
  }

  .3xl-bg-right {
    background-position: right;
  }

  .3xl-bg-right-bottom {
    background-position: right bottom;
  }

  .3xl-bg-right-top {
    background-position: right top;
  }

  .3xl-bg-top {
    background-position: top;
  }
}



/* user-select */
.user-select-all {
  -webkit-user-select: all;
  -moz-user-select: all;
  user-select: all;
}

.user-select-auto {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  user-select: auto;
}

.user-select-none {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}


/* 事件屏蔽 */
.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

/* 鼠标类型 */
/* 小手 */
.cursor-pointer {
  cursor: pointer;
}




/* 动画 */

/* transform */
.transition{
  transition:all 1s ease 0s;
}
.transform-duration-1{
  transition-duration: 1s;
}
.transform-duration-1\.5{
  transition-duration: 1.5s;
}
.transform-duration-2{
  transition-duration: 2s;
}
.transform-duration-2\.5{
  transition-duration: 2.5s;
}
/* 自定义cubic-bezier(0.1, 0.7, 1, 0.1); */
/* 慢-快-慢 */
.transform-time-ease{
  transition-timing-function: ease !important;
}
/* 均速 */
.transform-time-linear{
  transition-timing-function: linear !important;
}
/* 慢-快 */
.transform-time-ease-in{
  transition-timing-function: ease-in !important;
}
/* 快-慢 */
.transform-time-ease-out{
  transition-timing-function: ease-out !important;
}
/* 慢-快-慢 */
.transform-time-ease-in-out{
  transition-timing-function: ease-in-out !important;
}
/* 跳动3部 */
.transform-time-steps-3{
  transition-timing-function: steps(3, jump-both) !important;
}
/* 跳动5部 */
.transform-time-steps-5{
  transition-timing-function: steps(5, jump-both) !important;
}

/* scale */
.transform-scale-1{
  transform: scale(1);
}
.transform-scale-1:hover{
  transform: scale(1.25);
}
.transform-scale-2{
  transform: scale(1);
}
.transform-scale-2:hover{
  transform: scale(1.5);
}
.transform-scale-3{
  transform: scale(1);
}
.transform-scale-3:hover{
  transform: scale(1.75);
}
.transform-scale-4{
  transform: scale(1);
}
.transform-scale-4:hover{
  transform: scale(2);
}

/* rotate */
.transform-rotate-1{
  transform: rotate(0);
}
.transform-rotate-1:hover{
  transform: rotate(1turn);
}
.transform-rotate-2{
  transform: rotate(0);
}
.transform-rotate-2:hover{
  transform: rotate(2turn);
}
.transform-rotate-45{
  transform: rotate(0);
}
.transform-rotate-45:hover{
  transform: rotate(45deg);
}
.transform-rotate-90{
  transform: rotate(0);
}
.transform-rotate-90:hover{
  transform: rotate(90deg);
}
.transform-rotate-135{
  transform: rotate(0);
}
.transform-rotate-135:hover{
  transform: rotate(135deg);
}
.transform-rotate-180{
  transform: rotate(0);
}
.transform-rotate-180:hover{
  transform: rotate(180deg);
}
.transform-rotate-225{
  transform: rotate(0);
}
.transform-rotate-225:hover{
  transform: rotate(225deg);
}
.transform-rotate-270{
  transform: rotate(0);
}
.transform-rotate-270:hover{
  transform: rotate(270deg);
}
.transform-rotate-315{
  transform: rotate(0);
}
.transform-rotate-315:hover{
  transform: rotate(315deg);
}
.transform-rotate-360{
  transform: rotate(0);
}
.transform-rotate-360:hover{
  transform: rotate(180deg);
}


/* translate */
.transform-translate-25{
  transform: translate(0);
}
.transform-translate-25:hover{
  transform: translate(25%);
}
.transform-translate-50{
  transform: translate(0);
}
.transform-translate-50:hover{
  transform: translate(50%);
}
.transform-translate-75{
  transform: translate(0);
}
.transform-translate-75:hover{
  transform: translate(75%);
}
.transform-translate-100{
  transform: translate(0);
}
.transform-translate-100:hover{
  transform: translate(100%);
}
.transform-translate-left-25{
  transform: translate(0);
}
.transform-translate-left-25:hover{
  transform: translate(-25%, 0%);
}
.transform-translate-left-50{
  transform: translate(0);
}
.transform-translate-left-50:hover{
  transform: translate(-50%, 0%);
}
.transform-translate-left-75{
  transform: translate(0);
}
.transform-translate-left-75:hover{
  transform: translate(-75%, 0%);
}
.transform-translate-left-100{
  transform: translate(0);
}
.transform-translate-left-100:hover{
  transform: translate(-100%, 0%);
}
.transform-translate-right-25{
  transform: translate(0);
}
.transform-translate-right-25:hover{
  transform: translate(25%, 0%);
}
.transform-translate-right-50{
  transform: translate(0);
}
.transform-translate-right-50:hover{
  transform: translate(50%, 0%);
}
.transform-translate-right-75{
  transform: translate(0);
}
.transform-translate-right-75:hover{
  transform: translate(75%, 0%);
}
.transform-translate-right-100{
  transform: translate(0);
}
.transform-translate-right-100:hover{
  transform: translate(100%, 0%);
}
.transform-translate-top-25{
  transform: translate(0);
}
.transform-translate-top-25:hover{
  transform: translate(0%, -25%);
}
.transform-translate-top-50{
  transform: translate(0);
}
.transform-translate-top-50:hover{
  transform: translate(0%, -50%);
}
.transform-translate-top-75{
  transform: translate(0);
}
.transform-translate-top-75:hover{
  transform: translate(0%, -75%);
}
.transform-translate-top-100{
  transform: translate(0);
}
.transform-translate-top-100:hover{
  transform: translate(0%, -100%);
}
.transform-translate-bottom-25{
  transform: translate(0);
}
.transform-translate-bottom-25:hover{
  transform: translate(0%, 25%);
}
.transform-translate-bottom-50{
  transform: translate(0);
}
.transform-translate-bottom-50:hover{
  transform: translate(0%, 50%);
}
.transform-translate-bottom-75{
  transform: translate(0);
}
.transform-translate-bottom-75:hover{
  transform: translate(0%, 75%);
}
.transform-translate-bottom-100{
  transform: translate(0);
}
.transform-translate-bottom-100:hover{
  transform: translate(0%, 100%);
}



























/*----------------------------------------------   hover效果  ------------------------------------------*/
/* 所有效果
2D Transitions(文字/图片)
hover-grow | hover-shrink | hover-pulse | hover-pulse-grow | hover-pulse-shrink | hover-push | hover-pop | hover-bounce-in | hover-bounce-out | hover-rotate | hover-grow-rotate | hover-float | hover-sink | hover-bob | hover-hang | hover-skew | hover-skew-forward | hover-skew-backward | hover-wobble-horizontal | hover-wobble-vertical | hover-wobble-to-bottom-right | hover-wobble-to-top-right | hover-wobble-top | hover-wobble-bottom | hover-wobble-skew | hover-buzz | hover-buzz-out | hover-forward | hover-backward

Background Transitions(背景)
hover-fade | hover-back-pulse | hover-sweep-to-right | hover-sweep-to-left | hover-sweep-to-bottom | hover-sweep-to-top | hover-bounce-to-right | hover-bounce-to-left | hover-bounce-to-bottom | hover-bounce-to-top | hover-radial-out | hover-radial-in | hover-rectangle-in | hover-rectangle-out | hover-shutter-in-horizontal | hover-shutter-out-horizontal | hover-shutter-in-vertical | hover-shutter-out-vertical

Icons(图标)
hover-icon-back | hover-icon-forward | hover-icon-down | hover-icon-up | hover-icon-spin | hover-icon-drop | hover-icon-fade | hover-icon-float-away | hover-icon-sink-away | hover-icon-grow | hover-icon-shrink | hover-icon-pulse | hover-icon-pulse-grow | hover-icon-pulse-shrink | hover-icon-push | hover-icon-pop | hover-icon-bounce | hover-icon-rotate | hover-icon-grow-rotate | hover-icon-float | hover-icon-sink | hover-icon-bob | hover-icon-hang | hover-icon-wobble-horizontal | hover-icon-wobble-vertical | hover-icon-buzz | hover-icon-buzz-out

Border Transitions(边框)
hover-border-fade | hover-hollow | hover-trim | hover-ripple-out | hover-ripple-in | hover-outline-out | hover-outline-in | hover-round-corners | hover-underline-from-left | hover-underline-from-center | hover-underline-from-right | hover-reveal | hover-underline-reveal | hover-overline-reveal | hover-overline-from-left | hover-overline-from-center | hover-overline-from-right

Shadow and Glow Transitions(阴影)
hover-shadow | hover-grow-shadow | hover-float-shadow | hover-glow | hover-shadow-radial | hover-box-shadow-outset | hover-box-shadow-inset

Speech Bubbles(上下左右三角箭头)
Bubble Top | Bubble Right | Bubble Bottom | Bubble Left | Bubble Float Top | Bubble Float Right | Bubble Float Bottom | Bubble Float Left

Curls(斜角三角箭头,用不上)
hover-curl-top-left | hover-curl-top-right | hover-curl-button-left | hover-curl-button-right
*/


/* 2D TRANSITIONS */
/* Grow */
.hover-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-grow:hover, .hover-grow:focus, .hover-grow:active, .hover-grow.active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* Shrink */
.hover-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-shrink:hover, .hover-shrink:focus, .hover-shrink:active, .hover-shrink.active {
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

/* Pulse */
@-webkit-keyframes hover-pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
@keyframes hover-pulse {
  25% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  75% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
.hover-pulse {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-pulse:hover, .hover-pulse:focus, .hover-pulse:active, .hover-pulse.active {
  -webkit-animation-name: hover-pulse;
  animation-name: hover-pulse;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* Pulse Grow */
@-webkit-keyframes hover-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
@keyframes hover-pulse-grow {
  to {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
.hover-pulse-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-pulse-grow:hover, .hover-pulse-grow:focus, .hover-pulse-grow:active, .hover-pulse-grow.active {
  -webkit-animation-name: hover-pulse-grow;
  animation-name: hover-pulse-grow;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}

/* Pulse Shrink */
@-webkit-keyframes hover-pulse-shrink {
  to {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
@keyframes hover-pulse-shrink {
  to {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
.hover-pulse-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-pulse-shrink:hover, .hover-pulse-shrink:focus, .hover-pulse-shrink:active, .hover-pulse-shrink.active {
  -webkit-animation-name: hover-pulse-shrink;
  animation-name: hover-pulse-shrink;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}

/* Push */
@-webkit-keyframes hover-push {
  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes hover-push {
  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.hover-push {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-push:hover, .hover-push:focus, .hover-push:active, .hover-push.active {
  -webkit-animation-name: hover-push;
  animation-name: hover-push;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Pop */
@-webkit-keyframes hover-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
@keyframes hover-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
.hover-pop {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-pop:hover, .hover-pop:focus, .hover-pop:active, .hover-pop.active {
  -webkit-animation-name: hover-pop;
  animation-name: hover-pop;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Bounce In */
.hover-bounce-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hover-bounce-in:hover, .hover-bounce-in:focus, .hover-bounce-in:active, .hover-bounce-in.active {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Bounce Out */
.hover-bounce-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hover-bounce-out:hover, .hover-bounce-out:focus, .hover-bounce-out:active, .hover-bounce-out.active {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Rotate */
.hover-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-rotate:hover, .hover-rotate:focus, .hover-rotate:active, .hover-rotate.active {
  -webkit-transform: rotate(4deg);
  transform: rotate(4deg);
}

/* Grow Rotate */
.hover-grow-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-grow-rotate:hover, .hover-grow-rotate:focus, .hover-grow-rotate:active, .hover-grow-rotate.active {
  -webkit-transform: scale(1.1) rotate(4deg);
  transform: scale(1.1) rotate(4deg);
}

/* Float */
.hover-float {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-float:hover, .hover-float:focus, .hover-float:active, .hover-float.active {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}

/* Sink */
.hover-sink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-sink:hover, .hover-sink:focus, .hover-sink:active, .hover-sink.active {
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
}

/* Bob */
@-webkit-keyframes hover-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@keyframes hover-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@-webkit-keyframes hover-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@keyframes hover-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
.hover-bob {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-bob:hover, .hover-bob:focus, .hover-bob:active, .hover-bob.active {
  -webkit-animation-name: hover-bob-float, hover-bob;
  animation-name: hover-bob-float, hover-bob;
  -webkit-animation-duration: .3s, 1.5s;
  animation-duration: .3s, 1.5s;
  -webkit-animation-delay: 0s, .3s;
  animation-delay: 0s, .3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}

/* Hang */
@-webkit-keyframes hover-hang {
  0% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
  50% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}
@keyframes hover-hang {
  0% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
  50% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}
@-webkit-keyframes hover-hang-sink {
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}
@keyframes hover-hang-sink {
  100% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
}
.hover-hang {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-hang:hover, .hover-hang:focus, .hover-hang:active, .hover-hang.active {
  -webkit-animation-name: hover-hang-sink, hover-hang;
  animation-name: hover-hang-sink, hover-hang;
  -webkit-animation-duration: .3s, 1.5s;
  animation-duration: .3s, 1.5s;
  -webkit-animation-delay: 0s, .3s;
  animation-delay: 0s, .3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}

/* Skew */
.hover-skew {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-skew:hover, .hover-skew:focus, .hover-skew:active, .hover-skew.active {
  -webkit-transform: skew(-10deg);
  transform: skew(-10deg);
}

/* Skew Forward */
.hover-skew-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}
.hover-skew-forward:hover, .hover-skew-forward:focus, .hover-skew-forward:active, .hover-skew-forward.active {
  -webkit-transform: skew(-10deg);
  transform: skew(-10deg);
}

/* Skew Backward */
.hover-skew-backward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}
.hover-skew-backward:hover, .hover-skew-backward:focus, .hover-skew-backward:active, .hover-skew-backward.active {
  -webkit-transform: skew(10deg);
  transform: skew(10deg);
}

/* Wobble Vertical */
@-webkit-keyframes hover-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes hover-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }
  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.hover-wobble-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-wobble-vertical:hover, .hover-wobble-vertical:focus, .hover-wobble-vertical:active, .hover-wobble-vertical.active {
  -webkit-animation-name: hover-wobble-vertical;
  animation-name: hover-wobble-vertical;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Horizontal */
@-webkit-keyframes hover-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }
  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes hover-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
  }
  33.3% {
    -webkit-transform: translateX(-6px);
    transform: translateX(-6px);
  }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.hover-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-wobble-horizontal:hover, .hover-wobble-horizontal:focus, .hover-wobble-horizontal:active, .hover-wobble-horizontal.active {
  -webkit-animation-name: hover-wobble-horizontal;
  animation-name: hover-wobble-horizontal;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble To Bottom Right */
@-webkit-keyframes hover-wobble-to-bottom-right {
  16.65% {
    -webkit-transform: translate(8px, 8px);
    transform: translate(8px, 8px);
  }
  33.3% {
    -webkit-transform: translate(-6px, -6px);
    transform: translate(-6px, -6px);
  }
  49.95% {
    -webkit-transform: translate(4px, 4px);
    transform: translate(4px, 4px);
  }
  66.6% {
    -webkit-transform: translate(-2px, -2px);
    transform: translate(-2px, -2px);
  }
  83.25% {
    -webkit-transform: translate(1px, 1px);
    transform: translate(1px, 1px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes hover-wobble-to-bottom-right {
  16.65% {
    -webkit-transform: translate(8px, 8px);
    transform: translate(8px, 8px);
  }
  33.3% {
    -webkit-transform: translate(-6px, -6px);
    transform: translate(-6px, -6px);
  }
  49.95% {
    -webkit-transform: translate(4px, 4px);
    transform: translate(4px, 4px);
  }
  66.6% {
    -webkit-transform: translate(-2px, -2px);
    transform: translate(-2px, -2px);
  }
  83.25% {
    -webkit-transform: translate(1px, 1px);
    transform: translate(1px, 1px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.hover-wobble-to-bottom-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-wobble-to-bottom-right:hover, .hover-wobble-to-bottom-right:focus, .hover-wobble-to-bottom-right:active, .hover-wobble-to-bottom-right.active {
  -webkit-animation-name: hover-wobble-to-bottom-right;
  animation-name: hover-wobble-to-bottom-right;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble To Top Right */
@-webkit-keyframes hover-wobble-to-top-right {
  16.65% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px);
  }
  33.3% {
    -webkit-transform: translate(-6px, 6px);
    transform: translate(-6px, 6px);
  }
  49.95% {
    -webkit-transform: translate(4px, -4px);
    transform: translate(4px, -4px);
  }
  66.6% {
    -webkit-transform: translate(-2px, 2px);
    transform: translate(-2px, 2px);
  }
  83.25% {
    -webkit-transform: translate(1px, -1px);
    transform: translate(1px, -1px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes hover-wobble-to-top-right {
  16.65% {
    -webkit-transform: translate(8px, -8px);
    transform: translate(8px, -8px);
  }
  33.3% {
    -webkit-transform: translate(-6px, 6px);
    transform: translate(-6px, 6px);
  }
  49.95% {
    -webkit-transform: translate(4px, -4px);
    transform: translate(4px, -4px);
  }
  66.6% {
    -webkit-transform: translate(-2px, 2px);
    transform: translate(-2px, 2px);
  }
  83.25% {
    -webkit-transform: translate(1px, -1px);
    transform: translate(1px, -1px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.hover-wobble-to-top-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-wobble-to-top-right:hover, .hover-wobble-to-top-right:focus, .hover-wobble-to-top-right:active, .hover-wobble-to-top-right.active {
  -webkit-animation-name: hover-wobble-to-top-right;
  animation-name: hover-wobble-to-top-right;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Top */
@-webkit-keyframes hover-wobble-top {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
@keyframes hover-wobble-top {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
.hover-wobble-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}
.hover-wobble-top:hover, .hover-wobble-top:focus, .hover-wobble-top:active, .hover-wobble-top.active {
  -webkit-animation-name: hover-wobble-top;
  animation-name: hover-wobble-top;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Bottom */
@-webkit-keyframes hover-wobble-bottom {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
@keyframes hover-wobble-bottom {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
.hover-wobble-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
}
.hover-wobble-bottom:hover, .hover-wobble-bottom:focus, .hover-wobble-bottom:active, .hover-wobble-bottom.active {
  -webkit-animation-name: hover-wobble-bottom;
  animation-name: hover-wobble-bottom;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Wobble Skew */
@-webkit-keyframes hover-wobble-skew {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
@keyframes hover-wobble-skew {
  16.65% {
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
  }
  33.3% {
    -webkit-transform: skew(10deg);
    transform: skew(10deg);
  }
  49.95% {
    -webkit-transform: skew(-6deg);
    transform: skew(-6deg);
  }
  66.6% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }
  83.25% {
    -webkit-transform: skew(-2deg);
    transform: skew(-2deg);
  }
  100% {
    -webkit-transform: skew(0);
    transform: skew(0);
  }
}
.hover-wobble-skew {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-wobble-skew:hover, .hover-wobble-skew:focus, .hover-wobble-skew:active, .hover-wobble-skew.active {
  -webkit-animation-name: hover-wobble-skew;
  animation-name: hover-wobble-skew;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Buzz */
@-webkit-keyframes hover-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}
@keyframes hover-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}
.hover-buzz {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-buzz:hover, .hover-buzz:focus, .hover-buzz:active, .hover-buzz.active {
  -webkit-animation-name: hover-buzz;
  animation-name: hover-buzz;
  -webkit-animation-duration: 0.15s;
  animation-duration: 0.15s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* Buzz Out */
@-webkit-keyframes hover-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}
@keyframes hover-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}
.hover-buzz-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-buzz-out:hover, .hover-buzz-out:focus, .hover-buzz-out:active, .hover-buzz-out.active {
  -webkit-animation-name: hover-buzz-out;
  animation-name: hover-buzz-out;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Forward */
.hover-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-forward:hover, .hover-forward:focus, .hover-forward:active, .hover-forward.active {
  -webkit-transform: translateX(8px);
  transform: translateX(8px);
}

/* Backward */
.hover-backward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-backward:hover, .hover-backward:focus, .hover-backward:active, .hover-backward.active {
  -webkit-transform: translateX(-8px);
  transform: translateX(-8px);
}

/* BACKGROUND TRANSITIONS */
/* Fade */
.hover-fade {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  overflow: hidden;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
}
.hover-fade:hover, .hover-fade:focus, .hover-fade:active, .hover-fade.active {
  background-color: var(--bs-hover-bg-color);
  color: white;
}

/* Back Pulse */
@-webkit-keyframes hover-back-pulse {
  50% {
    background-color: rgba(32, 152, 209, 0.75);
  }
}
@keyframes hover-back-pulse {
  50% {
    background-color: rgba(32, 152, 209, 0.75);
  }
}
.hover-back-pulse {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  overflow: hidden;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
}
.hover-back-pulse:hover, .hover-back-pulse:focus, .hover-back-pulse:active, .hover-back-pulse.active {
  -webkit-animation-name: hover-back-pulse;
  animation-name: hover-back-pulse;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  background-color: var(--bs-hover-bg-color);
  background-color: var(--bs-hover-bg-color);
  color: white;
}

/* Sweep To Right */
.hover-sweep-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-sweep-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-sweep-to-right:hover, .hover-sweep-to-right:focus, .hover-sweep-to-right:active, .hover-sweep-to-right.active {
  color: white;
}
.hover-sweep-to-right:hover:before, .hover-sweep-to-right:focus:before, .hover-sweep-to-right:active:before, .hover-sweep-to-right.active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

/* Sweep To Left */
.hover-sweep-to-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-sweep-to-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-sweep-to-left:hover, .hover-sweep-to-left:focus, .hover-sweep-to-left:active, .hover-sweep-to-left.active {
  color: white;
}
.hover-sweep-to-left:hover:before, .hover-sweep-to-left:focus:before, .hover-sweep-to-left:active:before, .hover-sweep-to-left.active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

/* Sweep To Bottom */
.hover-sweep-to-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-sweep-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-sweep-to-bottom:hover, .hover-sweep-to-bottom:focus, .hover-sweep-to-bottom:active, .hover-sweep-to-bottom.active {
  color: white;
}
.hover-sweep-to-bottom:hover:before, .hover-sweep-to-bottom:focus:before, .hover-sweep-to-bottom:active:before, .hover-sweep-to-bottom.active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}

/* Sweep To Top */
.hover-sweep-to-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-sweep-to-top:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-sweep-to-top:hover, .hover-sweep-to-top:focus, .hover-sweep-to-top:active, .hover-sweep-to-top.active {
  color: white;
}
.hover-sweep-to-top:hover:before, .hover-sweep-to-top:focus:before, .hover-sweep-to-top:active:before, .hover-sweep-to-top.active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}

/* Bounce To Right */
.hover-bounce-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hover-bounce-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-bounce-to-right:hover, .hover-bounce-to-right:focus, .hover-bounce-to-right:active, .hover-bounce-to-right.active {
  color: white;
}
.hover-bounce-to-right:hover:before, .hover-bounce-to-right:focus:before, .hover-bounce-to-right:active:before, .hover-bounce-to-right.active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Bounce To Left */
.hover-bounce-to-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hover-bounce-to-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-bounce-to-left:hover, .hover-bounce-to-left:focus, .hover-bounce-to-left:active, .hover-bounce-to-left.active {
  color: white;
}
.hover-bounce-to-left:hover:before, .hover-bounce-to-left:focus:before, .hover-bounce-to-left:active:before, .hover-bounce-to-left.active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Bounce To Bottom */
.hover-bounce-to-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hover-bounce-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-bounce-to-bottom:hover, .hover-bounce-to-bottom:focus, .hover-bounce-to-bottom:active, .hover-bounce-to-bottom.active {
  color: white;
}
.hover-bounce-to-bottom:hover:before, .hover-bounce-to-bottom:focus:before, .hover-bounce-to-bottom:active:before, .hover-bounce-to-bottom.active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Bounce To Top */
.hover-bounce-to-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hover-bounce-to-top:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-bounce-to-top:hover, .hover-bounce-to-top:focus, .hover-bounce-to-top:active, .hover-bounce-to-top.active {
  color: white;
}
.hover-bounce-to-top:hover:before, .hover-bounce-to-top:focus:before, .hover-bounce-to-top:active:before, .hover-bounce-to-top.active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Radial Out */
.hover-radial-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
  background: var(--bs-hover-def-bg-color);
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-radial-out:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  border-radius: 100%;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-radial-out:hover, .hover-radial-out:focus, .hover-radial-out:active, .hover-radial-out.active {
  color: white;
}
.hover-radial-out:hover:before, .hover-radial-out:focus:before, .hover-radial-out:active:before, .hover-radial-out.active:before {
  -webkit-transform: scale(2);
  transform: scale(2);
}

/* Radial In */
.hover-radial-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
  background: var(--bs-hover-bg-color);
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-radial-in:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-def-bg-color);
  border-radius: 100%;
  -webkit-transform: scale(2);
  transform: scale(2);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-radial-in:hover, .hover-radial-in:focus, .hover-radial-in:active, .hover-radial-in.active {
  color: white;
}
.hover-radial-in:hover:before, .hover-radial-in:focus:before, .hover-radial-in:active:before, .hover-radial-in.active:before {
  -webkit-transform: scale(0);
  transform: scale(0);
}

/* Rectangle In */
.hover-rectangle-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: var(--bs-hover-bg-color);
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-rectangle-in:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-def-bg-color);
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-rectangle-in:hover, .hover-rectangle-in:focus, .hover-rectangle-in:active, .hover-rectangle-in.active {
  color: white;
}
.hover-rectangle-in:hover:before, .hover-rectangle-in:focus:before, .hover-rectangle-in:active:before, .hover-rectangle-in.active:before {
  -webkit-transform: scale(0);
  transform: scale(0);
}

/* Rectangle Out */
.hover-rectangle-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: var(--bs-hover-def-bg-color);
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-rectangle-out:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-rectangle-out:hover, .hover-rectangle-out:focus, .hover-rectangle-out:active, .hover-rectangle-out.active {
  color: white;
}
.hover-rectangle-out:hover:before, .hover-rectangle-out:focus:before, .hover-rectangle-out:active:before, .hover-rectangle-out.active:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* Shutter In Horizontal */
.hover-shutter-in-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: var(--bs-hover-bg-color);
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-shutter-in-horizontal:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--bs-hover-def-bg-color);
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-shutter-in-horizontal:hover, .hover-shutter-in-horizontal:focus, .hover-shutter-in-horizontal:active, .hover-shutter-in-horizontal.active {
  color: white;
}
.hover-shutter-in-horizontal:hover:before, .hover-shutter-in-horizontal:focus:before, .hover-shutter-in-horizontal:active:before, .hover-shutter-in-horizontal.active:before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}

/* Shutter Out Horizontal */
.hover-shutter-out-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: var(--bs-hover-def-bg-color);
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-shutter-out-horizontal:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--bs-hover-bg-color);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-shutter-out-horizontal:hover, .hover-shutter-out-horizontal:focus, .hover-shutter-out-horizontal:active, .hover-shutter-out-horizontal.active {
  color: white;
}
.hover-shutter-out-horizontal:hover:before, .hover-shutter-out-horizontal:focus:before, .hover-shutter-out-horizontal:active:before, .hover-shutter-out-horizontal.active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

/* Shutter In Vertical */
.hover-shutter-in-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: var(--bs-hover-bg-color);
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-shutter-in-vertical:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--bs-hover-def-bg-color);
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-shutter-in-vertical:hover, .hover-shutter-in-vertical:focus, .hover-shutter-in-vertical:active, .hover-shutter-in-vertical.active {
  color: white;
}
.hover-shutter-in-vertical:hover:before, .hover-shutter-in-vertical:focus:before, .hover-shutter-in-vertical:active:before, .hover-shutter-in-vertical.active:before {
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
}

/* Shutter Out Vertical */
.hover-shutter-out-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  background: var(--bs-hover-def-bg-color);
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-shutter-out-vertical:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--bs-hover-bg-color);
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-shutter-out-vertical:hover, .hover-shutter-out-vertical:focus, .hover-shutter-out-vertical:active, .hover-shutter-out-vertical.active {
  color: white;
}
.hover-shutter-out-vertical:hover:before, .hover-shutter-out-vertical:focus:before, .hover-shutter-out-vertical:active:before, .hover-shutter-out-vertical.active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}

/* BORDER TRANSITIONS */
/* Border Fade */
.hover-border-fade {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
  box-shadow: inset 0 0 0 4px var(--bs-hover-def-bg-color), 0 0 1px rgba(0, 0, 0, 0);
  /* Hack to improve aliasing on mobile/tablet devices */
}
.hover-border-fade:hover, .hover-border-fade:focus, .hover-border-fade:active, .hover-border-fade.active {
  box-shadow: inset 0 0 0 4px var(--bs-hover-bg-color), 0 0 1px rgba(0, 0, 0, 0);
  /* Hack to improve aliasing on mobile/tablet devices */
}

/* Hollow */
.hover-hollow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: background;
  transition-property: background;
  box-shadow: inset 0 0 0 4px var(--bs-hover-def-bg-color), 0 0 1px rgba(0, 0, 0, 0);
  /* Hack to improve aliasing on mobile/tablet devices */
}
.hover-hollow:hover, .hover-hollow:focus, .hover-hollow:active, .hover-hollow.active {
  background: none;
}

/* Trim */
.hover-trim {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-trim:before {
  content: '';
  position: absolute;
  border: white solid 4px;
  top: 4px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  opacity: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
.hover-trim:hover:before, .hover-trim:focus:before, .hover-trim:active:before, .hover-trim.active:before {
  opacity: 1;
}

/* Ripple Out */
@-webkit-keyframes hover-ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}
@keyframes hover-ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}
.hover-ripple-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-ripple-out:before {
  content: '';
  position: absolute;
  border: var(--bs-hover-def-bg-color) solid 6px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
.hover-ripple-out:hover:before, .hover-ripple-out:focus:before, .hover-ripple-out:active:before, .hover-ripple-out.active:before {
  -webkit-animation-name: hover-ripple-out;
  animation-name: hover-ripple-out;
}

/* Ripple In */
@-webkit-keyframes hover-ripple-in {
  100% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
  }
}
@keyframes hover-ripple-in {
  100% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
  }
}
.hover-ripple-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-ripple-in:before {
  content: '';
  position: absolute;
  border: var(--bs-hover-def-bg-color) solid 4px;
  top: -12px;
  right: -12px;
  bottom: -12px;
  left: -12px;
  opacity: 0;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
.hover-ripple-in:hover:before, .hover-ripple-in:focus:before, .hover-ripple-in:active:before, .hover-ripple-in.active:before {
  -webkit-animation-name: hover-ripple-in;
  animation-name: hover-ripple-in;
}

/* Outline Out */
.hover-outline-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-outline-out:before {
  content: '';
  position: absolute;
  border: var(--bs-hover-def-bg-color) solid 4px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: top, right, bottom, left;
  transition-property: top, right, bottom, left;
}
.hover-outline-out:hover:before, .hover-outline-out:focus:before, .hover-outline-out:active:before, .hover-outline-out.active:before {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
}

/* Outline In */
.hover-outline-in {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-outline-in:before {
  pointer-events: none;
  content: '';
  position: absolute;
  border: var(--bs-hover-def-bg-color) solid 4px;
  top: -16px;
  right: -16px;
  bottom: -16px;
  left: -16px;
  opacity: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: top, right, bottom, left;
  transition-property: top, right, bottom, left;
}
.hover-outline-in:hover:before, .hover-outline-in:focus:before, .hover-outline-in:active:before, .hover-outline-in.active:before {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
  opacity: 1;
}

/* Round Corners */
.hover-round-corners {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: border-radius;
  transition-property: border-radius;
}
.hover-round-corners:hover, .hover-round-corners:focus, .hover-round-corners:active, .hover-round-corners.active {
  border-radius: 1em;
}

/* Underline From Left */
.hover-underline-from-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hover-underline-from-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 100%;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  height: 4px;
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-underline-from-left:hover:before, .hover-underline-from-left:focus:before, .hover-underline-from-left:active:before, .hover-underline-from-left.active:before {
  right: 0;
}

/* Underline From Center */
.hover-underline-from-center {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hover-underline-from-center:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 51%;
  right: 51%;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  height: 4px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-underline-from-center:hover:before, .hover-underline-from-center:focus:before, .hover-underline-from-center:active:before, .hover-underline-from-center.active:before {
  left: 0;
  right: 0;
}

/* Underline From Right */
.hover-underline-from-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hover-underline-from-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 100%;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  height: 4px;
  -webkit-transition-property: left;
  transition-property: left;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-underline-from-right:hover:before, .hover-underline-from-right:focus:before, .hover-underline-from-right:active:before, .hover-underline-from-right.active:before {
  left: 0;
}

/* Overline From Left */
.hover-overline-from-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hover-overline-from-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 100%;
  top: 0;
  background: var(--bs-hover-bg-color);
  height: 4px;
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-overline-from-left:hover:before, .hover-overline-from-left:focus:before, .hover-overline-from-left:active:before, .hover-overline-from-left.active:before {
  right: 0;
}

/* Overline From Center */
.hover-overline-from-center {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hover-overline-from-center:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 51%;
  right: 51%;
  top: 0;
  background: var(--bs-hover-bg-color);
  height: 4px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-overline-from-center:hover:before, .hover-overline-from-center:focus:before, .hover-overline-from-center:active:before, .hover-overline-from-center.active:before {
  left: 0;
  right: 0;
}

/* Overline From Right */
.hover-overline-from-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hover-overline-from-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 100%;
  right: 0;
  top: 0;
  background: var(--bs-hover-bg-color);
  height: 4px;
  -webkit-transition-property: left;
  transition-property: left;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-overline-from-right:hover:before, .hover-overline-from-right:focus:before, .hover-overline-from-right:active:before, .hover-overline-from-right.active:before {
  left: 0;
}

/* Reveal */
.hover-reveal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hover-reveal:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-color: var(--bs-hover-bg-color);
  border-style: solid;
  border-width: 0;
  -webkit-transition-property: border-width;
  transition-property: border-width;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-reveal:hover:before, .hover-reveal:focus:before, .hover-reveal:active:before, .hover-reveal.active:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  border-width: 4px;
}

/* Underline Reveal */
.hover-underline-reveal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hover-underline-reveal:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bs-hover-bg-color);
  height: 4px;
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-underline-reveal:hover:before, .hover-underline-reveal:focus:before, .hover-underline-reveal:active:before, .hover-underline-reveal.active:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* Overline Reveal */
.hover-overline-reveal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
}
.hover-overline-reveal:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  background: var(--bs-hover-bg-color);
  height: 4px;
  -webkit-transform: translateY(-4px);
  transform: translateY(-4px);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-overline-reveal:hover:before, .hover-overline-reveal:focus:before, .hover-overline-reveal:active:before, .hover-overline-reveal.active:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* SHADOW/GLOW TRANSITIONS */
/* Glow */
.hover-glow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
}
.hover-glow:hover, .hover-glow:focus, .hover-glow:active, .hover-glow.active {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

/* Shadow */
.hover-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
}
.hover-shadow:hover, .hover-shadow:focus, .hover-shadow:active, .hover-shadow.active {
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
}

/* Grow Shadow */
.hover-grow-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow, transform;
  transition-property: box-shadow, transform;
}
.hover-grow-shadow:hover, .hover-grow-shadow:focus, .hover-grow-shadow:active, .hover-grow-shadow.active {
  box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* Box Shadow Outset */
.hover-box-shadow-outset {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
}
.hover-box-shadow-outset:hover, .hover-box-shadow-outset:focus, .hover-box-shadow-outset:active, .hover-box-shadow-outset.active {
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);
}

/* Box Shadow Inset */
.hover-box-shadow-inset {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
  box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0);
  /* Hack to improve aliasing on mobile/tablet devices */
}
.hover-box-shadow-inset:hover, .hover-box-shadow-inset:focus, .hover-box-shadow-inset:active, .hover-box-shadow-inset.active {
  box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 0, 0, 0);
  /* Hack to improve aliasing on mobile/tablet devices */
}

/* Float Shadow */
.hover-float-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-float-shadow:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  top: 100%;
  left: 5%;
  height: 10px;
  width: 90%;
  opacity: 0;
  background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
  /* W3C */
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform, opacity;
  transition-property: transform, opacity;
}
.hover-float-shadow:hover, .hover-float-shadow:focus, .hover-float-shadow:active, .hover-float-shadow.active {
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
  /* move the element up by 5px */
}
.hover-float-shadow:hover:before, .hover-float-shadow:focus:before, .hover-float-shadow:active:before, .hover-float-shadow.active:before {
  opacity: 1;
  -webkit-transform: translateY(5px);
  transform: translateY(5px);
  /* move the element down by 5px (it will stay in place because it's attached to the element that also moves up 5px) */
}

/* Shadow Radial */
.hover-shadow-radial {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-shadow-radial:before, .hover-shadow-radial:after {
  pointer-events: none;
  position: absolute;
  content: '';
  left: 0;
  width: 100%;
  box-sizing: border-box;
  background-repeat: no-repeat;
  height: 5px;
  opacity: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
.hover-shadow-radial:before {
  bottom: 100%;
  background: -webkit-radial-gradient(50% 150%, ellipse, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
  background: radial-gradient(ellipse at 50% 150%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
}
.hover-shadow-radial:after {
  top: 100%;
  background: -webkit-radial-gradient(50% -50%, ellipse, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
  background: radial-gradient(ellipse at 50% -50%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 80%);
}
.hover-shadow-radial:hover:before, .hover-shadow-radial:focus:before, .hover-shadow-radial:active:before, .hover-shadow-radial:hover:after, .hover-shadow-radial:focus:after, .hover-shadow-radial:active:after, .hover-shadow-radial.active:before, .hover-shadow-radial.active:after {
  opacity: 1;
}

/* SPEECH BUBBLES */
/* Bubble Top */
.hover-bubble-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-bubble-top:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  border-style: solid;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  left: calc(50% - 10px);
  top: 0;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent var(--bs-hover-def-bg-color) transparent;
}
.hover-bubble-top:hover:before, .hover-bubble-top:focus:before, .hover-bubble-top:active:before, .hover-bubble-top.active:before {
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
}

/* Bubble Right */
.hover-bubble-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-bubble-right:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  border-style: solid;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  top: calc(50% - 10px);
  right: 0;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent var(--bs-hover-def-bg-color);
}
.hover-bubble-right:hover:before, .hover-bubble-right:focus:before, .hover-bubble-right:active:before, .hover-bubble-right.active:before {
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
}

/* Bubble Bottom */
.hover-bubble-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-bubble-bottom:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  border-style: solid;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  left: calc(50% - 10px);
  bottom: 0;
  border-width: 10px 10px 0 10px;
  border-color: var(--bs-hover-def-bg-color) transparent transparent transparent;
}
.hover-bubble-bottom:hover:before, .hover-bubble-bottom:focus:before, .hover-bubble-bottom:active:before, .hover-bubble-bottom.active:before {
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}

/* Bubble Left */
.hover-bubble-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-bubble-left:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  border-style: solid;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  top: calc(50% - 10px);
  left: 0;
  border-width: 10px 10px 10px 0;
  border-color: transparent var(--bs-hover-def-bg-color) transparent transparent;
}
.hover-bubble-left:hover:before, .hover-bubble-left:focus:before, .hover-bubble-left:active:before, .hover-bubble-left.active:before {
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px);
}

/* Bubble Float Top */
.hover-bubble-float-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-bubble-float-top:before {
  position: absolute;
  z-index: -1;
  content: '';
  left: calc(50% - 10px);
  top: 0;
  border-style: solid;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent var(--bs-hover-def-bg-color) transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-bubble-float-top:hover, .hover-bubble-float-top:focus, .hover-bubble-float-top:active, .hover-bubble-float-top.active {
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}
.hover-bubble-float-top:hover:before, .hover-bubble-float-top:focus:before, .hover-bubble-float-top:active:before, .hover-bubble-float-top.active:before {
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
}

/* Bubble Float Right */
.hover-bubble-float-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-bubble-float-right:before {
  position: absolute;
  z-index: -1;
  top: calc(50% - 10px);
  right: 0;
  content: '';
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent var(--bs-hover-def-bg-color);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-bubble-float-right:hover, .hover-bubble-float-right:focus, .hover-bubble-float-right:active, .hover-bubble-float-right.active {
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px);
}
.hover-bubble-float-right:hover:before, .hover-bubble-float-right:focus:before, .hover-bubble-float-right:active:before, .hover-bubble-float-right.active:before {
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
}

/* Bubble Float Bottom */
.hover-bubble-float-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-bubble-float-bottom:before {
  position: absolute;
  z-index: -1;
  content: '';
  left: calc(50% - 10px);
  bottom: 0;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: var(--bs-hover-def-bg-color) transparent transparent transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-bubble-float-bottom:hover, .hover-bubble-float-bottom:focus, .hover-bubble-float-bottom:active, .hover-bubble-float-bottom.active {
  -webkit-transform: translateY(-10px);
  transform: translateY(-10px);
}
.hover-bubble-float-bottom:hover:before, .hover-bubble-float-bottom:focus:before, .hover-bubble-float-bottom:active:before, .hover-bubble-float-bottom.active:before {
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}

/* Bubble Float Left */
.hover-bubble-float-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-bubble-float-left:before {
  position: absolute;
  z-index: -1;
  content: '';
  top: calc(50% - 10px);
  left: 0;
  border-style: solid;
  border-width: 10px 10px 10px 0;
  border-color: transparent var(--bs-hover-def-bg-color) transparent transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hover-bubble-float-left:hover, .hover-bubble-float-left:focus, .hover-bubble-float-left:active, .hover-bubble-float-left.active {
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
}
.hover-bubble-float-left:hover:before, .hover-bubble-float-left:focus:before, .hover-bubble-float-left:active:before, .hover-bubble-float-left.active:before {
  -webkit-transform: translateX(-10px);
  transform: translateX(-10px);
}

/* ICONS */
/* Icon Back */
.hover-icon-back {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
}
.hover-icon-back .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-back:hover .hover-icon, .hover-icon-back:focus .hover-icon, .hover-icon-back:active .hover-icon, .hover-icon-back.active .hover-icon {
  -webkit-transform: translateX(-4px);
  transform: translateX(-4px);
}

/* Icon Forward */
.hover-icon-forward {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
}
.hover-icon-forward .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-forward:hover .hover-icon, .hover-icon-forward:focus .hover-icon, .hover-icon-forward:active .hover-icon, .hover-icon-forward.active .hover-icon {
  -webkit-transform: translateX(4px);
  transform: translateX(4px);
}

/* Icon Down */
@-webkit-keyframes hover-icon-down {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25%,
  75% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
@keyframes hover-icon-down {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25%,
  75% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
/* Icon Down */
.hover-icon-down {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-icon-down .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hover-icon-down:hover .hover-icon, .hover-icon-down:focus .hover-icon, .hover-icon-down:active .hover-icon, .hover-icon-down.active .hover-icon {
  -webkit-animation-name: hover-icon-down;
  animation-name: hover-icon-down;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

/* Icon Up */
@-webkit-keyframes hover-icon-up {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25%,
  75% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
@keyframes hover-icon-up {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25%,
  75% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
/* Icon Up */
.hover-icon-up {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-icon-up .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hover-icon-up:hover .hover-icon, .hover-icon-up:focus .hover-icon, .hover-icon-up:active .hover-icon, .hover-icon-up.active .hover-icon {
  -webkit-animation-name: hover-icon-up;
  animation-name: hover-icon-up;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

/* Icon Spin */
.hover-icon-spin {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-icon-spin .hover-icon {
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}
.hover-icon-spin:hover .hover-icon, .hover-icon-spin:focus .hover-icon, .hover-icon-spin:active .hover-icon, .hover-icon-spin.active .hover-icon {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
}

/* Icon Drop */
@-webkit-keyframes hover-icon-drop {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  51%,
  100% {
    opacity: 1;
  }
}
@keyframes hover-icon-drop {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  51%,
  100% {
    opacity: 1;
  }
}
/* Icon Drop */
.hover-icon-drop {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-icon-drop .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hover-icon-drop:hover .hover-icon, .hover-icon-drop:focus .hover-icon, .hover-icon-drop:active .hover-icon, .hover-icon-drop.active .hover-icon {
  opacity: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-animation-name: hover-icon-drop;
  animation-name: hover-icon-drop;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  animation-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

/* Icon Fade */
.hover-icon-fade {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-icon-fade .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-property: color;
  transition-property: color;
}
.hover-icon-fade:hover .hover-icon, .hover-icon-fade:focus .hover-icon, .hover-icon-fade:active .hover-icon, .hover-icon-fade.active .hover-icon {
  color: #0F9E5E;
}

/* Icon Float Away */
@-webkit-keyframes hover-icon-float-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-1em);
    transform: translateY(-1em);
  }
}
@keyframes hover-icon-float-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-1em);
    transform: translateY(-1em);
  }
}
/* Icon Float Away */
.hover-icon-float-away {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-icon-float-away .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.hover-icon-float-away:hover .hover-icon, .hover-icon-float-away:focus .hover-icon, .hover-icon-float-away:active .hover-icon, .hover-icon-float-away.active .hover-icon {
  -webkit-animation-name: hover-icon-float-away;
  animation-name: hover-icon-float-away;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

/* Icon Sink Away */
@-webkit-keyframes hover-icon-sink-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(1em);
    transform: translateY(1em);
  }
}
@keyframes hover-icon-sink-away {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(1em);
    transform: translateY(1em);
  }
}
/* Icon Sink Away */
.hover-icon-sink-away {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-icon-sink-away .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.hover-icon-sink-away:hover .hover-icon, .hover-icon-sink-away:focus .hover-icon, .hover-icon-sink-away:active .hover-icon, .hover-icon-sink-away.active .hover-icon {
  -webkit-animation-name: hover-icon-sink-away;
  animation-name: hover-icon-sink-away;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

/* Icon Grow */
.hover-icon-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-grow .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-grow:hover .hover-icon, .hover-icon-grow:focus .hover-icon, .hover-icon-grow:active .hover-icon, .hover-icon-grow.active .hover-icon {
  -webkit-transform: scale(1.3) translateZ(0);
  transform: scale(1.3) translateZ(0);
}

/* Icon Shrink */
.hover-icon-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-shrink .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-shrink:hover .hover-icon, .hover-icon-shrink:focus .hover-icon, .hover-icon-shrink:active .hover-icon, .hover-icon-shrink.active .hover-icon {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
}

/* Icon Pulse */
@-webkit-keyframes hover-icon-pulse {
  25% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  75% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}
@keyframes hover-icon-pulse {
  25% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  75% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}
.hover-icon-pulse {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-icon-pulse .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-pulse:hover .hover-icon, .hover-icon-pulse:focus .hover-icon, .hover-icon-pulse:active .hover-icon, .hover-icon-pulse.active .hover-icon {
  -webkit-animation-name: hover-icon-pulse;
  animation-name: hover-icon-pulse;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* Icon Pulse Grow */
@-webkit-keyframes hover-icon-pulse-grow {
  to {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
}
@keyframes hover-icon-pulse-grow {
  to {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
}
.hover-icon-pulse-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-icon-pulse-grow .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-pulse-grow:hover .hover-icon, .hover-icon-pulse-grow:focus .hover-icon, .hover-icon-pulse-grow:active .hover-icon, .hover-icon-pulse-grow.active .hover-icon {
  -webkit-animation-name: hover-icon-pulse-grow;
  animation-name: hover-icon-pulse-grow;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}

/* Icon Pulse Shrink */
@-webkit-keyframes hover-icon-pulse-shrink {
  to {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}
@keyframes hover-icon-pulse-shrink {
  to {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}
.hover-icon-pulse-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-icon-pulse-shrink .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-pulse-shrink:hover .hover-icon, .hover-icon-pulse-shrink:focus .hover-icon, .hover-icon-pulse-shrink:active .hover-icon, .hover-icon-pulse-shrink.active .hover-icon{
  -webkit-animation-name: hover-icon-pulse-shrink;
  animation-name: hover-icon-pulse-shrink;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}

/* Icon Push */
@-webkit-keyframes hover-icon-push {
  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
}
@keyframes hover-icon-push {
  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
}
.hover-icon-push {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-push .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-push:hover .hover-icon, .hover-icon-push:focus .hover-icon, .hover-icon-push:active .hover-icon, .hover-icon-push.active .hover-icon {
  -webkit-animation-name: hover-icon-push;
  animation-name: hover-icon-push;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Icon Pop */
@-webkit-keyframes hover-icon-pop {
  50% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
}
@keyframes hover-icon-pop {
  50% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
}
.hover-icon-pop {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-pop .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-pop:hover .hover-icon, .hover-icon-pop:focus .hover-icon, .hover-icon-pop:active .hover-icon, .hover-icon-pop.active .hover-icon {
  -webkit-animation-name: hover-icon-pop;
  animation-name: hover-icon-pop;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Icon Bounce */
.hover-icon-bounce {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-bounce .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-bounce:hover .hover-icon, .hover-icon-bounce:focus .hover-icon, .hover-icon-bounce:active .hover-icon, .hover-icon-bounce.active .hover-icon {
  -webkit-transform: scale(1.5);
  transform: scale(1.5);
  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

/* Icon Rotate */
.hover-icon-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-rotate .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-rotate:hover .hover-icon, .hover-icon-rotate:focus .hover-icon, .hover-icon-rotate:active .hover-icon, .hover-icon-rotate.active .hover-icon {
  -webkit-transform: rotate(20deg);
  transform: rotate(20deg);
}

/* Icon Grow Rotate */
.hover-icon-grow-rotate {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-grow-rotate .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-grow-rotate:hover .hover-icon, .hover-icon-grow-rotate:focus .hover-icon, .hover-icon-grow-rotate:active .hover-icon, .hover-icon-grow-rotate.active .hover-icon {
  -webkit-transform: scale(1.5) rotate(12deg);
  transform: scale(1.5) rotate(12deg);
}

/* Icon Float */
.hover-icon-float {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-float .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-float:hover .hover-icon, .hover-icon-float:focus .hover-icon, .hover-icon-float:active .hover-icon, .hover-icon-float.active .hover-icon {
  -webkit-transform: translateY(-4px);
  transform: translateY(-4px);
}

/* Icon Sink */
.hover-icon-sink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-sink .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hover-icon-sink:hover .hover-icon, .hover-icon-sink:focus .hover-icon, .hover-icon-sink:active .hover-icon, .hover-icon-sink.active .hover-icon {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}

/* Icon Bob */
@-webkit-keyframes hover-icon-bob {
  0% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
  50% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
@keyframes hover-icon-bob {
  0% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
  50% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
@-webkit-keyframes hover-icon-bob-float {
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
@keyframes hover-icon-bob-float {
  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
.hover-icon-bob {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-bob .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hover-icon-bob:hover .hover-icon, .hover-icon-bob:focus .hover-icon, .hover-icon-bob:active .hover-icon, .hover-icon-bob.active .hover-icon {
  -webkit-animation-name: hover-icon-bob-float, hover-icon-bob;
  animation-name: hover-icon-bob-float, hover-icon-bob;
  -webkit-animation-duration: .3s, 1.5s;
  animation-duration: .3s, 1.5s;
  -webkit-animation-delay: 0s, .3s;
  animation-delay: 0s, .3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}

/* Icon Hang */
@-webkit-keyframes hover-icon-hang {
  0% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
  50% {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
  }
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
@keyframes hover-icon-hang {
  0% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
  50% {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
  }
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
@-webkit-keyframes hover-icon-hang-sink {
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
@keyframes hover-icon-hang-sink {
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}
.hover-icon-hang {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-hang .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hover-icon-hang:hover .hover-icon, .hover-icon-hang:focus .hover-icon, .hover-icon-hang:active .hover-icon, .hover-icon-hang.active .hover-icon {
  -webkit-animation-name: hover-icon-hang-sink, hover-icon-hang;
  animation-name: hover-icon-hang-sink, hover-icon-hang;
  -webkit-animation-duration: .3s, 1.5s;
  animation-duration: .3s, 1.5s;
  -webkit-animation-delay: 0s, .3s;
  animation-delay: 0s, .3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}

/* Icon Wobble Horizontal */
@-webkit-keyframes hover-icon-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(6px);
    transform: translateX(6px);
  }
  33.3% {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px);
  }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes hover-icon-wobble-horizontal {
  16.65% {
    -webkit-transform: translateX(6px);
    transform: translateX(6px);
  }
  33.3% {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px);
  }
  49.95% {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
  }
  66.6% {
    -webkit-transform: translateX(-2px);
    transform: translateX(-2px);
  }
  83.25% {
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.hover-icon-wobble-horizontal {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-wobble-horizontal .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hover-icon-wobble-horizontal:hover .hover-icon, .hover-icon-wobble-horizontal:focus .hover-icon, .hover-icon-wobble-horizontal:active .hover-icon, .hover-icon-wobble-horizontal.active .hover-icon {
  -webkit-animation-name: hover-icon-wobble-horizontal;
  animation-name: hover-icon-wobble-horizontal;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Icon Wobble Vertical */
@-webkit-keyframes hover-icon-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
  33.3% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes hover-icon-wobble-vertical {
  16.65% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
  33.3% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }
  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.hover-icon-wobble-vertical {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-wobble-vertical .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hover-icon-wobble-vertical:hover .hover-icon, .hover-icon-wobble-vertical:focus .hover-icon, .hover-icon-wobble-vertical:active .hover-icon, .hover-icon-wobble-vertical.active .hover-icon {
  -webkit-animation-name: hover-icon-wobble-vertical;
  animation-name: hover-icon-wobble-vertical;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Icon Buzz */
@-webkit-keyframes hover-icon-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}
@keyframes hover-icon-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}
.hover-icon-buzz {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-buzz .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hover-icon-buzz:hover .hover-icon, .hover-icon-buzz:focus .hover-icon, .hover-icon-buzz:active .hover-icon, .hover-icon-buzz.active .hover-icon {
  -webkit-animation-name: hover-icon-buzz;
  animation-name: hover-icon-buzz;
  -webkit-animation-duration: 0.15s;
  animation-duration: 0.15s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* Icon Buzz Out */
@-webkit-keyframes hover-icon-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}
@keyframes hover-icon-buzz-out {
  10% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(2px) rotate(1deg);
    transform: translateX(2px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-2px) rotate(-1deg);
    transform: translateX(-2px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(1px) rotate(0);
    transform: translateX(1px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-1px) rotate(0);
    transform: translateX(-1px) rotate(0);
  }
}
.hover-icon-buzz-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hover-icon-buzz-out .hover-icon {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hover-icon-buzz-out:hover .hover-icon, .hover-icon-buzz-out:focus .hover-icon, .hover-icon-buzz-out:active .hover-icon, .hover-icon-buzz-out.active .hover-icon {
  -webkit-animation-name: hover-icon-buzz-out;
  animation-name: hover-icon-buzz-out;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* CURLS */
/* Curl Top Left */
.hover-curl-top-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-curl-top-left:before {
  pointer-events: none;
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  top: 0;
  left: 0;
  background: white;
  /* IE9 */
  background: linear-gradient(135deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ffffff', endColorstr='#000000');
  /*For IE7-8-9*/
  z-index: 1000;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: width, height;
  transition-property: width, height;
}
.hover-curl-top-left:hover:before, .hover-curl-top-left:focus:before, .hover-curl-top-left:active:before, .hover-curl-top-left.active:before {
  width: 25px;
  height: 25px;
}

/* Curl Top Right */
.hover-curl-top-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-curl-top-right:before {
  pointer-events: none;
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  top: 0;
  right: 0;
  background: white;
  /* IE9 */
  background: linear-gradient(225deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: width, height;
  transition-property: width, height;
}
.hover-curl-top-right:hover:before, .hover-curl-top-right:focus:before, .hover-curl-top-right:active:before, .hover-curl-top-right.active:before {
  width: 25px;
  height: 25px;
}

/* Curl Bottom Right */
.hover-curl-bottom-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-curl-bottom-right:before {
  pointer-events: none;
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  bottom: 0;
  right: 0;
  background: white;
  /* IE9 */
  background: linear-gradient(315deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  box-shadow: -1px -1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: width, height;
  transition-property: width, height;
}
.hover-curl-bottom-right:hover:before, .hover-curl-bottom-right:focus:before, .hover-curl-bottom-right:active:before, .hover-curl-bottom-right.active:before {
  width: 25px;
  height: 25px;
}

/* Curl Bottom Left */
.hover-curl-bottom-left {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
}
.hover-curl-bottom-left:before {
  pointer-events: none;
  position: absolute;
  content: '';
  height: 0;
  width: 0;
  bottom: 0;
  left: 0;
  background: white;
  /* IE9 */
  background: linear-gradient(45deg, white 45%, #aaa 50%, #ccc 56%, white 80%);
  box-shadow: 1px -1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: width, height;
  transition-property: width, height;
}
.hover-curl-bottom-left:hover:before, .hover-curl-bottom-left:focus:before, .hover-curl-bottom-left:active:before, .hover-curl-bottom-left.active:before {
  width: 25px;
  height: 25px;
}













/*----------------------------------------------   表单类样式[选项用ui-choose 手机多选mobileSelect pc多选用select]  ------------------------------------------*/
.bs-btn {
  --bs-btn-padding-x: 0.15rem;
  --bs-btn-padding-y: 0.075rem;
  --bs-btn-font-size: 0.16rem;
  --bs-btn-color: #000;
  --bs-btn-bg: transparent;
  --bs-btn-border-width: 1px;
  --bs-btn-border-style: solid;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-border-color: transparent;
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-size: var(--bs-btn-font-size);
  border: var(--bs-btn-border-width) var(--bs-btn-border-style) var(--bs-btn-border-color);
  background-color: var(--bs-btn-bg);
  color: var(--bs-btn-color);
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.bs-btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.bs-btn:active,.bs-btn.active,.bs-btn.show.btn.cur{
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.bs-btn:disabled, .bs-btn.disabled{
  color: var(--bs-btn-disabled-color) !important;
  /*pointer-events: none !important;*/
  cursor: not-allowed !important;
  background-color: var(--bs-btn-disabled-bg) !important;
  border-color: var(--bs-btn-disabled-border-color) !important;
  opacity: var(--bs-btn-disabled-opacity) !important;
}
.bs-btn-blue {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0d6efd;
  --bs-btn-border-color: #0d6efd;

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b5ed7;
  --bs-btn-hover-border-color: #0a58ca;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a58ca;
  --bs-btn-active-border-color: #0a53be;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: #fbfbfb;
  --bs-btn-disabled-border-color: #eee;
}
.bs-btn-gray {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5c636a;
  --bs-btn-hover-border-color: #565e64;
  
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #565e64;
  --bs-btn-active-border-color: #51585e;
  
  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: #fbfbfb;
  --bs-btn-disabled-border-color: #eee;
}
.bs-btn-green {
  --bs-btn-color: #fff;
  --bs-btn-bg: #198754;
  --bs-btn-border-color: #198754;

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #157347;
  --bs-btn-hover-border-color: #146c43;
  
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #146c43;
  --bs-btn-active-border-color: #13653f;
  
  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: #fbfbfb;
  --bs-btn-disabled-border-color: #eee;
}
.bs-btn-cyan {
  --bs-btn-color: #000;
  --bs-btn-bg: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;

  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #31d2f2;
  --bs-btn-hover-border-color: #25cff2;

  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #3dd5f3;
  --bs-btn-active-border-color: #25cff2;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: #fbfbfb;
  --bs-btn-disabled-border-color: #eee;
}
.bs-btn-yellow {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffc107;
  --bs-btn-border-color: #ffc107;

  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffca2c;
  --bs-btn-hover-border-color: #ffc720;

  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffcd39;
  --bs-btn-active-border-color: #ffc720;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: #fbfbfb;
  --bs-btn-disabled-border-color: #eee;
}
.bs-btn-red {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dc3545;
  --bs-btn-border-color: #dc3545;

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #bb2d3b;
  --bs-btn-hover-border-color: #b02a37;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #b02a37;
  --bs-btn-active-border-color: #a52834;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: #fbfbfb;
  --bs-btn-disabled-border-color: #eee;
}
.bs-btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;

  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;

  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: #fbfbfb;
  --bs-btn-disabled-border-color: #eee;
}
.bs-btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #424649;
  --bs-btn-hover-border-color: #373b3e;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4d5154;
  --bs-btn-active-border-color: #373b3e;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: #fbfbfb;
  --bs-btn-disabled-border-color: #eee;
}
.bs-btn-outline-blue {
  --bs-btn-color: #0d6efd;
  --bs-btn-border-color: #0d6efd;

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0d6efd;
  --bs-btn-hover-border-color: #0d6efd;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0d6efd;
  --bs-btn-active-border-color: #0d6efd;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #eee;
  --bs-gradient: none;
}
.bs-btn-outline-gray {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #6c757d;

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6c757d;
  --bs-btn-active-border-color: #6c757d;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #eee;
  --bs-gradient: none;
}
.bs-btn-outline-green {
  --bs-btn-color: #198754;
  --bs-btn-border-color: #198754;

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #198754;
  --bs-btn-hover-border-color: #198754;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #198754;
  --bs-btn-active-border-color: #198754;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #eee;
  --bs-gradient: none;
}
.bs-btn-outline-cyan {
  --bs-btn-color: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;

  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #0dcaf0;
  --bs-btn-hover-border-color: #0dcaf0;

  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #0dcaf0;
  --bs-btn-active-border-color: #0dcaf0;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #eee;
  --bs-gradient: none;
}
.bs-btn-outline-yellow {
  --bs-btn-color: #ffc107;
  --bs-btn-border-color: #ffc107;

  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffc107;
  --bs-btn-hover-border-color: #ffc107;

  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc107;
  --bs-btn-active-border-color: #ffc107;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #eee;
  --bs-gradient: none;
}
.bs-btn-outline-red {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #dc3545;
  --bs-btn-active-border-color: #dc3545;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #eee;
  --bs-gradient: none;
}
.bs-btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;

  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;

  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #eee;
  --bs-gradient: none;
}
.bs-btn-outline-dark {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;

  --bs-btn-disabled-color: #d2d2d2;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #eee;
  --bs-gradient: none;
}
.bs-btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: #0d6efd;
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;

  --bs-btn-hover-color: #0a58ca;
  --bs-btn-hover-border-color: transparent;

  --bs-btn-active-color: #0a58ca;
  --bs-btn-active-border-color: transparent;

  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
}
.bs-btn-lg {
  --bs-btn-padding-x: 0.15rem;
  --bs-btn-padding-y: 0.075rem;
  --bs-btn-font-size: 0.20rem;
}

.bs-btn-sm {
  --bs-btn-padding-x: 0.10rem;
  --bs-btn-padding-y: 0.05rem;
  --bs-btn-font-size: 0.12rem;
}
.bs-badge-rim, .bs-border, .bs-colla-content, .bs-colla-item, .bs-collapse, .bs-elem-field, .bs-form-pane .bs-form-item[pane], .bs-form-pane .bs-form-label, .bs-input, .bs-layedit, .bs-layedit-tool, .bs-panel, .bs-quote-nm, .bs-select, .bs-tab-bar, .bs-tab-card, .bs-tab-title, .bs-tab-title .bs-this:after, .bs-textarea {
    border-color: #eee;
}
.bs-btn,.bs-input,.bs-select,.bs-textarea,.bs-upload-button{
    outline: 0;
}
.bs-input::-webkit-input-placeholder,.bs-select::-webkit-input-placeholder,.bs-textarea::-webkit-input-placeholder {
  line-height: 1.3
}
/* 外层 */
/*.bs-form input[type=checkbox],.bs-form input[type=radio],.bs-form select {
  display: none
}*/

/*
  tip

<div class="bs-form-item" >
  <div class="bs-form-label" >
    ss:
  </div>
  <div class="bs-input-block" >
    <input type="text" class="bs-input" >
  </div>
  <div class="bs-tip" >提示</div>
</div>

 */
.bs-form-item {
  margin-bottom: 0.15rem;
  clear: both;
  *zoom: 1;
}
.bs-form-item:after {
  content: '\20';
  clear: both;
  *zoom: 1;
  display: block;
  height: 0
}
.bs-form-label {
  float: left;
  display: block;
  padding: 0.09rem 0.15rem;
  width: 0.8rem;
  font-weight: 400;
  line-height: 0.2rem;
  text-align: right
}
/* 提示 */
.bs-tip{
    margin-left: 1.1rem;
    margin-top: 0.05rem;
    font-size: 12px;
    color: #ccc;
}
/* input */
.bs-input,.bs-select,.bs-textarea {
  height: 0.38rem;
  line-height: 1.3;
  line-height: 0.38rem\9;
  border-width: 1px;
  border-style: solid;
  background-color: #fff;
  color: rgba(0,0,0,.85);
  border-radius: 2px
}
.bs-input:hover,.bs-textarea:hover {
  border-color: #eee!important
}

.bs-input:focus,.bs-textarea:focus {
  border-color: #d2d2d2!important
}
.bs-input,.bs-textarea {
  display: block;
  width: 100%;
  padding-left: 0.1rem
}
.bs-input-block {
  margin-left: 1rem;
  min-height: 0.36rem
}
/* textarea */
.bs-textarea {
  min-height: 1rem;
  height: auto;
  line-height: 0.2rem;
  padding: 0.05rem 0.1rem;
  resize: vertical
}


/* 下拉JS样式 */
.bs-dropdown{
    overflow: hidden;
}

.bs-dropdown *[data-dropdown-menu]{
    
}

.bs-dropdown *[data-dropdown-content]{
    max-height:0px;
    transition:max-height 0.5s linear 0s;
}

.bs-dropdown *[data-dropdown-content].active{
    max-height:250px;
}

.bs-dropdown2>ul>li ul{
    display:none;
}
.bs-dropdown2>ul>li ul.active{
    display:block;

}



/* 选项卡 */
.bs-tabs *[data-tabs-content]>*{
    display:none;
    transition:display 0.5s linear 0s;
}

.bs-tabs *[data-tabs-content]>*.active{
    display:block;
}







/* swiper轮播图 */
.swiper{
  width:100%;
  height:auto;
}

/* session和标题 */
/*
举颗栗子
<div class="main-session1 session container-full">
  <div class="container-xl">
    <div class="row-auto" >
      <div class="tit line" >
          <h3>产品中心</h3>
          <h4>专注研发及生产全数控高精密矫平机、液压式高精密矫平机等全套自动化矫平设备</h4>
      </div>
    </div>
    <div class="row-auto" >
      ...
    </div>
  </div>
</div>
*/
.session{
  display: block;
  padding-top: 0rem;
  padding-bottom: 0rem;
}

/* 更多按钮 */
.more{
  display: block;
  width: 1.8rem;
  font-size: 0.16rem;
  line-height: 0.55rem;
  color: #ffffff;
  text-align: center;
  background-color: var(--bs-hover-def-bg-color);
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  .more{
    font-size:0.24rem;
  }
}
/* 菜单 */
#btn-menu{
  font-size: 0.4rem;
}
#menu{
  font-size: 0.265rem;
}

/* 左侧菜单 */
